Задача линейного программирования. Проверка оптимальности текущего плана, страница 24

θ2= {x11=10, x23=20} =10.

16) Вычитаем 10 в тех клетках, что помечены «-», и прибавляем 10 в тех клетках, что помечены «+». Получаем новый план.


Таблица 11                       Таблица 12

17) Снова проверяем оптимальность нового плана:

U1+V2= с12=2, U1+V3= с13=2, U2+V1= с21=3, U2+V3= с23=5, U3+V3= с33=1.

Положим U1=0, находим V2=2; V3=2; U2=3; V1=0; U3=-1.

11= U1+V111=0+0-9=-9<0, ∆22= U2+V222=3+2-4=1>0,∆31= U3+V131=-1+0-8=-9<0,

32= U3+V232=-1+2-7=-6<0.Положительная единственная оценка – это ∆22=1.

18) Находим в таблице 11 цикл:  (2,2)→(2,3)→(1,3)→(1,2)→(2,2)

19) Находим θ3= {x12=10, x23=10}=10.          

20) Вычитаем 10 в клетках (1,2), (2,3) и прибавляем в клетках (1,3), (2,2). Получаем новый план.

Нетрудно проверить оптимальность текущего плана и убедиться что все оценки свободных клеток отрицательные. При данном плане стоимость перевозок:

Z (Х) =2·20+3·10+4·10+1·10=120.

Второй способ

1) Положим, потенциал первой строки равен, например, нулю (U1=0). Рядом с потенциалом в скобках записываем номер шага, т.е. рядом с U1=0 запишем (1) (табл. 13).

2) Переходим к первой занятой клетке первой строки (1, 1) и находим потенциал первого столбца по формуле V1 = c11 – U1 = 9 – 0 = 9 (шаг (2)).

3) Поскольку в первом столбце нет занятой клетки кроме (1, 1), поэтому переходим к следующей занятой клетке первой строки (1, 2) и находим потенциал второго столбца по формуле V2 = c12 – U1 = 2 – 0 = 2 (шаг (3)).

4) Теперь известно V2 = 2. Переходим к следующей занятой клетке второго столбца (2, 2) и находим потенциал второй строки  U2= с22 – V2 = = 4 – 2 = 2   (шаг (4)).

5) Поскольку известен потенциал второй строки U2 = 2, поэтому переходим к следующей занятой клетке этой строки (2,3) и находим потенциал третьего столбца  V3= с23 –U2 =5 –2 =3(шаг (5)).

6) Известен потенциал V3 = 3.Переходим к занятой клетке третьего столбца

(3, 3) и находим потенциал третьей строки U3 = с33 – V3 =   1 – 3 = – 2 (шаг (6)).

Таким образом, мы подбирали потенциалы так, чтобы оценки заполненных клеток стали равными нулю Δij = Ui + Vj – - сij = 0 (см. табл. 13).

7)  Находим оценки свободных клеток по формуле  Δij= Ui + Vj – Cij ≤ 0 (см. табл. 13).

8) Запишем оценки клеток таблицы 13 в виде отдельной матрицы.

9)Проверим оптимальность текущего плана по значениям оценок свободных клеток.

Если для всех свободных клеток (Δij £ 0), то текущий план оптимален. Если хотя бы одна из оценок положительна (Δij > 0), то план можно улучшить. Так как Δ13 = 1,  Δ21 = 8, то.

Таблица 13

10) Находим .

11) Для клетки (2, 1) ставим знак «+» и строим цикл (см.рис.3) .Следуя этому циклу, расставим чередующиеся знаки «+» и «-» в его вершинах, начиная с того знака «+», что уже стоит в вершине (2, 1).

12) Находим          

13) Вычитаем число θ1 = 0* в клетках (1, 1), (2, 2) и прибавляем его в клетках (1, 2), (2, 1). Получаем новый план.

Таблица 14

(Решение предлагается продолжить читателю самостоятельно).

6.1.5. Решение открытой транспортной задачи .Для открытой ТЗ может быть два случая:

1º. ; 2º. . Открытая ТЗ решается сведением ее к закрытой ТЗ. В случае (1º), когда суммарные запасы превышают суммарной потребности, вводится фиктивный  потребитель со спросом .В случае (2º), когда суммарные потребности превышают суммарные запасы, вводится фиктивный поставщик с запасами .

Стоимость перевозки единицы груза, как до фиктивного потребителя, так и стоимость перевозки единицы груза от фиктивного поставщика полагают равными нулю, так как груз в обоих случаях не перевозится, т. е.  ci(n+1) = 0 i, c(m+1)j= 0 j.

Пример2.Решить транспортную задачу, исходные данные которой таковы:

Таблица 15

6

8

1

15

3

2

5

25

15

15

20