Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лесопромышленная логистика. Пособие.doc
Скачиваний:
660
Добавлен:
29.03.2016
Размер:
2.21 Mб
Скачать

4.2. Общий алгоритм решения транспортной задачи

В настоящее время разработано несколько методов (алгоритмов) решения транспортной задачи линейного программирования. Одна группа этих методов основана на принципе последовательного улучшения плана, когда выбранный опре­деленным образом первоначальный план при помощи расчетов улучшается до тех пор, пока не станет оптимальным.

Алгоритм заключается в том, что сначала, строится какой-либо первоначальный допустимый план, затем проверяется, является ли план оптимальным, если план оптимальный — задача решена, если не оптималь­ный— отыскивается другой, но обязательно улучшенный и вновь проверяется на оптимальность. Шаги 2 и 3 повторяются до тех пор, пока очередной улучшенный план не будет оптимальным.

Среди группы методов последовательного улучшения плана можно выделить распределительный метод линейного программирования. Сущность этого метода заключается в том, что на основании известных линейных зависимостей между отдельными факторами составляются матрицы и в результате применения специальных правил подбираются опре­деленные сочетания факторов для получения оптимального решения.

4.3. Методы построения начального плана

Существует несколько методов построения начального плана, который иногда называют опорным решением. Наибо­лее распространенные из них: метод северо-западного угла, метод наименьшей стоимости, двойного предпочтения, по приоритету ближайших пунктов, способ Фогеля, способ Ле­бедева— Тихомирова и др. Рассмотрим простейшие из них.

Метод северо-западного угла, или диагональный, появил­ся одним из первых. Название он получил потому, что рас­пределение поставок (корреспонденции) начинается слева сверху (с северо-западного угла матрицы). Это формальный способ, приводящий к решению обычно далекому от оптимального, но зато простой и легко реализуемый на ЭВМ.

Решение удобно выполнять в табличной форме. Для это­го составляется рабочая таблица в которой в строке слева указываются поставщики (А1, А2, ..., Аm) и их мощности, в верхней строке указываются потребители (В1, В2, ..., Вn) и их спрос. В клетках таблицы в верхних левых углах указы­ваются единичные стоимости (С11С12 …….. Сmn), т. е. затраты на доставку единицы продукции от соответствующего поставщика Аi (i=1, 2, .... m) соответствующему потребителю Bj (j=1,2,..:,n).

Рассмотрим конкретный пример решения задачи. Три лесозаготовительных предприятия 1, A2, А3) заготовляют пи­ловочник в объемах соответственно 300, 600 и 500 тыс. м3 в год и поставляют четырем деревообрабатывающим пред­приятиям 1, В2, В3, В4). Годовой объем потребления пило­вочника деревообрабатывающими предприятиями равен 450, 400, 200 и 350 тыс. м3. Стоимость доставки сырья от ЛЗП к деревообрабатывающим предприятиям представлена матри­цей стоимостей, показанной в табл. 4.1. цифрами Сij в левых верхних углах клеток рабочей таблицы.

Таблица 4.1.

Исходные данные для решения транспортной задачи линейного программирования (рабочая таблица).

Поставщики и их мощности, тыс.куб. м.

Потребители и их спрос, тыс.куб.м.

В1

В2

В3

В4

450

400

200

350

А1

300

6

8

7

10

А2

600

4

7

6

8

А3

500

9

8

5

12

Согласно методу северо-западного угла распределение поставок от поставщиков к потребителям начинается с клет­ки А1B1 Сравниваем мощность первого поставщика А1 (300) с потребностью потребителя B1 (450). Меньшую величину (300) помещаем в клетку А1B1 и вычитаем ее из обеих срав­ниваемых величин. В итоге в остатке первой строки простав­ляется 0, а в итоге первого столбца остаток 450—300=150 (табл.4.2.). Первую строку из дальнейшего рассмотрения исключаем. Поскольку остаток оказался в первом столбце, следующую поставку назначаем в соседнюю клетку А2B1. Сравнивая итоги второй строки (600) и первого столбца (остаток 150), устанавливаем величину поставки, равную 150. Вычтя эту поставку из сравниваемых величин, в итоге первого столбца проставляем 0, а в итоге второй строки за­писываем разницу 600—150 = 450. На третьей итерации, срав­нивая потребность потребителя второго столбца B2=400 и остаток мощности второго поставщика А2 = 450, меньшее зна­чение записываем в клетку А2B2. В остатке второго столбца остается 400—400 = 0, а второй строки 450—400 = 50, что и записываем в остаток по строке в результате третьей итера­ции. Продолжая этот процесс, распределяем поставки по всей таблице. Итог распределения поставок приведен в табл. 4.2.

Таблица 4.2.