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

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ

НАЦІОНАЛЬНИЙ ТЕХНІЧНИЙ УНІВЕРСИТЕТ УКРАЇНИ

«Київський Полiтехнiчний Інститут»

Двоїстий симплекс-метод.

Алгоритм Гоморі

Методичнi вказiвки до самостійної роботи з дисциплiни «Математичні методи дослідження операцій»

Київ 2010

Двоїстий симплекс-метод. Алгоритм Гоморі. Методичні вказівки до самостійної роботи з дисциплiни «Математичні методи дослідження операцій» для студентiв спе­цiальності «Iнформацiйнi управляючi системи та технологiї» / Укл.: О.Г. Жданова. – К.: НТУУ “КПІ”, 2006. – 48 с.

Навчальне видання

Методичнi вказiвки до самостійної роботи з дисциплiни «Математичні методи дослідження операцій»

для студентiв спецiальності

«Iнформацiйнi управляючi системи та технологiї»

Укладач: Жданова Олена Григорівна

Відповідальний редактор В.О. Тихонов

Рецензенти: С.М. Гриша

С.Ф. Теленик

Редактор М.В. Прокопенко

1. Двоїстий симплекс-метод

Нехай задана задача лінійного програмування в канонічній формі [1, 2]

c T x max; (1)

A x = b; (2)

x  0 . (3)

Задача, двоїста задачі (1)-(3), має вигляд :

Задачу (1) – (3) будемо надалі називати прямою задачею.

Критерій оптимальності задачі (1)-(3) має вигляд :

0,

де - вектор відносних оцінок небазисних змінних, - вектор оцінок обмежень.

За аналогією з вектором введемо вектор : . Визначимо вектор відносних оцінок змінних таким чином: ,

.

Враховуючи це, критерій оптимальності задачі (1)-(3) можна записати так:

;

; (4)

.

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

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

Нехай пряма перетворювана задача записана в наступному вигляді:

(5)

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

. (6)

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

1.1. Схема двоїстого симплекс-методу для задачі максимізації цф

Наступна схема містить теоретичне обгрунтування методу [1].

Крок 1. Вибір змінної, що виводиться із множини базисних (умова допустимості).

За змінну, що виводиться з базису, треба вибрати найбільшу за величиною від’ємну базисну змінну: вибрати ведучий рядок q, такий, що

.

  • Якщо всі базисні змінні  0 (тобто такого q не існує), то СТОП, одержали допустимий і оптимальний розв’язок.

  • У протилежному випадку стовпчик, що відповідає змінній , повинен бу-ти виведений із базису.

Крок 2. Вибір змінної, що вводиться у множину базисних (умова оптимальності).

Спочатку розглянемо наступне: коли j–й небазисний стовпчик замінює q–й базисний, тоді після застосування перетворень Гауса відносна оцінка q–го стовпчика у новому ДБР буде дорівнювати . Для того, щоб компоненти вектора , як і раніше, були невід’ємні ( 0) (виконувалась умова оптималь­ності), знаменник повинен бути від’ємним .

Визначимо коефіцієнт  за формулою:

(7)

і нехай мінімум досягається при j = p.

Якщо взяти більше значення параметра  , ніж те, яке дає (7), наприклад значення, яке відповідає j = r , і якщо ввести у базис, то в новому розв’язку одержимо

, тому, що ,

і умови оптимальності ДБР прямої задачі не будуть виконуватись.

Отже, змінна вводиться у множину базисних. При цьому

.

  • Якщо у рядку, що відповідає змінній, яка виводиться, нема жодного для j, які відповідають небазисним змінним (ознака відсутності допустимих розв’язків), то СТОП, пряма задача не має допустимих розв’язків.

  • У протилежному випадку перейти на крок 3.

Крок 3. Перехід до нового ДБР

За допомогою елементарних перетворень Гауcа виконується операція заміщення на . Перехід на крок 1.

Схема двоїстого симплекс-методу для задачі мінімізації ЦФ відрізняється від схеми розв’язання задачі на максимум у правилі вибору змінної, що виводиться (критерії оптимальності):

Коефіцієнт  визначається за формулою:

(7а)

(як і раніше розглядаються тільки відношення з від’ємним знаменником)

Ознака відсутності допустимих розв’язків та ж: у рядку, що відповідає змінній, яка виводиться, немає жодного для j, які відповідають небазисним змінним.

З урахуванням (7) и (7а) можна записати єдине (для задач максимізації та мінімізації) правило вибору ведучого стовпчика:

.

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

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

Таблиця 1

Прямий симплекс-метод

Двоїстий симплекс-метод

1

2

3

Проміж-ний розвя-зок

Задача на min

хj 0

і j dj>0.

Проміжні розв’язки є допусти-мими, але неоптимальними за критерієм оптимальності

Задача на max

dj0,

але j xj<0.

Проміжні розв’язки є оптималь­ними за критерієм оптимальності, але не є допустими

Продовження табл.1

1

2

3

Проміж-ний розвя-зок

Задача на max

хj 0

і  j dj<0.

Проміжні розв’язки є допустимими, але не є оптимальними.

Задача на min

dj 0,

але  j xj<0.

Розв’язки є оптимальними за критерієм оптимальності, але не є допустимими.

Опти-мальний

Задача на

xj 0

dj 0

min

xj 0

dj 0

розв’я-

зок

Задача на

xj 0

dj 0

max

xj 0

dj 0

Етапи

методу

1. Умова оптимальності

Вибір змінної, що вводиться у базис: вводимо ту змінну xj у якої dj>0 (min),

dj<0 (max).

2. Умова допустимості

Вибір змінної, що виводиться з базису: вибираємо змінну таким чином, щоб зберегти допусти­мість розв’язку, що отримується

1. Умова допустимості

Вибір змінної, що виводиться з базису: виводимо ту змінну xj, для якої виконується:

xj<0.

2. Умова оптимальності

Вибір змінної, що вводиться у базис: вибираємо змінну таким чином, щоб зберегти оптималь­ність розв’язку