Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекція моделювання.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
1.25 Mб
Скачать

2. Метод апроксимації

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

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

Задача. П’ять приміських господарств вирощують овочі, які будуть відправлятися в п’ять овочевих магазинів міста для продажу населенню. Господарства можуть відправляти таку кількість овочів: перше – 400 т, друге – 700 т, третє – 900 т, четверте – 650 т і п’яте – 350 т.

Потреба магазинів в овочах становить: першого – 600 т, другого – 400 т, третього – 800 т, четвертого – 900 т і п’ятого – 300 т.

Відома віддаль (км) від господарств до магазинів міста (табл.22).

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

Таблиця 22 – Віддаль від господарств до магазинів (км)

Господарства

Магазини

1

2

3

4

5

Перше

5

1

8

4

6

Друге

4

4

7

5

8

Третє

2

8

1

10

3

Четверте

7

3

5

1

4

П’яте

9

2

10

7

1

Для розв’язування даної задачі методом апроксимації всю інформацію треба впорядкувати так, як цього вимагає обчислювальна процедура. Для цього складається робоча таблиця (табл. 23).

Таблиця 23 – Робоча таблиця для розв’язування задачі

Господарства

Магазини

Наявність овочів у господар-ствах

Стовб-чик різ-ниць

1

2

3

4

5

І

5

1

400

8

4

6

400

3 закін-

3 чено(3)

ІІ

4

500

4

7

5

200

8

700

0

0

1

1

ІІІ

2

100

8

1

800

10

3

900

1

1 закін-

1 чено(5)

8

IV

7

3

5

1

650

4

650

2

2 закін-

чено(2)

V

9

2

10

7

50

1

300

350

1

1

6

2

Потреба магазинів в овочах,т

600

400

800

900

300

3000

Рядок різниць

2 2

2 5

закінчено(6)

1

1

закін-чено(3)

4

закін-чено(1)

3 2

1 2

2 2

2

закін-

чено(4)

У правому верхньому кутку кожної клітки записані віддалі від господарств до магазинів.

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

Після цього визначають різниці між найкращими та наступними за ними оцінками по кожному стовпчику і рядку і записують їх у відповідні клітки стовпчика і рядка різниць. У першому стовпчику найкраща (найменша) оцінка 2 у клітці К31 і наступна за нею 4 у клітці К21. Різницю між ними 2 (4-2 = 2) записують у першу клітку рядка різниць.

У другому стовпчику = 1, 2 (2 – 1 = 1);

у третьому стовпчику = 1, 5 (5 – 1 = 4);

у четвертому стовпчику = 1, 4 (4 – 1 = 3);

у п’ятому стовпчику = 1, 3 (3 – 1 = 2).

Найкращими оцінками першого рядка є 1 (К12), 4 (К14). Різницю між ними 3 (4 – 1 = 3) записують у першу клітку стовпчика різниць. У другому рядку = 4, 4 (4 – 4 = 0);

у третьому рядку = 1, 2 (2 – 1 = 1);

у четвертому рядку = 1, 3 (3 – 1 = 2);

у п’ятому рядку = 1, 2 (2 – 1 = 1).

Після вирахування всіх різниць серед них знаходять найбільшу за абсолютною величиною. В рядку чи стовпчику, до якого відноситься ця найбільша різниця, знаходять найкращу оцінку. У клітку, в якій знаходиться найкраща оцінка, записують можливу величину розподілу з врахуванням обмежень. В задачі найбільша різниця за абсолютною величиною (4) знаходиться в третьому стовпчику. Найкращою оцінкою у цьому стовпчику є число 1 у клітці К33. В дану клітку записуємо 800, з врахуванням наявності овочів в третому господарстві (900 т) і потреби в овочах третього магазину (800 т). Оскільки потреба третього магазину в овочах задоволена, третій стовпчик вибуває з дальших розрахунків. На наступній ітерації розрахунки починають знову з визначення різниць по рядках і стовпчиках таблиці 20, але уже без врахування заповнених кліток.

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

