Решение задачи о назначении методом потенциалов

Исходная матрица:

23

46

40

15

22

9

37

37

23

26

5

29

36

38

14

40

12

38

29

33

22

3

49

49

34

48

10

3

21

17

48

13

16

34

1

43

32

40

11

19

26

25

25

9

16

5

48

11

10

2

37

18

11

18

39

45

24

41

36

33

9

35

47

39

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

 

1

2

3

4

5

6

7

8

 

1

23

46

40

15

22

9

37

37

1

2

23

26

5

29

36

38

14

40

1

3

12

38

29

33

22

3

49

49

1

4

34

48

10

3

21

17

48

13

1

5

16

34

1

43

32

40

11

19

1

6

26

25

25

9

16

5

48

11

1

7

10

2

37

18

11

18

39

45

1

8

24

41

36

33

9

35

47

39

1

 

1

1

1

1

1

1

1

1

 

Проверим необходимое и достаточное условие разрешимости задачи.

∑a = 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 = 8

∑b = 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 = 8

Этап I. Поиск первого опорного плана.

1. Используя метод наименьшей стоимости, построим первый опорный план транспортной задачи.

Суть метода заключается в том, что из всей таблицы стоимостей выбирают наименьшую, и в клетку, которая ей соответствует, помещают меньшее из чисел ai, или bj.

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

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

Искомый элемент равен 1

Для этого элемента запасы равны 1, потребности 1. Поскольку минимальным является 1, то вычитаем его.

x53 = min(1,1) = 1.

23

46

x

15

22

9

37

37

1

23

26

x

29

36

38

14

40

1

12

38

x

33

22

3

49

49

1

34

48

x

3

21

17

48

13

1

x

x

1

x

x

x

x

x

1 - 1 = 0

26

25

x

9

16

5

48

11

1

10

2

x

18

11

18

39

45

1

24

41

x

33

9

35

47

39

1

1

1

1 - 1 = 0

1

1

1

1

1

0

Искомый элемент равен 2

Для этого элемента запасы равны 1, потребности 1. Поскольку минимальным является 1, то вычитаем его.

x72 = min(1,1) = 1.

23

x

x

15

22

9

37

37

1

23

x

x

29

36

38

14

40

1

12

x

x

33

22

3

49

49

1

34

x

x

3

21

17

48

13

1

x

x

1

x

x

x

x

x

0

26

x

x

9

16

5

48

11

1

x

2

x

x

x

x

x

x

1 - 1 = 0

24

x

x

33

9

35

47

39

1

1

1 - 1 = 0

0

1

1

1

1

1

0

Искомый элемент равен 3

Для этого элемента запасы равны 1, потребности 1. Поскольку минимальным является 1, то вычитаем его.

x36 = min(1,1) = 1.

23

x

x

15

22

x

37

37

1

23

x

x

29

36

x

14

40

1

x

x

x

x

x

3

x

x

1 - 1 = 0

34

x

x

3

21

x

48

13

1

x

x

1

x

x

x

x

x

0

26

x

x

9

16

x

48

11

1

x

2

x

x

x

x

x

x

0

24

x

x

33

9

x

47

39

1

1

0

0

1

1

1 - 1 = 0

1

1

0

Искомый элемент равен 3

Для этого элемента запасы равны 1, потребности 1. Поскольку минимальным является 1, то вычитаем его.

x44 = min(1,1) = 1.

23

x

x

x

22

x

37

37

1

23

x

x

x

36

x

14

40

1

x

x

x

x

x

3

x

x

0

x

x

x

3

x

x

x

x

1 - 1 = 0

x

x

1

x

x

x

x

x

0

26

x

x

x

16

x

48

11

1

x

2

x

x

x

x

x

x

0

24

x

x

x

9

x

47

39

1

1

0

0

1 - 1 = 0

1

0

1

1

0

Искомый элемент равен 9

Для этого элемента запасы равны 1, потребности 1. Поскольку минимальным является 1, то вычитаем его.

