Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
EMM.docx
Скачиваний:
11
Добавлен:
17.04.2015
Размер:
157.31 Кб
Скачать
  1. Решение транспортной задачи методом потенциалов

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

Числовые данные задачи представлены в следующей таблице:

Склады

Торговые точки

Объём вывоза, т

Стоимость перевозки 1 т груза, руб

6

6

1

3

2

4

9

4

2

4

1

4

2

7

4

40

150

100

Объём вывоза, т

20

80

90

60

40

290

Математическая модель транспортной задачи:

F = ∑∑cijxij, (1)

при условиях:

∑xij = ai, i = 1,2,…, m, (2)

∑xij = bj, j = 1,2,…, n, (3)

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

1

2

3

4

5

Запас

1

6

3

9

4

2

40

2

6

2

4

1

7

150

3

1

4

2

4

4

100

Потр

20

80

90

60

40

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

∑a = 40 + 150 + 100 = 290

∑b = 20 + 80 + 90 + 60 + 40 = 290

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

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

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

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

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

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

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

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

x24 = min(150,60) = 60.

6

3

9

x

2

40

6

2

4

1

7

150 - 60 = 90

1

4

2

x

4

100

20

80

90

60 - 60 = 0

40

0

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

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

x31 = min(100,20) = 20.

x

3

9

x

2

40

x

2

4

1

7

90

1

4

2

x

4

100 - 20 = 80

20 - 20 = 0

80

90

0

40

0

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

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

x15 = min(40,40) = 40.

x

x

x

x

2

40 - 40 = 0

x

2

4

1

x

90

1

4

2

x

x

80

0

80

90

0

40 - 40 = 0

0

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

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

x22 = min(90,80) = 80.

x

x

x

x

2

0

x

2

4

1

x

90 - 80 = 10

1

x

2

x

x

80

0

80 - 80 = 0

90

0

0

0

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

x33 = min(80,90) = 80.

x

x

x

x

2

0

x

2

4

1

x

10

1

x

2

x

x

80 - 80 = 0

0

0

90 - 80 = 10

0

0

0

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

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

x23 = min(10,10) = 10.

x

x

x

x

2

0

x

2

4

1

x

10 - 10 = 0

1

x

2

x

x

0

0

0

10 - 10 = 0

0

0

0

1

2

3

4

5

Запасы

1

6

3

9

4

2[40]

40

2

6

2[80]

4[10]

1[60]

7

150

3

1[20]

4

2[80]

4

4

100

Потребности

20

80

90

60

40

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

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

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

F(x) = 2*40 + 2*80 + 4*10 + 1*60 + 1*20 + 2*80 = 520

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

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

x31 = min(100,20) = 20.

x

3

9

4

2

40

x

2

4

1

7

150

1

4

2

4

4

100 - 20 = 80

20 - 20 = 0

80

90

60

40

0

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

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

x24 = min(150,60) = 60.

x

3

9

x

2

40

x

2

4

1

7

150 - 60 = 90

1

4

2

x

4

80

0

80

90

60 - 60 = 0

40

0

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

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

x15 = min(40,40) = 40.

x

x

x

x

2

40 - 40 = 0

x

2

4

1

x

90

1

4

2

x

x

80

0

80

90

0

40 - 40 = 0

0

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

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

x22 = min(90,80) = 80.

x

x

x

x

2

0

x

2

4

1

x

90 - 80 = 10

1

x

2

x

x

80

0

80 - 80 = 0

90

0

0

0

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

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

x33 = min(80,90) = 80.

x

x

x

x

2

0

x

2

4

1

x

10

1

x

2

x

x

80 - 80 = 0

0

0

90 - 80 = 10

0

0

0

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

x23 = min(10,10) = 10.

x

x

x

x

2

0

x

2

4

1

x

10 - 10 = 0

1

x

2

x

x

0

0

0

10 - 10 = 0

0

0

0

1

2

3

4

5

Запасы

1

6

3

9

4

2[40]

40

2

6

2[80]

4[10]

1[60]

7

150

3

1[20]

4

2[80]

4

4

100

Потребности

20

80

90

60

40

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

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

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

F(x) = 2*40 + 2*80 + 4*10 + 1*60 + 1*20 + 2*80 = 520

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

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

x15 = min(40,40) = 40.

x

x

x

x

2

40 - 40 = 0

6

2

4

1

x

150

1

4

2

4

x

100

20

80

90

60

40 - 40 = 0

0

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

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

x24 = min(150,60) = 60.

x

x

x

x

2

0

6

2

4

1

x

150 - 60 = 90

1

4

2

x

x

100

20

80

90

60 - 60 = 0

0

0

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

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

x31 = min(100,20) = 20.

x

x

x

x

2

0

x

2

4

1

x

90

1

4

2

x

x

100 - 20 = 80

20 - 20 = 0

80

90

0

0

0

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

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

