Файл: Шепелев, И. Г. Математические методы планирования и управления в строительстве конспект лекций.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 29.10.2024

Просмотров: 65

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

целевой функции и ограничений (5.2.1), (5.2.2); 2) степень ди­ намичности модели; 3) непрерывность функций; 4) степень не­ определенности функций.

Приведем краткую характеристику методов программирова­ ния, внесенных в схему (рис. 9).

По виду математических выражений различают линейное и нелинейное программирование. Если оптимизируемая функция и ограничения линейны, т. е. все переменные выражены в первой степени, то задачи относятся к классу задач линейного про­ граммирования, если же в модели все математические выраже­ ния, или хотя бы одно из них, нелинейны, т. е. переменные участ­ вуют в степени, отличной от первой, или в выражении есть про-

Рис. 9. Схема классификации методов оптимального програм­ мирования

3 И. Шепелев

изведения переменных, то такие задачи относятся к классу за­ дач нелинейного программирования.

По степени динамичности модели методы подразделяются на статические и динамические. Если задача поставлена в стати­ ке, т. е. рассматривается какой-то один период времени, или задача решается в один этап, то такие задачи относятся к клас­ су статических задач и, наоборот, если поставлена задача на­ хождения оптимума не только в зависимости от изменения пере­ менных, но и в зависимости от изменения времени, или в ходе решения задача разделяется на несколько этапов, решаемых последовательно, то такие задачи относятся к классу динамиче­ ских задач.

Если целевая функция непрерывна, а на переменные не на­ ложено ограничение целочисленности, то такие задачи относятся к классу задач непрерывного программирования, если наблю­ даются разрывы целевой функции, или на переменные нало­ жено ограничение целочисленности, то такие задачи относятся к классу задач дискретного программирования.

Если целевая функция и ограничения заданы детерминиро­ ванными математическими выражениями, то такие задачи отно­ сятся к классу задач детерминированных. Если целевая функ­ ция, или хотя бы одно ограничение, заданы случайными функция-

fми, законами распределения вероятностей или вероятностями, то такие задачи относятся к классу задач стохастического программирования.

Особый класс задач представляют задачи эвристического программирования. Эвристическое программирование — это на­ хождение оптимального решения с включением элементов эв­ ристики. Эвристика — наука, изучающая закономерности твор­ ческого мышления и занимающаяся разработкой методов, ана­ логичных методам творческого мышления человека.

Задачи и методы линейного программирования в строитель­ стве достаточно полно отражены в работах [4, 6 , 11] и здесь не рассматриваются. Эвристические методы в настоящее время на­ ходятся в стадии разработки и поэтому включать их в курс лекций нет необходимости. В дальнейшем будут рассмотрены

методы динамического, стохастического и дискретного про­ граммирования.

§ 5.4. Динамическое программирование

Динамическое программирование — это метод, позволяющий найти экстремум общего критерия многошагового процесса, при этом на каждом этапе оптимизируется только один шаг;

66


решения, принимаемые на последующих шагах, не оказывают влияния на предыдущие решения. В экономике существует не­ сколько типов задач, которые по постановке или методам реше­ ния относятся к задачам динамического программирования:

1. Задачи оптимального перспективного планирования во времени. Эти задачи нашли широкое применение в СССР, и ре­ шаются двумя методами: а) путем решения изолированных ста­ тических задач для каждого из взаимосвязанных периодов с увязкой и необходимой корректировкой полученных планов, при этом, как правило, задачи решаются методом линейного про­ граммирования; б) решение одной динамической задачи оп­ тимального программирования, с применением многошаговой процедуры принятия решений.

Пример постановки задачи: определить оптимальный план удовлетворения потребности в продукции данной отрасли в раз­ резе отрезков планируемого периода с минимальными затратами, при известной для планируемого периода динамике потребления, при известном наличии и перспективах роста всех видов ресур­ сов, с учетом известных и возможных в дальнейшем технологи­ ческих процессов и способов организации производства и со­ ответствующих им текущих и капитальных затрат.

2. Задачи многошагового нахождения оптимума при разме­ щении призводства в статическом периоде. Например, для про­ изводства однородного продукта необходимо построить несколько предприятий. Известны размеры каждого из предприятий, необ­ ходимые в каждом случае капиталовложения и возможная при­ быль. Необходимо определить оптимальное, в смысле макси­ мальной прибыли, количество предприятий и их мощности для получения необходимого количества продукта. Задача относит­ ся к динамическому программированию, так как решается ме­ тодами многошаговой оптимизации. При этом нахождение мак­ симума функции многих переменных заменяется многократным нахождением максимума одного переменного.