x85 = min(1,1) = 1.

23

x

x

x

x

x

37

37

1

23

x

x

x

x

x

14

40

1

x

x

x

x

x

3

x

x

0

x

x

x

3

x

x

x

x

0

x

x

1

x

x

x

x

x

0

26

x

x

x

x

x

48

11

1

x

2

x

x

x

x

x

x

0

x

x

x

x

9

x

x

x

1 - 1 = 0

1

0

0

0

1 - 1 = 0

0

1

1

0

Искомый элемент равен 11

Для этого элемента запасы равны 1, потребности 1. Поскольку минимальным является 1, то вычитаем его.

x68 = min(1,1) = 1.

23

x

x

x

x

x

37

x

1

23

x

x

x

x

x

14

x

1

x

x

x

x

x

3

x

x

0

x

x

x

3

x

x

x

x

0

x

x

1

x

x

x

x

x

0

x

x

x

x

x

x

x

11

1 - 1 = 0

x

2

x

x

x

x

x

x

0

x

x

x

x

9

x

x

x

0

1

0

0

0

0

0

1

1 - 1 = 0

0

Искомый элемент равен 14

Для этого элемента запасы равны 1, потребности 1. Поскольку минимальным является 1, то вычитаем его.

x27 = min(1,1) = 1.

23

x

x

x

x

x

x

x

1

x

x

x

x

x

x

14

x

1 - 1 = 0

x

x

x

x

x

3

x

x

0

x

x

x

3

x

x

x

x

0

x

x

1

x

x

x

x

x

0

x

x

x

x

x

x

x

11

0

x

2

x

x

x

x

x

x

0

x

x

x

x

9

x

x

x

0

1

0

0

0

0

0

1 - 1 = 0

0

0

Искомый элемент равен 23

Для этого элемента запасы равны 1, потребности 1. Поскольку минимальным является 1, то вычитаем его.

x11 = min(1,1) = 1.

23

x

x

x

x

x

x

x

1 - 1 = 0

x

x

x

x

x

x

14

x

0

x

x

x

x

x

3

x

x

0

x

x

x

3

x

x

x

x

0

x

x

1

x

x

x

x

x

0

x

x

x

x

x

x

x

11

0

x

2

x

x

x

x

x

x

0

x

x

x

x

9

x

x

x

0

1 - 1 = 0

0

0

0

0

0

0

0

0

 

1

2

3

4

5

6

7

8

 

1

23[1]

46

40

15

22

9

37

37

1

2

23

26

5

29

36

38

14[1]

40

1

3

12

38

29

33

22

3[1]

49

49

1

4

34

48

10

3[1]

21

17

48

13

1

5

16

34

1[1]

43

32

40

11

19

1

6

26

25

25

9

16

5

48

11[1]

1

7

10

2[1]

37

18

11

18

39

45

1

8

24

41

36

33

9[1]

35

47

39

1

 

1

1

1

1

1

1

1

1

 

2. Подсчитаем число занятых клеток таблицы, их 8, а должно быть m + n - 1 = 15. Следовательно, опорный план является вырожденным.

Строим новый план.

Значение целевой функции для этого опорного плана равно:

F(x) = 23*1 + 14*1 + 3*1 + 3*1 + 1*1 + 11*1 + 2*1 + 9*1  = 66

 

1

2

3

4

5

6

7

8

 

1

23[1]

46

40

15

22

9

37

37

1

2

23

26

5

29

36

38

14[1]

40

1

3

12

38

29

33

22

3[1]

49

49

1

4

34

48

10

3[1]

21

17

48

13

1

5

16

34

1[1]

43

32

40

11

19

1

6

26

25

25

9

16

5

48

11[1]

1

7

10

2[1]

37

18

11

18

39

45

1

8

24

41

36

33

9[1]

35

47

39

1

 

1

1

1

1

1

1

1

1

 

Подсчитаем число занятых клеток таблицы, их 8, а должно быть m + n - 1 = 15. Следовательно, опорный план является вырожденным.

