Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Жолобов Ввведение в Математическое 2008

.pdf
Скачиваний:
294
Добавлен:
16.08.2013
Размер:
2.42 Mб
Скачать

xij min{ai ,bj }.

2. Ранг матрицы системы ограничений-уравнений r=m+n-1.

Ниже приведена матрица, составленная из коэффициентов левой части системы ограничений.

x11x12…x1nx21x22……x2n…………xm1xm2…xmn

0

-1

1

1……1 0 0……0 …………0 0 …

0

0……0 1 1……1 …………0 0 …

0

-2

……………………….…………………

1

-m

0

0……0 0

0……0 …………1 1 …

1

0……0 1

0……0 …………1 0 …

0

-1

0

1……0 0

1……0 …………0 1 …

0

-2

……………………….…………………

1

-n

0

0……1 0

0……1 …………0 0 …

Любая строка этой матрицы линейно выражается через остальные строки, значит r < m+n.

Любые m+n+1 строки линейно-независимы. Можно показать, что при использовании метода Жордана-Гаусса левая и правая части одного уравнения обатятся в нуль.

3.Каждый вектор-столбец этой матрицы имеет точно две единичные координаты. Остальные координаты – нулевые.

4.Если все запасы и все потребности транспортной задачи выражены целыми числами, то задача имеет оптимальное целочисленное решение.

Транспортная задача – это задача ЛП. Как и в случае сим- плекс-метода, ее решение всегда начинается с некоторого опорного решения (опорного плана).

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

Запишем в таблицу условия задачи (рис.2.5).

231

 

1

 

j

 

n

Запасы

1

c11

 

c1j

 

c1n

a1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

ci1

 

cij

 

cin

ai

 

 

 

 

 

 

 

 

 

 

 

 

 

 

m

cm1

 

cmj

 

cmn

am

 

 

 

 

 

 

 

По-

b1

 

bj

 

bn

d=

требно-

 

 

 

 

 

 

сти

 

 

 

 

 

 

 

 

Рис.2.5. Транспортная таблица

 

Сразу следует обратить внимание на компактность этой таблицы по сравнению с обычной симплекс-таблицей. (Здесь m n

элементов, там – (m+n) m n.)

Клетки этой таблицы будем последовательно заполнять координатами строящегося опорного решения: x11, x12 ,..., xmn .

При этом, координату xij будем записывать в соответствующую клетку только в том случае, если xij базисная переменная.

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

Если базисная переменная в решении принимает нулевое значение (вырожденное решение), соответствующую клетку все равно будем считать занятой и записывать в нее «0».

Теперь рассмотрим 4 метода построения допустимого решения транспортной задачи. Эти методы объединяет общая идея.

Шаг 1. Поиск пары i и j.

Шаг 2. Заполнение клетки (i j) значением min{ai,bj} – максимально возможная нагрузка соответствующего маршрута.

Шаг 3. Вычеркивание пункта производства, исчерпавшего свои возможности или пункта потребления, потребности которого удовлетворены полностью.

232

Шаг 4. Повторение шага 1 (до тех пор, пока все возможности будут исчерпаны, а все потребности – удовлетворены).

2.2.5. Метод северо-западного угла

Шаг 1. Принимаем i=j=1.

Шаг 2. Если bj > ai, то xij = ai. Корректируем потребность j-го пункта потребления:

bj = bj - ai,

вычеркиваем i-ю строку (возможность i-го пункта производства исчерпана). Формально i = i+1. Переходим к шагу 5.

Шаг 3. Если bj < ai, то xij = bj . Корректируем возможность (запас) i-го пункта производства:

ai = ai - bj ,

вычеркиваем j-й столбец (потребность j-го пункта потребления удовлетворена полностью). Формально j = j+1. Переходим к шагу 5.

Шаг 4. Если bj = ai (баланс), то принимаем xij = bj= ai. Затем вычеркиваем либо строку (i = i+1), либо столбец ( j = j+1). При этом

оставляем либо пункт потребления j с нулевой потребностью (bj = 0) , либо пункт производства i с нулевым запасом (ai = 0). Переходим к шагу 5.

Шаг 5. Если i = m (осталась не вычеркнутой одна последняя строка), то:

xmj= bj , xmj+1= bj+1,…, xmn= bn . Конец.

Шаг 6. Если j = n (остался не вычеркнутым один последний столбец), то:

xin= ai , xi+1,n= ai+1,…, xmn= am . Конец.

В противном случае ( i m и j n ) переходим к шагу 217.

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

233

Пример 2.4

 

 

 

 

Табл.1

 

 

 

 

 

 

Табл.2

 

 

1

2

3

 

4

 

 

 

 

1

2

3

4

 

 

1

30

 

 

 

 

 

50

20

1

30

20

 

 

20

0

2

 

 

 

 

 

 

40

 

2

 

 

 

 

40

 

3

 

 

 

 

 

 

60

 

3

 

 

 

 

60

 

 

30

20

50

50

 

 

30

20

50

50

 

 

 

 

Табл.3

 

 

 

 

Табл.4

 

1

2

3

4

 

 

1

2

3

4

