Определение опорного плана ТЗЛП
.docОпределение опорного плана ТЗЛП
Как и в симплекс методе, решение задачи транспортной задачи линейного программирования осуществляется в 2 этапа:
1) Построение первоначального опорного плана ТЗ.
2) Его улучшение.
При построении начального опорного плана на каждом шаге в таблице заполняют одну клетку, которую называют занятой. При заполнении клетки либо полностью обеспечивается потребность в грузе у одного из потребителей (в этом случае столбец, содержащий занятую клетку, исключается из дальнейшего рассмотрения), либо полностью обеспечивается вывоз груза от одного из поставщиков (исключается строка). Всего при построении опорного плана выполняется (m + n – 1) шаг.
Рассмотрим 2 метода определения ОП ТЗ.
Метод северо-западного угла
Заполнение клеток
начинается с левой верхней клетки
таблицы («северо-западный угол») и
заканчивается заполнением клетки
(
правой нижней ).
Пример:
C=180*5+10*4+190*7+10*4+140*6+20*8+100*5=3810
Пункты отправления |
Пункты назначения |
|
|||
B1 |
B2 |
B3 |
B4 |
||
A1 |
5 |
4 |
3 |
2 |
10 |
180 |
10 |
|
|
190 |
|
A2 |
4 |
7 |
4 |
4 |
10 |
|
190 |
10 |
|
200 |
|
A3 |
3 |
5 |
6 |
8 |
20 |
|
|
140 |
20 |
160 |
|
A4 |
4 |
3 |
7 |
5 |
|
|
|
|
100 |
100 |
|
Потребности |
180 |
200 |
150 |
120 |
|
Замечание: Если
на каждом шаге определяется перевозка
,
а при этом
,
то
,
вычеркивается либо строка k, либо столбец
l, а в следующую заполняемую клетку
помещается нулевая перевозка, и эта
клетка считается занятой. При этом
нулевая перевозка помещается в ту из
соседних клеток, которой соответствует
минимальный тариф.
Метод северо-западного угла обеспечивает построение опорных планов, которые часто оказываются далекими от оптимальных. Более близкие к оптимальным планы можно получить с помощью метода минимального элемента.
Метод минимального элемента
На каждом шаге выбирается для заполнения клетка, имеющая минимальный тариф. Если таких клеток несколько, то выбирается любая из них.
Рассматриваются пункты отправления и назначения, соответствующие выбранной клетке, и в ней записывается максимально возможная перевозка. Затем из рассмотрения исключают либо строку, соответствующую пункту отправления, запасы которого полностью израсходованы, либо столбец, соответствующий потребителю, потребности которого полностью удовлетворены.
Пример:
C=70*3+120*2+20*4+100*7+80*4+160*3+100*3=2330
Пункты отправления |
Пункты назначения |
|
|||
B1 |
B2 |
B3 |
B4 |
||
A1 |
5 |
4 |
(4 шаг) 3 |
(1 шаг) 2 |
190 |
180 |
10 |
|
|
||
A2 |
(5 шаг) 4 |
(7 шаг) 7 |
(6 шаг) 4 |
4 |
200 |
|
190 |
10 |
|
||
A3 |
(2 шаг) 3 |
5 |
6 |
8 |
160 |
|
|
140 |
20 |
||
A4 |
4 |
(3 шаг) 3 |
7 |
5 |
100 |
|
|
|
100 |
||
Потребности |
180 |
200 |
150 |
120 |
|
Метод потенциалов получения опорного плана транспортной задачи
Рассмотрим транспортную задачу и запишем к ней двойственную. Для этого каждому ограничению прямой задачи поставим в соответствие двойственную переменную. При этом двойственные переменные, соответствующие ограничениям (1), обозначим через ui, а соответствующие (2) - vj. Тогда
Числа ui и vj называют потенциалами соответственно пунктов отправления и назначения. Для того, чтобы план исходной задачи был оптимален, необходимо:
1).
(т. е. для занятых клеток таблицы сумма
потенциалов равна тарифу, записанному
в этой клетке).
2).
,
,
т.е. для свободной клетки сумма потенциалов
меньше или равна тарифу.
Если хоть одна свободная клетка не удовлетворяет условию (2), то план является неоптимальным, и его можно улучшить, вводя в базис клетку, для которой нарушено условие оптимальности.
Алгоритм метода потенциалов:
1). Построение первичного опорного плана.
2). Определение потенциалов пунктов отправления (ui) и пунктов назначения (vj).
Потенциалы находят из системы уравнений ui + vj = Cij, где Cij - тарифы, стоящие в заполняемых клетках таблицы. Число переменных в этой системе равно m + n, число уравнений (m + n – 1). Для нахождения решения системы один из потенциалов приравнивается произвольному числу (например, u1=0) и последовательно находятся значения всех остальных потенциалов.
3). Проверка оптимальности плана.
Проверяем условия
(2):
.
Вычисляем
- оценки свободных переменных для
оптимального базиса. Если все
,
то получаемый план является оптимальным,
иначе - к шагу 4.
4). Выбор переменной для включения в базис (выбор клетки, в которую необходимо послать переменную).
.
Если таких клеток несколько, то для
заполнения выбирается клетка, имеющая
минимальный тариф.
5). Построение цикла пересчета для выбранной свободной клетки i0 j0.
Циклом в таблице условий ТЗ называется ломаная линия, которая начинается в свободной клетке, и вершины которой (кроме начальной) расположены в занятых клетках, а звенья параллельны строкам и столбцам. При правильном построении опорного плана для каждой свободной клетки таблицы можно построить только один цикл.
После построения цикла его вершины последовательно отмечаются знаками “+” и “-”, причем свободной клетке приписывается знак “+”.
6). Определение величины перераспределения груза.
,
где xij
- перевозки, стоящие в вершинах цикла,
отмеченных знаком “-”. Клетку, которой
соответствует d, обозначим через i1
j1.
7). Сдвиг по циклу пересчета (перераспределение грузов).
В выбранную для заполнения свободную клетку (i0,j0) заносится значение d. Одновременно это число прибавляется к значениям перевозок, стоящих в клетках со знаком “+”, и вычитается из значений перевозок, стоящих в клетках со знаком “–”. Т.о. клетка (i0, j0) становится занятой, а i1 j1 - свободной.
Замечание: при сдвиге по циклу пересчета число занятых клеток остается const = n + m – 1. Если d соответствует нескольким клеткам таблицы, то освобождают одну из них, а в остальные записываются нулевые перевозки и считают их занятыми. Нулевые перевозки записываются и в клетки, которые имеют меньшие тарифы.
8). Переход к шагу 2.
Замечание: если при построении двойственной задачи, одну двойственную переменную обозначают через ui, а другую через vj, то условие оптимальности:
Пример:
|
|
|
|||
B1 |
B2 |
B3 |
B4 |
||
|
5 |
+ 4 |
– 3 |
2 |
190 |
|
|
70 |
|
||
A2 |
4 |
– 7 |
+ 4 |
4 |
200 |
20 |
100 |
80 |
|
||
A3 |
3 |
5 |
6 |
8 |
160 |
160 |
|
|
|
||
A4 |
4 |
3 |
7 |
5 |
100 |
|
100 |
|
|
||
|
180 |
200 |
150 |
120 |
|
- занят.
|
|
|
|||
B1 |
B2 |
B3 |
B4 |
||
|
5 |
+ 4 |
3 |
– 2 |
190 |
|
70 |
|
120 |
||
A2 |
4 |
– 7 |
4 |
+ 4 |
200 |
20 |
30 |
150 |
|
||
A3 |
3 |
5 |
6 |
8 |
160 |
160 |
|
|
|
||
A4 |
4 |
3 |
7 |
5 |
100 |
|
100 |
|
|
||
|
180 |
200 |
150 |
120 |
|
|
|
|
|||
B1 |
B2 |
B3 |
B4 |
||
A1 |
5 |
4 |
3 |
2 |
190 |
|
100 |
|
90 |
||
A2 |
4 |
7 |
4 |
4 |
200 |
20 |
|
150 |
30 |
||
A3 |
3 |
5 |
6 |
8 |
160 |
160 |
|
|
|
||
A4 |
4 |
3 |
7 |
5 |
100 |
|
100 |
|
|
||
|
180 |
200 |
150 |
120 |
|
Пересчитав u, v и
,
получим, что это оптимальный план (
<0).
Общая стоимость перевозок равна 2160.

A1
A1