Значение целевой функции для этого опорного плана равно::

F(x) = 23*1 + 14*1 + 3*1 + 3*1 + 1*1 + 11*1 + 2*1 + 9*1  = 66

Для получения невырожденного плана принудительно добавляем нуль [0] в клетку (1;2); (1;3); (1;4); (1;5); (1;6); (1;7); (1;8);

Этап II. Улучшение опорного плана.

Проверим оптимальность опорного плана. Найдем предварительные потенциалы ui, vi. по занятым клеткам таблицы, в которых ui + vi = cij, полагая, что u1 = 0.

u1 + v1 = 23; 0 + v1 = 23; v1 = 23

u1 + v2 = 46; 0 + v2 = 46; v2 = 46

u7 + v2 = 2; 46 + u7 = 2; u7 = -44

u1 + v3 = 40; 0 + v3 = 40; v3 = 40

u5 + v3 = 1; 40 + u5 = 1; u5 = -39

u1 + v4 = 15; 0 + v4 = 15; v4 = 15

u4 + v4 = 3; 15 + u4 = 3; u4 = -12

u1 + v5 = 22; 0 + v5 = 22; v5 = 22

u8 + v5 = 9; 22 + u8 = 9; u8 = -13

u1 + v6 = 9; 0 + v6 = 9; v6 = 9

u3 + v6 = 3; 9 + u3 = 3; u3 = -6

u1 + v7 = 37; 0 + v7 = 37; v7 = 37

u2 + v7 = 14; 37 + u2 = 14; u2 = -23

u1 + v8 = 37; 0 + v8 = 37; v8 = 37

u6 + v8 = 11; 37 + u6 = 11; u6 = -26

 

v1=23

v2=46

v3=40

v4=15

v5=22

v6=9

v7=37

v8=37

u1=0

23[1]

46[0]

40[0]

15[0]

22[0]

9[0]

37[0]

37[0]

u2=-23

23

26

5

29

36

38

14[1]

40

u3=-6

12

38

29

33

22

3[1]

49

49

u4=-12

34

48

10

3[1]

21

17

48

13

u5=-39

16

34

1[1]

43

32

40

11

19

u6=-26

26

25

25

9

16

5

48

11[1]

u7=-44

10

2[1]

37

18

11

18

39

45

u8=-13

24

41

36

33

9[1]

35

47

39

Опорный план не является оптимальным, так как существуют оценки свободных клеток, для которых ui + vi > cij

(2;3): -23 + 40 > 5; ∆23 = -23 + 40 - 5 = 12

(3;1): -6 + 23 > 12; ∆31 = -6 + 23 - 12 = 5

(3;2): -6 + 46 > 38; ∆32 = -6 + 46 - 38 = 2

(3;3): -6 + 40 > 29; ∆33 = -6 + 40 - 29 = 5

(4;3): -12 + 40 > 10; ∆43 = -12 + 40 - 10 = 18

(4;8): -12 + 37 > 13; ∆48 = -12 + 37 - 13 = 12

max(12,5,2,5,18,12) = 18

Выбираем максимальную оценку свободной клетки (4;3): 10

Для этого в перспективную клетку (4;3) поставим знак «+», а в остальных вершинах многоугольника чередующиеся знаки «-», «+», «-».

 

1

2

3

4

5

6

7

8

 

1

23[1]

46[0]

40[0][-]

15[0][+]

22[0]

9[0]

37[0]

37[0]

1

2

23

26

5

29

36

38

14[1]

40

1

3

12

38

29

33

22

3[1]

49

49

1

4

34

48

10[+]

3[1][-]

21

17

48

13

1

5

16

34

1[1]

43

32

40

11

19

1

6

26

25

25

9

16

5

48

11[1]

1

7

10

2[1]

37

18

11

18

39

45

1

8

24

41

36

33

9[1]

35

47

39

1

 

1

1

1

1

1

1

1

1

 

Цикл приведен в таблице (4,3; 4,4; 1,4; 1,3; ).

