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

Блочні задачі лінійного програмування та підходи до їх розв’язування

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

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

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

Відповідна задача ЛП формулюється наступним чином:

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

...

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

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

Представимо координуючу задачу в еквівалентній формі:

, ,..., , ,

де , .

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

Алгоритм декомпозиції складається з наступних кроків:

  1. Перетворити первісну задачу таким чином, щоб в її модифікованому формулюванні фіґурували нові змінні .

  2. Знаходимо початковий базовий розв’язок модифікованої задачі. (На цьому кроці доцільно застосувати перший етап двоетапного симплекс-методу.

  3. На біжучій ітерації знайти для кожної з підзадач та визначити . Якщо , то знайдений розв’язок оптимальний — стоп.

  4. Включити змінну , що відповідає , до бази. Визначити змінну, що виключається з бази, виключити її та обчислити нову матрицю . Перейти до кроку 3.

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