Перший рядок = 1, 4 (4 – 1 = 3);

другий рядок = 4, 4 (4 – 4 = 0);

третій рядок = 2, 3 (3 – 2 = 1);

четвертий рядок = 1, 3 (3 – 1 = 2);

п’ятий рядок = 1, 2 (2 – 1 = 1).

На цій ітерації є дві одинакові найбільші різниці, рівні 3, які знаходяться в першій клітці стовпчика різниць і четвертій клітці рядка різниць.

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

В даному випадку в рядку і стовпчику з найбільшими однаковими різницями є однакові оцінки, рівні 1.

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

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

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

Для клітки К12 сума різниць дорівнює 4 (1 + 3 = 4). Для клітки К44 сума різниць дорівнює 5 (3 + 2 = 5). Тому вибирають клітку К44, в неї і записують величину 650, тобто ту кількість овочів, яке є наявне в четвертому господарстві.

Таким чином, четвертий рядок вибуває з розрахунків. На цьому закінчується друга ітерація.

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

Перший стовпчик = 2, 4 (4 – 2 = 2);

другий стовпчик = 1, 2 (2 – 1 = 1);

четвертий стовпчик = 4, 5 (5 – 4 = 1);

п’ятий стовпчик = 1, 3 (3 – 1 = 2).

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

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

Перший стовпчик = 2, 4 (4 – 2 = 2);

четвертий стовпчик = 5, 7 (7 – 5 = 2);

п’ятий стовпчик = 1, 3 (3 – 1 = 2).

Другий рядок = 4, 5 (5 – 4 = 1);

третій рядок = 2, 3 (3 – 2 = 1);

п’ятий рядок = 1, 7 (7 – 1 = 6).

Найбільша різниця (6) знаходиться в п’ятому рядку, тому в клітку К55 (з найкращою оцінкою даного рядка) записують 300, тобто кількість овочів, яка необхідна п’ятому магазину. П’ятий стовпчик вибуває з розрахунків.

На п’ятій ітерації знаходять різниці по рядках таблиці і результати записують в стовпчик різниць.

Другий рядок = 4, 5 (5 – 4 = 1);

третій рядок = 2 10 (10 – 2 = 8);

п’ятий рядок = 7, 9 (9 – 7 = 2).

В даному випадку є три найбільші різниці, рівні 2, в п’ятому рядку, в першому і четвертому стовпчиках. Найкраща оцінка знаходиться в клітці К31. Сюди і записують величину 100 (залишок овочів в третьому господарстві 900 – 800 = 100). Третій рядок вибуває з розрахунків.

На наступній, шостій, ітерації знаходять різниці по стовпчиках.

Перший стовпчик = 4, 9 (9 – 4 = 5);

четвертий стовпчик = 5, 7 (7 – 5 = 2).

Найбільша різниця (5) знаходиться в першому стовпчику. В клітку К21 записують 500, виходячи з наявності (700) і потреби (500) т овочів (600 – 100 = 500). Перший стовпчик вибуває з розрахунків.

Незаповненими залишилося дві клітки К24 і К54, тобто не забезпечені потреби четвертого магазину (900 – 650 = 250). В другому господарстві є ще 200 т овочів (700 – 500 = 200), а в п’ятому – 50 (350 – 300 = 50).

Тому цю необхідну кількість овочів завозять в четвертий магазин: в кліткі К24 записують 200, а в клітку К54 = 50.

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

Перевіряють результат розв’зку задачі на дотримання умов, які записані в моделі транспортної задачі.

Кількість тонно-кілометрів при такому плані перевезень становитеме: (1 х 400) + (4 х 500) + (5 х200) + (2 х 100) + (1 х 800) + (1 х 650) + (7 х 50) + (1 х 300) = 5700 т/км.

Одержаний розв’язок задачі є близьким до оптимального і може служити опорним планом для подальшого розв’язання задачі методом потенціалів.