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

Задачи оптимизации

.pdf
Скачиваний:
139
Добавлен:
01.06.2015
Размер:
1.52 Mб
Скачать

в x2 140

 

 

 

а

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

120

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

б

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

100

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Р

 

 

 

 

 

 

 

 

 

 

 

80

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

60

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

40

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

20

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

20

40

60

80

100

120

140

160

x1

Рис. 16. Область допустимых решений для модели оптимизации производства. Пунктирной линией изображена линия целевой функции

Из рисунка видно, что оптимальное решение находится в угловой точке допустимой области (точка пересечения прямых а и б). Ясно, что оптимальное решение не изменится, пока коэффициенты при x1 и x2 (удельные прибыльности производства одного стула разных марок) не поменяются настолько сильно, что оптимальное решение будет определяться другой угловой точкой. Отчет по устойчивости модели содержит эту информацию. На рис. 17 показан отчет по устойчивости, который выдает программа Поиск решения для задачи примера 3.5.

Информация о допустимом изменении целевых коэффициентов приведена в первой и второй строках отчета. Рассмотрим подробно интерпретацию допустимых изменений целевого коэффициента при переменной x1. Из отчета следует, что даже если удельная прибыльность производства стульев «Мечта» бу-

дет очень большой величиной (1Е+30, т. е. 1030 , что для Excel является синонимом бесконечно большой величины), то оптимальное решение не изменится.

Рис. 17. Отчет по устойчивости для задачи оптимизации производства стульев

Понять причину этого, на первый взгляд странного, результата можно, проанализировав геометрический смысл решения (см. рис. 16). При бесконечно большой величине целевого коэффициента линия целевой функции станет вертикальной (прямая б на рис. 16). Естественно, что значение целевой функции изменится, а оптимальное решение – нет (считаем, что целевой коэффициент очень велик, но не бесконечен).

21

Если прибыль от продажи одного стула «Мечта» уменьшится на 16 рублей, то уравнение целевой функции совпадет с одной из линий ограничения (линия в на рис. 16), и при дальнейшем уменьшении этого коэффициента оптимальным станет другое угловое решение, (точка Р на рис. 16).

22

Итак, значения Допустимое увеличение и Допустимое уменьшение в табли-

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

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

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

Как следует из графического анализа, изменение правых частей ограничений изменяет область допустимых планов. В частности, если левая и правая части ограничения соединены знаком , то при увеличении правой части ограничения область допустимых планов будет увеличиваться или останется неизменной, а при уменьшении – будет уменьшаться либо останется неизменной.

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

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

Допустимое увеличение и Допустимое уменьшение таблицы Ограничения

отчета по устойчивости.

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

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

Теневую цену ограничения можно рассматривать как приращение целевой функции при увеличении правой части ресурсного ограничения на единицу. В экономике теневую цену иногда называют ценой резервирования.

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

23

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

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

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

Наконец, обратимся к информации, которая размещается в столбце Нормированная стоимость отчета по устойчивости.

Нормированная стоимость переменной определяется как величина, на которую нужно изменить коэффициент целевой функции при переменной, чтобы оптимальное значение этой переменной стало положительным. Таким образом, если оптимальное решение для некоторой переменной является положительной величиной, то нормированная стоимость для нее равна нулю. В примере 3.5 оптимальные значения переменных – положительные величины, поэтому для них значения нормированной стоимости равны нулю.

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

Пример 3.6

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

Решение

Для ответа на оба вопроса требуется отчет по устойчивости модели, который приведен на рис. 18.

Рис. 18. Отчет по устойчивости в задаче о составлении рудной смеси

24

Для ответа на первый вопрос обратимся к столбцу Теневая цена. Поставленной цели – снижения стоимости рудной смеси до 500 долларов за тонну, проще всего добиться, если снизить содержание химического элемента А в рудной смеси.

Если вместо 5 кг на тонну, содержание химического элемента А будет 4,75 кг на тонну, то цена одной тонны сырья упадет на 44,44 0,25 11,11 и составит искомые 500 долларов за тонну. Изменять содержимое элемента В не имеет никакого смысла, поскольку теневая цена для этого ограничения равна нулю.

Можно добиться поставленной цели и снижением содержания элемента С в смеси. Поскольку теневая цена для этого ограничения равна 4,44, то содержание в руде элемента С нужно будет снизить на 11,114,44 2,503 кг на тонну.

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

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

Таким образом, ответ на вопрос состоит в том, что если стоимость тонны руды с шахты четыре упадет более чем на 91,111 доллара, то эту руду станет целесообразно использовать в производстве.

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

Вырожденные решения

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

25

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

Для задачи линейного программирования, содержащей в качестве ограничений только равенства, можно доказать очень важную теорему.

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

Важно отметить, что в число уравнений ограничения не включаются ограничения на положительность переменных.

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

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

Для иллюстрации сказанного обратимся к задаче, которая обсуждалась в примере 3.3. Запишем математическую модель этой задачи (3.17), используя только равенства. В итоге получаем следующую задачу

 

6 x1

4 x2 max;

 

 

2 x1

x2 s1

10;

(3.17а)

 

x1 x2 s2

7;

 

 

 

x1 0;

x2 0.

 

В выражении (3.17а) переменные s1

и s2 являются переменными резерва и

излишка.

Таким образом, в этой

 

задаче имеется четыре переменных

( x1, x2 , s1,

s2 ) и два ограничения.

 

 

 

 

Область допустимых решений в этой задаче (см. рис. 11) образуется прямыми линиями с уравнениями x1 0 (ось ординат), x2 0 (ось абсцисс), 2 x1 x2 10