Из грузов хij стоящих в минусовых клетках, выбираем наименьшее, т.е. у = min (1, 3) = 0. Прибавляем 0 к объемам грузов, стоящих в плюсовых клетках и вычитаем 0 из Хij, стоящих в минусовых клетках. В результате получим новый опорный план.

 

1

2

3

4

5

6

7

8

 

1

23[1]

46[0]

40

15[0]

22[0]

9[0]

37[0]

37[0]

1

2

23

26

5

29

36

38

14[1]

40

1

3

12

38

29

33

22

3[1]

49

49

1

4

34

48

10[0]

3[1]

21

17

48

13

1

5

16

34

1[1]

43

32

40

11

19

1

6

26

25

25

9

16

5

48

11[1]

1

7

10

2[1]

37

18

11

18

39

45

1

8

24

41

36

33

9[1]

35

47

39

1

 

1

1

1

1

1

1

1

1

 

Проверим оптимальность опорного плана. Найдем предварительные потенциалы ui, vi. по занятым клеткам таблицы, в которых ui + vi = cij, полагая, что u1 = 0.

u1 + v1 = 23; 0 + v1 = 23; v1 = 23

u1 + v2 = 46; 0 + v2 = 46; v2 = 46

u7 + v2 = 2; 46 + u7 = 2; u7 = -44

u1 + v4 = 15; 0 + v4 = 15; v4 = 15

u4 + v4 = 3; 15 + u4 = 3; u4 = -12

u4 + v3 = 10; -12 + v3 = 10; v3 = 22

u5 + v3 = 1; 22 + u5 = 1; u5 = -21

u1 + v5 = 22; 0 + v5 = 22; v5 = 22

u8 + v5 = 9; 22 + u8 = 9; u8 = -13

u1 + v6 = 9; 0 + v6 = 9; v6 = 9

u3 + v6 = 3; 9 + u3 = 3; u3 = -6

u1 + v7 = 37; 0 + v7 = 37; v7 = 37

u2 + v7 = 14; 37 + u2 = 14; u2 = -23

u1 + v8 = 37; 0 + v8 = 37; v8 = 37

u6 + v8 = 11; 37 + u6 = 11; u6 = -26

 

v1=23

v2=46

v3=22

v4=15

v5=22

v6=9

v7=37

v8=37

u1=0

23[1]

46[0]

40

15[0]

22[0]

9[0]

37[0]

37[0]

u2=-23

23

26

5

29

36

38

14[1]

40

u3=-6

12

38

29

33

22

3[1]

49

49

u4=-12

34

48

10[0]

3[1]

21

17

48

13

u5=-21

16

34

1[1]

43

32

40

11

19

u6=-26

26

25

25

9

16

5

48

11[1]

u7=-44

10

2[1]

37

18

11

18

39

45

u8=-13

24

41

36

33

9[1]

35

47

39

Опорный план не является оптимальным, так как существуют оценки свободных клеток, для которых ui + vi > cij

(3;1): -6 + 23 > 12; ∆31 = -6 + 23 - 12 = 5

(3;2): -6 + 46 > 38; ∆32 = -6 + 46 - 38 = 2

(4;8): -12 + 37 > 13; ∆48 = -12 + 37 - 13 = 12

(5;7): -21 + 37 > 11; ∆57 = -21 + 37 - 11 = 5

max(5,2,12,5) = 12

Выбираем максимальную оценку свободной клетки (4;8): 13

Для этого в перспективную клетку (4;8) поставим знак «+», а в остальных вершинах многоугольника чередующиеся знаки «-», «+», «-».

 

1

2

3

4

5

6

7

8

 

1

23[1]

46[0]

40

15[0][+]

22[0]

9[0]

37[0]

37[0][-]

1

2

23

26

5

29

36

38

14[1]

40

1

3

12

38

29

33

22

3[1]

49

49

1

4

34

48

10[0]

3[1][-]

21

17

48

13[+]

1

5

16

34

1[1]

43

32

40