3. Задачи оптимального быстродействия. Допустим, что известна некоторая оптимальная структура производства с кри­ терием эффективности Ui. В настоящее время существует неоп­

тимальная

структура с эффективностью Uo.

 

Необходимо оп­

ределить такие управляющие воздействия X,

которые за крат­

чайший период приведут систему из структуры

Uo к структуре

и ь т. е. если Ui — Uo является выигрышем, а

Ui

есть вы-

игрыш за

определенный промежуток времени,

 

t

 

то необходимо.

получить

max

Ut - Uo

 

 

 

 

 

t

 

 

 

з

6 7


В основу метода динамического программирования зало­ жен известный принцип, сформулированный Ричардом Белманом [1, 3, 5]. Смысл этого принципа заключается в том, что оптимальное управление обладает таким свойством, что каково бы ни было начальное состояние и начальное управление, по­ следующее управление должно быть оптимальным к состоянию, получающемуся в результате действия начального управления. Короче говоря, если в данный момент времени не выбирается оптимальное управление, то впоследствии ошибку исправить невозможно. При решении задач динамического программиро­ вания используют определенный набор стандартных понятий и обозначений: фазовые переменные (переменные, которые ха­ рактеризуют объект управления и могут быть подвержены управляющему воздействию. Обозначают их через Pi; qi — управ­ ления, это те возможные стратегии, которые переводят началь­ ное состояние Pi_i в состояние'Pi. Задача решается многократ­ но до приведения системы в конечное состояние Рп, т. е. отыски­ вается максимум

F (Р2) = шах Ч) [Pt (Р2; qO],

(5.4.1)

далее

 

F (Р3) = шах q, [Р2 (Р3; q,) + F (Р2)],

(5.4.2)

где F (Р2) — максимум функции (5.4.1).

Соотношения (5.4.1—5.4.2) называются рекуррентными со­

отношениями динамического программирования, которые в об­

щем виде могут быть записаны:

 

 

F, (Pi+1) = шах q, [Р, (Р1+1; q.) + F,_i (Р,)],

(5.4.3)

здесь i — вектор состояния Р;, i =

(1, 2 ,..., п).

динамиче­

Рассмотрим постановку задачи

(2) в терминах

ского программирования. Введем

обозначения:

 

К? — капиталовложения по каждому предприятию в зависимо­

сти от объемов этого предприятия;

 

 

U; — прибыль по каждому

предприятию в зависимости от

объема предприятия;

на

каждом

предприятии,

соответ­

Xi — объем производства

ствующий оптимальному плану;

 

и максимально воз­

щ и bi — соответственно

минимально

можные размеры предприятия.

 

 

 

Необходимо найти максимум целевой функции

 

F =

m ax y U f

(5.4.4)

. <38


при ограничениях:

лу -< bx

 

а,

 

S Щ <

К

 

2

* 1

= А,

 

1

 

 

где

К — лимит капиталовложений, А — необходимое количест­

во

продукта.

 

 

 

Здесь многошаговость рассматривается таким образом, что

вначале определяют, нельзя

ли

удовлетворить потребность в

данном продукте за счет строительства одного предприятия, ес­

ли принимают Xi == А; если при этом

К, то принимают

Ft —max [U, (л:,)].

(5.4.5)

После этого рассматривают возможность удовлетворения по­ требности в данном продукте за счет строительства двух пред­ приятий и определяют шах функции F2 = шах [Иг (х2)

+ U] (Х\)~\ при ограничениях:

х, -{- х-~> А

К* +

"

(5.4.6)

К* <

К.

Далее находятся F3 = max [U3

(х3) +

F2] и т. д.

Таким образом, задача сводится

к решению n — 1 задач с

одним переменным, вместо решения одной задачи с п-перемен- ными.

Рассмотрим пример применения метода динамического про­ граммирования в данной постановке.

Т1еобходимо оптимально распределить капиталовложения в строительство новых предприятий в угольных бассейнах, кото­ рые условно назовем: первый, второй, третий и четвертый. Об­ щий объем капитальных вложений А равен 10 млн. руб. Допу­ скается, что угольная промышленность находится на таком уровне, когда объем добычи не является критерием оптималь­ ности. В качестве критерия принимается чистая прибыль, яв­ ляющаяся функцией капиталовложений. Чистая прибыль от ре­ ализации угля с учетом его качества, горных условий и затрат на транспортировку в разных бассейнах различна.

Функции прибыли: fi (х) — по первому бассейну, f2 ) — по

второму, U (х) — по третьему,

f4 ) — по четвертому, х — объ­

ем капиталовложений.

от капиталовложений по разным

Прибыль в зависимости

бассейнам представлена в табл. 13.

69