1

30

20

0

 

0

1

30

20

0

0

2

 

 

 

 

40

2

 

 

40

40

3

 

 

 

 

60

3

 

 

 

60

 

30

20

50

50

 

 

30

20

50

50

 

 

 

 

Табл.5

 

 

 

10

 

 

 

 

 

 

 

 

 

 

 

1

2

3

4

 

 

 

 

 

 

1

30

20

0

 

0

 

 

 

 

 

2

 

 

40

 

40

 

 

 

 

 

3

 

 

10

50

60

Осталась одна строка

 

 

30

20

10

50

 

 

 

 

 

 

Алгоритм гарантирует заполнение точно m+n-1 клеток таблицы. Таким образом формируются значения (m+n-1)-ой базисных переменных задачи. Остальные переменные имеют нулевые значения.

2.2.6. Метод наименьшей стоимости

Метод северо-западного угла игнорирует стоимости перевозок. Закрепление потребителя за поставщиком осуществляется по правилу: первый же поставщик пытается удовлетворить потребности первого же потребителя. Между тем, интуитивно ясно, что необходимо максимально загружать маршруты с минимальной стоимостью перевозок.

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

В соответствии с методом наименьшей стоимости на каждом шаге рассматривается та пара «поставщик-потребитель», которая соответствует клетке с минимальной стоимостью перевозки единицы продукции.

234

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

То есть, по существу – это тот же метод северо-запарного угла, но только с другим правилом закрепления потребителя за поставщиком.

На последнем шаге и того и другого метода остается не вычеркнутой одна строка или один столбец. Это – критерий останова. Шаг 1. В таблице ищется клетка с минимальной стоимостью. Если таких клеток несколько, выбирается любая из них. Пусть такая клетка находится на пересечении строки i и столбца j.

Шаг 2. Если bj > ai, то xij = ai . Корректируем потребность j-го пункта потребления:

bj = bj - ai,

вычеркиваем i-ю строку. Переходим к шагу 5.

Шаг 3. Если bj < ai, то xij = bj . Корректируем возможность (запас) i-го пункта производства:

ai = ai - bj ,

вычеркиваем j-й столбец. Переходим к шагу 5.

Шаг 4. Если bj = ai (баланс), то принимаем xij = bj= ai. Затем вычеркиваем либо строку, либо столбец. При этом оставляем либо

пункт потребления j с нулевой потребностью (bj = 0), либо пункт производства i с нулевым запасом (ai = 0). Переходим к шагу 5. Шаг 5. Если осталась не вычеркнутой одна строка или один столбец, то заполняем все клетки этой строки (столбца). Конец. В противном случае переходим к шагу 1.

235

Пример 2.5

Договоримся, что при прочих равных будем вычеркивать столбец.

 

 

 

 

Табл.1

 

 

 

1

2

3

4

 

 

1

10

0

20

11

15

0

 

 

15

 

 

 

 

 

 

 

 

2

12

7

9

20

25

 

 

 

 

 

 

 

3

0

14

16

18

5

 

 

 

 

 

 

 

 

5

15

15

10

 

 

 

 

 

 

Табл.3

 

 

 

1

2

3

4

 

 

1

10

0

20

11

0

 

 

 

15

 

 

 

 

 

 

 

 

 

2

12

7

9

20

25

10

 

 

 

15

 

 

 

 

 

 

 

3

0

14

16

18

0

 

 

5

 

 

 

 

 

 

 

 

 

 

 

5

15

15

10

 

 

Значение ЦФ: Z=335.

 

 

 

 

 

 

 

 

 

Табл.2

 

 

 

1

 

2

 

3

 

4

 

 

 

1

10

 

0

 

20

 

11

0

 

 

 

 

 

15

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

12

 

7

 

9

 

20

25

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

0

 

14

 

16

 

18

5

0

 

5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

 

15

 

15

 

10

 

 

 

 

 

 

 

 

 

 

Табл.4

 

 

 

1

 

2

 

3

 

4

 

 

 

1

 

 

 

 

 

 

 

 

 

 

10

 

0

 

20

 

11

0

 

 

 

 

 

15

 

 

 

0

 

 

2

 

 

 

 

 

 

 

 

12

 

7

 

9

 

20

10

 

 

 

 

 

 

 

15

 

10

 

 

3

 

 

 

 

 

 

 

 

0

 

14

 

16

 

18

0

 

 

 

5

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

5

15

15

10

2.2.7. Метод Фогеля

Как правило, этот метод дает лучший результат, чем МНС. Метод дает оптимальное, либо близкое к оптимальному решение.

Шаг 1. Вычислить штраф для каждого столбца и для каждой строки. Для этого в каждой строке (столбце) отыскивается элемент с минимальной стоимостью и ближайший к нему по стоимости элемент. Разность этих стоимостей и есть штраф.

236

 

1

2

3

4

 

Штраф за невывоз

1

10

0

20

11

15

10

 

 

 

 

 

 

 

 

 

 

 

 

2

12

7

9

20

25

2

 

 

 

 

 

 

 

 

 

 

 

 

3

0

14

16

18

5

