Роздрукувати сторінку
Главная \ Методичні вказівки \ Методичні вказівки \ 755 Опорний конспект лекцій з курсу Дослідження операцій Тема 5 Лінійне програмування, Симплекс-метод, НУДПСУ

Опорний конспект лекцій з курсу Дослідження операцій Тема 5 Лінійне програмування, Симплекс-метод, НУДПСУ

« Назад

Лекція №5. ЛІНІЙНЕ ПРОГРАМУВАННЯ. Симплекс-метод

План

1. Загальна ідея симплекс-методу.

2. Алгоритм симплекс-методу.

3. Симплекс-таблиця.

4. Приклади.

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

2.5.1. Загальна ідея симплекс-методу

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

Розв'язок задачі за допомогою симплекс-метода розпадається на ряд кроків. На кожному кроці від даного базису переходять до іншого, нового базису з таким розрахунком, щоб значення функції Z зменшувалося. Для переходу до нового базису із старого базису віддаляється одна із змінних і замість неї вводиться інша з числа вільних. Після кінцевого числа кроків або знаходиться такий базис, для якого є шуканий мінімум для лінійної функції Z, а відповідний базисний розв'язок є оптимальним, або з'ясовується, що задача не має розв'язку.

2.5.2. Алгоритм симплекс-метода

Розглянемо систему лінійних обмежень і лінійну форму вигляду

Zmin = c0 + c1x1 + … + cnxn, (2.38)

xi ³ 0, i = 1,2,…,n. (2.39)

тобто обмеження мають форму рівностей.

Введемо умовні позначення:

х1, x2 ..., xr– базисні змінні;

xr+1, xr+2,..., xn– вільні змінні.

Тепер приведемо записану систему до вигляду, де виділено базисні змінні, тобто виразимо базисні змінні через вільні. Це можна зробити різними способами, зокрема, за допомогою метода Жордана-Гауса. Вирази для базисних змінних підставимо і в цільову функцію. Отримаємо наступну систему співвідношень

Zmin = g0 – (gr+1xr+1 + gr+2xr+2 + … + gnxn). (2.41)

За останньою системою обмежень і цільовою функцією Z побудуємо табл. 2.3.

Таблиця 2.3. Симплекс-таблиця

 

Базисні невідомі

Вільні невідомі

Вільний член

 

xr+1

 

xr+2

 

 

xn

х1

b1

a1r+1

a1r+2

a1n

хr

br

arr+1

arr+2

arn

Zmin

g0

gr+1

gr+2

gn

Дана таблиця називається симплекс-таблицею. Всі подальші перетворення симплекс-методу пов'язані із зміною змісту саме цієї таблиці.

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

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

2. Обчислюють відношення вільних членів до позитивних елементів вирішуючого стовпця (симплекс-відношення). Знаходять найменше з цих симплекс-відношень, воно відповідає вирішуючому рядку.

3. На перетині вирішуючого рядка і вирішуючого стовпця знаходиться вирішуючий елемент.

4. Якщо є декілька однакових по величині симплекс-відношень, то вибирають будь-яке з них. Те ж саме відноситься до позитивних елементів останнього рядка симплекс-таблиці.

5. Після знаходження вирішуючого елементу переходять до наступної таблиці. Невідомі змінні, що відповідають вирішуючому рядку і стовпцю, міняють місцями. При цьому базисна змінна стає вільною змінною і навпаки. Симплекс-таблиця перетворюється наступним чином (табл. 2.4). В таблиці 2.4 перетворення рядка і стовпця зроблені у припущенні, що вирішуючим елементом є a1r+2.

6. Елемент табл. 2.4, що відповідає вирішуючому елементу табл. 2.3, дорівнює зворотній величині вирішуючого елементу.

7. Елементи рядка табл. 2.4, що відповідають елементам вирішуючого рядка табл. 2.3, знаходять шляхом ділення відповідних елементів табл. 2.3 на вирішуючий елемент

