книги из ГПНТБ / Шепелев, И. Г. Математические методы планирования и управления в строительстве конспект лекций
.pdf
|
|
ЛИТЕРАТУРА К ГЛАВЕ I—IV |
||
1. |
В е н е ц к и й |
И. Г., |
К и л ь д и ш е в |
Г. С. Основы теории вероятности |
и математической статистики. М., «Статистика», 1968. |
||||
2. |
В е н т ц е л ь |
Е. С. |
Теория вероятностей. М., «Наука», 1969. |
|
3. |
М и т р о п о л ь с к и й |
А. К. Техника |
статистических вычислений. М., |
|
«Физматгиз», 1961. |
С., Э л ь г о р т Л. Г. |
Применение метода корреляции |
||
4. |
П а л ь м а И. |
встроительстве. М., «Стройиздат», 1971.
5.С ы р ц о в а Е. Д. Математические методы в планировании и управ лении строительным производством. М., «Высшая школа», 1972.
6. |
Т и н т н е р |
Г. |
Введение в эконометрию. М., «Статистика», 1965. |
||
7. |
Ф р е н к е л ь |
А. А. Многофакторные |
корреляционные |
модели произ |
|
водительности труда. М., «Экономика», 1966. |
Г а л у з а С. Г. |
Корреляция и |
|||
8. |
X а й к и н |
В. |
П., Н а й д е н о в В. С., |
статистическое моделирование в экономических расчетах. М., «Экономика»
1964.
9. |
Ч е р и о в Г., |
М о з е с Л |
Элементарная теория статистических реше- |
пий. М., «Советское радио», 1962. |
А. М. Экономико-математические модели |
||
10. |
Ш е п е л е в |
И. Г., К о в ч |
себестоимости добычи угля открытым способом.— В сб. «Методология и прак тика разработки и использования экономико-математических моделей для предприятий открытой добычи угля», Челябинск, «НИИОГР», 1970.
Г Л А В А V
ОПТИМАЛЬНОЕ (МАТЕМАТИЧЕСКОЕ) ПРОГРАММИРОВАНИЕ
§5.1. Роль метода математического программирования
вуправлении
Процесс управления условно подразделяют на три функци ональных подпроцесса: сбор информации (учет), анализ собран ных данных и принятие решений на основании анализа (плани рование). Все три этапа управления важны и необходимы, од нако последний (принятие решений) является важнейшим. Планирование осуществляется на основании результатов двух первых этапов. Для того, чтобы принять правильные решения необходимо полное изучение состояния объекта, т. е. составле ние математической модели.
Для получения наилучших результатов какого-либо эконо мического или технологического процесса принятое решение должно быть оптимальным, т. е. лучшим из всех возможных в данной ситуации. В практике управления такое решение прини мается по интуиции, на основании опыта, путем сравнения ва риантов и т. д. В простых ситуациях при достаточно большом опыте, природном уме и знаниях руководителя принимается решение, близкое к оптимальному, однако при небольшом ус ложнении задачи, как правило, принимается не оптимальное решение, а всего лишь удовлетворительное.
Общественное производство сейчас находится на таком уровне развития, когда выполнение неоптимального решения, нанесет народному хозяйству серьезный ущерб. Например, при средней эффективности капиталовложений 0,12 и объеме годо вых капиталовложений 100 млрд, руб., ошибка в распределении этих капиталовложений в пределах даже 1% может привести к
ежегодному |
ущербу в |
последующие |
годы в размере более |
|
100 млн. руб. |
При больших объемах транспортных |
перевозок |
||
некоторое отклонение от |
оптимальных |
маршрутов |
также мо |
жет принести значительный ущерб. Для нахождения оптималь ного-(или близкого к оптимальному) решения разработаны ме
тоды математического (оптимального) программирования. |
мате |
|
Математическое программирование — это |
прикладная |
|
матическая дисциплина, изучающая методы |
нахождения |
опти |
61
мума при наличии ограничений на переменные. В работе [4] дается такое определение: «математическое программирование — распределение ограниченных ресурсов наилучшим способом для достижения поставленных целей». Оскар Ланге [6]: «програм мирование... занимается изучением частного вида рациональ ной деятельности, наука о программировании, или теория про граммирования есть часть праксеологии. Она представляет собой математическую теорию применения принципа рациональ ного хозяйствования». Праксеология по О. Ланге — наука о ра циональной деятельности.
Термин «программирование» произошел от иностранного слова «программа» — план. Значит, программирование — улуч шение плана, вернее, отыскание наилучшего плана. В дальней шем наряду с термином «математическое программирование» мы будем употреблять выражение «оптимальное программиро вание», считая два этих термина однозначными.
Родиной программирования следует считать нашу страну, так как академик Л. В. Канторович еще в 1938 г. предложил метод линейного программирования для выбора наилучшего графика загрузки лущильных станков на фанерной фабрике. Однако в то время метод у нас в стране не был замечен и неко торое время дальнейшее развитие математического программи рования осуществлялось зарубежными учеными. Большой вклад в развитие теории и методов программирования внесли ученые Дж. Данциг, Р. Гомори, Р. Беллман и др.
Начиная со второй половины пятидесятых годов математи ческое программирование бурно развивается в нашей стране. Плановая социалистическая экономика представляет большие возможности для внедрения оптимального программирования, так как в условиях социализма, при концентрации материаль ных и других ресурсов в руках государства, представляется возможным принимать оптимальные решения в масштабах все го народного хозяйства или отдельных отраслей. Начиная с 1971 года перспективные планы по основным отраслям народ ного хозяйства составляются только оптимальными методами.
Внедрение электронно-вычислительных машин и автомати зированных систем управления позволяет применить методы оп тимального программирования для перспективного и текущего планирования деятельности отдельных предприятий, строитель ных организаций, производственных объединений. Широко внедряется оптимальное программирование и в оперативное уп равление отдельными технологическими процессами. В строи тельстве это — оптимальное управление перевозками строи тельных материалов, конструкций и деталей, оптимальное уп
62
равление строительными машинами, оптимальное управление запасами строительных материалов, оптимальное календарное планирование выполнения строительно-монтажных работ и дру гое. Оптимальные задачи, при этом, реализуются разными ме тодами математического программирования, часть из которых будет рассмотрена ниже. Для полного изучения методов необ ходимо пользоваться приведенной в конце главы VI специаль ной литературой.
§ 5.2. Экономическая интерпретация задач математического программирования
Экономической целью задач математического программиро вания обычно является отыскание такого плана, при реализации которого достигается минимум затрат на выполнение опреде ленного объема работ, или максимальный эффект при ограни ченных ресурсах. Так как программирование математическое, то, естественно, отыскивается экстремум некоторой целевой функции
F = f (jCjj) — шах (min). |
(5.2.1) |
Если бы это была функция одного переменного и не было бы никаких ограничений, то задачу можно было бы решить, продифференцировав функцию (5.2.1) и приравняв первую про изводную нулю. Но обычно в экономических задачах участвуют несколько переменных, кроме того, на эти переменные налага ются ограничения
?(j)(*ij)RjPi. |
(5.2.2) |
где Хц — переменные, характеризующие экономический процесс, |
|
с изменением которых меняется значение критерия F; |
|
Pj — наперед заданные константы (ресурсы), в |
пределах |
которых должна находиться система; |
(5j и вы |
Rj — соотношения, в которых находятся константы |
ражение ф (хц).
Наиболее важной при постановке задач оптимального про граммирования является задача выбора критерия, в соответствии с которым должна производиться оптимизация. Критерий дол жен отражать цель, ради достижения которой решается зада ча, должен иметь количественное выражение и быть явно свя занным со значениями переменных Хц. Обычно в экономических системах в качестве критерия рассматриваются издержки про изводства, прибыль, объемы производства.
В реальных условиях управления, как правило, решается не одна задача, а целый комплекс взаимоувязанных задач опти-
63
мального программирования. Главным требованием к критери ям при этом является непротиворечивость критериев и соответ ствие их глобальному критерию оптимизации социалистической
экономики.
Известно, что главной задачей КПСС и советского народа, определенной программой партии и резолюцией XXIV съезда КПСС, является повышение материального благосостояния и культурного уровня советских людей. Для выполнения этой за дачи необходимо всемерно увеличивать объемы выпуска про дукции и снижать издержки производства, неуклонно повышать производительность труда. При перспективном планировании в сфере производства в масштабах народного хозяйства или от дельных отраслей и предприятий единым критерием является достижение максимума производства.
, При решении задач оперативного планирования, распреде ления производства среди предприятий в качестве критерия ис пользуются издержки производства или прибыли.
В строительстве, как специфичной отрасли производства, глобальным критерием является ввод в действие основных фон дов для обеспечения роста производства и удовлетворения ра-. стущих потребностей общества. Но при наличии оптимального перспективного или пятилетнего плана максимизация ввода про изводственных мощностей в текущих планах и оперативной дея тельности может привести к диспропорциям в приросте мощно стей, что может отрицательно сказаться на экономике народ ного хозяйства в целом. Поэтому при текущем планировании контрольные сроки ввода объектов действие должны рассмат риваться в качестве одного из существенных ограничений Pj. Для соотношения критериев высшего и низшего уровня в струк турном плане и во временном, характерно то, что результаты оптимизации высшего уровня используются в качестве ограни чений в задачах низшего уровня. Кроме этих ограничений в правой части выражения (5.2.2) отражается ограниченность ресурсов строительной организации, технических и технологи ческих возможностей производства.
В главе VI рассмотрена постановка некоторых задач плани рования строительства, в главе VIII сформулирован критерий управления зайасами строительных материалов.
§ 5.3. Классификация методов математического программирования
На рис. 9 приведена схема классификации методов матема тического программирования. В основу классификации положе ны следующие принципы: 1 ) вид математического выражения
64
целевой функции и ограничений (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