Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
PractZan_2Neu.doc
Скачиваний:
13
Добавлен:
05.09.2019
Размер:
1.99 Mб
Скачать

2.3. Симплекс-метод та його варіанти

Симплекс-метод ґрунтується на двох основних теоремах ЛП.

Теорема 1. Якщо задача ЛП має оптимальний розв’язок, то максимальне значення функція мети набуває в одній з вершин (кутових точок) многогранника, що утворений обмеженнями. Якщо функція мети отримує це значення більш, ніж в одній кутовій точці, то вона має таке ж значення в довільній їх опуклій комбінації.

Таким чином координати вершин многогранника припустимої області дають достатній об’єм інформації для знаходження оптимального розв’язку.

Базовий розв’язок системи визначається базою – незалежними векторами . В довільній екстремальній точці змінна , якій відповідає , що не входить до бази, має нульове значення. Таким чином загальна кількість базових розв’язків становить .

Теорема 2. Базові розв’язки системи повністю визначають всі її кутові точки.

В принципі координати цих точок можна розрахувати, відсіюючи всі неприпустимі точки та залишаючи ту, для якої значення функції мети максимальне. Але такий шлях є найменш ефективним, оскільки ґрунтується на ідеї повного перебору.

Загальна схема алгоритму симплекс-методу та його таблична форма

Загальна схема алгоритму симплекс-методу є наступною:

  1. Знаходження початкового припустимого базового розв’язку.

  2. Перевірка на зупинку алгоритму: чи знайдений розв’язок є оптимальним? Якщо так, то стоп.

  3. Пошук наступної вершини многогранника, до якої необхідно перейти: визначення змінної, що вводиться до бази (ведучого стовпчика); визначення змінної, що виводиться з бази (ведучого рядка).

  4. Перехід до нової вершини з застосуванням методу Ґауса. Перехід до п.2.

Таблична форма алгоритму:

Вважаємо, що п.1 вже реалізовано – знайдений початковий базовий розв’язок — тобто форма з m одиничними векторами.

  1. Будуємо початкову симплекс-таблицю і розраховуємо значення: , де критерії оптимальності знайденого розв’язку, біжуче значення функції мети для знайденого базового розв’язку.

  2. Перевірка на оптимальність:

а). - розв’язок оптимальний. Стоп.

b). — функція мети необмежено зростає. Стоп.

c). - наступний крок.

  1. Визначення ведучого стовпчика (яка змінна вводиться до бази): - індекс ведучого стовпчика.

Визначення ведучого рядка (яка змінна виводиться з бази): . Ведучий елемент – .

Перехід до нової симплекс-таблиці. Заповнюємо СТ в наступній послідовності: заповнюємо стовпчик базових змінних та відповідні значення ; заповнюємо стовпчики базових змінних (одиничні вектори!), відповідні значення ; заповнюємо рядок, що відповідає ведучому рядкові в попередній СТ - — таким чином всі елементи старого ведучого рядка ділимо на ведучий елемент і записуємо на відповідне місце в новій СТ; значення інших елементів СТ ( ) обчислюємо за формулами – , (правило трикутника); обчислюємо Q та . Перехід до п.2.

Якщо задача має вироджені опорні плани (базові розв’язки), то на одній з ітерацій одна або декілька змінних базового розв’язку рівні 0, що може приводити до зациклювання.

xb

cb

P0

c1

c2

cm

cj*

cn

P1

P2

Pm

Pj*

Pn

x1

c1

b1

1

0

1

a1j*

a1n

x2

c2

b2

0

1

0

a2j*

a2n

.

.

.

.

.

.

.

.

.

xi*

bi*

0

0

0

ai*j*

ain

.

.

.

.

.

.

.

.

.

xm

0

bm

0

0

0

amj*

amn

Q

=

Q0

0

0

0

x1

c1

b1`

1

0

1

0

a`1n

x2

c2

b2 `

0

1

0

0

a`2n

.

.

.

.

.

.

.

.

.

xj*

bi*/ai*j*

0

0

0

1

ain/ai*j*

.

.

.

.

.

.

.

.

.

xm

0

bm `

0

0

0

0

a`mn

Q

=

Q0

0

0

0

Приклад 4. Розв’язування задачі ЛП за допомогою СМ

Q= 3x1+2x2  Max,

x1+2x2<=6 x1+2x23 =6

2x1+x2<=8 2x1+x2 4 =8

-x1+x2<=1 -x1+x2 5 =1

x2<=2 x2 6 =2

x1 >=0 x2 >=0

c1

c2

c3

c4

c5

c6

xb

cb

P0

3

2

0

0

0

0

P1

P2

P3

P4

P5

P6

x3

0

6

1

2

1

0

0

0

6/1=6

x4

0

8

2

1

0

1

0

0

8/2=4; 4<6

x5

0

1

-1

1

0

0

1

0

x6

0

2

0

1

0

0

0

1

Q

0

-3

-2

0

0

0

0

x3

0

2

0

3/2

1

-1/2

0

0

x1

3

4

1

½

0

½

0

0

x5

0

5

0

3/2

0

½

1

0

x6

0

2

0

1

0

0

0

1

Q

12

0

-1/2

0

3/2

0

0

x2

2

4/3

0

1

2/3

-1/3

0

0

x1

3

10/3

1

0

-1/3

2/3

0

0

x5

0

3

0

0

-1

1

1

0

x6

0

2/3

0

0

-2/3

1/3

0

1

Q

38/3

0

0

1/3

4/3

0

0

Таким чином оптимальний розв’язок , і оптимальне значення критерію .

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