11

19

1

6

26

25

25

9

16

5

48

11[1]

1

7

10

2[1]

37

18

11

18

39

45

1

8

24

41

36

33

9[1]

35

47

39

1

 

1

1

1

1

1

1

1

1

 

Цикл приведен в таблице (4,8; 4,4; 1,4; 1,8; ).

Из грузов хij стоящих в минусовых клетках, выбираем наименьшее, т.е. у = min (1, 8) = 0. Прибавляем 0 к объемам грузов, стоящих в плюсовых клетках и вычитаем 0 из Хij, стоящих в минусовых клетках. В результате получим новый опорный план.

 

1

2

3

4

5

6

7

8

Запасы

1

23[1]

46[0]

40

15[0]

22[0]

9[0]

37[0]

37

1

2

23

26

5

29

36

38

14[1]

40

1

3

12

38

29

33

22

3[1]

49

49

1

4

34

48

10[0]

3[1]

21

17

48

13[0]

1

5

16

34

1[1]

43

32

40

11

19

1

6

26

25

25

9

16

5

48

11[1]

1

7

10

2[1]

37

18

11

18

39

45

1

8

24

41

36

33

9[1]

35

47

39

1

Потребности

1

1

1

1

1

1

1

1

 

Проверим оптимальность опорного плана. Найдем предварительные потенциалы ui, vi. по занятым клеткам таблицы, в которых ui + vi = cij, полагая, что u1 = 0.

u1 + v1 = 23; 0 + v1 = 23; v1 = 23

u1 + v2 = 46; 0 + v2 = 46; v2 = 46

u7 + v2 = 2; 46 + u7 = 2; u7 = -44

u1 + v4 = 15; 0 + v4 = 15; v4 = 15

u4 + v4 = 3; 15 + u4 = 3; u4 = -12

u4 + v3 = 10; -12 + v3 = 10; v3 = 22

u5 + v3 = 1; 22 + u5 = 1; u5 = -21

u4 + v8 = 13; -12 + v8 = 13; v8 = 25

u6 + v8 = 11; 25 + u6 = 11; u6 = -14

u1 + v5 = 22; 0 + v5 = 22; v5 = 22

u8 + v5 = 9; 22 + u8 = 9; u8 = -13

u1 + v6 = 9; 0 + v6 = 9; v6 = 9

u3 + v6 = 3; 9 + u3 = 3; u3 = -6

u1 + v7 = 37; 0 + v7 = 37; v7 = 37

u2 + v7 = 14; 37 + u2 = 14; u2 = -23

 

v1=23

v2=46

v3=22

v4=15

v5=22

v6=9

v7=37

v8=25

u1=0

23[1]

46[0]

40

15[0]

22[0]

9[0]

37[0]

37

u2=-23

23

26

5

29

36

38

14[1]

40

u3=-6

12

38

29

33

22

3[1]

49

49

u4=-12

34

48

10[0]

3[1]

21

17

48

13[0]

u5=-21

16

34

1[1]

43

32

40

11

19

u6=-14

26

25

25

9

16

5

48

11[1]

u7=-44

10

2[1]

37

18

11

18

39

45

u8=-13

24

41

36

33

9[1]

35

47

39

Опорный план не является оптимальным, так как существуют оценки свободных клеток, для которых ui + vi > cij

(3;1): -6 + 23 > 12; ∆31 = -6 + 23 - 12 = 5

(3;2): -6 + 46 > 38; ∆32 = -6 + 46 - 38 = 2

(5;7): -21 + 37 > 11; ∆57 = -21 + 37 - 11 = 5

(6;2): -14 + 46 > 25; ∆62 = -14 + 46 - 25 = 7

max(5,2,5,7) = 7

Выбираем максимальную оценку свободной клетки (6;2): 25

Для этого в перспективную клетку (6;2) поставим знак «+», а в остальных вершинах многоугольника чередующиеся знаки «-», «+», «-».

 

1

2

3

4

5

6

7

8

Запасы

1

