Вы находитесь на странице: 1из 13

Транспортная задача.

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


F = ∑∑cijxij, (1)
при условиях:
∑xij = ai, i = 1,2,…, m, (2)
∑xij = bj, j = 1,2,…, n, (3)
xij ≥ 0
Запишем экономико-математическую модель для нашей задачи.
Переменные:
x11 – количество груза из 1-го склада в 1-й магазин
x12 – количество груза из 1-го склада в 2-й магазин
x13 – количество груза из 1-го склада в 3-й магазин
x14 – количество груза из 1-го склада в 4-й магазин
x21 – количество груза из 2-го склада в 1-й магазин
x22 – количество груза из 2-го склада в 2-й магазин
x23 – количество груза из 2-го склада в 3-й магазин
x24 – количество груза из 2-го склада в 4-й магазин
x31 – количество груза из 3-го склада в 1-й магазин
x32 – количество груза из 3-го склада в 2-й магазин
x33 – количество груза из 3-го склада в 3-й магазин
x34 – количество груза из 3-го склада в 4-й магазин
Ограничения по запасам:
x11 + x12 + x13 + x14 ≤ 20
x21 + x22 + x23 + x24 ≤ 40
x31 + x32 + x33 + x34 ≤ 30
Ограничения по потребностям:
x11 + x21 + x31 ≥ 10
x12 + x22 + x32 ≥ 20
x13 + x23 + x33 ≥ 30
x14 + x24 + x34 ≥ 40
Целевая функция:
3x11 + 7x12 + 6x13 + 5x14 + 11x21 + 8x22 + 7x23 + 13x24 + 12x31 + 10x32 + 9x33 + 7x34 → min

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


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

1 2 3 4 Запас
ы
1 3 7 6 5 20
2 11 8 7 13 40
3 12 10 9 7 30
Потре 10 20 30 40
бност
и

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


∑a = 20 + 40 + 30 = 90
∑b = 10 + 20 + 30 + 40 = 100
Как видно, суммарная потребность груза в пунктах назначения превышает запасы
груза на базах. Следовательно, модель исходной транспортной задачи является открытой.
Чтобы получить закрытую модель, введем дополнительную (фиктивную) базу с запасом
груза, равным 10 (90—100). Тарифы перевозки единицы груза из базы во все магазины
полагаем равны нулю.
Занесем исходные данные в распределительную таблицу.

1 2 3 4 Запас
ы
1 3 7 6 5 20
2 11 8 7 13 40
3 12 10 9 7 30
4 0 0 0 0 10
Потре 10 20 30 40
бност
и

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


1. Используя метод северо-западного угла, построим первый опорный план
транспортной задачи.
План начинается заполняться с верхнего левого угла.
Искомый элемент равен 3
Для этого элемента запасы равны 20, потребности 10. Поскольку минимальным
является 10, то вычитаем его.
x11 = min(20,10) = 10.

3 7 6 5 20 - 10
= 10
x 8 7 13 40
x 10 9 7 30
x 0 0 0 10
10 - 10 20 30 40 0
=0

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


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

3 7 x x 10 - 10
=0
x 8 7 13 40
x 10 9 7 30
x 0 0 0 10
0 20 - 10 30 40 0
= 10

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


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

3 7 x x 0
x 8 7 13 40 - 10
= 30
x x 9 7 30
x x 0 0 10
0 10 - 10 30 40 0
=0

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


Для этого элемента запасы равны 30, потребности 30. Поскольку минимальным
является 30, то вычитаем его.
x23 = min(30,30) = 30.

3 7 x x 0
x 8 7 x 30 - 30
=0
x x x 7 30
x x x 0 10
0 0 30 - 30 40 0
=0

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


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

3 7 x x 0
x 8 7 x 0
x x x 7 30 - 30
=0
x x x 0 10
0 0 0 40 - 30 0
= 10

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


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

3 7 x x 0
x 8 7 x 0
x x x 7 0
x x x 0 10 - 10
=0
0 0 0 10 - 10 0
=0

