Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шепеленко О.Математическое програмирование.Уч.п....doc
Скачиваний:
38
Добавлен:
10.11.2018
Размер:
3.28 Mб
Скачать

2.6. Транспортная задача. Метод потенциалов

Транспортная задача принадлежит к специальному классу распределительных ЗЛП. Пусть нужно перевезти однородный груз из m пунктов отправления Аi в n пунктов назначения Bj. Известно количество груза ai (запасы), находящееся у i-го поставщика (постоянно), а также объемы потребностей в нем bj (заявки) j-го потребителя. Известны также затраты на перевозку единицы груза от i-го поставщика к j-му потребителю – тариф – сij. Тарифы записывают в верхнем левом углу каждой клетки таблицы. Необходимо распределить груз таким образом, чтобы затраты на его перевозку были минимальными.

Из условий задачи получим следующую модель линейного программирования:

(2.6.1)

(2.6.2)

(2.6.3)

(2.6.4)

Система ограничений (2.6.1) говорит о том, что груз из каждого пункта отправления должен быть вывезен. Система ограничений (2.6.2) говорит о том, что потребность в грузе в каждом пункте назначения должна быть удовлетворена. Система ограничений (2.6.3) говорит о том, что по любому маршруту либо перевозится некоторое количество груза, либо нет. Целевая функция (2.6.4) минимизирует совокупные транспортные затраты на перевозку всех партий грузов из всех пунктов отправления во все пункты назначения.

Транспортная задача называется закрытой (сбалансированной), если суммарное наличие груза совпадает с суммарной потребностью (имеется баланс между спросом и предложением), т.е. выполняется равенство

.

В случае отсутствия баланса между спросом и предложением транспортная задача называется открытой.

Решение задач с открытой моделью сводится к решению задач с закрытой моделью.

Опорным планом транспортной задачи называется неотрицательное решение системы ограничений (2.5.1)-(2.5.3), который записывают в виде матрицы .

Оптимальным планом транспортной задачи называется опорный план транспортной задачи, при котором целевая функция (2.5.4) достигает минимального значения.

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

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

Алгоритм метода потенциалов состоит из следующих этапов:

  1. Определение типа транспортной задачи (открытая или закрытая).

  2. Построение первого опорного плана транспортной задачи .

  3. Проверка плана транспортной задачи на оптимальность.

  4. Если условие оптимальности выполняется, то имеем оптимальный план транспортной задачи. Если условие оптимальности не выполняется, необходимо перейти к следующему опорному плану.

  5. Проверка нового плана транспортной задачи на оптимальность, т.е. повторение 3 и т.д.

Для построения начального опорного плана транспортной задачи используется несколько методов.

- метод северо-западного угла

Заполнение клеток таблицы начинается с верхней левой клетки. Размер поставки в эту клетку определяется меньшей из величин (a1, b1). Отсюда будет определена величина недопоставки продукции первому потребителю или остаток продукции у первого поставщика. В зависимости от этого заполняется клетка справа (A1, B2) или снизу (A2, B1), для которой сравнивается остаток продукции поставщика с величиной b2 или недопоставки с величиной a2. Каждый раз при сравнении в соответствующую клетку заносится меньшая из двух величин. Процесс распределения продолжается до тех пор, пока не будет распределена продукция всех поставщиков и удовлетворенны потребности всех потребителей.

- метод минимального элемента

Вначале заполняют те клетки таблицы, в которых стоимости перевозок самые малые. Такие действия повторяют до тех пор пока не будет распределен весь груз между пунктами назначения.

- метод двойного предпочтения

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

- метод Фогеля

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

После построения начального опорного плана транспортной задачи одним из рассмотренных методов в таблице число заполненных клеток должно быть равно т + п – 1.

Опорный план называется невырожденным, если число заполненных клеток равно т + п – 1. В случае если заполненных клеток меньше, опорный план называется вырожденным.

Замечание.

  • Если число заполненных клеток больше т + п – 1, начальный план построен неправильно и он не является опорным.

  • Заполненных клеток должно быть ровно т + п – 1. Если заполненных клеток меньше, чем т + п – 1, то недостающие нужно заполнить нулями. Нулей берут столько, сколько не достает поставок. Их записывают в клетки с наименьшими тарифами, при этом нельзя допускать образования замкнутого цикла (ломаной линии с прямыми углами, в углах которого содержатся заполненные клетки).

Для проверки опорного плана на оптимальность используют метод потенциалов, суть которого состоит в следующем.

Каждой строке таблицы поставим в соответствие потенциал ui, каждому столбцу – потенциал vj. Потенциал u1 всегда берем равным нулю, т.е. u1 = 0. Сумма потенциалов для заполненной клетки (Ai, Bj) должна быть равной тарифу cij:

ui + vj = cij . (3.4.1)

Потенциалы ui записываем в столбце справа от таблицы, потенциалы vj записываем в строке внизу таблицы.

Для незаполненных клеток рассчитываем оценки оптимальности как сумму потенциалов минус тариф по формуле (3.4.2):

= ui + vj cij . (3.4.2)

Оценки оптимальности записываем в скобках в левом нижнем углу каждой незаполненной клетки таблицы. Если значение < 0, то записываем (–).