(прямая gb), x1 x2 7 (прямая cg). Отметим, что на прямой gb переменная s1 0 , а на прямой cg – переменная s2 0 . Оптимальное решение находится в точке g , для которой s1 0 , s2 0 , и число положительных переменных в решении совпа-

дает с числом ограничений. Таким образом, оптимальное решение не вырождено. Для угловой точки b области допустимых планов (см. рис. 11) выполняются

уравнения x2 0 , s1 0 , а значения x1 0 , s2 0 . Следовательно, и эта угловая точка является невырожденной.

26

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

Анализ того, находится оптимальное решение в вырожденной угловой точке или нет, нужно для корректной интерпретации отчета по устойчивости. Например, данное выше понятие нормированной стоимости справедливо только для невырожденных решений.

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

В1982 г. Джордж Стиглер получил Нобелевскую премию в области экономики за «Плодотворные исследования промышленных структур, функционирование рынков, а также причин и следствий экономического регулирования». Любопытно, что начал он свою карьеру ученого с решения задачи составления оптимального рациона питания, которая аналогична задаче составления оптимальной смеси, рассмотренной нами выше.

Транспортная модель

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

Пример 3.7

Промышленная компания выпускает передвижные дизельные электростанции. Дизельные моторы производятся в США, а сборочные заводы расположены в европейских городах – Лейпциге, Нанси, Льеже и Тилбурге. Моторы доставляются один раз в квартал морем в европейские морские порты

Порт

Количество моторов

 

 

Амстердам (А)

500

Антверпен (В)

700

Гавр (С)

800

Итого

2000

 

 

Стоимость перевозки моторов на сборочные заводы определяется таблицей (матрицей aij , i A, B, C , j 1, 2, 3, 4 ) (приведена стоимость перевозки одного мотора в долларах за штуку).

Пункт от-

 

Место назначения

 

 

 

 

 

Лейпциг

Нанси (2)

Льеж (3)

Тилбург

правки

(1)

 

 

(4)

 

 

 

 

 

 

 

 

Амстердам

120

130

41

59,5

(А)

 

 

 

 

Антверпен

61

40

100

110

(В)

 

 

 

 

Гавр (С)

102,5

90

122

42

 

 

 

 

 

27

Квартальный спрос на моторы в местах сборки электростанций составляет

Сборочный завод

Квартальный спрос

 

 

Лейпциг (1)

400

Нанси (2)

900

Льеж (3)

200

Тилбург (4)

500

 

 

Итого

2000

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

Решение

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

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

Для решения транспортной задачи нужно ввести переменные x ij , которые определяют число моторов, перевозимых из порта i (i A, B, C) на сборочный завод j (j 1, 2, 3, 4) . В рассматриваемом случае таких переменных будет 12.

Целевая функция представляет собой суммарную стоимость перевозки всех грузов и равна сумме произведений числа моторов xij , перевозимых из порта

i на сборочный завод j , на стоимость этой перевозки aij :

 

xij aij min .

(3.21)

i, j

Условия ограничений модели представляют собой уравнения баланса для пунктов отгрузки моторов и пунктов назначения.

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

4

 

 

xij Ai ,

i A, B, C.

(3.22)

j 1

2.Количество моторов, доставленных на сборочный завод j , должно быть не

менее спроса B j :

xij Bj ,

j 1, 2, 3, 4.

(3.23)

i A,B,C

Для дальнейшего решения задачи математическая модель (3.21)–(3.23) должна быть преобразована на рабочем листе Excel в табличную модель (см. рис.

19).

28

Рис. 19. Табличная модель транспортной задачи примера 3.7 после выполнения процедуры оптимизации

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

Обычно модели линейного программирования не имеют целочисленного решения, невзирая на то, что все целевые коэффициенты и правые части ограничений являются целыми числами.

Исключение составляют транспортные модели, для которых Поиск решения дает, как правило, целочисленные оптимальные решения.

Используя условия примера 3.7 рассмотрим другие возможные постановки транспортной задачи. Если модель не является сбалансированной и суммарное предложение больше, нежели спрос, то никаких проблем не возникает, поскольку в условиях ограничений (3.22) используются неравенства.

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

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

4

 

xij Ai ,

i A, B, C,

j 1

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

xij Bj ,

j 1, 2, 3, 4.

i A,B,C

Неудовлетворенный спрос в решении будет представлен «резервом» (разностью между спросом B j и реальным объемом поставок).

29

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

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

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

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

Многоцелевая оптимизация в транспортных задачах

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

Вэтих случаях возможна многоцелевая оптимизация. Например, в задаче примера 3.7 оптимальное значение целевой функции (суммарная стоимость всех перевозок) составляет 121 450 долларов, а стоимость перевозок моторов из Гавра составляет 67 400 долларов (см. рис. 19). Допустим, что отделение производственной компании в Гавре испытывает финансовые затруднения, и поэтому перед менеджером поставлена задача, не увеличивая общей стоимости перевозок, минимизировать стоимость перевозок из Гавра.

Для решения этой задачи табличную модель на рис. 19 следует модифицировать. В качестве целевой ячейки теперь следует выбрать ячейку F25, в которой записана суммарная стоимость перевозок из порта Гавр. К ограничениям, которые были в исходной задаче, следует добавить еще одно: суммарная стоимость перевозок должна остаться неизменной. Поэтому в ячейку G26 нужно ввести число 121 450 и использовать ячейку F26 как левую часть ограничения, а ячейку G26 как правую часть ограничения, соединив их знаком равенства.

Витоге будет получено другое решение задачи оптимизации, оставляющее неизменным значение полных затрат на перевозку при меньших (равных 49 250 долларах) затратах на перевозку из Гавра.

30