1 2 3 Запас 4
ы
1 3[10] 7[10] 6 5 20
2 11 8[10] 7[30] 13 40
3 12 10 9 7[30] 30
4 0 0 0 0[10] 10
Потре 10 20 30 40
бност
и
2. Подсчитаем число занятых клеток таблицы, их 6, а должно быть m + n - 1 = 7.
Следовательно, опорный план является вырожденным.

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


Значение целевой функции для этого опорного плана равно:
F(x) = 3*10 + 7*10 + 8*10 + 7*30 + 7*30 + 0*10 = 600
Искомый элемент равен 7
Для этого элемента запасы равны 20, потребности 20. Поскольку минимальным
является 20, то вычитаем его.
x12 = min(20,20) = 20.

x 7 x x 20 - 20
=0
11 x 7 13 40
12 x 9 7 30
0 x 0 0 10
10 20 - 20 30 40 0
=0

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


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

x 7 x x 0
11 x 7 13 40 - 10
= 30
x x 9 7 30
x x 0 0 10
10 - 10 0 30 40 0
=0

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


Для этого элемента запасы равны 30, потребности 30. Поскольку минимальным
является 30, то вычитаем его.
x23 = min(30,30) = 30.

x 7 x x 0
11 x 7 x 30 - 30
=0
x x x 7 30
x x x 0 10
0 0 30 - 30 40 0
=0

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


Для этого элемента запасы равны 30, потребности 40. Поскольку минимальным
является 30, то вычитаем его.
x34 = min(30,40) = 30.
x 7 x x 0
11 x 7 x 0
x x x 7 30 - 30
=0
x x x 0 10
0 0 0 40 - 30 0
= 10

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


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

x 7 x x 0
11 x 7 x 0
x x x 7 0
x x x 0 10 - 10
=0
0 0 0 10 - 10 0
=0

1 2 3 4
Запас
ы
1 3 7[20] 6 5 20
2 11[10] 8 7[30] 13 40
3 12 10 9 7[30] 30
4 0 0 0 0[10] 10
Потре 10 20 30 40
бност
и
2. Подсчитаем число занятых клеток таблицы, их 5, а должно быть m + n - 1 = 7.
Следовательно, опорный план является вырожденным.

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


Значение целевой функции для этого опорного плана равно:
F(x) = 7*20 + 11*10 + 7*30 + 7*30 + 0*10 = 670
Искомый элемент равен 6
Для этого элемента запасы равны 20, потребности 30. Поскольку минимальным
является 20, то вычитаем его.
x13 = min(20,30) = 20.

x x 6 x 20 - 20
=0
11 8 7 13 40
12 10 9 7 30
0 0 0 0 10
10 20 30 - 20 40 0
= 10

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


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

x x 6 x 0
11 8 7 13 40 - 10
= 30
x 10 9 7 30
x 0 0 0 10
10 - 10 20 10 40 0
=0

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


Для этого элемента запасы равны 30, потребности 20. Поскольку минимальным
является 20, то вычитаем его.
x22 = min(30,20) = 20.

x x 6 x 0
11 8 7 13 30 - 20
= 10
x x 9 7 30
x x 0 0 10
0 20 - 20 10 40 0
=0

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


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

x x 6 x 0
11 8 7 x 10 - 10
=0
x x x 7 30
x x x 0 10
0 0 10 - 10 40 0
=0

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


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

x x 6 x 0
11 8 7 x 0
x x x 7 30 - 30
=0
x x x 0 10
0 0 0 40 - 30 0
= 10
Искомый элемент равен 0
Для этого элемента запасы равны 10, потребности 10. Поскольку минимальным
является 10, то вычитаем его.
x44 = min(10,10) = 10.

x x 6 x 0
11 8 7 x 0
x x x 7 0
x x x 0 10 - 10
=0
0 0 0 10 - 10 0
=0

