6
Если для задачи (1.1) – (1.3) выполнено условие баланса |
|
|
ai |
b j , |
(1.4) |
i |
j |
|
то транспортная задача называется закрытой.
Если условие баланса не выполняется, то задача называется открытой и приводится к закрытой введением фиктивного поставщика с мощностью
am 1 |
b j |
ai (если |
|
ai |
b j ) |
или |
фиктивного потребителя со |
j |
|
i |
|
i |
j |
|
|
спросом |
bn 1 |
ai |
|
b j |
(если |
ai |
b j ). |
|
|
i |
j |
|
i |
|
j |
Для фиктивного поставщика или потребителя Сij = 0.
Приведем необходимые для решения формулировки основных теорем транспортной задачи.
Теорема 1. (О разрешимости транспортной задачи). Транспортная задача при условии выполнения баланса всегда имеет оптимальное решение.
Система ограничений математической модели (1.1) – (1.2) имеет (m + n) уравнений и m · n неизвестных.
Доказано, что одно из уравнений является линейной комбинацией остальных, то есть является линейно зависимой и число базисных переменных системы равно (m + n -1).
Теорема 2. (О числе базисных переменных). Система ограничений транспортной задачи (1.1) – (1.3) содержит (m +n -1) линейно независимых уравнений.
Из этой теоремы следует, что невырожденный план транспортной задачи (все базисные переменные xij отличны от нуля) содержит (m + n –
1) базисных переменных, которым соответствуют занятые клетки в таблице решения.
Как и в симплексном методе при решении транспортной задачи необходимо найти первоначальный опорный план задачи. Рассмотрим на условном примере один из распространенных методов построения первоначального опорного решения (плана), учитывающих затраты на перевозки.
Метод наименьшего элемента матрицы С
Строительный песок добывается в четырех карьерах и доставляется на пять строительных площадок. Производительность карьеров за день составляет А1 – 100, А2 – 120, А3 – 80, А4 – 120 т песка. Потребность строительных площадок в песке В1 – 60, В2 – 100, В3 – 95, В4 – 125, В5 – 40 т. Затраты на добычу и доставку песка из карьеров до строительных площадок представлены матрицей
7
70 50 30 20 10
С
30 40 80 40 50
20 20 50 60 90
10 30 60 50 80
Найти оптимальную схему прикрепления строительных площадок к карьерам, при которой суммарные затраты на добычу и доставку сырья будут минимальными.
Решение. Карьеры представим поставщиками, строительные площадки
– потребителями. Проверим условие баланса
аi |
100 120 |
80 120 |
420 , |
b j |
60 100 95 |
125 40 |
420 . |
Условие баланса выполняется, следовательно, задача закрытого типа. Данные задачи представим в таблице
60 |
100 |
95 |
125 |
40 |
|
|
70 |
50 |
30 |
20 |
10 |
100 |
|
|
|
|
|
|
30 |
40 |
80 |
40 |
50 |
120 |
|
|
|
|
|
|
|
|
|
|
|
|
20 |
20 |
50 |
60 |
90 |
80 |
|
|
|
|
|
|
|
|
|
|
|
|
10 |
30 |
60 |
50 |
80 |
120 |
|
|
|
|
|
|
|
|
|
|
|
Первой в таблице заполняется клетка (i,j) с наименьшим Сij по правилу xij min ai , b j . Затем заполняются клетки в порядке возрастания Сij с
учетом предыдущих поставок. В нашем случае наименьший тариф имеют клетки (1,5) и (4,1). Выбираем любую, например (4,1), и ставим в неё
поставку |
x41 |
min 120,60 |
60 . |
Следующей заполняем клетку (1,5) |
поставкой x15 |
min 100,40 |
40 . Затем выбираем любую клетку с Сij = 20 |
||
и заносим в нее соответствующую поставку. |
||||
Например, |
x32 |
min 80,100 |
80 , |
|
|
x14 |
min 100 40,125 |
60 . |
|
Следующими заполняются клетки в порядке возрастания Сij с учетом предыдущих поставок:
|
|
|
|
|
8 |
|
|
|
|
|
|
|
x42 |
min 120 |
60,100 |
80 20; |
|
||||
|
|
x24 |
min 120,125 |
60 |
65; |
|
||||
|
|
x43 |
min 120 |
60 |
20,95 |
40; |
|
|||
|
|
x23 |
min 120 |
65,95 |
40 |
50. |
|
|||
Получим первоначальный опорный план Х1 задачи (табл. 1). |
||||||||||
План Х1 |
|
|
|
|
|
|
|
|
|
Таблица 1 |
|
60 |
100 |
95 |
|
125 |
|
40 |
ui |
||
|
70 |
50 |
|
30 |
|
|
|
20 |
10 |
|
100 |
|
|
+ |
|
- |
60 |
|
40 |
u1=0 |
|
|
60 |
20 |
-30 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
120 |
30 |
40 |
- |
80 |
|
+ |
40 |
50 |
|
|
0 |
-10 |
55 |
|
65 |
|
20 |
u2=20 |
|||
|
|
|
||||||||
|
|
|
|
|
|
|
|
|||
80 |
20 |
20 |
|
50 |
|
|
60 |
90 |
u3=-10 |
|
|
80 |
|
|
|
|
|
|
|
||
|
20 |
0 |
|
50 |
|
|
90 |
|
||
|
|
|
|
|
|
|||||
120 |
10 |
30 |
|
60 |
|
|
50 |
80 |
u4=0 |
|
60 |
20 |
40 |
|
|
|
|
|
|
||
|
|
30 |
|
|
70 |
|
||||
|
|
|
|
|
|
|
|
|||
Vj |
V1=10 |
V2=30 |
V3=60 |
|
V4=20 |
V5=10 |
|
|||
|
Для этого плана значение целевой функции |
|
|
|
|
|||||||||
z1 |
20 |
60 |
10 |
40 |
80 |
50 |
40 |
65 |
20 80 |
30 |
20 |
60 |
40 |
12800 |
Число базисных переменных задачи равно |
m |
n |
1 |
4 |
5 8 . Из этого |
|||||||||
следует, что число заполненных клеток в таблице равно 8. Для решения задачи используем один из распространенных методов решения метод
потенциалов. |
|
|
|
Этот метод основывается на следующей теореме. |
|
|
|
Теорема 3. (О потенциалах). Если план |
Х * (x |
* ) |
является |
|
|
ij |
|
оптимальным планом транспортной задачи (1.1) – (1.3), то ему соответствует система из (m + n) чисел ui* и v*j , удовлетворяющим условиям
1) |
ui* |
v*j |
Cij , если |
xij* |
0 ; |
(1.5) |
2) |
ui* |
v*j |
Cij , если |
xij* |
0 . |
(1.6) |
9
Из условия (1.6) следует, что в оптимальном плане для свободных клеток величины Еij Cij ui* v*j 0 . Числа Еij называются характеристиками свободных клеток i, j .
Экономический смысл Еij : величина характеристики свободной клетки i, j
показывает, на сколько изменится значение целевой функции Z при перемещении в клетку i, j
одной единицы груза.
Если в оптимальной плане для свободных клеток Еij = 0, то
оптимальный план не единственный. Рассмотрим алгоритм метода потенциалов.
1.Проверяем условие баланса для задачи. Если оно не выполняется, приводим задачу закрытой.
2.Находим первоначальный опорный план Х1 задачи по методу минимального элемента матрицы С, вычисляем для него Z и число
занятых клеток в таблице, которых должно быть (m + n – 1). В случае, если занятых клеток окажется меньше, чем (m + n – 1), то необходимо в свободные клетки записать нужное число поставок, но так, чтобы не замкнуть контур.
3. Для |
занятых |
клеток составляем систему уравнений из условия |
ui |
v j Cij . |
Система содержит (m + n – 1) линейно независимых |
уравнений и (m + n) неизвестных, поэтому она имеет множество решений. Одну из неизвестных задаем произвольно, например u1 0.
Остальные ui и v j |
находим, решая систему уравнений. |
||
4. Для |
свободных |
клеток |
вычисляем характеристики по формуле |
Eij |
Cij ui v j |
. Если |
все характеристики неотрицательны, то |
полученный план оптимальный. Если имеется хотя бы одна отрицательная характеристика, то переходим к лучшему опорному решению. Для этого выбираем свободную клетку с наименьшей отрицательной характеристикой и строим для нее контур.
Для контура характерно следующее:
а) контур – это замкнутая ломаная линия, звенья которой взаимно перпендикулярны;
б) все вершины контура лежат в занятых клетках кроме одной, для которой он строится;
в) число вершин в контуре четное; г) контур для каждой свободной клетки единственный;
д) контур может пересекать занятые клетки.
Помечаем знаком |
плюс свободную клетку в контуре, а далее знаки по |
|
вершинам контура |
чередуем. Определяем величину поставки, |
|
перемещаемой по контуру, из условия |
min xij (минимальная поставка в |
|
|
|
" " |
вершинах со знаком минус).
10
Затем величину θ прибавляем к поставкам в вершинах со знаком плюс и отнимаем от поставок со знаком минус. Получаем новый опорный план
Х2. |
Для |
него изменение |
целевой функции |
составит |
z1 |
Eij |
, а |
||||
z2 |
z1 |
Eij . |
|
|
|
|
|
|
|
|
|
|
Процесс решения задачи продолжается до выполнения условия |
||||||||||
оптимальности (все Eij |
0 для свободных клеток). |
|
|
|
|
||||||
|
Решим задачи по методу потенциалов, взяв за первоначальный |
||||||||||
опорный план Х1 из табл. 1 |
|
|
|
|
|
|
|
|
|||
|
В табл. 1 число занятых клеток должно быть m n |
1 |
4 5 |
1 |
8 . |
||||||
Определим потенциалы |
поставщиков |
v j . Для |
этого |
составим |
систему |
||||||
уравнений из условия ui |
v j |
Cij |
для занятых клеток. |
|
|
|
|
||||
|
|
|
|
u1 |
v4 |
20 |
|
|
|
|
|
|
|
|
|
u1 |
v5 |
10 |
|
|
|
|
|
|
|
|
|
u2 |
v3 |
80 |
|
|
|
|
|
|
|
|
|
u2 |
v4 |
40 |
|
|
|
|
|
|
|
|
|
u3 |
v2 |
80 |
|
|
|
|
|
|
|
|
|
u4 |
v1 |
10 |
|
|
|
|
|
|
|
|
|
u4 |
v2 |
30 |
|
|
|
|
|
|
|
|
|
u4 |
v3 |
60 |
|
|
|
|
|
Система уравнений содержит 8 линейно независимых уравнений и 9 неизвестных, поэтому одно из неизвестных задаем произвольно, остальные рассчитываем из системы уравнений.
Полагаем u4 0 (по наибольшему числу занятых клеток в четвертой строке). Получаем
u1 |
0, |
v1 |
10, |
|
v2 |
30, |
|||
u2 |
20, |
|||
v3 |
60, |
|||
u3 |
10, |
|||
v4 |
20, |
|||
u4 |
0. |
|||
v5 |
10. |
|||
|
|
Для свободных клеток вычисляем характеристики Еij Cij (ui v j ) и записываем их в левых нижних углах.