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

Задача 2

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

Загальна характеристика симплексного методу.

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

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

При рішенні загальної задачі лінійного програмування, тобто задачі, в якій використовуються обмеження, задані нерівностями типу () або рівняннями (=), вихідний базисний план не є очевидним, в таких випадках задачу вирішують за допомогою симплексного методу із використанням штучного базису. Для цього необхідно виконати певні правила.

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

Потім виконують ряд перетворень:

Всі нерівності приводять до рівнянь. Для цього у ліву частину обмежень типу “≤” вводяться додаткові змінні з коефіцієнтами «+1», а типу “≥” - з коефіцієнтами «- 1». У цільову функцію додаткові змінні вводяться з нульовою оцінкою.

У ліву частину обмежень, в яких немає додаткових змінних з коефіцієнтом «+1», вводять штучні змінні yj з коефіцієнтами «+1». У цільову функцію штучні змінні вводяться з дуже великою позитивною оцінкою “М”, якщо задача вирішується на мінімум, або з “-М” (великою від’ємною оцінкою) – при рішенні на максимум.

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

Алгоритм симплексного методу

  1. Обирається направляючий стовпець j* з максимальної за абсолютною величиною від’ємною оцінкою (при розв’язанні задачі на максимум), або за максимальною оцінкою (при рішенні задачі за мінімумом) рядка *Big M. На певному етапі розв’язку задачі рядок *Big M повинен зникнути (він існує доти, поки в „Базис” входять штучні змінні), тоді стовпчик вибирається аналогічно по оцінках рядка C(j)-Z(j).

  2. Обирається направляючий рядок i* за мінімальною часткою від ділення елементів стовпчика вільних членів Bi на додатні елементи направляючого стовпчика Aij*. Якщо у направляючому стовпчику немає додатних елементів, то задача не має рішення. На перетині направляючого стовпчика і направляючого рядка знаходиться генеральний елемент Ai*j*.

  3. Заповнюється нова симплексна таблиця.

3.1. Змінна, яка стоїть у направляючому рядку, виводиться із Базису, а змінна, що стоїть у направляючому стовпці, вводиться у Базис, інші змінні залишаються на своїх місцях.

3.2. Заповнюється рядок нової таблиці, який стоїть на місці направляючого. Для цього елементи направляючого рядка діляться на генеральний елемент

.

3.3. Заповнюється стовпчик нової таблиці, який стоїть на місці направляючого. Для цього всі елементи направляючого стовпця заповнюються 0-ми (стовпчик можна не заповнювати, якщо у ньому стояла штучна змінна).

3.4. Інші елементи нової таблиці розраховуються за правилом прямокутника:

3.5. Стовпчик, що відповідає штучній змінній, не розраховується з того моменту, як ця змінна виводиться з „Базису”.

4. Перевіряється умова оптимальності: задача має оптимальне рішення, коли в індексному рядку C(j)-Z(j) не існує від’ємних елементів при рішенні задач на максимум, не існує додатних елементів при рішенні задач на мінімум. Якщо умова оптимальності не виконується, слід перейти до пункту 1.

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