1 2 3 Запас4
ы
1 3 7 6[20] 5 20
2 11[10] 8[20] 7[10] 13 40
3 12 10 9 7[30] 30
4 0 0 0 0[10] 10
Потре 10 20 30 40
бност
и
2. Подсчитаем число занятых клеток таблицы, их 6, а должно быть m + n - 1 = 7.
Следовательно, опорный план является вырожденным.

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


Значение целевой функции для этого опорного плана равно:
F(x) = 6*20 + 11*10 + 8*20 + 7*10 + 7*30 + 0*10 = 670
Искомый элемент равен 5
Для этого элемента запасы равны 20, потребности 40. Поскольку минимальным
является 20, то вычитаем его.
x14 = min(20,40) = 20.

x x x 5 20 - 20
=0
11 8 7 13 40
12 10 9 7 30
0 0 0 0 10
10 20 30 40 - 20 0
= 20

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


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

x x x 5 0
11 8 7 13 40 - 10
= 30
x 10 9 7 30
x 0 0 0 10
10 - 10 20 30 20 0
=0

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


Для этого элемента запасы равны 30, потребности 20. Поскольку минимальным
является 20, то вычитаем его.
x22 = min(30,20) = 20.

x x x 5 0
11 8 7 13 30 - 20
= 10
x x 9 7 30
x x 0 0 10
0 20 - 20 30 20 0
=0

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


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

x x x 5 0
11 8 7 x 10 - 10
=0
x x 9 7 30
x x 0 0 10
0 0 30 - 10 20 0
= 20

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


Для этого элемента запасы равны 30, потребности 20. Поскольку минимальным
является 20, то вычитаем его.
x33 = min(30,20) = 20.

x x x 5 0
11 8 7 x 0
x x 9 7 30 - 20
= 10
x x x 0 10
0 0 20 - 20 20 0
=0

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


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

x x x 5 0
11 8 7 x 0
x x 9 7 10 - 10
=0
x x x 0 10
0 0 0 20 - 10 0
= 10

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


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

x x x 5 0
11 8 7 x 0
x x 9 7 0
x x x 0 10 - 10
=0
0 0 0 10 - 10 0
=0

1 2 3 4
Запас
ы
1 3 7 6 5[20] 20
2 11[10] 8[20] 7[10] 13 40
3 12 10 9[20] 7[10] 30
4 0 0 0 0[10] 10
Потре 10 20 30 40
бност
и
В результате получен первый опорный план, который является допустимым, так как
все грузы из баз вывезены, потребность магазинов удовлетворена, а план соответствует
системе ограничений транспортной задачи.

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


Следовательно, опорный план является невырожденным.
Значение целевой функции для этого опорного плана равно:
F(x) = 5*20 + 11*10 + 8*20 + 7*10 + 9*20 + 7*10 + 0*10 = 690
Этап II. Улучшение опорного плана.
Проверим оптимальность опорного плана. Найдем предварительные потенциалы ui,
vj. по занятым клеткам таблицы, в которых ui + vj = cij, полагая, что u1 = 0.
u1 + v4 = 5; 0 + v4 = 5; v4 = 5
u3 + v4 = 7; 5 + u3 = 7; u3 = 2
u3 + v3 = 9; 2 + v3 = 9; v3 = 7
u2 + v3 = 7; 7 + u2 = 7; u2 = 0
u2 + v1 = 11; 0 + v1 = 11; v1 = 11
u2 + v2 = 8; 0 + v2 = 8; v2 = 8
u4 + v4 = 0; 5 + u4 = 0; u4 = -5

v1=11 v2=8 v3=7 v4=5