8. Елементи стовпця табл. 2.4, що відповідають елементам вирішуючого стовпця табл. 2.3, знаходять шляхом ділення відповідних елементів табл. 2.3 на вирішуючий елемент і беруться з протилежним знаком.

9. Решта елементів обчислюється за правилом прямокутника: у думках викреслюємо прямокутник в табл. 2.3, одна вершина якого співпадає з вирішуючим елементом, а інша – з елементом, образ якого шукаємо; останні дві вершини визначаються однозначно. Тоді шуканий елемент з табл. 2.4 дорівнюватиме відповідному елементу табл. 2.3 мінус дріб, в знаменнику якого стоїть вирішуючий елемент, а в чисельнику – добуток елементів з двох невикористаних вершин прямокутника.

10. Як тільки вийде таблиця, в якій в останньому рядку всі елементи негативні, вважається, що мінімум знайдено. Мінімальне значення функції дорівнює вільному члену в рядку цільової функції, а оптимальний розв'язок (тобто значення базисних змінних) визначається вільними членами при базисних змінних. Всі ж вільні змінні в цьому випадку дорівнюють нулю.

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

Зауваження.Для побудови симплекс-таблиці слід обов’язково всі співвідношення (2.40)-(2.41) привести саме до поданої форми: вільний член мінус дужки, в дужках – лінійна комбінація вільних змінних.

Таблиця 2.4. Перетворення симплекс-таблиці

 

Базисні невідомі

Вільні невідомі

Вільний член

 

xr+1

 

x1

 

 

xn

xr+2

b1/a1r+2

a1r+1/a1r+2

1/a1r+2

a1n/a1r+2

х2

-a2r+2/a1r+2

хr

-arr+2/a1r+2

Zmin

-gr+2/a1r+2

Приклад 2.10. Розв'яжемо наступну задачу симплекс-методом

Zmax = 2x1x2 + 3x3 – 2x4 + x5.

Приведемо завдання до вигляду, що допускає застосування симплекс-алгоритму, обравши в якості базисних змінних х3, х4, х5. Отримаємо

х3 = 1 – (– х1 + х2),

х4 = 1 – (х1х2),

х5 = 2 – (х1 + х2).

Підставимо у вираз Zmax величини x3, x4, x5

Zmax = 6x1 – 7x2 + 3.

За алгоритмом цільова функція повинна прагнути до мінімуму

Zmin = – Zmax = – 6x1 + 7x2 – 3 = – 3 – (6x1 – 7x2).

Складемо початкову симплекс-таблицю

 

Базисні невідомі

Вільні невідомі

Вільний член

x1

x2

х3

1

-1

1

х4

1

1

-1

х5

2

1

1

Zmin

-3

6

-7

Розшукуємо в останньому рядку найменший позитивний елемент, в нашому прикладі він дорівнює +6, отже, перший стовпець коефіцієнтів буде вирішуючим. Визначимо відношення вільних членів до позитивних елементів вирішуючого стовпця. Мінімальне симплекс-відношення дорівнює 1, отже, вирішуючий елемент знаходиться на перетині рядка зі змінною x4і стовпця – x1.

Переходимо до наступної таблиці, використовуючи правило прямокутника

 

Базисні невідомі

Вільні невідомі

Вільний член

x4

x2

х3

2

1

01

х1

1

1

-1

х5

1

-1

2

Zmin

-9

-6

-1

У останньому рядку немає позитивних елементів, отже, оптимальний розв'язок знайдено: Zmin = – 9; x = (1; 0; 2; 0; 1), Zmax = – Zmin = 9.

Контрольні запитання

1. Подайте загальну ідея симплекс-методу.

2. Наведіть алгоритм симплекс-методу.

3. Що таке симплекс-таблиця?

4. Як будується симплекс-таблиця?

З повагою ІЦ “KURSOVIKS”!