Розглянемо транспортну задачу (1.1-1.4). Позначимо змінні двоїстої задачі, які відповідають рівнянням (1.2), через
Для побудови двоїстої задачі поставимо у відповідність обмеженням початкової задачі змінні двоїстої:
Згідно з загальними правилами побудови двоїстих задач маємо:
за умов
Змінні
Для того, щоб плани відповідних спряжених задач були оптимальними, необхідно і достатньо, щоб виконувалися умови доповнюючої нежорсткості:
1)
2)
Друга група умов для транспортної задачі виконується автоматично, оскільки всі обмеження задачі є рівняннями.
Перша умова виконується у двох випадках:
а) якщо
б) якщо
Необхідність і достатність виконання таких умов для оптимальності планів прямої та двоїстої задач було доведено раніше. Отже, як наслідок другої теореми двоїстості для транспортної задачі отримали необхідні та достатні умови оптимальності плану.
Теорема (умова оптимальності опорного плану транспортної задачі). Якщо для деякого опорного
1)
2)
для всіх
Використовуючи наведені умови існування розв'язку транспортної задачі, методи побудови опорних планів та умову оптимальності опорного плану транспортної задачі, сформулюємо алгоритм методу потенціалів, який по суті повторює кроки алгоритму симплексного методу.
Алгоритм методу потенціалів складається з таких етапів:
1. Визначення типу транспортної задачі (відкрита чи закрита). За необхідності слід звести задачу до закритого типу.
2. Побудова першого опорного плану транспортної задачі одним з відомих методів.
3. Перевірка опорного плану задачі на виродженість. За необхідності вводять нульові постачання.
4. Перевірка плану транспортної задачі на оптимальність.
4.1.Визначення потенціалів для кожного рядка і стовпчика таблиці транспортної задачі. Потенціали опорного плану визначають із системи рівнянь
4.2.Перевірка виконання умови оптимальності для пустих клітин. За допомогою розрахованих потенціалів перевіряють умову оптимальності
4.3.Вибір змінної для введення в базис на наступному кроці. Загальне правило переходу від одного опорного плану до іншого полягає в тому, що з попереднього базису виводять певну змінну (вектор), а на її місце вводять іншу змінну (вектор), яка має покращити значення цільової функції. Аналогічна операція здійснюється і в алгоритмі методу потенціалів.
Перехід від одного опорного плану до іншого виконують заповненням клітинки, для якої порушено умову оптимальності. Якщо таких клітинок кілька, то для заповнення вибирають таку, що має найбільше порушення, тобто
4.4 Побудова циклу і перехід до наступного опорного плану. Вибрана порожня клітина разом з іншими заповненими становить
Внаслідок наведеного правила вибору
Доведемо ациклічність нового плану. Вектор умов, який відповідає приєднаній клітині, є лінійною комбінацією векторів базису, які утворюють разом з ним цикл, бо ці вектори входять у згадану комбінацію з відмінними від нуля коефіцієнтами. Виключення з циклу одного з базисних векторів приводить до нової системи з
Отже, клітинка, що була вільною, стає заповненою, а відповідна клітинка з мінімальною величиною
5. Перевірка умови оптимальності наступного опорного плану. Якщо умова оптимальності виконується - маємо оптимальний план задачі, інакше необхідно перейти до наступного опорного плану (тобто повернутися до пункту 3 даного алгоритму).
Зауважимо, що аналогічно з розв'язуванням загальної задачі лінійного програмування симплексним методом, якщо за перевірки оптимального плану транспортної задачі для деяких клітин виконується рівність