u1=0 3 7 6 5[20]
u2=0 11[10] 8[20] 7[10] 13
u3=2 12 10 9[20] 7[10]
u4=-5 0 0 0 0[10]
Опорный план не является оптимальным, так как существуют оценки свободных
клеток, для которых ui + vj > cij
(1;1): 0 + 11 > 3; ∆11 = 0 + 11 - 3 = 8
(1;2): 0 + 8 > 7; ∆12 = 0 + 8 - 7 = 1
(1;3): 0 + 7 > 6; ∆13 = 0 + 7 - 6 = 1
(3;1): 2 + 11 > 12; ∆31 = 2 + 11 - 12 = 1
(4;1): -5 + 11 > 0; ∆41 = -5 + 11 - 0 = 6
(4;2): -5 + 8 > 0; ∆42 = -5 + 8 - 0 = 3
(4;3): -5 + 7 > 0; ∆43 = -5 + 7 - 0 = 2
max(8,1,1,1,6,3,2) = 8
Выбираем максимальную оценку свободной клетки (1;1): 3
Для этого в перспективную клетку (1;1) поставим знак «+», а в остальных вершинах
многоугольника чередующиеся знаки «-», «+», «-».

1 2 3 Запас 4
ы
1 3[+] 7 6 5[20] 20
[-]
2 11[10] 8[20] 7[10] 13 40
[-] [+]
3 12 10 9[20] 7[10] 30
[-] [+]
4 0 0 0 0[10] 10
Потре 10 20 30 40
бност
и
Цикл приведен в таблице (1,1 → 1,4 → 3,4 → 3,3 → 2,3 → 2,1).

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

1 2 3 4
Запас
ы
1 3[10] 7 6 5[10] 20
2 11 8[20] 7[20] 13 40
3 12 10 9[10] 7[20] 30
4 0 0 0 0[10] 10
Потре 10 20 30 40
бност
и
Проверим оптимальность опорного плана. Найдем предварительные потенциалы ui,
vj. по занятым клеткам таблицы, в которых ui + vj = cij, полагая, что u1 = 0.

u1 + v1 = 3; 0 + v1 = 3; v1 = 3
u1 + v4 = 5; 0 + v4 = 5; v4 = 5
u3 + v4 = 7; 5 + u3 = 7; u3 = 2
u3 + v3 = 9; 2 + v3 = 9; v3 = 7
u2 + v3 = 7; 7 + u2 = 7; u2 = 0
u2 + v2 = 8; 0 + v2 = 8; v2 = 8
u4 + v4 = 0; 5 + u4 = 0; u4 = -5

v1=3 v2=8 v3=7 v4=5


u1=0 3[10] 7 6 5[10]
u2=0 11 8[20] 7[20] 13
u3=2 12 10 9[10] 7[20]
u4=-5 0 0 0 0[10]
Опорный план не является оптимальным, так как существуют оценки свободных
клеток, для которых ui + vj > cij

(1;2): 0 + 8 > 7; ∆12 = 0 + 8 - 7 = 1


(1;3): 0 + 7 > 6; ∆13 = 0 + 7 - 6 = 1
(4;2): -5 + 8 > 0; ∆42 = -5 + 8 - 0 = 3
(4;3): -5 + 7 > 0; ∆43 = -5 + 7 - 0 = 2
max(1,1,3,2) = 3
Выбираем максимальную оценку свободной клетки (4;2): 0
Для этого в перспективную клетку (4;2) поставим знак «+», а в остальных вершинах
многоугольника чередующиеся знаки «-», «+», «-».

1 2 3 4
Запас
ы
1 3[10] 7 6 5[10] 20
2 11 8[20] 7[20] 13 40
[-] [+]
3 12 10 9[10] 7[20] 30
[-] [+]
4 0 0[+] 0 0[10] 10
[-]
Потре 10 20 30 40
бност
и
Цикл приведен в таблице (4,2 → 4,4 → 3,4 → 3,3 → 2,3 → 2,2).

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

1 2 3 4 Запас
ы
1 3[10] 7 6 5[10] 20
2 11 8[10] 7[30] 13 40
3 12 10 9[0] 7[30] 30
4 0 0[10] 0 0 10
Потре 10 20 30 40
бност
и
Проверим оптимальность опорного плана. Найдем предварительные потенциалы ui,
vj. по занятым клеткам таблицы, в которых ui + vj = cij, полагая, что u1 = 0.

