Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Тема6.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
879.1 Кб
Скачать

6.3 Методи розв'язання ззлп

Існує багато методів розв'язування ЗЗЛП, які докладно розглянуті в спеціальній літературі [6,7]. Але найбільш поширеним і найбільш придатним до використання при розрахунках на ЕОМ є симплекс-метод. Звертаємо увагу читачів, що цей метод застосовується лише для ЗЗЛП або для ЗЛПН, трансформованої в ЗЗЛП. При цьому обов'язковою є вимога позитивності всіх коефіцієнтів ^(ial.m). Однак у ряді випадків більш простим і продуктивним є метод послідовного перебору. Відзначимо, що він може бути застосованим безпосередньо для ЗЛПН. Тому розглянемо ці досить поширені методи.

6.3.1 Метод послідовного перебору

Цей метод застосовується, коли кількість змінних дорівнює двом (п=2), а кількість обмежень m>n.

Таким чином, необхідно оптимізувати

(6.16)

при обмеженнях

(6.17)

Суттєвість методу полягає у наступному:

І. Вибираються будь-які 2 обмеження і розв'язуються як обмеження-рівняння, тобто:

(6.18)

За допомогою, наприклад, правила Крамера [2] знаходяться елементи рішення х, і х2.

2. Отримані значення х1, і х2 застосовуються у решті обмежень. Якщо х1, і х2, задовольняють решту обмежень, то розраховується поточне значення цільової функції L1,. Якщо отримані х1, і х2 не задовольняють будь-яке обмеження, вони відкидаються як недійсні.

3. Потім вибирається інша будь-яка пара обмежень і робиться те ж саме. Отримана пара значень х1, і х2 перевіряється в решті обмежень і якщо вони задовольняються, знову розраховуються поточне значення L2.

Якщо L2 > L,, то попереднє рішення відкидається, а залишається друге рішення і т.д. ...

  1. Якщо при розрахунках будь-якої пари обмежень головний детермінант Δ = 0, ця пара обмежень не застосовується для розрахунків х1, і х2 , тому що в цьому випадку згідно з правилом Крамера:

що не задовольняє жодного обмеження.

Цей метод є достатньо простим і легко реалізується на ЕОМ, але він є обмеженим кількістю змінних, що оптимізуються (п=2).

6.3.2 Симплекс-метод

Основна ідея симплекс-методу полягає в поступовому переході від одного допустимого рішення до наступного таким чином, що кожного разу поточне значення цільової функції поступово зменшується (при пошуку мінімуму) і наближається після кількох ітерацій до оптимального значення. При пошуку максимуму цільова функція навпаки поступово збільшується. Відзначимо, що обмежень на кількість змінних не існує і розмірність задачі, що розв'язується, залежить лише від обсягу пам'яті ЕОМ, що була застосована для рішення. Слід пам'ятати, що цей метод застосовується лише для ЗЗЛП. Корисно знати також деякі характеристики ітераційного процесу пошуку оптимуму цільової функції [3].

1. Кількість можливих допустимих рішень залежить від числа змінних і від числа обмежень-рівнянь (m):

(при m<n) (6.19)

2. Число необхідних ітерацій при застосуванні симплекс-методу, шо забезпечують пошук оптимуму

(6.20),

що дозволяє оцінити термін одержання кінцевого оптимального результату.

Існує багато модифікацій цього методу, тому обмежимось лише тим, що застосовується найчастіше в ЕОМ.

Маємо ЗЗЛП виду:

(6.21)

при обмеженнях

(6.22)

1. Здійснюється пошук початкового (базисного) рішення. Він має містити ш змінних х1; х2; ... хm. Решта змінних - вільні і мають дорівнювати нулю. Якщо деякі змінні базового рішення хj;, (jє т) дорівнюватимуть нулю, йдеться про вироджене базове рішення.

Згідно симплекс-методу до вже існуючих n змінних в обмеження додається ще m додаткових змінних з коефіцієнтами, що дорівнюють одиниці, тобто система обмежень приймає вигляд:

(6.23)

де хn+i, , - додаткові змінні.

У якості базових на першому етапі беруться саме ці додаткові змінні (хn+1n+2;...; xn+m)

Тоді основні змінні (х12;...; xn) розглядаються на цьому етапі як вільні і прирівнюються до нуля. Одночасно в цільову функцію І. кожної додаткової змінної додається коефіцієнт впливу, набагато значніший (при пошуку мінімуму) порівняно з існуючими коефіцієнтами для основних змінних (х1; х2;...; хn), тобто:

(6.24)

де В - "велике" значення, однакове для всіх додаткових змінних при умові В>> max Cj, (j є n).

Відзначимо, що при пошуку максимуму нова форма залишається у вигляді (6.24), але при умові В<< min Cj (в практиці розрахунків на ЕОМ

при пошуку максимуму приймається вибране при пошуку мінімуму значення В їі знаком "-").

