Реферат: Применение метода ветвей и границ для задач календарного планирования
Z=3x1 +x2 →max
при ограничениях:
4xl + Зх2 < 18
x1 + 2x2 £ 6
4 £x1 £ 4
1 £x2 £ 4
х1 , x2 — целые числа.
Список задач: 6 и 7. Значение Z0 = 12.
VI этап. Решаем одну из задач списка, например задачу 7, симплексным методом.
Получим, что условия задачи 7 противоречивы.
VII этап. Решаем задачу 6 симплексным методом.
Получим Zm ax = 10,5 ,при X6 * = (3; 1,5; 1,5; 0; 0; 0,5; 2,5).
Так какZ(X6 * ) = 10,5 < Z0 = 12, то задача исключается из списка.
Итак, список задач исчерпан и оптимальным целочисленным решением исходной задачи будет X* = Х4 * = (4; 0; 2; 2; 0; 0), а оптимум линейной функции Zmax = 12
Замечание 1. Нетрудно видеть, что каждая последующая задача, составляемая в процессе применения метода ветвей и границ, отличается от предыдущей лишь одним неравенством — ограничением. Поэтому при решении каждой последующей задачи нет смысла решать ее симплексным методом с самого начала (с I шага). А целесообразнее начать решение с последнего шага (итерации) предыдущей задачи, из системы ограничений которой исключить "старые" (одно или два) уравнения — ограничения и ввести в эту систему "новые" уравнения — ограничения.
3.Применение метода ветвей и границ для задач календарного планирования
Метод ветвей и границ является универсальным методом решения комбинаторных задач дискретного программирования. Сложность практического применения метода заключается в трудностях нахождения способа ветвления множества на подмножества и вычисления соответствующих оценок, которые зависят от специфики конкретной задачи.
Рассмотрим применение разновидности метода ветвей и границ— метода «последовательного конструирования и анализа вариантов» для решения задачи календарного планирования трех станков.
Заданы п деталей di ( i = 1, 2, ..., n ), последовательно обрабатываемых на трех станках R 1 , R 2 , R 3 , причем технологические маршруты всех деталей одинаковы. Обозначим ai , bi , ci — длительность обработки деталей di на первом, втором и третьем станках соответственно.
Определить такую очередность запуска деталей в обработку, при которой минимизируется суммарное время завершения всех работ Tц .
Можно показать, что в задаче трех станков очередность выполнения первых, вторых и третьих операций в оптимальном решении может быть одинаковой (для четырех станков это свойство уже не выполняется). Поэтому достаточно определить очередность запуска только на одном станке (например, третьем).
Обозначим sk = ( i 1 , i 2 , ..., ik ) — некоторую последовательность очередности запуска длиной k (1 £k £ п) и A (sk ), В ( sk ), С ( sk ) — время окончания обработки последовательности деталей sk на первом, втором и третьем станках соответственно.
Необходимо найти такую последовательность sопт , что
С(sопт ) = min С (s).
s
Покажем, как можно рекуррентно вычислять A (sk ), В ( sk ), С ( sk ) . Пусть sk +1 = ( s k , i k + i ), т. е. последовательность деталей sk +1 получена из деталей sk с добавлением еще одной детали i k +1 . Тогда
A ( sk+1 ) = A ( sk )+,
В (sk+1 ) = max [A (sk+1 ); В (sk )]+ ,
С (sk +1 ) = max [В (sk +1 ); С (sk )] +
Для задачи трех станков можно использовать следующее правило доминирования .
Если s— некоторая начальная последовательность, а — под последовательность образованная из s перестановкой некоторых символов, то вариант s доминирует над , когда выполняются следующие неравенства:
А (s) £А ( ), В (s) £В ( ), С (s) £ С ( ),