Дискретное программирование. Задачи дискретного программирования в САПР. Методы решения задач дискретного программирования, страница 7

Этот метод предусматривает замену задачи I последовательностью подзадач I1, I2, …, In ,  решаемых на непересекающихся подмножествах, содержащих допустимые целочисленные решения. Такие подзадачи решаются как обычные задачи ЛП при отбрасывании требования целочисленности. При наличии в решении задачи нецелочисленных значений переменных, полученных  на определенном шаге, производится так называемое “ветвление” задачи, состоящее в формировании двух новых подзадач, имеющих дополнительное ограничения.

Такие ограничения обычно строятся следующим образом. Пусть одна из нецелочисленных переменных имеет вид: x k = [bk] + fk . Тогда в первую подзадачу вводится ограничение 

x £ [bk] , а в другую –

x ³ [bk] +1.

(Можно сказать, что в этом случае произведено ветвление задачи по переменной xk ) .

Алгоритм метода предусматривает процедуру последовательного построения ветвлений и решения соответствующих задач ЛП. В результате такой процедуры находится оптимальное решение задачи ЦЛП.

Рассмотрим упрощенный пример решения задачи ЦЛП методом ветвей и границ. Пусть исходная задача имеет вид

                                      max z = 7x1+3x2                                                                   

5x1+2x220;                                             

8x1+4x238;                                                (3.25)

x1, x2  0 ;                                                 

x1, x2 – целые.                                               (3.26)

Данную задачу без наложения требований целочисленности (задачу (3.25)) назовем задачей 1. В результате решения этой задачи как непрерывной  найдем оптимальное решение:

x=1, x=7,5, z1 =29,5 , где верхний индекс у переменных и нижний у целевой функции соответствует номеру задачи. В полученном решении x=7,5, не удовлетворяет требованиям целочисленности.

Произведем ветвление по переменной x2 .  Сформируем две новые задачи с ограничениями, исключающими возможность получения нецелочисленного значения х2=7,5. Такие ограничения имеют  вид: х27  и  х28.

Задача 2 :                                                                      

                                     max z =7x1+3x2;

5x1+2x220;                                                                

8x1+4x238;                                                   (3.27) 

x10, x³ 0;

x27.

Задача 3 :                                                                      

                                      max z =7x1+3x2;

5x1+2x220;                                                                

8x1+4x238;                                                  (3.28)

x10, x20;

x28.

В результате решения непрерывных задач 2 и 3 были получены следующие значения:

x=1,2, x=7,0, z2=29,4 ;    x=0,75, x=8,0,  z3=29,25.

Далее накладываем требования на граничные значения х1, исключающие возможность сохранения нецелочисленных значений x=1,2 и x=0,75.

В результате этого получаем задачу 4 и задачу 5, в которых наложены  ограничения целочисленности на x=1,2:  х11 и х12.

Задача 4 :                                                                      

                                      max z=7x1+3x2;

5x1+2x220;                           

8x1+4x238;                                                  (3.29)

x1³0, x2 ³ 0;

x11,0, x27.

Задача 5 :                                                                      

                                     max z =7x1+3x2;

5x1+2x220;                                              

8x1+4x238;                                                  (3.30)

x10, x2 0;

x12, x2 7.

Задача 6 и задача 7 накладывают ограничения целочисленности на x=0,75  в виде:  х1=0  и  х11.

Задача 6 :                                                                      

                                   max z =7x1+3x2;

5x1+2x220;

8x1+4x238;                                                    (3.31)

x1=0, x28 .

Задача 7 :                                                                       

                                  max z=7x1+3x2;

5x1+2x220;