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

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

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

Перехід до двоїстої задачі не обов’язковий. Звичайна симплексна таблиця в стовпчиках містить початкову задачу, а в рядках — двоїсту. Оцінками плану прямої задачі є рядок ( ), а оцінками плану двоїстої — стовпчик «План» з компонентами вектора вільних членів системи обмежень В. Отже, розв’язуючи пряму задачу, симплексний метод дає змогу одночасно знаходити і розв’язок двоїстої задачі. Однак двоїсту задачу можна також розв’язати за таблицею, в якій записана пряма, а відшукавши оптимальний план двоїстої задачі, разом з тим отримати розв’язок початкової задачі. Такий спосіб розв’язання задачі лінійного програмування має назву двоїстого симплексного методу. Прямий та двоїстий симплексні методи пов’язані між собою.

Розглянемо такий алгоритм двоїстого симплексного методу:

1. Необхідно звести всі обмеження задачі до виду «», ввести додаткові невід’ємні змінні, визначити початковий базис та перший опорний план .

2. Якщо всі оцінки векторів і компоненти вектора-стовпчика «План» для всіх , то задача розв’язана. Інакше необхідно вибрати найбільшу за модулем компоненту bl<0 і відповідну змінну xl виключити з базису.

3. Якщо в l-му рядку, що відповідає змінній xl, не міститься жодного , то цільова функція двоїстої задачі необмежена на багатограннику розв’язків, а початкова задача розв’язку не має. Інакше існують деякі і тоді для відповідних стовпчиків визначають аналогічно прямому симплекс-методу оцінки θ:

( ), що дає змогу вибрати вектор, який буде включено в базис.

4. Виконавши крок методу повних виключень Жордана—Гаусса, переходять до наступної симплексної таблиці (Переходять до пункту 2).

Зазначимо, що для задачі знаходження максимального значення цільової функції за наведеним алгоритмом необхідно перейти до цільової функції F’=-F, або дещо змінити сам алгоритм.

28. Параметричне програмування

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

Параметричне програмування — це метод визначення залеж­ності змін розв’язку задачі від зміни вектора коефіцієнтів цільової функції чи вектора обмежень.

Розглянемо задачу лінійного програмування у разі лінійної залежності компонентів вектора обмежень від параметра t. Нехай:

, , . (3.65)

Тоді задачу лінійного програмування сформулюємо у вигляді:

(3.66)

(3.67)

. (3.68)Очевидно, що для кожного фіксованого значення задача (3.66)—(3.68) є звичайною задачею лінійного програмування і може бути розв’язана симплексним методом.

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

Нехай . Тоді згідно з першою теоремою двоїстості оптимальний план прямої задачі (як і кожен поточний опорний план) можна подати у вигляді:

, (3.69)

де D — матриця, що складена з компонент векторів останнього базису; — оптимальний план задачі (3.66)—(3.68); В — вектор, що складається з вільних членів системи обмежень в останній симплексній таблиці.

Отже, якщо змінюються компоненти вектора В, то змінюються також значення вектора .

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