x22 = min(90,80) = 80.

x

x

x

x

2

0

x

2

4

1

x

90 - 80 = 10

1

x

2

x

x

80

0

80 - 80 = 0

90

0

0

0

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

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

x33 = min(80,90) = 80.

x

x

x

x

2

0

x

2

4

1

x

10

1

x

2

x

x

80 - 80 = 0

0

0

90 - 80 = 10

0

0

0

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

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

x23 = min(10,10) = 10.

x

x

x

x

2

0

x

2

4

1

x

10 - 10 = 0

1

x

2

x

x

0

0

0

10 - 10 = 0

0

0

0

1

2

3

4

5

Запасы

1

6

3

9

4

2[40]

40

2

6

2[80]

4[10]

1[60]

7

150

3

1[20]

4

2[80]

4

4

100

Потребности

20

80

90

60

40

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

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

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

F(x) = 2*40 + 2*80 + 4*10 + 1*60 + 1*20 + 2*80 = 520

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

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

x22 = min(150,80) = 80.

6

x

9

4

2

40

6

2

4

1

7

150 - 80 = 70

1

x

2

4

4

100

20

80 - 80 = 0

90

60

40

0

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

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

x24 = min(70,60) = 60.

6

x

9

x

2

40

6

2

4

1

7

70 - 60 = 10

1

x

2

x

4

100

20

0

90

60 - 60 = 0

40

0

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

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

x31 = min(100,20) = 20.

x

x

9

x

2

40

x

2

4

1

7

10

1

x

2

x

4

100 - 20 = 80

20 - 20 = 0

0

90

0

40

0

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

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

x15 = min(40,40) = 40.

x

x

x

x

2

40 - 40 = 0

x

2

4

1

x

10

1

x

2

x

x

80

0

0

90

0

40 - 40 = 0

0

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

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

x33 = min(80,90) = 80.

x

x

x

x

2

0

x

2

4

1

x

10

1

x

2

x

x

80 - 80 = 0

0

0

90 - 80 = 10

0

0

0

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

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

x23 = min(10,10) = 10.

x

x

x

x

2

0

x

2

4

1

x

10 - 10 = 0

1

x

2

x

x

0

0

0

10 - 10 = 0

0

0

0

1

2

3

4

5

Запасы

1

6

3

9

4

2[40]

40

2

6

2[80]

4[10]

1[60]

7

150

3

1[20]

4

2[80]

4

4

100

Потребности

20

80

90

60

40

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

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

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

F(x) = 2*40 + 2*80 + 4*10 + 1*60 + 1*20 + 2*80 = 520

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

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

x33 = min(100,90) = 90.

6

3

x

4

2

40

6

2

x

1

7

150

1

4

2

4

4

100 - 90 = 10

20

80

90 - 90 = 0

60

40

0

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

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

x24 = min(150,60) = 60.

6

3

x

x

2

40

6

2

x

1

7

150 - 60 = 90

1

4

2

x

4

10

20

80

0

60 - 60 = 0

40

0

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

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

x31 = min(10,20) = 10.

6

3

x

x

2

40

6

2

x

1

7

90

1

x

2

x

x

10 - 10 = 0

20 - 10 = 10

80

0

0

40

0

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

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

x15 = min(40,40) = 40.

x

x

x

x

2

40 - 40 = 0

6

2

x

1

x

90

1

x

2

x

x

0

10

80

0

0

40 - 40 = 0

0

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

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

x22 = min(90,80) = 80.

x

x

x

x

2

0

6

2

x

1

x

90 - 80 = 10

1

x

2

x

x

0

10

80 - 80 = 0

0

0

0

0

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

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

x21 = min(10,10) = 10.

x

x

x

x

2

0

6

2

x

1

x

10 - 10 = 0

1

x

2

x

x

0

10 - 10 = 0

0

0

0

0

0

1

2

3

4

5

Запасы

1

6

3

9

4

2[40]

40

2

6[10]

2[80]

4

1[60]

7

150

3

1[10]

4

2[90]

4

4

100

Потребности

20

80

90

60

40

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

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

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

F(x) = 2*40 + 6*10 + 2*80 + 1*60 + 1*10 + 2*90 = 550

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

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

x12 = min(40,80) = 40.

x

3

x

x

x

40 - 40 = 0

6

2

4

1

7

150

1

4

2

4

4

100

20

80 - 40 = 40

90

60

40

0

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

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

x24 = min(150,60) = 60.

x

3

x

x

x

0

6

2

4

1

7

150 - 60 = 90

1

4

2

x

4

100

20

40

90

60 - 60 = 0

40

0

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

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

x31 = min(100,20) = 20.

x

3

x

x

x

0

x

2

4

1

7

90

1

4

2

x

4

100 - 20 = 80

20 - 20 = 0

40

90

0

40

0

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

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

x22 = min(90,40) = 40.

x

3

x

x

x

0

x

