Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги / Математические методы принятия решений

..pdf
Скачиваний:
2
Добавлен:
13.11.2023
Размер:
22.94 Mб
Скачать
Рис. 1.1. Положения мак­ симума и минимума функций —/(х) и /(х)

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

Задача нахождения минимума некоторой функции f(x) эквива­ лентна задаче отыскания максимума той же функции, взятой со зна­ ком минус (рис. 1.1), и наоборот. Поскольку принципиальных отли­ чий в нахождении минимума и макси­ мума не существует, будем говорить об оптимальных (лат. optimum наилуч­ шее), или экстремальных значениях целе­

вых функций.

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

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

1.Изучение объекта. Анализ особенностей функционирования объекта; определение факторов, оказывающих на это влияние (их количество и степени влияния); изучение характеристик объекта при различных условиях; выбор оптимизируемого критерия (целе­ вой функции).

2.Описательное моделирование. Установление и фиксация ос­ новных связей и зависимостей между характеристиками процесса или явления согласно оптимизируемому критерию.

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

оптимизации — в виде функции. После того как задача записана в математической форме, ее конкретная постановка перестает нас интересовать до проведения содержательного анализа полученно­ го решения. Дело в том, что различные по своему физическому смыслу задачи часто можно свести к одной и той же формальной математической записи.

4. Выбор ши создание метода решения. Исходя из получен­ ной математической записи задачи выбирают либо известный метод решения, либо некую модификацию известного метода, либо разра­ батывают новый метод решения. Допустимым решением называют такой набор значений искомых величин (переменных), который удо­ влетворяет поставленным условиям-ограничениям задачи. Решени­ ем задачи будет то решение из множества допустимых решений, при котором целевая функция достигает своего наибольшего (наи­ меньшего) значения.

5.Выбор ши написание программы для решенш задачи на ЭВМ.

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

спомощью ЭВМ. Программа для ЭВМ реализует выбранный ме­ тод решения задачи.

6.Решение задачи на ЭВМ. Необходимую информацию для ре­ шения задачи вводят в память ЭВМ вместе с программой. В со­ ответствии с программой компьютер обрабатывает введенную чис­ ловую информацию, получает решение и выдает его пользователю

взаданной им форме.

7.Анализ полученного решенш. Анализ решения бывает фор­ мальным и содержательным. При формальном (математическом) анализе проверяют соответствие полученного решения построен­

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

8. Анализ устойчивости решенш. Аналитически или с помо­ щью численных методов исследуют поведение решения при неболь­ ших (в пределах возможных погрешностей или неопределенностей) изменениях исходных данных.

Только после полного завершения анализа модель можно ис­ пользовать для расчета. Чтобы подчеркнуть важность содержатель­

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

Предположим, что в рацион семьи входят три различных пита­ тельных вещества и требуется их соответственно не менее 61, 62, 63 единиц. В магазине продается пять различных продуктов по цене c i, С2, ..., С5. Единица продукта г-го вида содержит единиц j-ro пи­ тательного вещества, т. е., например, 023 показывает, что в единице второго продукта третьего питательного вещества будет агз единиц. Какое количество продуктов х\, Х2, хз, х 4, х$ каждого вида следу­ ет купить, чтобы стоимость продуктов была минимальна и рацион семьи содержал все необходимые питательные вещества в нужном количестве?

Целевая функция этой задачи — минимизировать по х\, хг, хз, Х4, х$ стоимость продуктов:

5

 

 

 

cixi + С2Х2 + С3Х3 + С4Х4 + С5Х5 = V CjXj —»• min .

Г—\

 

 

 

г=1

 

 

 

Условия-ограничения задачи следующие: количество первого

питательного вещества должно быть не менее Ь\, т. е.

 

 

5

 

 

а\\Х\ + <221X2 + <231X3 + CI41X4 + а$\х$ =

^

а^х* ^

61.

 

г=1

 

 

Аналогично для других питательных веществ получим нера­

венства

5

 

 

 

 

 

й\2Х\ + <222^2 + а 32^3 + <Î42^4 + Û52X 5 =

^

а ^ г ^

&2>

 

i—1

 

 

 

5

 

 

CI13X1+ CL23X2 + Û33X3 + <243X4 + Û53X5 = ^

