Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лекции моделир.doc
Скачиваний:
4
Добавлен:
18.11.2019
Размер:
1.42 Mб
Скачать

4.2. Нахождение оптимального плана методом потенциалов

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

Vj - потенциалы столбцов;

Ui - потенциалы строк,

Сij - стоимость перевозки единицы груза от каждого поставщика каждому потребителю;

Хij – количество груза, которое будет перевезено от i –ого поставщика к j – ому потребителю,

где i =1,…,m (m – число строк), а j = 1, …, n (n – число столбцов).

Опорный план транспортной задачи может иметь (m + n –1) отличных от нуля неизвестных. В этом случае план является невырожденным.

Если отличных от нуля неизвестных меньше, чем (m + n –1), то такой план – вырожденный. И для нахождения оптимального плана одна из пустых клеток таблицы, в этом случае, считается заполненной нулевым грузом.

Опорный план является оптимальным, если выполняются следующие условия:

  1. Для заполненных клеток (Хij > 0 )

VjUi = Сij

  1. Для пустых клеток (Хij = 0 )

VjUi £ Сij

для всех i =1,…,m и j = 1, …, n

Опорный план, представленный в таблице 4.6., прежде всего проверим на вырожденность:

  • число заполненных клеток в опорном плане (табл. 4.6.) равно 6;

  • m + n –1 = 4 + 4 –1 =7.

Следовательно, данный план является вырожденным. Заполним клетку, расположенную на пересечении третьей строки и третьего столбца, нулевым грузом.

Найдем систему потенциалов, исходя из первого условия оптимальности. Но предварительно одному из неизвестных придадим нулевое значение. Обычно приравнивают к нулю неизвестную величину, обозначающую потенциал строки, которая чаще всего встречается в системе или, другими словами, потенциал той строки, в которой больше всего заполненных клеток. В нашем случае это – потенциал третьей строки (U3 =0).

V1 U3 = 2

V1 = 0 + 2

V1 = 2

V2 U3 = 3

V2 = 0 +3

V2 = 3

V3 U3 =6

V3= 0+6

V3 = 6

V4 U3 =5

V4 = 0+5

V4 = 5

V3 U1=6

6 - U1 = 6

U1= 0

V4 U2 =3

5 – U2 =3

U2 = 2

V2 U4 = 4

3– U4 = 4

U4 = -1

Заполняем потенциалы строк и столбцов (табл. 4.7.)

Таблица 4.7.

V1 = 2 V2 = 3 V3 = 6 V4 =5

U1 =0

8

7

6 200

9

U2 =2

4

10

8

3 180

U3 =0

2

100

3 50

6 0

5

70

U4 =-1

5

4 100

8

9

Проверяем второе условие оптимальности (для пустых клеток).

Δ11 = V1 U1 =2 – 0 = 2 < 8

Δ12 = V2 U1 =3 – 0 = 3 < 7

Δ14 = V4 U1 =5 – 0 = 5 < 9

Δ21 = V1 U2 =2 – 2 = 0 < 4

Δ22 = V2 U2 =3 – 2 = 1 < 10

Δ23 = V3 U2 =6 – 2 = 4 < 8

Δ41 = V1 U4 =2 – (-1) = 3< 5

Δ43 = V3 U4 =6 – (-1) = 7< 8

Δ44 = V4 U4 =5 – (-1) = 6< 9

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

Zmin = 200*6+180*3+100*2+50*3+0*6+70*5+100*4=2840

Рассмотрим еще один пример. Задан некоторый опорный план (табл.4.8.).

Таблица 4.8.

3

5 120

7 10

11

1 30

4

6 70

2

5

120

9

12

7

50

Число заполненных клеток в опорном плане (табл. 4.8.) равно 6. По формуле считаем число отличных от нуля неизвестных:

m + n –1 = 4 + 3 –1 =6. Следовательно, план (табл. 4.8.) является невырожденным.

Используя первое условие оптимальности, находим потенциалы строк и столбцов, придавая нулевое значение потенциалу первой строки (U1 =0).