2

4

1

7

90 - 40 = 50

1

x

2

x

4

80

0

40 - 40 = 0

90

0

40

0

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

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

x33 = min(80,90) = 80.

x

3

x

x

x

0

x

2

4

1

7

50

1

x

2

x

x

80 - 80 = 0

0

0

90 - 80 = 10

0

40

0

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

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

x23 = min(50,10) = 10.

x

3

x

x

x

0

x

2

4

1

7

50 - 10 = 40

1

x

2

x

x

0

0

0

10 - 10 = 0

0

40

0

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

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

x25 = min(40,40) = 40.

x

3

x

x

x

0

x

2

4

1

7

40 - 40 = 0

1

x

2

x

x

0

0

0

0

0

40 - 40 = 0

0

1

2

3

4

5

Запасы

1

6

3[40]

9

4

2

40

2

6

2[40]

4[10]

1[60]

7[40]

150

3

1[20]

4

2[80]

4

4

100

Потребности

20

80

90

60

40

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

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

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

F(x) = 3*40 + 2*40 + 4*10 + 1*60 + 7*40 + 1*20 + 2*80 = 760

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

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

u1 + v2 = 3; 0 + v2 = 3; v2 = 3

u2 + v2 = 2; 3 + u2 = 2; u2 = -1

u2 + v3 = 4; -1 + v3 = 4; v3 = 5

u3 + v3 = 2; 5 + u3 = 2; u3 = -3

u3 + v1 = 1; -3 + v1 = 1; v1 = 4

u2 + v4 = 1; -1 + v4 = 1; v4 = 2

u2 + v5 = 7; -1 + v5 = 7; v5 = 8

v1=4

v2=3

v3=5

v4=2

v5=8

u1=0

6

3[40]

9

4

2

u2=-1

6

2[40]

4[10]

1[60]

7[40]

u3=-3

1[20]

4

2[80]

4

4

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

(1;5): 0 + 8 > 2; ∆15 = 0 + 8 - 2 = 6

(3;5): -3 + 8 > 4; ∆35 = -3 + 8 - 4 = 1

max(6,1) = 6

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

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

1

2

3

4

5

Запасы

1

6

3[40][-]

9

4

2[+]

40

2

6

2[40][+]

4[10]

1[60]

7[40][-]

150

3

1[20]

4

2[80]

4

4

100

Потребности

20

80

90

60

40

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

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

1

2

3

4

5

Запасы

1

6

3

9

4

2[40]

40

2

6

2[80]

4[10]

1[60]

7[0]

150

3

1[20]

4

2[80]

4

4

100

Потребности

20

80

90

60

40

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

u1 + v5 = 2; 0 + v5 = 2; v5 = 2

u2 + v5 = 7; 2 + u2 = 7; u2 = 5

u2 + v2 = 2; 5 + v2 = 2; v2 = -3

u2 + v3 = 4; 5 + v3 = 4; v3 = -1

u3 + v3 = 2; -1 + u3 = 2; u3 = 3

u3 + v1 = 1; 3 + v1 = 1; v1 = -2

u2 + v4 = 1; 5 + v4 = 1; v4 = -4

v1=-2

v2=-3

v3=-1

v4=-4

v5=2

u1=0

6

3

9

4

2[40]

u2=5

6

2[80]

4[10]

1[60]

7[0]

u3=3

1[20]

4

2[80]

4

4

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

(3;5): 3 + 2 > 4; ∆35 = 3 + 2 - 4 = 1

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

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

1

2

3

4

5

Запасы

1

6

3

9

4

2[40]

40

2

6

2[80]

4[10][+]

1[60]

7[0][-]

150

3

1[20]

4

2[80][-]

4

4[+]

100

Потребности

20

80

90

60

40

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

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

1

2

3

4

5

Запасы

1

6

3

9

4

2[40]

40

2

6

2[80]

4[10]

1[60]

7

150

3

1[20]

4

2[80]

4

4[0]

100

Потребности

20

80

90

60

40

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

u1 + v5 = 2; 0 + v5 = 2; v5 = 2

u3 + v5 = 4; 2 + u3 = 4; u3 = 2

u3 + v1 = 1; 2 + v1 = 1; v1 = -1

u3 + v3 = 2; 2 + v3 = 2; v3 = 0

u2 + v3 = 4; 0 + u2 = 4; u2 = 4

u2 + v2 = 2; 4 + v2 = 2; v2 = -2

u2 + v4 = 1; 4 + v4 = 1; v4 = -3

v1=-1

v2=-2

v3=0

v4=-3

v5=2

u1=0

6

3

9

4

2[40]

u2=4

6

2[80]

4[10]

1[60]

7

u3=2

1[20]

4

2[80]

4

4[0]

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

Минимальные затраты составят:

F(x) = 2*40 + 2*80 + 4*10 + 1*60 + 1*20 + 2*80 = 520

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]