ацХ{ ^

63.

 

i= 1

 

 

Очевидно, что количество продуктов — величина неотрицательная:

Xi £ 0, Х2 ^ 0, Хз £ 0, Х4 ^ 0, Х5 ^ 0.

Разработкой методов решения задач, содержащих целевую функ­ цию и условия-ограничения (задач на условный экстремум), зани­ маются в разделе математики, называемом математическое про­ граммирование.

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

Название «математическое программирование» связано с тем, что целью решения задач является выбор программы действий.

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

Сколько надо взять бабе на базар для продажи живых гусей, уток и кур, чтобы выручить как можно больше денег, если она мо­ жет нести не более Р кг, причем известно, что ai — вес одной кури­ цы, 02 — вес одной утки, аз — вес одного гуся, ci — стоимость одной курицы, С2 — СТОИМОСТЬ ОДНОЙ утки, Сз — стоимость одного гуся.

Пусть х\, Х2, хз — число соответственно кур, уток и гусей, взя­ тых бабой для продажи. Целевая функция этой задачи — максималь­

ная выручка от продажи птицы:

3

С\Х\ + С2Х2 + С3Х3 = V, dXi —►m a x .

г=11

Х|,*2,Хз

Условие-ограничение определяется весом товара, который мо­

жет нести баба:

з

a i XI + 02X2 + 03X3 = 2 üiXi ^ Р. г=1

Среди старинных задач по математике встречается задача о Кёнигсбергских мостах, сформулированная и решенная в 1736 г. известным математиком Л. Эйлером (1707-1783): можно ли пооче­ редно обойти все семь мостов города Кёнигсберга, соединяющих районы этого города с островом на реке Прегель, пройдя по каж­ дому мосту толыю один раз. Как мы увидим далее, это тоже задача математического программирования.

Принципиальные результаты теории оптимизации, явившей­ ся основой математического программирования, были получены еще в период становления математического анализа. В этой свя­ зи следует отметить теорему французского математика П. Ферма (1601-1665) о необходимом условии локального экстремума в без­ условной задаче оптимизации и исследования другого французско­ го математика Ж. Лагранжа (1736-1815) в теории условных экстре­ мумов, указывающие необходимые условия экстремума в задаче оптимизации при наличии ограничений в виде равенств. Ж. Лагранж предложил метод решения задач на условный экстремум (1797 г.), который заключается в сведении этих задач к задачам на безуслов­ ный экстремум вспомогательной функции, названной впоследствии

функцией Лагранжа. Сам метод получил название метод {неопре­ деленных) множителей Лагранжа. Функцию Лагранжа применяют как при исследовании задач вариационного исчисления, так и задач математического программирования.

Естественное развитие методов математического анализа, ис­ пользуемых для нахождения точек экстремумов функций, привело к появлению таких математических дисциплин, как вариационное исчисление и математическое программирование. Вариационное ис­ числение — раздел математики, в котором изучают методы отыска­ ния экстремальных (наибольших и наименьших) значений функ­ ционалов—переменных величин, зависящих от выбора одной или нескольких функций. Одной из первых задач вариационного ис­ числения была знаменитая задача о брахистохроне, сформулиро­ ванная И. Бернулли (1696 г.): определить форму кривой, лежащей в вертикальной плоскости, по которой тяжелая материальная точка, двигаясь под действием одной только силы тяжести и не имею­ щая начальной скорости, перейдет из верхнего положения в нижнее за минимальное время. Эта задача сводится к отысканию функ­ ции у{х), доставляющей минимум функционалу

ь

а

где а и b— абсциссы верхней и нижней точек.

Несмотря на столь ранние истоки математического программи­ рования его развитие относится к концу 30-х годов XX столетия. Математическое программирование развивалось как дисциплина, посвященная теории и методам решения задач управления и плани­ рования, а далее — как раздел возникшей в 50-е годы науки об ис­ следовании операций при создании совокупности методологических средств, называемых системным анализом.

Наиболее разработанным разделом математического програм­ мирования является линейное программирование, содержащее тео­ рию и методы решения условных экстремальных задач, в которых критерии оптимальности линейно зависят от неизвестных, а огра­ ничения—линейные равенства и неравенства. Развитие линейного программирования тесно связано с задачами управления и планиро­ вания. Первые публикации по линейному программированию при­ надлежат советскому ученому Л.В.Канторовичу* удостоенному

в1975 г. совместно с американским ученым Т.Купмансом Нобе­ левской премии за внесенный ими вклад в теорию оптимизации распределения ресурсов.

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

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

Методы математического программирования применялись и од­ новременно развивались во время Второй мировой войны для планирования военных операций. Еще до начала Второй мировой войны методы анализа военных систем с использованием матема­ тического программирования стали применяться военными специ­ алистами в Великобритании, а затем и в других странах. В США

*Канторович Л. В. Математические методы в организации и планировании производства.—Л.: Изд-во ЛГУ, 1939.

и Канаде были созданы специальные подразделения, занимавшиеся анализом военных операций. В 1938 г. в США был введен термин «исследование операций» для характеристики рода деятельности необычной исследовательской группы, созданной по инициативе организации Air Ministry Research Station и выполнявшей работы по анализу военных систем, в частности решавшей задачи опти­ мального использования радиолокационных установок в общей системе обороны страны. Этот анализ являлся основой для при­ нятия командованием соответствующих решений. Впоследствии исследование операций сформировалось в научное направление.

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

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

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

С конца 40-х годов XX в. сфера приложения методов иссле­ дования операций стала охватывать разнообразные стороны чело­ веческой деятельности. Исследование операций используют для решения как чисто технических (особенно технологических), так и технико-экономических задач, а также задач управления на раз­ личных уровнях.

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

В настоящее время издается много научных журналов по ис­ следованию операций, первый из которых вышел в свет в 1950 г. В 1957 г. в Лондоне был созван первый конгресс Международной Федерации обществ исследования операций (International Federation of Operations Research Societies — IFORS); эти конгрессы проводят каждые три года.

С50-х годов XX в. для обоснования решений сложных проблем

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

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

Первое применение системного анализа в военном деле относят к истории древних веков, когда правитель Сиракуз обратился к Ар­ химеду с просьбой помочь осажденному городу прорвать осаду римлян.

Отдельные исследования по системному анализу проводились в конце XIX в. и начале XX в., а также в Первую мировую вой­ ну. Так, в 1886 г. военное командование прибегло к использованию системного анализа, чтобы принять решение относительно произ­ водства 12-дюймовых орудий (1 дюйм —2,54 см), заряжающихся с казенной части и предназначенных для использования в берего­ вой артиллерии. Необходимо было сделать выбор между орудием, выпускаемым фирмой Кгирр, и орудием нового образца американ­ ского производства. Во время Первой мировой войны с помощью системного анализа разрабатывались, например, стратегические планы борьбы с подводными лодками. Однако эти работы не имели практического применения и были неизвестны. Поэтому во время Второй мировой войны работы пришлось начинать заново. Си­ стемный анализ (и его часть — исследование операций) во время Второй мировой войны применяли в основном при тактическом планировании операций, например для того, чтобы решить, что в первую очередь использовать в качестве радиолокационных по­ мех — пассивные или активные помехи; как определить наиболее эффективные цели для бомбометания; какие из способов обнаруже­ ния подводных лодок являются наилучшими и т. п.

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

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

1)разработка методов управления техникой, обеспечивающих достаточно высокий уровень эффективности деятельности людей;

