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

Перша симплексна таблиця для розв’язку задач лінійного програмування

і

Базис

Сбаз

План

c1

c2

cl

cm

cm + 1

cj

ck

cn

θі

x1

x2

xl

xm

xm + 1

xj

xk

xn

1

x1

c1

b1

1

0

0

0

a1, m +1

a1j

a1k

a1n

θ1

2

x2

c2

b2

0

1

0

0

a2, m + 1

a2j

a2k

a2n

θ2

l

xl

cl

bl

0

0

1

0

al, m + 1

alj

alk

aln

θl

m

xm

cm

bm

0

0

0

1

am, m + 1

amj

amk

amn

θm

m+ 1

Fjcj ≥ 0

F(X0)

0

0

0

0

Δm + 1

Δj

Δk

Δn

Після заповнення табл. 2.6 розраховують значення оцінок плану (останній рядок): . Потім згідно з умовою оптимальності плану задачі лінійного програмування, якщо всі(для задачі на максимум), то план є оптимальним. Допустимо, що одна з оцінок, тоді планне є оптимальним і необхідно здійснити перехід до наступного опорного плану, якому буде відповідати більше значення функціонала. Якщо від’ємних оцінок кілька, то включенню до базису підлягає вектор, який вибирається як. Мінімум знаходять для тих індексівj, де . Якщо існує кілька однакових значень оцінок, що відповідають, то з відповідних їм векторів до базису включають той, якому відповідає максимальне значення функціонала.

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

Нехай , тобто мінімальне значення досягається дляk-го вектора. Тоді до базису включається вектор. Відповідний стовпчик симплексної таблиці називаютьнапрямним.

Для того, щоб вибрати вектор, який необхідно вивести з базису (згідно з процедурою переходу від одного опорного плану задачі до іншого — §2.7.2), розраховують останній стовпчик табл. 2.6 — значення.

.

З розрахованих значень необхідно вибрати найменше . Тоді з базису виключаютьi-ий вектор, якому відповідає.

Допустимо, що відповідає вектору, що знаходиться вl-му рядку табл. 2.6. Відповідний рядок симплексної таблиці називаютьнапрямним.

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

Для визначення нового опорного плану необхідно всі вектори розкласти за векторами нового базису. Вектор Аk, який необхідно вводити до базису, в розкладі за початковим базисом має вигляд:

(2.54)

Вектор Аlвиходить з базису, і його розклад за новим базисом отримаємо з виразу (2.54):

. (2.55)

Розклад вектора А0за початковим базисом має вигляд:

. (2.56)

Для запису розкладу вектора в новому базисі підставимо вираз (2.55) у рівняння (2.56), маємо:

.

Отже, значення компонент наступного опорного плану розраховуються за формулами:

(2.57)

Розклад за початковим базисом будь-якого з векторів має вигляд:

. (2.58)

Розклад за новим базисом отримаємо підстановкою (2.55) у (2.58):

.

Новий план: , де

(2.59)

Формули (2.57) та (2.59) є формулами повних виключень Жордана—Гаусса.

Отже, щоб отримати коефіцієнти розкладу векторів за векторами нового базису (перехід до наступного опорного плану та створення нової симплексної табл. 2.7), необхідно:

  1. розділити всі елементи напрямного рядка на розв’язувальний елемент;

  2. розрахувати всі інші елементи за формулами повних виключень Жордана—Гаусса (правило прямокутника).

Потім необхідно здійснити перевірку нових значень оцінкового рядка. Якщо всі Fj– сj0, то планХ1— оптимальний, інакше переходять до відшукання наступного опорного плану. Процес продовжують до отримання оптимального плану, чи встановлення факту відсутності розв’язку задачі.

Якщо в оцінковому рядку останньої симплексної таблиці оцінка Fj – сj = 0 відповідає вільній (небазисній) змінній, то це означає, що задача лінійного програмування має альтернативний оптимальний план. Отримати його можна, вибираючи розв’язувальний елемент у зазначеному стовпчику таблиці та здійснивши один крок (одну ітерацію) симплекс-методом. У результаті отримаємо новий опорний план, якому відповідає те саме значення функціонала, що і для попереднього плану, тобто функціонал досягає максимального значення в двох точках багатогранника розв’язків, а отже, за властивістю 2 (§ 2.5) розв’язків задачі лінійного програмування така задача має нескінченну множину оптимальних планів.

Таблиця 2.7

Соседние файлы в папке 4 Конспект лекцій ЕММО