
- •Тема 1.Транспортна задача лінійного проґрамування.
- •1.Математична та змістовна постановка транспортної задачі
- •Закрита транспортна задача завжди має припустимий розв’язок.
- •2. Ранґ матриці системи обмежень-рівностей закритої невиродженої транспортної задачі .
- •2.Методи знаходженння початкового (опорного) плану транспортної задачі
- •3.Метод потенціалів для знаходження оптимального розв’язку транспортної задачі
- •4.Розв’язування транспортних задач з ускладненнями в постановці
- •5.Інтерпретація методу потенціалів як симплекс-методу.
- •6.Транспортна модель з проміжними пунктами
- •7.Метод диференційних рент.
- •8.Задача про призначення
7.Метод диференційних рент.
Для уникнення незручностей, які виникають в методі потенціалів і пов’язані з виродженістю, застосовується метод диференційних рент.
Алгоритм методу диференційних рент складається з двох кроків:
початковий розподіл частини продукту між пунктами призначення найкращим чином (побудова умовно оптимального розподілу);
зменшення на наступних кроках величини нерозподілених поставок, щоб прийти до оптимального плану перевезень.
Алґоритм методу диференційних рент.
Крок 1. В кожному стовпчику транспортної таблиці знаходимо мінімальний тариф. Знайдені тарифи позначаємо колами, що їх оточують, і заповнюємо відповідні клітинки — записуємо максимально можливі перевезення. Таким чином отримуємо розподіл, що в загальному може не задовільняти обмеженням транспортної задачі. Якщо розподіл задовольняє обмеженням задачі, то він оптимальний — стоп.
Крок 2. Скорочуємо нерозподілені поставки продукту так, щоб при цьому загальна вартість перевезень залишалась мінімальною:
визначаємо надлишкові та недостатні рядки — рядок є недостатнім (від’ємним), якщо запаси відповідного пункту зберігання розподілені повністю, а потреби не задоволені; рядок є надлишковим (додатнім), якщо потреби задоволені, і залишився продукт у відповідному пункті зберігання; Для уникнення неоднозначностей у визначенні знаку рядка, в якого нерозподілений залишок рівний 0, необхідно користатися наступним правилом: рядок вважається додатнім за умови, що друга заповнена клітинка, яка знаходиться в стовпчику, що зв’язаний з таким рядком однією заповненою клітинкою, розташована в додатньому рядку.
для кожного стовпчика знаходимо різницю між тарифом у колі та найближчим до нього тарифом, який записаний в надлишковому рядку. Якщо тариф в колі знаходиться в позитивному (надлишковому) рядку, то різницю не визначаємо; серед різниць знаходимо найменшу — проміжну ренту;
переходимо до нової таблиці — додаємо до відповідних тарифів, які знаходяться у від’ємних (недостатніх) рядках, проміжну ренту. Інші елементи не змінюємо.
Всі клітинки нової таблиці вважаємо вільними. Заповнюємо клітинки нової таблиці — до заповнення тепер буде на одну клітинку більше. Ця додаткова клітинка знаходиться в стовпчику, в якому записана проміжна рента. Всі інші клітинки знаходяться по одній в кожному зі стовпчиків і в них записані найменші числа в колах для кожного стовпчика. Так само в колах є два однакові числа, що знаходяться в стовпчику, в якому в попередній таблиці була записана проміжна рента.
Оскільки в новій таблиці число клітинок, що заповнюються, є більшим, ніж число стовпчиків, при заповненні клітинок користуємося наступним правилом. Обираємо деякий стовпчик (рядок), в якому наявна одна клітинка з колом. Цю клітинку заповнюємо і виключаємо з розгляду даний стовпчик (рядок). Продовжуючи цю процедуру, заповнюємо всі клітинки з колами. Якщо план допустимий, то він оптимальний — стоп , в іншому випадку переходимо до кроку 2.
Оскільки метод диференційних рент має простішу логічну структуру, ніж метод потенціалів, він і використовується частіше для програмних реалізацій.
Приклад.
|
|
B1 |
|
B2 |
|
B3 |
|
B4 |
|
|
A1 |
6 |
|
7 |
|
|
|
5 |
|
100 |
|
|
|
|
|
|
|
60 |
|
|
|
+40 |
A2 |
|
|
|
|
5 |
|
6 |
|
150 |
|
|
|
75 |
|
75 |
|
|
|
|
|
-5 |
A3 |
8 |
|
10 |
|
20 |
|
|
|
50 |
|
|
|
|
|
|
|
|
|
50 |
|
-35 |
|
|
75 |
|
80 |
|
60 |
|
85 |
|
|
|
5 |
|
5 |
|
— |
|
4 |
|
|
|
4 є проміжною рентою.
6 |
|
7 |
|
|
|
|
|
100 |
|
|
|
|
|
|
60 |
|
35 |
|
+5 |
|
|
|
|
9 |
|
6 |
|
150 |
|
|
75 |
|
75 |
|
|
|
|
|
-5 |
12 |
|
10 |
|
24 |
|
|
|
50 |
|
|
|
|
|
|
|
|
50 |
|
+0 |
|
75 |
|
80 |
|
60 |
|
85 |
|
|
1 |
|
1 |
|
— |
|
— |
|
|
|
|
|
|
|
|
|
|
|
100 |
|
|
|
|
5 |
|
60 |
|
35 |
|
0 |
|
|
|
|
10 |
|
11 |
|
150 |
|
|
75 |
|
75 |
|
|
|
|
|
0 |
12 |
|
14 |
|
24 |
|
|
|
50 |
|
|
|
|
|
|
|
|
50 |
|
0 |
|
75 |
|
80 |
|
60 |
|
85 |
|
|
6 |
|
7 |
|
7 |
|
6 |
|
|
|