
- •6. Оптимізація організаційних систем на базі лінійного програмування
- •6.1 Постановка задачі. Приклади транспортних задач лп
- •6.2 Зальна задача лінійного програмування (ззлп)
- •6.3 Методи розв'язання ззлп
- •6.3.1 Метод послідовного перебору
- •6.3.2 Симплекс-метод
- •6.4 Двоїста задача лп
- •6.5Аналіз транспортних перевезень на основі прямої та двоїстої задач лп
- •За умови, що
- •При обмеженнях
- •6.6 Оптимізація транспортної інфраструктури регіону із застосуванням лп
- •6.7 Застосування еом для розв'язання задач лп
- •6.8 Особливості оптимізаційних систем цілочисельного програмування
- •6.8.1 Приклади задач цп
- •6.8.2 Методи розв'язання задач цп
- •6.9 Застосування еом для розв'язання задач цп
6.8.1 Приклади задач цп
Однією з перших задач ЦП стосовно вирішення проблем транспорту, була задача про транспортне обслуговування школярів, розглянута в дисертації французького математика Е. Юргона [9], суть якої полягає в наступному.
В невеликому містечку А є школа, де навчається деяка кількість школярів, що мешкають поза містечком. Вони мають бути доставлені кожного ранку до школи з застосуванням автобусів. Для цього організовані дві автобусні зупинки В і С, причому В знаходиться між А і С. Кількість учнів, що збираються на зупинці С, дорівнює 42, між зупинками В і С дорівнює 6, на зупинці В - 20 учнів і між В і А - 4 учні
АТП, що здійснює ці перевезення, має у своєму розпорядженні лише автобуси двох типів: на 35 місць і на 50 місць. Плата за транспортне обслуговування (ціни проїзду) залежать від відстані (ВА = 3 км; СВ = 5 км; СА = 8 км) та типу автобусу і дорівнюють відповідно (в умовних варт.од.):
Маршрут |
Автобус на 35 місць |
Автобус на 50 місць |
ВА |
39 |
50,5 |
СА |
54 |
68 |
СВ |
45 |
57,5 |
При цьому ціни не є пропорційними відстаням, що обумовлено постійними транспортними витратами (амортизація автобусів), що значно перевищує тарифи на перевезення.
Необхідно визначити, якого типу автобуси слід застосовувати на кожному з відрізків перевезень, щоб загальні транспортні витрати на перевезення, що здійснюються школою з бюджету, були мінімальні. Введемо наступні позначення кількості автобусів:
Маршрут |
Автобус на 35 місць |
Автобус на 50 місць |
ВА |
X |
х' |
СА |
У |
У' |
СВ |
Z |
z' |
З урахуванням прийнятих позначень задача оптимізації буде наступною:
мінімізувати
(6.66)
при обмеженнях:
(6.67)
Всі змінні мають бути цілими числами.
Згідно з (6.67) автобуси кожного з відрізків мають забрати як чекаючих на них учнів, так і тих, хто сяде по дорозі.
Стандартне рішення (при ігноруванні умови цілочисельності) є наступним:
x
= 0; y
= 0; z
= 0;
;
;
.
З урахуванням умов цілочисельності:
x
= 1; y
= 0; z
= 0;
;
;
Тобто механічне округлення не дає оптимального результату. Зауважимо також, що як в першому, так і в другому з розглянутих прикладів (як в задачі максимізації, так і в задачі мінімізації), урахування цілочисельності завжди погіршує результат оптимізації (значення Lo).
Іншим прикладом задачі ЦП є задача про призначення транспортних засобів (ТЗ) для виконання тих або інших видів перевезень. Обмежимось лише формулюванням цієї задачі як задачі ЦП.
Нехай є п транспортних засобів хi( (і = 1,п), що мають бути призначені для виконання п перевезень уj, (j = l,n). При цьому відома вартість виконання j - го перевезення і - м ТЗ, тобто сіj>0 (і=1,n, j = 1,n). Деякі з с^ можуть призначатися дуже великими, що означає, що призначення і - го ТЗ для j - го перевезення неможливо (наприклад з міркувань вантажопід'ємності або габаритосмності також). Необхідно так призначити хi, по yj, щоб кожен ТЗi, мав лише один вид перевезень, а мінімальні витрати на реалізацію всіх перевезень були мінімальні. Саме ці вимоги відображаються наступною моделлю:
(6.68)
при
(6.69)
Останнє співвідношення показує, що не одна зі змінних xij не може мати значення, що відрізняються від 0 або 1. Тоді розподіл ТЗi, по видах перевезень yi є матриця, що містить в кожній колонці і рядку лише одну одиницю. Ця одиниця (хij=1) і означатиме призначення ТЗ, для виконання перевезення уі; що автоматично забезпечує перше і друге обмеження системи (6.69)
Дещо схожою з попередньою задачею з формальної постановки є задача комівояжера, що може буди сформульована наступним чином (ця задача була сформульована А.Такером в 1960 році).
Є (n
+ 1) міст і задана матриця відстаней між
ними С =
.
Від'їжджаючи
з початкового міста Ао,
комівояжер мусить заїхати в решту міст
лише по одному разу і повернутися в Ао.
Транзит через місто, що він відвідував
вже раніше, заборонено. Необхідно
визначити маршрут його пересування,
щоб загальна довжина маршруту була
мінімальною. Очевидно,
що в цій задачі цільова функція залишається
у вигляді (6.68), де xij
= 1, якщо переїзд здійснюється з Аi,
в
Аj
і
хij
= 0
в інших випадках, що
автоматично
забезпечується першими двома обмеженнями
системи (6.69). Але
останнє обмеження системи (6.69) змінюється
і матиме наступний вигляд:
(6.70)
Якщо
не розглядати цю вимогу, а тільки дві
перші вимоги системи (3.6),
то в цьому випадку забезпечується лише
одне відвідування кожного з
n
міст. З урахуванням (6.70) забезпечується
також його повернення обов'язково
в місто A0.
Дійсно, нехай ui,
=р, якщо комівояжер відвідує місто
Аi,
на р - му етапі маршруту. Звідси слідує,
що
для всіх
"і" і "j",
таким чином, нерівність (6.70) задовольняється
для хij
=0. При
xij
= 1 умова (6.70) виконується як точна рівність
.
Таким чином (6.70) забезпечує останню
гілку маршруту в Ао
після відвідування усіх п міст.