Оскільки х12;...; xn прирівнюються до нуля як вільні змінні, то згідно з (6.23) отримаємо базове рішення у вигляді:

,

що забезпечує згідно з (6.24)

,

яке дає дуже велике значення при пошуку мінімуму та дуже мале значення при пошуку максимуму.

Очевидно, що отримане базове рішення не є оптимальним. Для пошуку оптимального рішення складається так звана симплекс-таблиця, що є другим етапом розв'язання задачі ЛП.

  1. Симплекс-таблиця складається наступним чином (див. Табл.6.1.) Верхній ряд (цільовий ряд) заповнюється коефіцієнтами цільової функції згідно (6.24), де Cj = В для j = n + l;n+m. Другий ряд (під С; відповідно) заповнюється змінними від х, до xn+m.

Сс1

. . . .

Ссk

. . . .

Ссj

. . . .

Ссn

ВВ

ВВ

. . . .

ВВ

Сбі

Перші три колонки заповнюються даними про базові змінні, тобто Сбі = .

Решта колонок для Xj (j = l,n) заповнюються коефіцієнтами а,, для додаткових Xj = n + l;n + m відповідні клітинки заповнюються

значеннями елементів одиничної діагональної матриці Е.

Останній ряд (індексний ряд) служить для розрахунків індексів Δj що є характеристиками оптимальності отриманого плану. Індекси розраховуються зо допомогою наступних формул:

(6.26)

(6.27)

Відзначимо, що для змінних, що входять до базового рішення завжди Δj =0. В даному випадку Δj =0 (j = n + l;n + m).

2. Наступним етапом симплекс-методу є перевірка отриманого плану на оптнмальність. Вважається, що отримане рішення є оптимальним, якщо (j=l,n+m) при пошуку мінімуму або (j = l,n + m) при пошуку максимуму цільової функції. Якщо вказані умови задовольняються, то отримане оптимальне рішення є XБl=bБl (j = l,m), а решта вільних змінних дорівнює нулю. Оптимальне значення цільової функції згідно (6.26), при цьому дорівнює Δ0 .

Якщо вказані умови для індексів Д) не задовольняються (хоча б для одного стовпчику), то отримане рішення не є оптимальним і підлягає коректуванню з метою поліпшення.

3. Поліпшення отриманого плану представляє собою наступний етап симплекс-методу. Головною задачею цього етапу є, з одного боку, визначення найбільш впливової змінної серед вільних, що має бути введена в число базових, та, з іншого боку, визначення найменш впливової базової змінної, що має бути виведеною з числа базових.

Для визначення вільної змінної Хk, що має бути базовою, визначається ключова колонка (Xk), що відповідає – при пошуку мінімуму, або - при пошуку максимуму цільової функції.

Для визначення змінної XLb старому базисі, що має бути переведена] в розряд вільних замість Хк, визначається мінімальне відношення:

(6.28)

при пошуку мінімуму. При пошуку максимуму цільової функції залишається справедливою та ж сама умова, тобто:

(6.29)

При цьому ряд називають ключовим рядом, а значення аLк - ключовим числом.

Після цього змінна Хк займе місце XL в новому базисі, а змінна в другому зверху ряді буде вже вільною. Але при цьому усі коефіцієнти симплекс-таблиці мають бути перераховані.

4. Перетворення симплекс таблиці є наступним етапом симплекс-методу. Для цього XL, в старому базисі (колонка ХБі) замінюється на XL, , а відповідне значення CL (колонка СБі,) замінюється на CL. Решта значень симплекс-таблиці перераховується за допомогою формул:

- для ряду L:

; (6.30)

для решти рядів:

, (6.31)

,

де а' і b' - означають нові значення для модифікованої симплекс-таблиці.

Відзначимо також, що на практиці частіше застосовується спрощений запис вказаних формул (6.31) і (6.32) для неключових рядів, що носить назву формул Жордана:

(6.33)

де НЕ і СЕ -- відповідно будь-який новий елемент ( ; чи ) з неключових рядів і той же старий елемент (aij, чи bi,.) симплекс-таблиці, що перетворюється; ЕКр ЕКСТ відповідно елементи ключового ряду і ключового стовпчику таблиці, що перетворюється; К - ключовий елемент таблиці, що перетворюється (аLк). Щоб краще запам'ятати цю формулу,є корисним запам'ятати її мнемонічне трактування у вигляді прямокутника (рис 6.1)

Рис. 6.1. Геометричне тлумачення формули Жордана

Далі на конкретному прикладі ми покажемо, як застосувати цю мнемонічну формулу.

5. Після заповнення модифікованої таблиці знову перевіряються умови (при пошуку мінімуму) або (при пошуку максимуму). Якщо ці умови задоволені повністю, вважається, що базове рішення оптимальне, а поточне значення індексу д„ буде значенням Lonт. Якщо зазначені умови ще не задовольняються, то симплекс-таблиця знову модифікується за рахунок переміщення змінних хL, і хк, доки всі л, не стануть від'ємними або рівними нулю (при пошуку мінімуму) чи навпаки (при пошуку максимуму).

