Задача на целочисленото линейно програмиране



страница4/5
Дата25.02.2018
Размер482.95 Kb.
#58869
ТипЗадача
1   2   3   4   5

След заместване за хк от сьотношението по-горе тези условия приемат вида




Ако с N+ и N- се означат множествата на индексите j, за конто съот-ветно аjк 0 и аjк < 0, от последните две неравенства се получава



Тъй като тези две условия не могат да се изпълняват едновременно, по-долу



се показва,

че

те може да

се обединят

в едно ограничение от

вида













където Sk

0

е допълнителна

променлива.

Това уравнение определи


търсеното сечение на Гомори за частично целочислената задача и е необходимото условие за целочисленост на xк.


В оптималната симплекс-таблица всички небазисни променливи zj = 0, следователно стойността на Sk не е допустима. По-нататък изчисленията трябва да продължат с използуването на дуалния симплекс-метод.
Възможността за обединяване на двете условия по-горе в едно ограничение се показва по следния начин. Условията се записват в опростен







Очевидно

а 0 и 6

0. Тъй като двете усло




вия не се

изпълняват едновременно, ако се




изпълнява първото от тях, може да се запише fk

а и fk b. Оттук а + b fk и


след умножаване На двете страни по —1 и въвеждане на допълнителната променлива Sk, Може да се запише

Sk - {а + b) = -fk.
Пример 7.3. Разглежда се примерът 7.2, като се изисква само про-Менливата х1 да е целочислена. От таблицата с оптималното решение На отслабената задача

откъдето



























Таблща 2.9




Ы1Р




x1

x2

x3

x4

S1

Решение
















J




0

0 1

72/25

34/25

0

911/5







x2




0







1/25
















0

8/25

0

44/5







x1




1

0

-1/25

3/25

52/5










-3/25

0










<— S2

0




-2/75

-2/5
















1





























































Уравнението на сечението на Гомори е













или
Това ограничение се включва в същата таблица и се получава табл.7.9. След прилагането на дуалния симплекс-метод се определя реше-нието в табл.7.10. 2 3

Вижда се, че оптималната стойност J* = 86 / се получава при х*1 = 5

и х*2 = 42/3.






БПР

х1

х2

х3

х4

S1

I аолица /.10.




























J

0

0

116/45

0

34/3

862/3




























х2

0

1

602/1875

0

1/3

42/3




х1 Х4

1 0

0

-1/15 2/9

0 1

1

5










0







-25/3

31/3













































Счита се,че методите на отсичането не са подходящи за решаване-то на задачи с по-голяма размерност. Те са ефективни при решаването на някои задачи със специална структура. Напоследък, в съчетание с елементи на разклоняване, идеите за отсичащи равнини се използуват при разработването на нови алгоритми на ЦП.


7.5. ДВОИЧНИ ЦЕЛОЧИСЛЕНИ ЗАДАЧИ
Целочислената променлива х с горна граница п, 0х п може да бъде изразена чрез п двоични променливи y1,y2, ...,yn по следния начин

x = y1 + y2 + ... + yn


Друго по-икономично представяне, при което броят на двоичните про-менливи обикновено е по-малък от п, е следното
х = y0 + 2y1 + 22у2 + ... + 2rуr,
където r е най-малкото цяло число, което удовлетворява 2r+1 — 1п. По такъв начин всяка целочислена задача може да бъде представена като задача на двоичното ЦП. За решаването на такива задачи може да се използува разгледаният метод на клоните и границите, като се направят следните изменения:

в отслабените задачи на ЛП за двоичните променливи Xi се



въвеждат ограниченията 0

xi 1;













— условията на разклоняване xi

[x*i] и xi

[х*i] + 1 отпадат и се

заменят с xi = 1 и xi = 0.

С

други думи,

двете

нови задачи при

разклоняването възникват

като

в

целевата функция и

ограниченията на

съответната отслабена задача xi приема фиксирани стойности, съ-ответно 1 или 0.
Основен недостатък на този алгоритъм е решаването във всеки възел на задача на ЛП. Това е избегнато в метода, предложен от Е. Балаш за решаване на двоични целочислени задачи, известен като ади-тивен алгоритъм. Този метод може да се разглежда като модификация на по-общия метод на клоните и границите. Простотата на пресмята-нията с двоични променливи е използувана при него по такъв начин, че единствените необходими операции са събиране и изваждане. Това е определило и наименованието - адитивен алгоритъм.
7.5.1. АДИТИВЕН АЛГОРИТЪМ
Разглежда се следната задача Да се минимизира

при ограниченията



където Si 0 са допълнителни променливи. За използуването на алго-ритъма е необходимо началната симплекс-таблица на отслабената за-дача да определи т.нар. дуално допустимо решение, т.е. оптимално, но недопустимо решение. Необходимо е с-ыцо ограниченията да са от типа




Получаването на начално дуално допустимо решение на отслабената задача е възможно, ако Ако има някое с,- < 0, то се преобразува чрез допълването на хj, т.е. чрез заместването жу = 1 - х'j в целевата функция и ограниченията, където х'j е двоична променлива Задачата, в която всички , се нарича дуално реигима.




Понякога, след преобразуването на отслабената задача в дуално решима, началната симплекс-таблица определя допустимо решение. В такива случаи това решение е и оптимално, тъй като оптимумът на J се постига, като всички променливи хj се положат равни на нула. Адити-вният алгоритъм се използува за решаване на задачи, когато началното решение е дуално-допустимо (оптимално и недопустимо).


Основната идея се състои в изброяването (преглеждането, проби-рането) на всички 2n възможни решения на задачата, при което само в част от тях се изследват явно, а останалите се отстраняват автоматично. В началото всички променливи хj, имат нулева стойност. Тъй като задачата е за минимизация, решението е оптимално, но недопустимо -някои

променливи Si

са отрицателни.

На всяка стъпка от алгоритъма една

променлива хj

се приравнява на единица, така че да се постигне

допустимост на решението

Изборът на такива променливи се



Сподели с приятели:
1   2   3   4   5




©obuch.info 2024
отнасят до администрацията

    Начална страница