u1 + v1 = 3; 0 + v1 = 3; v1 = 3
u1 + v4 = 5; 0 + v4 = 5; v4 = 5
u3 + v4 = 7; 5 + u3 = 7; u3 = 2
u3 + v3 = 9; 2 + v3 = 9; v3 = 7
u2 + v3 = 7; 7 + u2 = 7; u2 = 0
u2 + v2 = 8; 0 + v2 = 8; v2 = 8
u4 + v2 = 0; 8 + u4 = 0; u4 = -8

v1=3 v2=8 v3=7 v4=5


u1=0 3[10] 7 6 5[10]
u2=0 11 8[10] 7[30] 13
u3=2 12 10 9[0] 7[30]
u4=-8 0 0[10] 0 0
Опорный план не является оптимальным, так как существуют оценки свободных
клеток, для которых ui + vj > cij

(1;2): 0 + 8 > 7; ∆12 = 0 + 8 - 7 = 1


(1;3): 0 + 7 > 6; ∆13 = 0 + 7 - 6 = 1
max(1,1) = 1
Выбираем максимальную оценку свободной клетки (1;2): 7
Для этого в перспективную клетку (1;2) поставим знак «+», а в остальных вершинах
многоугольника чередующиеся знаки «-», «+», «-».

1 2 3 4Запас
ы
1 3[10] 7[+] 6 5[10] 20
[-]
2 11 8[10] 7[30] 13 40
[-] [+]
3 12 10 9[0][-] 7[30] 30
[+]
4 0 0[10] 0 0 10
Потре 10 20 30 40
бност
и
Цикл приведен в таблице (1,2 → 1,4 → 3,4 → 3,3 → 2,3 → 2,2).

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

1 2 3 4 Запас
ы
1 3[10] 7[0] 6 5[10] 20
2 11 8[10] 7[30] 13 40
3 12 10 9 7[30] 30
4 0 0[10] 0 0 10
Потре 10 20 30 40
бност
и
Проверим оптимальность опорного плана. Найдем предварительные потенциалы ui,
vj. по занятым клеткам таблицы, в которых ui + vj = cij, полагая, что u1 = 0.

u1 + v1 = 3; 0 + v1 = 3; v1 = 3
u1 + v2 = 7; 0 + v2 = 7; v2 = 7
u2 + v2 = 8; 7 + u2 = 8; u2 = 1
u2 + v3 = 7; 1 + v3 = 7; v3 = 6
u4 + v2 = 0; 7 + u4 = 0; u4 = -7
u1 + v4 = 5; 0 + v4 = 5; v4 = 5
u3 + v4 = 7; 5 + u3 = 7; u3 = 2

v1=3 v2=7 v3=6 v4=5


u1=0 3[10] 7[0] 6 5[10]
u2=1 11 8[10] 7[30] 13
u3=2 12 10 9 7[30]
u4=-7 0 0[10] 0 0
Опорный план является оптимальным, так все оценки свободных клеток
удовлетворяют условию ui + vj ≤ cij.
Минимальные затраты составят: F(x) = 3*10 + 5*10 + 8*10 + 7*30 + 7*30 + 0*10 = 580

Анализ оптимального плана.


Из 1-го склада необходимо груз направить в 1-й магазин (10), в 4-й магазин (10)
Из 2-го склада необходимо груз направить в 2-й магазин (10), в 3-й магазин (30)
Из 3-го склада необходимо весь груз направить в 4-й магазин
Потребность 2-го магазина остается неудовлетворенной на 10 ед.
Оптимальный план является вырожденным, так как базисная переменная x42=0.
Задача имеет множество оптимальных планов, поскольку оценка для (1;2) равна 0.

Решение было получено и оформлено с помощью сервиса:


Решение транспортной задачи
Вместе с этой задачей решают также:
Универсальная транспортная задача
Решение задачи коммивояжера
Решение задачи о назначениях
Расчет сетевого графика
Онлайн сдача дистанционных тестов