Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Системолог_08.06.11.doc
Скачиваний:
13
Добавлен:
23.11.2019
Размер:
8.78 Mб
Скачать

10.6. Транспортна задача

10.6.1. Постановка задачі

Деякий однорідний продукт, скупчений у постачальників в кількості одиниць, потрібно доставити споживачам в кількості одиниць. Відома вартість перевозки одиниці вантажа від і-го постачальника до j-го споживача.

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

Поставлену задачу можна представити такою таблицею:

Представимо модель такої задачі.

Цільова функція:

[10.5]

Система обмежень випливає із умови:

  1. всі вантажі повинні бути вивезені: [10.6]

  2. всі потреби повинні бути забезпечені: ; [10.7]

  3. перевозки повинні бути реальними .

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

Розглянемо систему обмежень [10.6] та [10.7]. Вона має рівнянь та невідомих. Якщо почленно скласти [10.6] та [10.7], то одержимо два однакових рівняння. Це вказує на те, що система обмежень лінійно залежна. Щоб з неї одержати лінійно незалежну систему, потрібно відкинути одне рівняння. Тому невироджений опорний план транспортної задачі має додатніх перевозок. Тобто в матриці плану повинно бути клітинок, що зайняті перевозками.

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

Розглянемо ряд простих методів побудови первісного опорного плану.

10.6.2. Метод північно-західного кута

Не звертаючи уваги на вартість перевозок, починають задовольнять потреби за рахунок . Клітинку заповнюють величиною . Остачу переносять в клітинку , якщо або в , якщо . Процес продовжуємо допоки всі рядки і стовпці не будуть заповненими. Покажемо метод на прикладі такої задачі:

В таблиці заповнено 8 клітинок. Отже, план не вироджений.

Так як в процесі вартості перевозок не враховувались, то зрозуміло, що план далекий від оптимального:

10.6.3. Метод найменшої вартості

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

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

.

Як бачимо, план ближчий до оптимального.

10.6.4. Метод подвійної переваги

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

.