Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекц_по_ЧМ_Ч2.doc
Скачиваний:
13
Добавлен:
30.04.2019
Размер:
2.17 Mб
Скачать
    1. Опис методу потенціалів рішення транспортного завдання лінійного програмування

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

Будемо вважати, що рядки й стовпці таблиці, наведеної в п.12.2, занумеровані традиційним способом «зверху долілиць» і «ліворуч праворуч». При цьому будемо вважати, що останній рядок і останній стовпець у нумерації не беруть участь і виконують ілюстративно-допоміжні функції. Слова «стовпець» або «рядок» будемо поєднувати терміном лінія. Виберемо з таблиці кілька кліток і розташуємо їхній один за одним у певному порядку: c1,...,cr. Цей набір кліток називається ланцюгом, якщо будь-які дві сусідні клітки в ньому перебувають на одній лінії, а будь-які три сусідні клітки жодної лінії не належать. Якщо перша й остання клітки ланцюга належать одній лінії, то ланцюг називається циклом.

Якщо набір кліток таблиці не містить циклів, то цей набір називається нециклічним. Який-небудь план перевезень називається нециклічним, якщо його ненульові числа розташовані в нециклічним наборі кліток.

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

Нехай - деякий припустимий нециклічним план; він оптимальний тоді й тільки тоді, коли існують числа з наступними двома властивостями:

  1. якщо то .

Числа в цій ситуації називаються потенціалами.

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

Отже, знайдемо який-небудь план припустимий і оптимальний. Прийом, яким ми це зробимо, називається методом північно-західного кута. Звернемося до таблиці в п.12.2. Її верх будемо асоціювати з північчю, низ - з півднем, лівий край - із заходом, правий край - зі сходом. Допустимо, що якісь числа вже проставлені; виберемо крайню північно-західну клітку із сукупності вільних, ще не заповнених числами . Нехай для визначеності це буде клітка з номером (s,t). Виберемо мінімум між числами й ; покладемо крім того, якщо мінімумом виявилося число , те усе ще незаповнені клітки рядка № s заповнимо нулями; якщо ж мінімумом виявилося число , те всі незаповнені клітки стовпця № t заповнимо нулями; якщо ж числа й виявилися рівні, те й рядок № s, і стовпець t заповнюють нулями в частині ще незаповнених кліток. Після цього числа й зменшують на число h і процес продовжують. Очевидно, процес кінцевий. Можна довести, що отриманий план допустимо нециклічним. Крім того, можна помітити, що кількість ненульових кліток отриманого плану (тобто кількість елементів , відмінних від нуля) не перевершує m+ n-1.

Тепер виконаємо перевірку знайденого плану на потенційність; з огляду на наведене вище затвердження про потенціали, така дія дозволить відповісти: оптимальний знайдений чи план ні. Якщо виявиться, що він не оптимальний, то буде виконана друга процедура методу потенціалів, що зараз обговорюється. Отже, є план ; потрібно з'ясувати, чи потенційний він, тобто чи існують числа з тими двома властивостями, які зазначені в основному затвердженні про потенціали.

Нехай X - безліч ненульових кліток обговорюваного плану; як було замічено вище, ; у тому випадку, якщо , доповнимо X нульовими клітками до безлічі із кліток, але так, щоб у результаті знову вийшла безліч нециклічне. Цей результат знову позначимо через X.

Запишемо систему рівнянь:

Тут рівнянь із m+n невідомими. Покладемо й знайдемо всі інші невідомі Перевіримо нерівності

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

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

Ця процедура замінить наявний припустимий нециклічний план на інший припустимий нециклічний план. Можна довести, що за кінцеве число повторень цієї процедури ми обов'язково прийдемо до потенційного й, отже, оптимальному плану.

Нехай і цей максимум досягається конкретно при й . Можна довести, що клітка утворить із безліччю X цикл і притім тільки один. Знайдемо його. Починаючи із клітки , здійснимо обхід цього циклу проти годинникової стрілки, позначаючи кожну чергову клітку по черзі те символом «+», те символом «-». Саму клітку позначимо символом «+», що випливає по ходу - символом «-» і т.д. Серед кліток, позначених символом «-» знайдемо ту, у якій коштує мінімальне . Нехай цей мінімум позначений буквою  і клітка із цим мінімумом має . Змінимо тепер план тільки уздовж обговорюваного циклу: у клітках, позначених символом «-», віднімемо , а в клітках, позначених символом «+», додамо . Можна довести, що знову отриманий план теж буде припустимим і нециклічним. Змінимо тепер безліч кліток X: видалимо клітку й включимо клітку . Таким чином, виконано дві дії: змінена план і побудований нову безліч X.

Отже, виник новий план і виникла нова безліч X. Повторимо для цього нового плану за допомогою цієї нової безлічі процедуру побудови потенціалів. Якщо план виявиться потенційним, то завдання вирішене; якщо ні, те повторимо процедуру зміни плану по клітках спеціально виділеного циклу й процедуру побудови нової безлічі X. Можна довести, що за кінцеве число кроків оптимальний план буде знайдений.

Зауваження. При побудові нового плану число  може виявитися рівним нулю й, отже, план чисельно не зміниться. Але зміниться множина X, і завдяки цьому формальна процедура приводить до успіху.

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