Метод ветвей и границ

Страница 2

Таким образом исходная задача целочисленного программирования имеет оптимальный план Х*= (3, 1, 2, 3, 3). При этом плане целевая функция принимает максимальное значение .

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

Дадим геометрическую интерпретацию решения задачи (50)-(53). На рис. 2.6 показана область допустимых решений задачи (50)-(52).

Из него видно, что данная задача имеет оптимальный план(18/5, 3/5, 0, 0, 24/5). В то же время не является планом задачи (50)-(53), поскольку три переменные имеют дробные значения. Возьмем переменную х1 и рассмотрим задачи (I) и (II).

Как видно из рис. 2.7задача (I) имеет оптимальный план (3, 3/2, 0, 9/2, 3/2), а из рис.2.8 следует, что задача (II) неразрешима.

Поскольку среди компонент плана есть дробные числа, выберем переменную х2 и рассмотрим задачи (III) (IV). Задача (III) имеет оптимальный план(3, 1, 2, 3, 3) (рис. 2.9), а задача (IV) неразрешима (рис. 2.10).

Итак, Х*= (3, 1, 2, 3, 3) является оптимальным планом задачи (50)-(53). При этом плане .

Решение задачи, правые части которых содержат параметр.

Алгоритм решения задачи (60)-(62) подобен рассмотренному выше алгоритму решения задачи (57)-(59).

Полагая значение параметра t равным некоторому числу t0, находим решение полученной задачи линейного программирования (60)-(62). При данном значении параметра t0 либо определяем оптимальный план, либо устанавливаем неразрешимость задачи. В первом случае найденный план является оптимальным для любого, где

и числа qi и pi определены компонентами оптимального плана и зависят от t0:

Если при t = t0 задача (60)-(62) неразрешима, то, либо целевая функция задачи (60) не ограничена на множестве планов, либо система уравнений не имеет неотрицательных решений. В первом случае задача неразрешима для всех , а во втором случае определяем все значения параметра , для которых система уравнений (61) несовместна, и исключаем их из рассмотрения.

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

Итак, процесс нахождения задачи (60)-(62) включает следующие основные этапы:

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

20. Находят значения параметра , для которых задача (60)-(62) имеет один и тот же оптимальный план или неразрешима. Эти значения параметра t исключают из рассмотрения.

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

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

2.66. Для каждого значения параметра найти максимальное значение функции

при условиях

Р е ш е н и е . Считая значение параметра t в системе уравнений (81) равным нулю, находим решение задачи (80)-(82) (табл. 2. 41).

Таблица 2.41

i

Базис

Сб

Р0

3

-2

5

0

-4

Р1

Р2

Р3

Р4

Р5

1

Р3

5

12+t

1

1

1

0

0

2

Р4

0

8+4t

2

-1

0

1

0

3

Р5

-4

10-6t

-2

2

0

0

1

4

   

20+29t

10

-1

0

0

0

1

Р3

5

7+4t

2

0

1

0

2

Р4

0

13+t

1

0

0

1

½

3

Р2

-2

5-3t

-1

1

0

0

½

4

   

25+26t

9

0

0

0

½