23[1]

46[0][-]

40

15[0][+]

22[0]

9[0]

37[0]

37

1

2

23

26

5

29

36

38

14[1]

40

1

3

12

38

29

33

22

3[1]

49

49

1

4

34

48

10[0]

3[1][-]

21

17

48

13[0][+]

1

5

16

34

1[1]

43

32

40

11

19

1

6

26

25[+]

25

9

16

5

48

11[1][-]

1

7

10

2[1]

37

18

11

18

39

45

1

8

24

41

36

33

9[1]

35

47

39

1

Потребности

1

1

1

1

1

1

1

1

 

Цикл приведен в таблице (6,2; 6,8; 4,8; 4,4; 1,4; 1,2; ).

Из грузов хij стоящих в минусовых клетках, выбираем наименьшее, т.е. у = min (1, 2) = 0. Прибавляем 0 к объемам грузов, стоящих в плюсовых клетках и вычитаем 0 из Хij, стоящих в минусовых клетках. В результате получим новый опорный план.

 

1

2

3

4

5

6

7

8

 

1

23[1]

46

40

15[0]

22[0]

9[0]

37[0]

37

1

2

23

26

5

29

36

38

14[1]

40

1

3

12

38

29

33

22

3[1]

49

49

1

4

34

48

10[0]

3[1]

21

17

48

13[0]

1

5

16

34

1[1]

43

32

40

11

19

1

6

26

25[0]

25

9

16

5

48

11[1]

1

7

10

2[1]

37

18

11

18

39

45

1

8

24

41

36

33

9[1]

35

47

39

1

 

1

1

1

1

1

1

1

1

 

Проверим оптимальность опорного плана. Найдем предварительные потенциалы ui, vi. по занятым клеткам таблицы, в которых ui + vi = cij, полагая, что u1 = 0.

u1 + v1 = 23; 0 + v1 = 23; v1 = 23

u1 + v4 = 15; 0 + v4 = 15; v4 = 15

u4 + v4 = 3; 15 + u4 = 3; u4 = -12

u4 + v3 = 10; -12 + v3 = 10; v3 = 22

u5 + v3 = 1; 22 + u5 = 1; u5 = -21

u4 + v8 = 13; -12 + v8 = 13; v8 = 25

u6 + v8 = 11; 25 + u6 = 11; u6 = -14

u6 + v2 = 25; -14 + v2 = 25; v2 = 39

u7 + v2 = 2; 39 + u7 = 2; u7 = -37

u1 + v5 = 22; 0 + v5 = 22; v5 = 22

u8 + v5 = 9; 22 + u8 = 9; u8 = -13

u1 + v6 = 9; 0 + v6 = 9; v6 = 9

u3 + v6 = 3; 9 + u3 = 3; u3 = -6

u1 + v7 = 37; 0 + v7 = 37; v7 = 37

u2 + v7 = 14; 37 + u2 = 14; u2 = -23

 

v1=23

v2=39

v3=22

v4=15

v5=22

v6=9

v7=37

v8=25

u1=0

23[1]

46

40

15[0]

22[0]

9[0]

37[0]

37

u2=-23

23

26

5

29

36

38

14[1]

40

u3=-6

12

38

29

33

22

3[1]

49

49

u4=-12

34

48

10[0]

3[1]

21

17

48

13[0]

u5=-21

16

34

1[1]

43

32

40

11

19

u6=-14

26

25[0]

25

9

16

5

48

11[1]

u7=-37

10

2[1]

37

18

11

18

39

45

u8=-13

24

41

36

33

9[1]

35

47

39

Опорный план не является оптимальным, так как существуют оценки свободных клеток, для которых ui + vi > cij

(3;1): -6 + 23 > 12; ∆31 = -6 + 23 - 12 = 5

(5;7): -21 + 37 > 11; ∆57 = -21 + 37 - 11 = 5

max(5,5) = 5

Выбираем максимальную оценку свободной клетки (3;1): 12