Відзначимо, що при кожній модифікації симплекс-таблиці (тобто при кожній ітерації базового рішення) значення До завжди відображає поточне значення цільової функції.

Очевидно також, що з кожної новою ітерацією значення д0 поступово зменшуватиметься (при пошуку мінімуму) або поступово збільшуватиметься (при пошуку максимуму цільової функції).

Для кращого зрозуміння симплекс-методу розглянемо конкретний приклад.

Мінімізувати

(6.34)

при обмеженнях

(6.35)

тобто при n=5; m=3.

Вводимо до обмежень нові змінні х6; х7; х8. Значення відповідних коефіцієнтів впливу вибираємо набагато більшими за існуючі, тобто В = 100. Завдяки цьому змінні х6; х7; xs з базових поступово будуть переведені у вільні, що забезпечує тим самим мінімум цільової функції. Після введення нових змінних маємо:

(6.35)

при обмеженнях

(6.36)

В якості базисних вибираємо х6; х7; х8 і отримуємо базисне рішення Х = {0,0,0,0,0,10.8,4},що забезпечує

L = 100 • 10 + 100 • 8 + 100 • 4 = 2200 Складаємо симплекс-таблицю 6.2.

Таблиця 6.2. Початкова симплекс-таблиця№ 1

5

1

-1

4

2

100

100

100

Ьві

Х|

Х2

хз

х4

Х5

x6

Х7

х8

1100

Х666

10

2

0

1

0

1

1

0

0

Н100

Х7

8

1

1

2

0

0

0

1

0

1100

Х8

4

-1

0

1

1

0

0

0

1

195

99

601

96

98

0

0

0

Розраховуємо елементи індексного ряду:

і.т.д.

Очевидно, що базові рішення не є оптимальним, тому що усі індекси від Δ1, до Δ5, додатні. В якості ключового ряду вибираємо ряд х,, що має максимальне позитивне значення Δ3, = 601.

Для визначення ключового ряду рахуємо відповідні відношення згідно (6.28)

б

тобто змінна ключового першого ряду базису (х6) має бути замінена на вільну змінну ключового ряду (х3). При цьому ключове число а13 =3 Приклад застосування формули (6.33) для елементу b2=18 показано на рис 6.1.

Складаємо нову симплекс-таблицю 6.3.

Таблиця б.З. Поточна сіімплекс-та6лиця№2.

5

1

-1

4

2

100

100

100 j

х«

х.

*2

хз

х4

xs

Х6

Х7

%

0 0

1

-100

10/3

2/3

0

1

0

1/3

1/3

0

100

X,

4/3

-1/3

Е

0

0

-2/3

-2/3

1

100

XS

2/3

-5/3

0

0

1

-1/3

-1/3

0

" 3 3 + 100 - = 196

-2,78

99

0

96

-102,3

-200,3

0

0

і розраховуємо знову значення індексного ряду. Визначаємо ключову колонку (х,) і ключовий ряд (х 7). Ключове значення дорівнює 1.

Складаємо нову симплекс таблицю 6.4.

Таблиця 6.4. Поточна симплекс-таблиі(я№3.

5

1

-1

4

2

100

100

100

1)1

К

хі

X,

хз

Х4

х,

Х6

Х7

Х8

1

хз

10/3

2/3

0

1

0

1/3

1/3

0

0

X,

4/3

-1/3

1

0

0

-2/3

-2/3

1

0

00

2/3

-5/3

0

0

а

-1/3

-1/3

0

1

\„ = 64,66

-172,6

0

0

96

-36,33

-134,3

-99

0

По індексному ряду отриманої таблиці визначаємо ключову колонку (х4) і ключовий ряд (х8). Ключове число дорівнює 1.

Знову складаємо модифіковану симплекс-таблицю 6.5. за допомогою (6.30) (6.33).

Таблшія 6.5.Остаточна симплекс-таблиця №4.

5

1

-1

4

2

100

100

100

('б.

к

х.

х:

Х.1

Х4

хі

х6

*7

х«

1

х,

10/3

2/3

0

1

0

1/3

1/3

0

0

1

X,

4/3

-1/3

1

0

0

-2/3

-2/3

1

0

1

Х4

2/3

-5/3

0

0

1

-1/3

-1/3

0

1

\„ = 0,666

-12,6

0

0

0

-4,33

-102,33

-99

-96

Отримана симплекс-таблиця містить усі , 0, завдяки чому можна

стверджувати, що отримане рішення є оптимальним, тобто

х1 =0; х2 =1,333; х3, =3,333; х4 =1,666; х5 =0; х6 = 0; х7 =0; х8 = 0, що

забезпечує Loпт =0,666.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]