14

 

 

 

 

 

 

 

 

 

 

 

 

 

5

15

15

10

 

Штраф за недопоставку

 

10

7

7

7

 

Шаг 2. Отметить строку или столбец с самым большим штрафом. Если таких несколько, выбрать среди них любую строку или любой столбец.

Шаг 3. В отмеченной строке (или столбце) выбрать переменную с самой низкой стоимостью и придать ей максимально возможное значение. Скорректировать объем производства и спрос и вычеркнуть строку или столбец, соответствующий выполненному ограничению.

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

Шаг 4. Если остается не вычеркнутой только одна строка (столбец) с положительным объемом производства (или один столбец с положительным объемом спроса), базисные переменные вычисляются методом наименьшей стоимости. При этом в задачу включаются не вычеркнутые строки (с нулевыми объемами производства) и не вычеркнутые столбцы (с нулевыми объемами спроса). Конец.

В противном случае выполняется шаг 1.

237

Пример 2.6

 

 

 

 

 

Табл. 1

 

 

 

1

2

3

4

 

 

 

1

10

0

20

11

15

10

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

12

7

9

20

25

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

0

14

16

18

5

14

 

 

5

 

 

 

0

 

 

 

 

 

 

 

 

5

15

15

10

 

 

 

 

10

7

7

7

 

 

 

 

 

 

 

Табл. 2

 

 

 

1

2

3

4

 

 

 

1

10

0

20

11

15

11

 

 

 

15

 

 

0

 

 

 

 

 

 

 

2

12

7

9

20

25

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

0

14

16

18

0

Не участв.

 

 

5

 

 

 

 

 

 

 

 

 

 

 

 

5

15

15

10

 

 

 

 

 

7

11

9

 

 

Осталась не вычеркнутой одна строка. Применяем метод наименьшей стоимости.

 

 

 

 

Табл. 3

 

 

1

2

3

4

 

 

 

1

10

0

20

11

 

0

Не участв.

 

 

15

 

 

 

 

 

 

 

 

 

 

2

12

7

9

20

 

25

 

 

 

 

15

 

 

10

 

3

0

14

16

18

 

0

Не участв.

 

5

 

 

 

 

 

 

 

 

 

 

 

 

5

15

15

10

 

 

 

 

 

 

 

 

 

 

 

 

Табл. 4

 

 

1

2

3

4

 

 

 

1

10

0

20

11

 

0

 

 

 

15

 

0

 

 

 

 

 

 

 

 

2

12

7

9

20

 

10

 

 

 

 

15

10

 

 

 

 

 

 

 

 

3

0

14

16

18

 

0

 

 

5

 

 

0

 

 

 

 

 

 

 

 

 

5

15

15

10

 

 

 

 

 

 

 

Значение Z=335.

238

2.2.8. Метод плавающих зон

Метод используется для приближенного решения транспортной задачи повышенной размерности. Полученный план близок к оптимальному.

МНС достаточно прямолинейно учитывает стоимости перевозок: на каждом шаге выбирается самый дешевый маршрут, причем, последствия принятого решения игнорируются.

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

Метод плавающих зон при принятии решений о загрузке маршрутов учитывает не только стоимости перевозок, но и объемы продукции как выпускаемые в пунктах производства, так и потребляемые в пунктах потребления. Идея метода сводится к следующему.

Независимо от содержательно постановки задачи, стоимость перевозки единицы продукции из пункта Ai в пункт Bj рассматривается, как расстояние между этими пунктами.

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

Зона i

Bj

 

 

cij

Аi

 

Рис.2.6 Закрепление пунктов потребления за зонами

239

Пункт потребления Bj ( j 1,n ) попадает в зону Ai или, про-

сто, в i-ю зону ( i 1, m ), если cij min{r crj } .

Обозначим через Qi подмножество номеров пунктов потребления, относящихся к в i-й зоне ( i 1, m ). При этом будем считать, что:

Qi Qk при i k и Qi {1, 2,..., n}.

i

Суммарный объем потребления пунктов, находящихся в i-й зоне, составляет:

b(i) bj .

j Qi

Очевидно, что спрос объектов i-й зоны ( i 1, m ) может быть удовлетворен i-м пунктом производства только в том случае, если

b(i ) ai .

В противном случае i-я зона считается перегруженной:

b(i ) ai .

Что делать, если i-я зона перегружена? Прежде всего, необходимо решить, какие объекты следует закрепить за i-м пунктом производства.

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

Pj ci , j ci, j , ( j Qi ).

Здесь ci , j min{cr , j } транспортные издержки, связанные с

r i

перевозкой единицы продукции в j-й пункт потребления из ближайшего пункта производства (из другой, ближайшей зоны).

Закрепление объектов за i-й зоной осуществляется в порядке не возрастания приоритетов – до тех пор, пока не будет исчерпан весь объем производства этой зоны.

Оставшиеся неудовлетворенными объекты i-й зоны вновь подключаются к массиву нерасмотренных объектов.

Если спрос некоторого объекта удовлетворен частично, этот объект также подключается к массиву нерассмотренных объектов с объемом потребления, равным нехватке.

240