Для этого в перспективную клетку (3;1) поставим знак «+», а в остальных вершинах многоугольника чередующиеся знаки «-», «+», «-».

 

1

2

3

4

5

6

7

8

 

1

23[1][-]

46

40

15[0]

22[0]

9[0][+]

37[0]

37

1

2

23

26

5

29

36

38

14[1]

40

1

3

12[+]

38

29

33

22

3[1][-]

49

49

1

4

34

48

10[0]

3[1]

21

17

48

13[0]

1

5

16

34

1[1]

43

32

40

11

19

1

6

26

25[0]

25

9

16

5

48

11[1]

1

7

10

2[1]

37

18

11

18

39

45

1

8

24

41

36

33

9[1]

35

47

39

1

 

1

1

1

1

1

1

1

1

 

Цикл приведен в таблице (3,1; 3,6; 1,6; 1,1; ).

Из грузов хij стоящих в минусовых клетках, выбираем наименьшее, т.е. у = min (3, 6) = 1. Прибавляем 1 к объемам грузов, стоящих в плюсовых клетках и вычитаем 1 из Хij, стоящих в минусовых клетках. В результате получим новый опорный план.

 

1

2

3

4

5

6

7

8

 

1

23[0]

46

40

15[0]

22[0]

9[1]

37[0]

37

1

2

23

26

5

29

36

38

14[1]

40

1

3

12[1]

38

29

33

22

3

49

49

1

4

34

48

10[0]

3[1]

21

17

48

13[0]

1

5

16

34

1[1]

43

32

40

11

19

1

6

26

25[0]

25

9

16

5

48

11[1]

1

7

10

2[1]

37

18

11

18

39

45

1

8

24

41

36

33

9[1]

35

47

39

1

 

1

1

1

1

1

1

1

1

 

Проверим оптимальность опорного плана. Найдем предварительные потенциалы ui, vi. по занятым клеткам таблицы, в которых ui + vi = cij, полагая, что u1 = 0.

u1 + v1 = 23; 0 + v1 = 23; v1 = 23

u3 + v1 = 12; 23 + u3 = 12; u3 = -11

u1 + v4 = 15; 0 + v4 = 15; v4 = 15

u4 + v4 = 3; 15 + u4 = 3; u4 = -12

u4 + v3 = 10; -12 + v3 = 10; v3 = 22

u5 + v3 = 1; 22 + u5 = 1; u5 = -21

u4 + v8 = 13; -12 + v8 = 13; v8 = 25

u6 + v8 = 11; 25 + u6 = 11; u6 = -14

u6 + v2 = 25; -14 + v2 = 25; v2 = 39

u7 + v2 = 2; 39 + u7 = 2; u7 = -37

u1 + v5 = 22; 0 + v5 = 22; v5 = 22

u8 + v5 = 9; 22 + u8 = 9; u8 = -13

u1 + v6 = 9; 0 + v6 = 9; v6 = 9

u1 + v7 = 37; 0 + v7 = 37; v7 = 37

u2 + v7 = 14; 37 + u2 = 14; u2 = -23

 

v1=23

v2=39

v3=22

v4=15

v5=22

v6=9

v7=37

v8=25

u1=0

23[0]

46

40

15[0]

22[0]

9[1]

37[0]

37

u2=-23

23

26

5

29

36

38

14[1]

40

u3=-11

12[1]

38

29

33

22

3

49

49

u4=-12

34

48

10[0]

3[1]

21

17

48

13[0]

u5=-21

16

34

1[1]

43

32

40

11

19

u6=-14

26

25[0]

25

9

16

5

48

11[1]

u7=-37

10

2[1]

37

18

11

18

39

45

u8=-13

24

41

36

33

9[1]

35

47

39

Опорный план не является оптимальным, так как существуют оценки свободных клеток, для которых ui + vi > cij

(5;7): -21 + 37 > 11; ∆57 = -21 + 37 - 11 = 5

Выбираем максимальную оценку свободной клетки (5;7): 11