V2 U1 = 5

V2 = 0 + 5

V2 = 5

V3 U1 =7

V3= 0+7

V3 = 7

V3 U2 =6

7 - U2 = 6

U2 = 1

V1 U2=1

V1 - 1 = 1

V1= 2

V1 U3 =5

2– U3 =5

U3 = -3

V4 U3 = 7

V4 - (–3)= 1

V4 = 4

Полученные значения потенциалов строк и столбцов записываем, соответственно, слева от таблицы и сверху (табл. 4.9.).

Таблица 4.9.

V1 = 2 V2 = 5 V3 = 7 V4 = 4

U1 =0

3

5 120

7 10

11

U2 = 1

1 30

4

6 70

2

U3 = -3

5 120 +

9

12

7

50

Проверяем второе условие оптимальности (для пустых клеток).

Δ11= V1 U1 =2 – 0= 2 < 3

Δ14 = V4 U1 =4 – 0= 4 < 11

Δ22 = V2 U2 =5 – 1= 4 = 4

Δ24= V4 U2 =4 – 1 = 3> 2

Δ32 = V2 U3 =5 – (-3)= 8 < 9

Δ33= V3 U3 =7 – (-3) = 10< 12

Для всех пустых клеток, где нарушено второе условие оптимальности, находим характеристику по следующей формуле:

aij =vj-ui-cij

Из характеристик выбираем наибольшую (в данном случае единственная: a24= 4 –1-2 = 1) и начиная с клетки с данной характеристикой строим цепь (цикл) – ломаная линия, вершины которой расположены в занятых клетках таблицы, кроме первой. Повороты цепи делают под прямым углом. В строке или столбце, где проходит цепь, содержится только две клетки цепи, цепь должна быть замкнута. Клетки цепи отмечаем чередующимися знаками (+) и (-), начиная со знака (+) в первой клетке цепи.

Таблица 4.10.

V1 = 2 V2 = 5 V3 = 7 V4 = 4

U1 =0

3

5 120

7 10

11

U2 = 1

- 1 30

4

6 70

+ 2

U3 = -3

5 120 +

9

12

7

50 -

Из всех объемов поставок, стоящих в клетках со знаком (-), выбираем минимальный, он обозначается буквой Q. Вычитаем Q из поставок отрицательной полу цепи и прибавляем к поставкам положительной полу цепи.

Q = min(30, 50) = 30

Пересчитанные грузы записываем в таблицу 4.11. и пересчитываем потенциалы.

Потенциалы исправляем, начиная с потенциала столбца той клетки, с которой начиналась цепь в предыдущей таблице, т.е. V4=4-1=3 (табл. 4.9.). Уменьшаем его на величину характеристики этой клетки a24 = 1.В столбце, где исправлен потенциал, есть еще заполненные клетки в третьей строке, следовательно, исправляем потенциал третьей строки (U3 = -3-1 = -4). Затем “пройдем” по этой строке и для заполненных клеток исправим потенциал столбцов (V1 = 2-1=1).

Таблица 4.11.

V1 = 2 1 V2 = 5 V3 = 7 V4 = 4 3

U1 =0

3

5 120

7 10

11

U2 = 1

1

4

6 70

2 30

U3 =-3 -4

5 150

9

12

7

20

Проверяем исправленную систему на выполнение условий оптимальности:

- для заполненных клеток первое условие верно;

- для пустых клеток:

Δ11= V1 U1 =1– 0= 1 < 3

Δ14 = V4 U1 =3 – 0= 3 < 11

Δ21 = V1 U2 =1 – 1= 0 < 4

Δ22= V2 U2 =5 – 1 = 4 =4

Δ32 = V2 U3 =5 –(-4)= 9 = 9

Δ33= V3 U3 =7 – (-4) = 11< 12

Все условия выполняются. Следовательно, в таблице 4.11. получено оптимальное решение:

Zmin =120*5+10*7+70*6+30*2+150*5+20*7 = 2040