
Метод Лэнд и Дойг для решения целочисленных и частично-целочисленных задач
Дана задача линейного частично-целочисленного программирования:
(1)
(2)
(3)
(4)
Тот факт, что (1)-(3) – задача линейного программирования, сразу наталкивает на мысль, что границу (верхнюю) удобнее всего вычислять, решая именно эту задачу. Действительно, ведь всегда имеет место
Вопрос вычисления границы решен.
Как будем выполнять ветвление и какой признак оптимальности – станет ясно в процессе изложения алгоритма.
Рекордом будем называть допустимое решение задачи ЛЦП, доставляющее ЦФ значение, не меньшее, чем на любом известном на данный момент допустимом решении.
Шаг 1. Решим задачу ЛП
(1)-(3). Если задача неразрешима, то и ЛЦП
задача(1)-(4) неразрешима. Полагаем N=1
и в предварительно очищенный список
задач S заносим задачу
ЛП (1)-(3), дав ей обозначение
.
В этот же список заносим оптимальное
решение задачи, которое принимается в
качестве верхней границы
.
Шаг 2. Имеем список задач S, в котором задачи упорядочены по невозрастанию оценок:
.
Если список пуст (S=), ЛЦП-задача не имеет решения. Конец.
В
противном случае из списка выбирается
задача
-
задача, имеющая максимальную оценку.
Шаг 3. Если
оптимальный план выбранной
задачи удовлетворяет
требованию целочисленности (4), то
-
оптимальное решение исходной задачи,
-
оптимальное значение ЦФ. Конец.
Шаг 4. Выбираем
нецелую координату решения
.
Пусть это будет координата
,
имеющая в решении
значение
.
Формируем и последовательно решаем две
задачи -
и
:
|
|
|
|
|
|
По
результатам решения каждой из задач
и
выполняются
следующие действия:
Если задача имеет решение, то она вместе со своим оптимальным решением заносится в список задач S – в позицию, соответствующую полученному значению ЦФ (оценки). Таким образом, все задачи в новом списке S' упорядочиваются по невозрастанию оценок.
Шаг 5. Проводится сквозная перенумерация задач в новом списке. Этот список приобретает вид:
Из
списка удаляются все бесперспективные
задачи. Задача
считается бесперспективной, если в
списке есть задача
,
имеющая целочисленное решение и r > l ,
то есть,
.
Таким образом, срабатывает механизм
рекордов. А именно, задача
,
имеющая целочисленное решение (если
таковая есть), в новом списке будет
занимать последнюю
позицию. Этой задаче будет соответствовать
рекорд.
В новом, очищенном от бесперспективных задач списке, будет N задач (NN'). Принимаем S= S' и переходим к шагу 2.
Пример. Дана задача ЛЦП Z=2x1+x2max. Область допустимых решений соответствующей ЛП-задачи задана графически.
Приведенный ниже рисунок иллюстрирует начало формирования списка задач по методу Лэнд и Дойг: из исходной задачи формируются две задачи. Ветвление осуществляется по координате x2, которая в оптимальном решении исходной задачи имеет нецелое значение (7/2) .
На следующем рисунке представлена полная схема процесса решения задачи.