Для этого в перспективную клетку (5;7) поставим знак «+», а в остальных вершинах многоугольника чередующиеся знаки «-», «+», «-».

 

1

2

3

4

5

6

7

8

 

1

23[0]

46

40

15[0][+]

22[0]

9[1]

37[0][-]

37

1

2

23

26

5

29

36

38

14[1]

40

1

3

12[1]

38

29

33

22

3

49

49

1

4

34

48

10[0][+]

3[1][-]

21

17

48

13[0]

1

5

16

34

1[1][-]

43

32

40

11[+]

19

1

6

26

25[0]

25

9

16

5

48

11[1]

1

7

10

2[1]

37

18

11

18

39

45

1

8

24

41

36

33

9[1]

35

47

39

1

 

1

1

1

1

1

1

1

1

 

Цикл приведен в таблице (5,7; 5,3; 4,3; 4,4; 1,4; 1,7; ).

Из грузов хij стоящих в минусовых клетках, выбираем наименьшее, т.е. у = min (1, 7) = 0. Прибавляем 0 к объемам грузов, стоящих в плюсовых клетках и вычитаем 0 из Хij, стоящих в минусовых клетках. В результате получим новый опорный план.

 

1

2

3

4

5

6

7

8

 

1

23[0]

46

40

15[0]

22[0]

9[1]

37

37

1

2

23

26

5

29

36

38

14[1]

40

1

3

12[1]

38

29

33

22

3

49

49

1

4

34

48

10[0]

3[1]

21

17

48

13[0]

1

5

16

34

1[1]

43

32

40

11[0]

19

1

6

26

25[0]

25

9

16

5

48

11[1]

1

7

10

2[1]

37

18

11

18

39

45

1

8

24

41

36

33

9[1]

35

47

39

1

 

1

1

1

1

1

1

1

1

 

Проверим оптимальность опорного плана. Найдем предварительные потенциалы ui, vi. по занятым клеткам таблицы, в которых ui + vi = cij, полагая, что u1 = 0.

u1 + v1 = 23; 0 + v1 = 23; v1 = 23

u3 + v1 = 12; 23 + u3 = 12; u3 = -11

u1 + v4 = 15; 0 + v4 = 15; v4 = 15

u4 + v4 = 3; 15 + u4 = 3; u4 = -12

u4 + v3 = 10; -12 + v3 = 10; v3 = 22

u5 + v3 = 1; 22 + u5 = 1; u5 = -21

u5 + v7 = 11; -21 + v7 = 11; v7 = 32

u2 + v7 = 14; 32 + u2 = 14; u2 = -18

u4 + v8 = 13; -12 + v8 = 13; v8 = 25

u6 + v8 = 11; 25 + u6 = 11; u6 = -14

u6 + v2 = 25; -14 + v2 = 25; v2 = 39

u7 + v2 = 2; 39 + u7 = 2; u7 = -37

u1 + v5 = 22; 0 + v5 = 22; v5 = 22

u8 + v5 = 9; 22 + u8 = 9; u8 = -13

u1 + v6 = 9; 0 + v6 = 9; v6 = 9

 

v1=23

v2=39

v3=22

v4=15

v5=22

v6=9

v7=32

v8=25

u1=0

23[0]

46

40

15[0]

22[0]

9[1]

37

37

u2=-18

23

26

5

29

36

38

14[1]

40

u3=-11

12[1]

38

29

33

22

3

49

49

u4=-12

34

48

10[0]

3[1]

21

17

48

13[0]

u5=-21

16

34

1[1]

43

32

40

11[0]

19

u6=-14

26

25[0]

25

9

16

5

48

11[1]

u7=-37

10

2[1]

37

18

11

18

39

45

u8=-13

24

41

36

33

9[1]

35

47

39

Опорный план является оптимальным, так все оценки свободных клеток удовлетворяют условию ui + vi <= cij.

F(x) = 9*1 + 14*1 + 12*1 + 3*1 + 1*1 + 11*1 + 2*1 + 9*1  = 61

загрузка...