![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
2. Американский университет формирует комитет по рассмотрению жалоб студентов. В соответствии с указаниями, полученными из администрации, в эту комиссию необходимо включить по крайней мере одну женщину, одного мужчину, одного студента, одного администратора и одного преподавателя. Выдвинуты десять кандидатур (обозначенных для удобства буквами от а до;'). Принадлежность этих кандидатур к различным категориям отражена в следующей таблице.
Категория | Кандидатуры |
Женщины | а, £>, с, d, в |
Мужчины | f, 9, h, i, j |
Студенты | a, b, c, j |
Администраторы | e, f |
Преподаватели | d, g, h, i |
Университет заинтересован создать наименьшую по составу комиссию, гарантирующую представительство каждой из указанных категорий. Сформулируйте задачу в виде задачи ЦЛП и найдите ее оптимальное решение, используя программу TORA.
3. Округ Вашингтон определил шесть городов, которые нуждаются в службе скорой помощи. Станции скорой помощи могут быть расположены в некоторых или во всех шести городах. Однако в силу территориальной близости некоторых городов одна станция может обслуживать более одного населенного пункта. Единственным условием является время поездки; оно не должно превышать 15 минут. Приведенная ниже таблица содержит время поездки в минутах между шестью городами.
Глава 9. Целочисленное линейное программирование
Сформулируйте задачу в виде задачи ЦЛП, оптимальное решение которой определит наименьшее количество станций и их расположение. Найдите оптимальное решение, используя программу TORA.
4. Сокровища короля Тута находятся в музее в Новом Орлеане. План музея, состоящего из нескольких комнат, соединенных открытыми дверями, показан на рис. 9.2. Сторож, находящийся у двери, может наблюдать за двумя смежными комнатами. Администрация музея заинтересована, чтобы в каждой комнате присутствовал сторож, но число сторожей должно быть минимальным. Сформулируйте задачу в виде задачи ЦЛП и найдите ее оптимальное решение, используя программу TORA.
I II
—I г
-±-1-1 ^
_ Т т
Рис. 9.2. План музея
Пример 9.1.4. Ограничения типа "или-или"
Машиностроительная компания использует один станок для выполнения трех заказов. Время выполнения, а также срок сдачи каждого заказа даны в приведенной ниже таблице. Сроки сдачи заказов вычисляются от начальной даты, т.е. предполагаемого начала выполнения первого заказа.
Заказ | Время выполнения заказа (дни) | Срок сдачи заказа (дни) | Штраф за задержку заказа (долл./день) |
Требуется определить последовательность выполнения заказов, которая минимизирует штраф за задержку сдачи заказов.
Определим переменную х как дату завершения заказа /, измеряемую в днях от начальной даты. Задача имеет два типа ограничений: 1) ограничения, которые гарантируют, что никакие два заказа не выполняются одновременно; 2) ограничения по срокам сдачи заказов. Сначала рассмотрим первый тип ограничений.
Два заказа i и /, время выполнения которых р, и pjt не будут выполняться одновременно, если
или xt > Xj + Pj, или Xj > xt + pt,
в зависимости от того, будет ли заказ i предшествовать выполнению заказа или наоборот.
9.1. Примеры задач целочисленного программирования
Поскольку все математические модели имеют дело лишь с совместными ограничениями, мы преобразуем ограничения типа или-или, введя дополнительную двоичную переменную
fl, если заказ i предшествует заказу у, уи=\п
(0, если заказ j предшествует заказу i.
При достаточно большом М ограничение типа или-или преобразуется в следующие два совместных ограничения.
My,j + [x,-xt)>Pj и M(\-yil) + {xj-xi)>p,.
Указанное преобразование гарантирует, что лишь одно из двух ограничений может быть активным в любой момент времени. Если ytj = 0, первое ограничение является активным, а второе — избыточным (так как его левая часть будет содержать величину М, которая намного больше р). Если у, =1, первое ограничение является избыточным, а второе — активным.
Рассмотрим теперь ограничения по срокам сдачи заказов. При заданной дате cl сдачи заказа j введем в рассмотрение неограниченную по знаку переменную Sj. Тогда соответствующее ограничение примет вид
*,+Р,+ ',-<*,■
Если Sj > 0, то заказ сдается в срок, если же sy < 0, получаем убытки, связанные с задержкой сдачи заказа. Используя стандартную замену
Sj=s'j-s-, о,
приводим ограничение к виду
Xj+s)-S-j=dj-Pj.
Штраф за задержку сдачи заказа пропорционален s].
Математическая модель рассматриваемой задачи принимает следующий вид. Минимизировать z = 19л," + 12л; +34^
при ограничениях
хх-х2 + Му12>20, -ж, + х2 - Му12 > 5 - М, х,-х3 + Му,3>15, -х, + х3- Му13 > 5 - М, х2 - х3 + М у23 > 15, -*2 + *3-M</23>20-M, х, + sl - si =25-5,
x2 + sl -s; =22-20,
x3 + sl -s~ = 35-15,
X,, X2, X3, si, Sl, si, Sl, Sj, s3 >0, Ух2> УXV </23 = 0иЛи1-
408 Глава 9. Целочисленное линейное программирование
Целочисленные переменные у12, у13 и у23 введены для преобразования ограничений типа или-или в совместные ограничения. Конечная задача является частично-целочисленной задачей линейного программирования.
Для решения задачи выберем М = 100 — число, которое больше суммы времени изготовления всех трех заказов.
Оптимальным решением (полученным с помощью программы TORA, файл Ch9ToraEitherOrEx9-l-4.txt) является хг = 20, х2 = 0 и х3 = 25. Следовательно, оптимальной последовательностью выполнения заказов будет 2 —> 1 —> 3. В соответствии с оптимальным решением заказ 2 выполняется за время 0 + 5 = 5, заказ 1 — за время 20 + 5 = 25 и заказ 3 — за 25 + 15 = 40 дней. В результате выполнение заказа 3 задержано на 40 - 35 = 5 дней, что приводит к штрафу в размере 5 х 34 = 170 долл.
УПРАЖНЕНИЯ 9.1.4
1. Игральная доска состоит из девяти равных квадратов, расположенных 3x3. Требуется заполнить каждый квадрат числом из интервала от 1 до 9 таким образом, чтобы сумма чисел каждой строки, каждого столбца и каждой диагонали была равна 15. Определите числа в каждом квадрате для следующих случаев.
a) Числа в каждой строке и каждом столбце различны.
b) Числа во всех квадратах различны.
Запишите сформулированную задачу в виде задачи ЦЛП с ограничениями и решите ее с помощью программы TORA.
2. Станок используется для производства двух взаимозаменяемых видов продукции. Производительность станка позволяет за день изготовить не более 20 единиц продукции первого вида и 10 единиц второго вида. Существует альтернативная наладка станка, позволяющая ежедневно изготовлять не более 12 единиц продукции вида 1 и 22 единицы вида 2. Анализ рынка показывает, что максимальный суммарный спрос на два вида продукции составляет 35 единиц ежедневно. Предположим, что прибыль от производства единицы продукции первого и второго вида составляет 10 и 12 долл. соответственно. Какая из двух возможных настроек станка должна быть выбрана? Сформулируйте задачу в виде задачи ЦЛП и решите ее с помощью программы TORA. (Примечание. Сформулированная двухмерная задача может быть решена путем перебора возможных решений после графического построения пространства допустимых решений. Этого нельзя сделать в «-мерной задаче.)
3. Некая компания производит три вида продукции. Ежедневные временные затраты и потребности сырья, необходимые на изготовление одной единицы продукции, приведены в следующей таблице.
Продукция Необходимое время (час./ед.) Необходимое сырье (фунты/ед.)
1 3 4
2 4 3
3 5 6
Доходы от производства единицы каждого вида продукции равны 25, 30 и 22 долл. соответственно. Компания имеет возможность организовать выпуск
9.1. Примеры задач целочисленного программирования
этой продукции в двух цехах своего производства. Цехи отличаются главным образом ресурсом рабочего времени и сырья, как показывает следующая таблица.
Цех | Ресурс рабочего времени (часов в рабочий день) | Ресурс сырья (фунты в день) |
Сформулируйте задачу в виде задачи частично-целочисленного линейного программирования и используйте программу TORA для оптимального размещения производства по цехам.
4. Рассмотрите задачу планирования производственной линии, связанной с изготовлением двух различных изделий на одном станке. Последовательность выполнения необходимых для этого восьми операций изображена на рис. 9.3. Пусть Pj— время выполнения j-й операции 0 = 1, 2, п). Сроки сдачи изделий типа 1 и 2, которые определяются на основе некоторого исходного момента, равны dl и d2 соответственно. Предполагается, что любая выполняемая на станке операция должна быть завершена до начала другой операции. Сформулируйте задачу в виде задачи частично-целочисленного линейного программирования.
Изделие 1 Изделие 2
Рис. 9.3. Отношения предшествования операций для упражнения 4
5. Компания владеет фабрикой, которая производит изделия трех типов. Необходимые трудовые затраты и потребности сырья для производства одной единицы каждого из трех типов изделий приведены в следующей таблице.
Тип изделия | Необходимое время (час./ед.) | Необходимое сырье (фунты/ед.) |
Наличный дневной объем |
Доходы от производства единицы каждого из трех типов изделий равны 25, 30 и 45 долл. соответственно. Если будет производиться изделие типа 3, то его ежедневный объем производства должен быть не менее 5 единиц. Сформулируйте задачу в виде задачи частично-целочисленного линейного программирования и используйте программу TORA, чтобы найти оптимальное решение.
6. Опишите невыпуклые заштрихованные области допустимых решений, которые изображены на рис. 9.4, в виде набора одновременно выполняющихся
Глава 9. Целочисленное линейное программирование
ограничений. Используйте программу TORA, чтобы найти оптимальное решение, которое максимизирует целевую функцию г = 2л;, + Зл:2 при ограничениях, определяющих область, изображенную на рис. 9.4, а.
^2 ^2
а б в
Рис. 9.4. Пространства решений для упражнения 6
7. Пусть требуется, чтобы любые k ограничений из следующих т ограничений были активными.
g,(xvx2.....*„)^Ь„ i = l,2,.... т.
Покажите, как это сделать.
8. Правая часть следующего ограничения может принимать одно из значений bi> Ь2> ът> т-е-
gixlt х2.....хп) < Ь„ Ъ2,... или Ът.
Покажите, как можно представить это ограничение.
9.2. МЕТОДЫ РЕШЕНИЯ ЗАДАЧ ЦЕЛОЧИСЛЕННОГО ПРОГРАММИРОВАНИЯ
Методы решения задач целочисленного линейного программирования основаны на использовании вычислительных возможностей методов линейного программирования. Обычно алгоритмы целочисленного программирования включают три шага.
Шаг 1. "Ослабление" пространства допустимых решений задачи целочисленного линейного программирования путем замены любой двоичной переменной у непрерывным ограничением 0 < у < 1 и отбрасывания требования целочисленности для всех остальных переменных. В результате получается обычная задача линейного программирования.
Шаг 2. Решение задачи линейного программирования и определение ее оптимального решения.
Шаг 3. Имея полученное (непрерывное) оптимальное решение, добавляем специальные ограничения, которые итерационным путем изменяют пространство допустимых решений задачи линейного программирования таким образом, чтобы в конечном счете получилось оптимальное решение, удовлетворяющее требованиям целочисленности.
Разработаны два общих метода генерирования специальных ограничений, о которых идет речь при реализации шага 3.
9.2. Методы решения задач целочисленного программирования
1. Метод ветвей и границ.
2. Метод отсекающих плоскостей.
Хотя ни один из упомянутых методов не дает надежных результатов при решении задачи целочисленного линейного программирования, опыт вычислений свидетельствует, что метод ветвей и границ более успешно решает задачу, чем метод отсекающих плоскостей.
9.2.1. Метод ветвей и границ
Впервые метод ветвей и границ был предложен в 1960 году А. Лэндом (A. Land) иДж. Дойгом (G. Doig) для решения полностью целочисленных и частично-целочисленных задач линейного программирования. Позднее в 1965 году Э. Бэлес (Е. Balas) разработал аддитивный алгоритм для решения задач с двоичными переменными. Этот алгоритм с вычислительной точки зрения оказался настолько прост (в основном используя только операции сложения и вычитания), что его рассматривали как возможный прорыв в методах решения задач ЦЛП общего вида.3 К сожалению, этот алгоритм не оправдал возлагаемые на него надежды. Более того, если первоначально алгоритм не был связан с методом ветвей и границ, то вскоре было установлено, что аддитивный алгоритм является частным случаем метода ветвей и границ.
В этом разделе мы представим только метод ветвей и границ и основы этого метода объясним на численном примере.
Пример 9.2.1
Рассмотрим следующую задачу целочисленного линейного программирования.
Максимизировать z = 5*, + 4х2
при ограничениях
хх + х2< 5, 10*, + 6х2 < 45, х1Г х2> 0 и целые.
На рис. 9.5 пространство допустимых решений задачи целочисленного линейного программирования представлено точками. Соответствующая начальная задача линейного программирования (обозначим ее ЛПО) получается путем отбрасывания условий целочисленности. Ее оптимальным решением будет хх = 3,75, х2 = 1,25 и z = 23,75.
Поскольку оптимальное решение задачи ЛПО не удовлетворяет условию целочисленности, метод ветвей и границ изменяет пространство решений задачи линейного программирования так, что в конечном счете получается оптимальное решение задачи целочисленного линейного программирования. Для этого сначала выбирается одна из целочисленных переменных, значение которой в оптимальном решении задачи ЛПО не является целочисленным. Например, выбирая хх (= 3,75), замечаем,
3 Общую задачу ЦЛП можно выразить через двоичные переменные следующим образом. Любая целочисленная переменная х, значения которой не превышают конечной верхней границы и (т.е. 0 < х < и), может быть выражена через двоичные переменные с помощью представления х = 2°у0 + 2'у, + 22у2 +... + 2кyt, где к — наименьшее целое число, удовлетворяющее условию 2'*'-1>и,а y0,y,,...,yj —двоичные переменные.
Глава 9. Целочисленное линейное программирование
что область 3 < jc, < 4 пространства допустимых решений задачи ЛПО не содержит целочисленных значений переменной и, следовательно, может быть исключена из рассмотрения, как бесперспективная. Это эквивалентно замене исходной задачи ЛПО двумя новыми задачами линейного программирования ЛП1 и ЛП2, которые определяются следующим образом:
Рис. 9.5. Пространство решений задачи ЦЛП
пространство допустимых решений ЛП1 = пространство допустимых решений ЛПО
+ (х, < 3),
пространство допустимых решений ЛП2 = пространство допустимых решений ЛПО
+ (х, > 4).
На рис. 9.6 изображены пространства допустимых решений задач ЛП1 и ЛП2. Оба пространства содержат все допустимые решения исходной задачи ЦЛП. Это означает, что задачи ЛП1 и ЛП2 "не потеряют" решения начальной задачи ЛПО.
Если мы продолжим разумно исключать из рассмотрения области, не содержащие целочисленных решений (такие как 3 < ж, < 4), путем введения надлежащих ограничений, то в конечном счете получим задачу линейного программирования, оптимальное решение которой удовлетворяет требованиям целочисленности. Другими словами, будем решать задачу ЦЛП путем решения последовательности непрерывных задач линейного программирования.
Новые ограничения х,<3 и х,>4 взаимоисключаемы, так что задачи ЛП1 и ЛП2 необходимо рассматривать как независимые задачи линейного программирования, что и показано на рис. 9.7. Дихотомизация задач ЛП — основа концепции ветвления в методе ветвей и границ. В этом случае хх называется переменной ветвления.
Оптимальное решение задачи ЦЛП находится в пространстве допустимых решений либо задачи ЛП1, либо ЛП2. Следовательно, обе подзадачи должны быть решены.
9.2. Методы решения задач целочисленного программирования
ЛШ-
0 1 2 3 4 5
Рис. 9.6. Пространства решений задач ЛП1 и ЛП2
Выбираем сначала задачу ЛП1 (выбор произволен), имеющую дополнительное ограничение < 3.
Максимизировать z = 5х, + 4х2
при ограничениях
х, + х2 < 5, Юх, + 6х2<45, *,<3, xlt х2>0.
ЛПО
х1=3,75,х2= 1,25, z = 23,75
ЛП1
х1 = 3,х2=2, z = 23 Нижняя граница (оптимум)
ЛШ
х, = 4, х2= 0,83, z = 23,33
Рис. 9.7. Ветвление по переменной х; для создания задач ЛП1 и ЛП2
Оптимальным решением задачи ЛП1 (которое можно получить с помощью метода решения задач с ограниченными переменными, изложенного в разделе 7.3) являет-ся = 3, х2 = 2 и 2 = 23.
Глава 9. Целочисленное линейное программирование
Оптимальное решение задачи ЛП1 удовлетворяет требованию целочисленности переменных Xj и х2. В этом случае говорят, что задача ЛП1 прозондирована. Это означает, что задача ЛП1 не должна больше зондироваться, так как она не может содержать лучшего решения задачи ЦЛП.
Мы не можем в этой ситуации оценить качество целочисленного решения, полученного из рассмотрения задачи ЛП1, ибо решение задачи ЛП2 может привести к лучшему целочисленному решению (с большим значением целевой функции г). Пока мы можем лишь сказать, что значение г = 23 является нижней границей оптимального (максимального) значения целевой функции исходной задачи ЦЛП. Это значит, что любая нерассмотренная подзадача, которая не может привести к целочисленному решению с большим значением целевой функции, должна быть исключена из рассмотрения, как бесперспективная. Если же нерассмотренная подзадача может привести к лучшему целочисленному решению, то нижняя граница должна быть надлежащим образом изменена.
При значении нижней границы z = 23 исследуем задачу ЛП2 (единственную оставшуюся нерассмотренную подзадачу). Так как в задаче ЛПО оптимальное значение целевой функции равно 23,75 и все ее коэффициенты являются целыми числами, то невозможно получить целочисленное решение задачи ЛП2 (пространство решений которой более узко, чем в задаче ЛПО), которое будет лучше существующего. В результате мы отбрасываем подзадачу ЛП2 и считаем ее прозондированной.
Реализация метода ветвей и границ завершена, так как обе подзадачи ЛП1 и ЛП2 прозондированы (рассмотрение первой привело к целочисленному решению, а второй — к заключению, что ее возможное целочисленное решение не может быть лучше существующего). Следовательно, мы заключаем, что оптимальным решением задачи ЦЛП является решение, соответствующее нижней границе, а именно х, = 3, х2 = 2 и z = 23.
Остались без ответа два вопроса, связанные с реализацией описанной вычислительной процедуры.
1. Можно ли было в задаче ЛПО выбрать переменную хг в качестве переменной ветвления вместо х,?
2. Можно ли было при выборе подзадачи для зондирования решить сначала задачу ЛП2 вместо ЛП1?
Ответы на оба вопроса положительные. Однако последующие вычисления могут значительно отличаться. Ситуация, когда первой решается задача ЛП2, иллюстрируется схемой вычислений (рис. 9.8), подтверждающей высказанную мысль. Оптимальным решением задачи ЛП2 является хг = 4, х2 = 0,83 и z = 23,33 (проверьте с помощью программы TORA).
Поскольку значение переменной х2 (= 0,83) не является целым числом, задача ЛП2 исследуется дальше. Рассматриваем подзадачи ЛПЗ и ЛП4, используя ветви х2<0 и х2 > 0 соответственно. Это означает, что
пространство решений ЛПЗ = пространство решений ЛП2 + (х2 < 0) = = пространство решений ЛПО + (х, > 4) +(х2 < 0),
пространство решений ЛП4 = пространство решений ЛП2 + (х2 > 1) = = пространство решений ЛПО + (х, > 4) +(х2 > 1).
9.2. Методы решения задач целочисленного программирования
Рис. 9.8. Другой путь решения задачи примера 9.2.1
У нас есть три нерассмотренные подзадачи, которые должны быть решены, — ЛП1, ЛПЗ и ЛП4. Предположим, что мы произвольно выбрали первой задачу ЛП4. Эта задача не имеет решения и, следовательно, является прозондированной. В качестве следующей выберем подзадачу ЛПЗ. Ее оптимальным решением является jc, = 4,5, х2 = 0 и 2 = 22,5. Нецелочисленное значение переменной х, (= 4,5) порождает две ветви решений при ж, < 4 и х, > 5 и соответствующие им подзадачи ЛП5 и ЛП6. При этом
пространство решений ЛП5 = пространство решений ЛПО + (ж, > 4) + (х2 < 0) + + (х, < 4) = пространство решений ЛПО + (х, = 4) + (х2 < 0),
пространство решений ЛП6 = пространство решений ЛПО + (х, > 4) + (х2 < 0) + + (х, > 5) = пространство решений ЛПО + (ж, > 5) + (х2 < 0).
Теперь не рассмотрены подзадачи ЛП1, ЛП5 и ЛП6. Подзадача ЛП6 прозондирована, так как не имеет допустимых решений. Подзадача ЛП5 имеет целочисленное решение (х, = 4, *2 = 0, 2 = 20) и, следовательно, порождает нижнюю границу (г = 20) оптимального значения целевой функции задачи ЦЛП. Теперь остается лишь подзадача ЛП1, решение которой также является целочисленным (х, = 3, х2 = 2, 2 = 23). Следовательно, нижнюю границу значений целевой функции полагаем равной 23. Так как все подзадачи прозондированы, оптимальным решением задачи ЦЛП является решение, соответствующее последней нижней границе, а именно хх = 3, х2 = 2 и z = 23.
Глава 9. Целочисленное линейное программирование
Последовательность решения подзадач, показанная на рис. 9.8 (ЛПО, ЛП2, ЛП4, ЛПЗ, ЛП6, ЛП5, ЛП1), является наихудшей; тем не менее, она встречается на практике. Этот пример указывает на основную слабость метода ветвей и границ: как выбирать следующую подзадачу для исследования и как выбирать для нее переменную ветвления?
В процессе решения, представленного на рис. 9.7, мы случайно наткнулись на хорошую нижнюю границу значений целевой функции на самой первой подзадаче ЛП1, что позволило прозондировать ЛП2 без детальных исследований и закончить вычисления. По существу, мы завершили вычисления, решив лишь одну подзадачу. В процессе решения, представленном на рис. 9.8, мы были вынуждены исследовать семь подзадач, и лишь тогда завершились вычисления метода ветвей и границ. Хотя имеются эвристические соображения, позволяющие "угадать", какая из ветвей может привести к улучшенному решению задачи ЦЛП (см., например, [3]), не существует строгой теории, которая всегда обеспечивала бы надежные результаты.
Теперь сформулируем алгоритм метода ветвей и границ в общем случае. Предположим, что рассматривается задача максимизации. Зададим нижнюю границу оптимального значения целевой функции z задачи ЦЛП равной Положим i = 0.
Шаг 2. (Зондирование и определение границы). Выбираем i-ю подзадачу линейного программирования ЛГО для исследования. Решаем ЛШ и зондируем ее, при этом возможна одна из трех ситуаций.
a) Оптимальное значение целевой функции задачи ЛГО не может улучшить текущей нижней границы.
b) ЛГО приводит к лучшему допустимому целочисленному решению, чем текущая нижняя граница.
c) ЛГО не имеет допустимых решений. Возможны два варианта.
a) Если задача ЛГО прозондирована, нижняя граница изменяется только при условии, что найдено лучшее решение задачи ЦЛП. Если все подзадачи прозондированы, необходимо закончить вычисления: оптимальным решением задачи ЦЛП является то, которое соответствует текущей нижней границе, если такая существует. Иначе положить i = i + 1 и повторить шаг 1.
b) Если задача ЛГО не прозондирована, переходим к шагу 2 для выполнения ветвления.
Шаг 2. Ветвление. Выбираем одну из целочисленных переменных х:, оптимальное значение x'f которой в оптимальном решении задачи ЛГО не является
целым числом. Исключаем из пространства допустимых решений область [jty]<jt;<[jt]] + l (где [у]— наибольшее целое, не превосходящее v) путем
формирования двух подзадач ЛП, которые соответствуют ограничениям
хИ +
Положим i = i + 1 и переходим к шагу 1.
9.2. Методы решения задач целочисленного программирования
Описанный алгоритм применим для решения задач максимизации. Для решения задач минимизации в алгоритме необходимо заменить нижнюю границу верхней (начальное значение которой равно z = +°°).
Алгоритм метода ветвей и границ непосредственно распространяется на задачи частично-целочисленного ЛП (в которых лишь некоторые из переменных должны принимать целочисленные значения). Если некоторая переменная является непрерывной, то она никогда не выбирается в качестве переменной ветвления. Допустимая подзадача определяет новую границу для значения целевой функции, если значения дискретных переменных являются целочисленными и значение целевой функции улучшено по сравнению с текущей границей.
УПРАЖНЕНИЯ 9.2.1
1. Решите задачу ЦЛП из примера 9.2.1 методом ветвей и границ, начиная с переменной х2 как переменной ветвления. Решите подзадачи с помощью программы TORA, используя опцию MODIFY (Изменить) для задания верхней и нижней границ. Начните с решения подзадачи, включающей ограничение х2 ^ГхЛ.
2. Постройте дерево подзадач, получаемое при использовании метода ветвей и границ для каждой из приведенных ниже задач. Для удобства в нулевом узле в качестве переменной ветвления всегда выбирайте хх.
а) Максимизировать z = Зхх + 2х2
при ограничениях
2*, + 5х2 < 9, 4х, + 2х2 < 9, хх, х2 > О и целые.
Ь) Максимизировать z = 2хх + Зх2
при ограничениях
5х, + 7х2<35, 4ж, + 9х2 < 36, хх, х2>Ои целые.
с) Максимизировать z = хх + х2 при ограничениях
2хх + 5х2< 16, 6хх + Ъх2 < 27, хх, х2 > О и целые.
Дата публикования: 2014-11-18; Прочитано: 805 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!