Существует много методов построения предварительного плана перевозок: диагональный, северо-западного угла, наименьшей стоимости и др.
Однако количество приближений к оптимальному плану будет значительно меньше, если для принятия предварительного плана воспользоваться методом двойного предпочтения.
Идея этого метода состоит в выборе по матрице стоимости клеток с минимальными значениями и в последующем назначении перевозок по маршрутам, определяемым выбранными клетками. В каждой строке (столбце) найдем клетку со стоимостью, отвечающей условию
Ckj = , (1.29)
и отметим ее.
Далее проведем такой же выбор по столбцам (строкам):
Cik = . (1.30)
В результате все клетки матрицы стоимости разделяются на три категории: клетки с двумя отметками, с одной отметкой и без отметок.
После этого составим предварительный (опорный) план перевозок, пользуясь следующим правилом:
Основной поток перевозок направляется по маршрутам, определяемым клетками матрицы с двумя отметками; затем используются маршруты, определяемые клетками с одной отметкой.
|
|
Если с помощью этих маршрутов не удается выполнить условия (1.26), (1.27), то назначаются маршруты, определяемые клетками матрицы без отметок. Клетки матрицы, в которых есть назначения r, будем называть занятыми (загруженными). Заметим, что число занятых клеток, т.е. назначений, должно быть r=m+n-1.
Рассмотрим это высказывание. Действительно, число уравнений в условиях (1.25), (1.26) равно m+n. Выразим каждую строку условия (1.25), кроме первой, относительно неизвестного xi 1 , стоящего в первом столбце матрицы перевозок:
xi 1 = ai - xi 2 - … -xin, i = 2, m. (1.31)
Аналогично каждый столбец, кроме первого из (1.26), разрешим относительно неизвестного x 1 j, стоящего в первой строке матрицы перевозок: x 1 j = bj - x 2 j - … -xmj, j = 2, n. (1.32)
Остается два уравнения:
x 11 + x 12 + … + x 1 n = a 1 - из первой строки;
x 11 + x 21 + … + xm 1= b 1 - из первого столбца.
Выразим из этих уравнений переменную x 11 , получим
x 11 = a 1 - x 21 - … - x1 n; (1.33)
x 11 = b 1 - x 21 - … -xm 1. (1.34)
Если вместо неизвестных, входящих в правые части (1.33) и (1.34), подставим их выражения из (1.31) и (1.32), тогда получим:
x 11 = a 1 -(b 2 - x 22 - … -xm 2 ) - … - (bn - x 2 n - … -xmn)=
= a 1 - b 2 - … bn - (j=2); (1.35)
x 11 = b 1 -(a 2 - x 22 - … -x 2 n ) - … - (am - xm 2 - … -xmn)=
= b 1 - a 2 - … am - (i=2). (1.36)