Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЭММ: Методичка Забуга С.И.doc
Скачиваний:
21
Добавлен:
12.11.2018
Размер:
2.28 Mб
Скачать

Алгоритм метода потенциалов

Он состоит из предварительного шага и общего повторяющегося шага.

Предварительный шаг включает в себя

1) Построение исходного ДБР (любым из известных методов).

2) Отыскание потенциалов Ui и Vj .

3) Проверку исходного ДБР на оптимальность.

Остановимся на пунктах 2) и 3), которые продемонстрируем для нашей задачи (см. табл. 1.9.1). Вводим неизвестные Ui и Vj и для всех базисных клеток построенного начального плана составляем уравнения вида Ui – Vj = cij и решаем полученную систему уравнений:

V1 U1 = 5;

V2 U2 = 2;

V3 U2 = 2;

V4 U1 = 10; (1.9.4)

V4 U2 = 5;

V4 U3 = 9;

V5 U3 = 2.

Мы получили 7 уравнений с 8-ю неизвестными (система неопределенная), однако для проверки плана на оптимальность нам достаточно найти любое из решений. Обычно одно из неизвестных (как правило, то, которое чаще всего встречается в системе) полагают равным нулю, а остальные находят однозначно. Положим U2 = 0, тогда решение системы будет иметь вид: {V1 = 0; V2 = 2; V3 = 2; V4 = 5; V5 = –2; U1 = –5; U2 = 0; U3= –4}. Теперь для проверки плана на оптимальность полученные результаты удобно представить в виде так называемой таблицы потенциалов:

Таблица 1.9.2

Vj

Ui

0

2

2

5

–2

–5

5 5

0

7 8

–1

7 7

0

10 10

0

3 3

0

0

0 4

–4

2 2

0

2 2

0

5 5

0

–2 6

–8

–4

4 7

–3

6 3

3

6 5

1

9 9

0

2 2

0

Таблица заполнена по следующим правилам. В первой строке и в первом столбце стоят значения потенциалов Ui и Vj, полученные из решения системы (1.9.4). Каждая внутренняя клетка имеет такой формат (смысл обозначений приведен выше):

С*ij Cij

ij

В соответствии с теоремой о разрешимости транспортной задачи для того, чтобы проверяемый план был оптимальным, необходимо, чтобы во всех клетках таблицы потенциалов ∆ij были неположительны. При наличии положительных ∆ij план может быть улучшен в смысле уменьшения целевой функции. В нашем примере имеются две положительные оценки: ∆32 = 3 и ∆33 = 1, следовательно план не оптимален и его надо улучшать. Это делается в процессе общего повторяющегося шага. Принципы его следующие.

Так же, как и в симплекс-методе, одна из базисных перевозок выводится из базиса, а на ее место вводится новая, небазисная. Вводимая перевозка хkl соответствует небазисной клетке с максимальной положительной ∆ij (в нашем случае ∆32 = 3), значит, вводим в базис перевозку х32. Для определения перевозки, которую надо вывести из базиса, строим так называемый цикл пересчета, т. е. замкнутую ломаную линию, которая строится на таблице перевозок по следующим правилам:

  1. Цикл начинается и заканчивается в клетке (k, l).

  2. Ломаная может совершать повороты под прямым углом только в базисных клетках.

  3. Цикл, удовлетворяющий условиям 1 – 2 может быть только один.

  4. Исходная клетка цикла (k, l) помечается знаком (+), следующая базисная клетка, в которой ломаная делает поворот, знаком (–), и далее по очереди в клетках поворота чередуются знаки (+) и (–).

Нетрудно понять, что клеток, помеченных знаком (+), будет столько же, сколько и помеченных знаком (–). Эти клетки будут называться клетками, соответственно, положительной полуцепи и отрицательной полуцепи. Заметим, что ломаная цикла может иметь самый причудливый вид, иногда даже с самопересечениями. Построив цикл, находим клетку из отрицательной полуцепи с минимальной перевозкой хps = t. Это и будет перевозка, выводимая из базиса. Значения же базисных перевозок пересчитываются следующим образом:

– базисные перевозки, не входящие в цикл, остаются без изменения;

– из перевозок отрицательной полуцепи вычитается величина t;

– к перевозкам положительной полуцепи прибавляется величина t.

Замечание 1. Если в результате вычитания t в нуль обратится не одна, а несколько перевозок, то для избежания вырожденности плана в одной из клеток следует поставить –––, а в остальных − базисные нули.

Замечание 2. Если t = 0, т. е. в отрицательной полуцепи присутствовал базисный нуль, то значение целевой функции не изменится, однако ДБР все равно надо поменять.

Замечание 3. Нетрудно вывести формулу для приращения (в нашем случае в сторону уменьшения) целевой функции от шага r – 1 к шагу r:

Zr = Zr–1t* max ∆ij.

Построенный цикл пересчета приведен в табл. 1.9.1. Мы видим, что t = 125, значит именно это количество груза «перегоняется» по циклу. Соответственно, целевая функция уменьшится на 125*3 = 375 единиц и станет равной:

Z1 = 3950 – 375 = 3575. Для улучшенного плана строим новую таблицу перевозок:

Таблица 1.9.3

bj

аi

100

125

325

250

100

200

5

100

8

–––

7

–––

10

100

3

–––

450

4

–––

2

–––

(–) 2

325

(+) 5

125

6

–––

250

7

––––

3

125

(+) 5

–––

(–) 9

25

2

100

Теперь для проверки полученного плана на оптимальность нам опять надо составить и решить систему потенциалов – в этом и проявляется сущность общего повторяющегося шага. Выписываем и решаем систему уравнений:

V1 U1 = 5; V1 = 4; U1 = –1;

V2 U3 = 3; V2 = 3; U2 = 4;

V3 U2 = 2; V3 = 6; U3 = 0;

V4 U1 = 10; V4 = 9;

V4 U2 = 5; V5 = 2.

V4 U3 = 9;

V5 U3 = 2;

Результаты решения системы заносим в новую таблицу потенциалов (табл.1.9.4).

Таблица 1.9.4

Vj

Ui

4

3

6

9

2

–1

5 5

0

4 8

– 4

7 7

0

10 10

0

3 3

0

4

0 4

– 4

–1 2

–3

2 2

0

5 5

0

–2 6

–8

0

4 7

–3

3 3

0

6 5

1

9 9

0

2 2

0

Теперь мы видим одну положительную оценку: ∆33 = 1, значит снова надо строить цикл пересчета и улучшать план перевозок. Цикл приведен в табл. 1.9.3, а улучшенный план в табл. 1.9.5. (очевидно, t = 25).

Таблица 1.9.5

bj

аi

100

125

325

250

100

200

5

100

8

–––

7

–––

(–) 10

100

(+) 3

–––

450

4

–––

2

–––

(–) 2

300

(+) 5

150

6

–––

250

7

––––

3

125

5

25 (+)

9

–––

(–) 2

100

Z2 = 3575 – 1*25 = 3550. Снова выписываем и решаем систему потенциалов:

V1U1 = 5; V1 = 3; U1 = –2;

V2U3 = 3; V2 = 3; U2 = 3;

V3U2 = 2; V3 = 5; U3 = 0;

V3U3 = 5; V4 = 8;

V4U1 = 10; V5 = 2.

V4U2 = 5;

V5U3 = 2;

Результаты решения системы заносим в новую таблицу потенциалов (табл.1.9.6):

Таблица 1.9.6

Vj

Ui

3

3

5

8

2

–2

5 5

0

5 8

– 3

7 7

0

10 10

0

4 3

1

3

0 4

– 4

0 2

–2

2 2

0

5 5

0

–2 6

–7

0

3 7

–4

3 3

0

5 5

0

8 9

–1

2 2

0

Еще раз мы видим положительную оценку, на этот раз ∆15 = 1, снова строим цикл пересчета (на табл. 1.9.5). Улучшенный план заносим в табл. 1.9.7.

Таблица 1.9.7

bj

аi

100

125

325

250

100

200

5

100

8

–––

7

–––

10

0

3

100

450

4

–––

2

–––

2

200

5

250

6

–––

250

7

––––

3

125

5

125

9

–––

2

–––

Здесь t = 100 и встретился случай, упомянутый в замечании 1. Базисный ноль ставим в клетку (1, 4), а клетка (3, 5) уходит из базиса. Z2 = 3575 – 1*100 = 3450. Проверяем данный план на потенциальность:

V1 U1 = 5; V1 = 5; U1 = 0;

V2 U3 = 3; V2 = 5; U2 = 5;

V3 U2 = 2; V3 = 7; U3 = 2;

V3 U3 = 5; V4 = 10;

V4 U1 = 10; V5 = 3.

V4 U2 = 5;

V5 U1 = 3;

Строим таблицу потенциалов:

Таблица 1.9.8

Vj

Ui

5

5

7

10

3

0

5 5

0

5 8

–3

7 7

0

10 10

0

3 3

0

5

0 4

–4

0 2

–2

2 2

0

5 5

0

–2 6

–8

2

3 7

–4

3 3

0

5 5

0

8 9

–1

1 2

–1

В последней таблице потенциалов нет ни одной положительной оценки, следовательно, последний план перевозок, представленный в табл. 1.9.7, оптимален. Решение транспортной задачи обычно приводят в виде:

Хопт = {x11 = 100, x15 = 100, x23 = 200, x24 = 250, x32 = 125, x33 = 125} ,

Zопт = 3450.

Замечание 4. Если в последней таблице потенциалов, соответствующей оптимальному плану, мы видим оценки ∆ij = 0 не только в базисных клетках (это естественно!), но и в небазисных, то этот факт говорит о том, что оптимальный план не единственный. Чтобы получить альтернативный оптимальный план с тем же самым значением целевой функции, можно построить еще один цикл пересчета, начинающийся в небазисной клетке с ∆ij = 0. Таких планов будет столько же, сколько есть небазисных клеток с нулевыми оценками оптимальности.

Заметим, что алгоритм метода потенциалов монотонен (в смысле не- возрастания целевой функции) и конечен, ввиду конечности множества допустимых решений транспортной задачи.