2)разработка методов использования имеющейся в распоряже­ нии людей техники, обеспечивающей выполнение поставленной за­ дачи с минимальными затратами или с максимальным эффектом;

3)разработка техники и материалов, которые необходимо со­ здать или приобрести в рамках общей стратегии деятельности людей.

Для решения первых двух задач наиболее полно используют применение формальных методов, которые являются максималь­ но продуктивными. Методы, применяемые для принятия решений

и распределения ресурсов в различных областях науки и техни­ ки (экономике, торговле и промышленности — управление запаса­ ми, назначение персонала, составление маршрутов и т. п.) интен­ сивно развиваются в последние десятилетия.

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

Рассмотрим в качестве примера так называемую транспортную задачу, являющуюся одной из первых потоковых задач (см. гл. 3), решенную Ф. Л. Хитчкоком в 1941 г.

Пусть имеются два завода и три склада. Заводы производят со­ ответственно si и S2 единиц продукции, возможности складов —di,

d.2, di единиц, si + S 2 = di + <^2 + ^3. Задача состоит в

том, что­

бы минимизировать затраты на перевозку продукции

с заводов

на склады.

 

 

Пусть Xij объем продукции,

который необходимо

перевезти

с г-го завода на j -й склад, и

— стоимость перевозки

единицы

продукции с г-го завода на j -й склад. Тогда целевая функция задачи состоит в минимизации стоимости перевозки:

СЦЯ11 + С12Я12 + С13Я13 + C21X21 + С22Х22 + С23Ж23 =

2

3

2

2 су*# m in-

i—1j = 1

Условия того, что вся продукция будет вывезена с каждого завода,

запишем в следующем виде:

3

3 = 1

3

Эти два равенства можно записать кратко:

з

Соседние файлы в папке книги