Uploaded by Alex Mikh

kursovaaya4

advertisement
Министерство науки и высшего образования Российской Федерации
ФГБОУ ВО «Марийский государственный университет»
Институт цифровых технологий
Физико-математический факультет
Кафедра прикладной математики и информатики
КУРСОВАЯ РАБОТА
по дисциплине «Методы оптимизации»
на тему: «Транспортная задача. Метод северо-западного угла»
Научный руководитель:
Доктор пед. наук
Токтарова В. И.
Выполнил: студент ФМФ ПИ–33
Ф.В. Авдеев
Йошкар-Ола
2021г.
Содержание
Введение ................................................................................................................... 3
1 Общая характеристика транспортной задачи.................................................... 5
1.1 Постановка задачи......................................................................................... 5
1.2 Математическая модель ............................................................................... 6
1.3 Определение опорного плана. Предварительные сведения ..................... 8
2 Разбор задачи ........................................................................................................ 9
2.1 Начальные сведения...................................................................................... 9
2.2 Решение задачи.............................................................................................. 9
3.3 Программная реализация ........................................................................... 25
Заключение ............................................................................................................ 27
Список литературы ............................................................................................... 28
2
Введение
Под названием “транспортная задача” объединяется широкий круг
задач с единой математической моделью. Данные задачи относятся к задачам
линейного программирования и могут быть решены симплексным методом.
Однако матрица системы ограничений транспортной задачи настолько
своеобразна, что для ее решения разработаны специальные методы. Эти
методы, как и симплексный метод, позволяют найти начальное опорное
решение, а затем, улучшая его, получить оптимальное решение.
В общей постановке транспортная задача состоит в отыскании оптимального плана перевозок некоторого однородного груза с баз потребителям
или как получить наибольший эффект, обладая ограниченными средствами.
Трудно встретить человека, который не сталкивался с такими задачами в
жизни.
Целью
транспортной
задачи
является,
разработка
наиболее
рациональных путей и способов транспортировки товаров, устранение
чрезмерно дальних, встречных и повторных перевозок.
Объектом изучения являются материальные и соответствующие им
финансовые, информационные потоки, сопровождающие производственную
и коммерческую деятельность. Сложный характер развития рыночной
экономики, характеризуется изменением и быстрой сменяемостью условий
экономической
деятельности,
высокими
требованиями
к
методам
планирования и хозяйственной деятельности.
В классической
транспортной
задаче
рассматривают перевозки
(прямые или с промежуточными пунктами) одного или нескольких видов
продукции из исходных пунктов в пункты назначения. Эту задачу можно
изменить, добавив в нее ограничения сверху ни пропускные способности
транспортных коммуникаций.
Данная тема достаточно актуальна, так как модель транспортных задач
используют в разных в разных сферах общества в экономики, в логистики, в
3
программировании и т.д. Сложно найти человека, который не сталкивался с
такими задачами в повседневной жизни.
В данной работе предмет исследования - транспортировка грузов со
склада к заказчикам. Общая формулировка задачи: есть определенное число
товаров на складе, определенное число потребностей товаров заказчиком и
стоимость перевозок.
Объект исследования в данной работе — это метода северо-западного
угла.
Цель исследования изучить алгоритм работы метода северо-западного
угла.
Задачи:
 рассмотреть общую характеристику транспортных задач
 построить математическую модель
 на конкретном примере решить задачу
 написать программу, которая решает это задачу на языке C#
Структура курсовой работы:
 введение – общее сведенья о работе
 общая характеристика транспортных задач
 математическая модель транспортных задач
 разбор задачи и её решения
 программная реализация задачи на языке C#
 заключение – выводы о проделанной работе
4
1 Общая характеристика транспортной задачи
1.1 Постановка задачи
Однородный груз сосредоточен у m поставщиков в объемах a1, a2, ... am.
Данный груз необходимо доставить n потребителям в объемах b 1, b2 ...
bn.
Известны Cij , i=1,2,...m; j=1,2,...n — стоимости перевозки единиц груза
от каждого i-го поставщика каждому j-му потребителю.
Требуется составить такой план перевозок, при котором запасы всех
поставщиков
вывозятся
полностью,
запросы
всех
потребителей
удовлетворяются полностью, и суммарные затраты на перевозку всех грузов
являются минимальными.
Исходные данные транспортной задачи записываются в виде таблицы
(Рисунок 1).
Рисунок 1 – Таблица Исходных данных транспортной задачи
Исходные данные задачи могут быть представлены в виде :

вектора А=(a1,a2,...,am) запасов поставщиков

вектора B=(b1,b2,...,bn) запросов потребителей

матрицы стоимостей по формуле (1).
𝑐11
𝑐21
𝐶=( …
𝑐𝑚1
𝑐12
𝑐22
…
𝑐𝑚2
5
… 𝑐1𝑛
… 𝑐2𝑛
… )
𝑐𝑚𝑛
(1)
1.2 Математическая модель
Переменными (неизвестными) транспортной задачи являются xij,
i=1,2,...,m j=1,2,...,n — объемы перевозок от i-го поставщика каждому j-му
потребителю.
Эти переменные могут быть записаны в виде матрицы перевозок по
формуле (2).
𝑥11
𝑥21
𝑋=( …
𝑥𝑚1
𝑥12
𝑥22
…
𝑥𝑚2
… 𝑥1𝑛
… 𝑥2𝑛
… )
𝑥𝑚𝑛
(2)
Так как произведение Cij*Xij определяет затраты на перевозку груза от
i-го поставщика j-му потребителю, то суммарные затраты на перевозку всех
грузов равны формуле (3).
𝑛
∑𝑚
𝑖=1 ∑𝑗=1 𝑐𝑖𝑗 𝑥𝑖𝑗
(3)
По условию задачи требуется обеспечить минимум суммарных затрат.
Следовательно, целевая функция задачи имеет вид по формуле (4):
𝑛
𝑍(𝑋) = ∑𝑚
𝑖=1 ∑𝑗=1 𝑐𝑖𝑗 𝑥𝑖𝑗 → 𝑚𝑖𝑛
(4)
Система ограничений задачи состоит из двух групп уравнений.
Первая группа из m уравнений описывает тот факт, что запасы всех m
поставщиков вывозятся полностью и имеет вид по формуле (5).
∑𝑛𝑗=1 𝑥𝑖𝑗 = 𝑎, 𝑖 = 1, 2, … , 𝑚.
6
(5)
Вторая группа из n уравнений выражает требование удовлетворить
запросы всех n потребителей полностью и имеет вид формуле (6).
∑𝑚
𝑗=1 𝑥𝑖𝑗 = 𝑎, 𝑖 = 1, 2, … , 𝑛.
(6)
В рассмотренной модели транспортной задачи предполагается, что
суммарные запасы поставщиков равны суммарным запросам потребителей
по формуле (7).
𝑛
∑𝑚
𝑖=1 𝑎𝑖 = ∑𝑗=1 𝑏𝑗
(7)
Такая задача называется задачей с правильным балансом, а модель
задачи закрытой. Если же это равенство не выполняется, то задача
называется задачей с неправильным балансом, а модель задачи — открытой.
Математическая формулировка транспортной задачи такова: найти
переменные задачи X=(xij), i=1,2,...,m; j=1,2,...,n, удовлетворяющие системе
ограничений по формуле (5) и (6)б условиям неотрицательности по формуле
(8) и обеспечивающие минимум целевой функции по формуле (4).
𝑋𝑖𝑗 ≥ 0, 𝑖 = 1,2, … , 𝑚; 𝑗 = 1,2, … , 𝑛.
(8)
Вывод: цель транспортной деятельности считается достигнутой если
найдено оптимально решение.
7
1.3 Определение опорного плана. Предварительные сведения
Опорный план транспортной задачи находим следующим образом. На
каждом шаге в таблице условий задачи заполняем одну клетку, которая
называется занятой. Обозначим через Kij клетку, где I -номер пункта
отправления (строка), j-номер пункта назначения (столбец). Клетку Kij
заполняем так, чтобы удовлетворялись полностью потребности пункта
назначения j, либо обеспечивался полный вывоз груза из пункта отправления
i.
В первом случае временно исключаем из рассмотрения столбец j и
изменяем запас груза пункта отправления i. Во втором случае временно
исключаем строку i и изменяем потребность груза пункта назначения j. Далее
повторяем процедуру с таблицей условий с исключенной строкой или
столбцом.
В m+n−1-ом шаге получаем задачу с одним пунктом отправления и
одним пунктом назначения. Остается свободной одна клетка. Запасы
оставшегося пункта отправления будут равны потребностям пункта
назначения. Заполнив эту клетку заканчиваем m+n−1-ый шаг и получаем
опорный план.
Если на некотором шаге (но не на последнем) потребности очередного
пункта назначения равны запасам пункта отправления, то временно
исключаем из рассмотрения либо столбец, либо строку (только одно из двух).
Тогда либо запасы данного пункта отправления, либо потребности данного
пункта назначения считаем равным нулю. Этот нуль при очередном шаге
записываем в очередную заполняемую клетку. Данный подход обеспечивает
ровно m+n−1 занятых клеток, что обеспечивает возможность проверки
полученного опорного плана на оптимальность и нахождение оптимального
плана.
8
2 Разбор задачи
2.1 Начальные сведения
Решим задачу, даны поставщики с запасами: 14, 66, 33, даны
покупатели с потребностями: 53, 35, 73, даны тарифы перевозок единицы
груза из каждого пункта отправления во все пункты назначения, они
задаются матрицей:
C=
2
3
4
6
8
5
5
4
3
Найти оптимальный план перевозок.
2.2 Решение задачи
Процедура нахождения оптимального плана транспортной задачи
имеет два этапа. На первом этапе находят опорной план транспортной
задачи. Далее последовательно улучшают найденный опорный план до
получения оптимального плана.
Для нахождения первого опорного плана будем использовать – метод
северо-западного угла.
Для определения оптимального плана – метод потенциалов.
Запишем исходные данные транспортной задачи в виде таблицы
(Таблица 1):
Таблица 1 – Таблица исходных данных транспортной задачи
Пункты назначения
Пункты
отправления
B
B
B
A
2
3
4
14
A
6
8
5
66
A
5
4
3
33
1
2
3
1
2
9
Запасы
3
Потребности
53
35
73
Число пунктов отправления m=3, а число пунктов назначения n=3.
Следовательно опорный план задачи определяется числами, стоящими в
m+n−1=3+3−1=5 заполненых клетках таблицы.
Наличие груза у поставщиков равно:
∑ Ai= 14+66+33= 113
Общая потребность в грузе в пунктах назначения равна:
∑ Bi= 53+35+73 =161
∑ Ai<∑ Bi. Модель транспортной задачи является открытой. Чтобы
получить закрытую модель, введем дополнительный пункт отправления A4 c
запасами 161− 113=48. Тарифы перевозки из пункта отправления A4 во все
пункты назначения полагаем равными нулю. В результате получим закрытую
модель транспортной задачи (Таблица 2):
Таблица 2 – Закрытая модель транспортной задачи
Пункты назначения
Пункты
отправления
B
B
B
A
2
3
4
14
A
6
8
5
66
A
5
4
3
33
A
0
0
0
0
Потребности
53
35
73
1
2
3
4
1
2
Запасы
3
Этап I. Нахождение первого опорного плана.
Найдем опорный план задачи методом северно-западного угла.
10
A1≤B1. Следовательно в клетку (A1, B1 ) помещаем число min(A1, B1
)=14. Запасы пункта A1 полностью исчерпаны. Поэтому исключаем из
рассмотрения строку A1 и будем считать потребности пункта B1 равными
53−14=39. Модель транспортной задачи (Таблица 3)
Таблица 3 –Модель транспортной задачи
Пункты назначения
Пункты
отправления
B
B
B
A
2 [14]
3
4
0 [14]
A
6
8
5
66 [66]
A
5
4
3
33 [33]
A
0
0
0
48 [48]
Потребности
39 [53]
35 [35]
73 [73]
161
1
2
3
4
1
2
Запасы
3
A2>B1. Следовательно в клетку (A2, B1) помещаем число min(A2,
B1)=39. Потребности пункта B1 полностью удовлетворены. Поэтому
исключаем из рассмотрения столбец B1 и будем считать запасы пункта A2
равными 66−39=27. Модель транспортной задачи (Таблица 4)
Таблица 4 – Модель транспортной задачи
Пункты
отправления
Пункты назначения
B1
B2
B3
Запасы
A1
2 [14]
3
4
0 [14]
A2
6 [39]
8
5
27 [66]
A3
5
4
3
33 [33]
A4
0
0
0
48 [48]
Потребности 0 [53] 35 [35] 73 [73]
161
A2≤B2. Следовательно в клетку (A2, B2 ) помещаем число min(A2, B2
)=27. Запасы пункта A2 полностью исчерпаны. Поэтому исключаем из
11
рассмотрения строку A2 и будем считать потребности пункта B2 равными
35−27=8. Модель транспортной задачи (Таблица 5)
Таблица 5 –Модель транспортной задачи
Пункты
отправления
Пункты назначения
B1
B2
B3
A1
2 [14]
3
A2
6 [39] 8 [27]
Запасы
4
0 [14]
5
0 [66]
A3
5
4
3
33 [33]
A4
0
0
0
48 [48]
Потребности 0 [53] 8 [35] 73 [73]
161
A3>B2. Следовательно в клетку (A3, B2) помещаем число min(A3,
B2)=8. Потребности пункта B2 полностью удовлетворены. Поэтому
исключаем из рассмотрения столбец B2 и будем считать запасы пункта A3
равными 33−8=25. Модель транспортной задачи (Таблица 6)
Таблица 6 – Модель транспортной задачи
Пункты
отправления
Пункты назначения
B1
B2
B3
A1
2 [14]
3
A2
6 [39] 8 [27]
Запасы
4
0 [14]
5
0 [66]
A3
5
4 [8]
3
25 [33]
A4
0
0
0
48 [48]
Потребности 0 [53] 0 [35] 73 [73]
161
A3≤B3. Следовательно в клетку (A3, B3 ) помещаем число min(A3, B3
)=25. Запасы пункта A3 полностью исчерпаны. Поэтому исключаем из
рассмотрения строку A3 и будем считать потребности пункта B3 равными
73−25=48. Модель транспортной задачи (Таблица 7)
12
Таблица 7 – Модель транспортной задачи
Пункты
отправления
Пункты назначения
B1
B2
B3
A1
2 [14]
3
A2
6 [39] 8 [27]
Запасы
4
0 [14]
5
0 [66]
A3
5
4 [8]
3 [25]
0 [33]
A4
0
0
0
48 [48]
Потребности 0 [53] 0 [35] 48 [73]
161
A4≤B3. Следовательно в клетку (A4, B3 ) помещаем число
min(A4, B3 )=48. Запасы пункта A4 полностью исчерпаны. Поэтому
исключаем из рассмотрения строку A4 и будем считать потребности пункта
B3 равными 48−48=0. Модель транспортной задачи (Таблица 8)
Таблица 8 – Модель транспортной задачи
Пункты назначения
B1
B2
B3
Запасы
A1
2 [14]
4
0 [14]
A2
6 [39] 8 [27]
5
0 [66]
Пункты
отправления
3
A3
5
4 [8]
3 [25]
0 [33]
A4
0
0
0 [48]
0 [48]
Потребности 0 [53] 0 [35] 0 [73]
161
Этап II. Нахождение оптимального решения.
Найдем оптимальный план транспортной задачи методом потенциалов.
Опорный план имеет следующий вид:
X=
14
0
0
39
27
0
0
8
25
0
0
48
13
При этом плане стоимость перевозок вычисляется так:
S=2·14+6·39+8·27+4·8+3·25+0·48=585
Проверяем полученный опорный план на оптимальность. Для этого
находим потенциалы пунктов отправления и назначения. Для заполненных
клеток составляем систему из 6 уравнений с 7 неизвестными:
β1−α1=2
β1−α2=6
β2−α2=8
β2−α3=4
β3−α3=3
β3−α4=0
Полагая α1=0, находим β1=2 α2=-4 β2=4 α3=0 β3=3 α4=3 .
Для каждой свободной клетки вычисляем число αij=βj−αi−cij:
α12=1, α13=-1, α23=2, α31=-3, α41=-1, α42=1.
Полученные
числа
заключаем
в
рамки
и
записываем
их
в
соотвестствующие клетки таблицы Модель транспортной задачи (Таблица 9).
Таблица 9 – Модель транспортной задачи
Пункты
отправления
Пункты назначения
B1
B2
B3
Запасы
A1
2 [14]
3 (1)
4 (-1)
14
A2
6 [39] 8 [27]
5 (2)
66
A3
5 (-3)
4 [8]
3 [25]
33
A4
0 (-1)
0 (1)
0 [48]
48
Потребности
53
35
73
161
Среди чисел αij есть положительные. Следовательно данный опорный
план не является оптимальным. Наибольшее положительное число 2
находится в пересечении строки A2 и столбца B3. Для данной свободной
клетки строим цикл пересчета. Для этого вставим в эту клетку знак "+" а
14
остальные клетки цикла поочередно знаки "−" и "+" Модель транспортной
задачи (Таблица 10).
Таблица 10 – Модель транспортной задачи
Пункты
отправления
Пункты назначения
B1
B2
B3
3 (1)
Запасы
A1
2 [14]
4 (-1)
14
A2
6 [39] 8 [27] - 5 (2) +
66
A3
5 (-3) 4 [8] + 3 [25] -
33
A4
0 (-1)
0 (1)
0 [48]
48
Потребности
53
35
73
161
Наименьшее из чисел в минусовых клетках равно 25. Клетка, в которой
находится это число становится свободной. В новой таблице другие числа
получаются так. Числам, находящимся в плюсовых клетках добавляется 25, а
из чисел, находящихся в минусовых клетках вычитается это число (Таблица
11).
Таблица 11 – Модель транспортной задачи
Пункты
отправления
Пункты назначения
B1
B2
B3
Запасы
A1
2 [14]
3
4
14
A2
6 [39]
8 [2]
5 [25]
66
A3
5
4 [33]
3
33
A4
0
0
0 [48]
48
Потребности
53
35
73
161
Опорный план имеет следующий вид:
X= 14
0
15
0
39
2
25
0
33
0
0
0
48
При этом плане стоимость перевозок вычисляется так:
S=2·14+6·39+8·2+5·25+4·33+0·48= 535
Проверяем полученный опорный план на оптимальность. Для этого
находим потенциалы пунктов отправления и назначения. Для заполненных
клеток составляем систему из 6 уравнений с 7 неизвестными:
β1−α1=2
β1−α2=6
β2−α2=8
β3−α2=5
β2−α3=4
β3−α4=0
Полагая α1=0, находим β1=2 α2=-4 β2=4 β3=1 α3=0 α4=1 .
Для каждой свободной клетки вычисляем число αij=βj−αi−cij:
α12=1, α13=-3, α31=-3, α33=-2, α41=1, α42=3.
Полученные
числа
заключаем
в
рамки
и
записываем
соответствующие клетки таблицы (Таблица 12).
Таблица 12 – Модель транспортной задачи
Пункты
отправления
Пункты назначения
B1
B2
B3
Запасы
A1
2 [14]
3 (1)
4 (-3)
14
A2
6 [39]
8 [2]
5 [25]
66
A3
5 (-3) 4 [33] 3 (-2)
33
A4
0 (1)
0 (3)
0 [48]
48
Потребности
53
35
73
161
16
их
в
Среди чисел αij есть положительные. Следовательно данный опорный
план не является оптимальным. Наибольшее положительное число 3
находится в пересечении строки A4 и столбца B2. Для данной свободной
клетки строим цикл пересчета. Для этого вставим в эту клетку знак "+" а
остальные клетки цикла поочередно знаки "−" и "+" (Таблица 13).
Таблица 13 – Модель транспортной задачи
Пункты
отправления
Пункты назначения
B1
B2
B3
A1
2 [14] 3 (1)
A2
6 [39] 8 [2] - 5 [25] +
66
A3
5 (-3) 4 [33]
33
A4
0 (1) 0 (3) + 0 [48 ] -
Потребности
53
35
4 (-3)
Запасы
3 (-2)
73
14
48
161
Наименьшее из чисел в минусовых клетках равно 2. Клетка, в которой
находится это число становится свободной. В новой таблице другие числа
получаются так. Числам, находящимся в плюсовых клетках добавляется 2, а
из чисел, находящихся в минусовых клентках вычитается это число (Таблица
14).
Таблица 14 – Модель транспортной задачи
Пункты
отправления
Пункты назначения
B1
B2
B3
Запасы
A1
2 [14]
3
4
14
A2
6 [39]
8
5 [27]
66
A3
5
4 [33]
3
33
A4
0
0 [2]
0 [46]
48
Потребности
53
35
73
161
Опорный план имеет следующий вид:
17
X=
14
0
0
39
0
27
0
33
0
0
2
46
При этом плане стоимость перевозок вычисляется так:
S=2·14+6·39+5·27+4·33+0·2+0·46= 529
Проверяем полученный опорный план на оптимальность. Для этого
находим потенциалы пунктов отправления и назначения. Для заполненных
клеток составляем систему из 6 уравнений с 7 неизвестными:
β1−α1=2
β1−α2=6
β3−α2=5
β2−α3=4
β2−α4=0
β3−α4=0
Полагая α1=0, находим β1=2 α2=-4 β3=1 α4=1 β2=1 α3=-3 .
Для каждой свободной клетки вычисляем число αij=βj−αi−cij:
α12=-2, α13=-3, α22=-3, α31=0, α33=1, α41=1.
Полученные
числа
заключаем
в
рамки
и
записываем
соотвестствующие клетки таблицы (Таблица 15).
Таблица 15 – Модель транспортной задачи
Пункты
отправления
Пункты назначения
B1
B2
B3
Запасы
A1
2 [14] 3 (-2)
4 (-3)
14
A2
6 [39] 8 (-3) 5 [27]
66
A3
5 (0)
4 [33]
3 (1)
33
A4
0 (1)
0 [2]
0 [46]
48
Потребности
53
35
73
161
18
их
в
Среди чисел αij есть положительные. Следовательно данный опорный
план не является оптимальным. Наибольшее положительное число 1
находится в пересечении строки A3 и столбца B3. Для данной свободной
клетки строим цикл пересчета. Для этого вставим в эту клетку знак "+" а
остальные клетки цикла поочередно знаки "−" и "+" (Таблица 16).
Таблица 16 – Модель транспортной задачи
Пункты
отправления
Пункты назначения
B1
B2
B3
Запасы
A1
2 [14] 3 (-2)
4 (-3)
14
A2
6 [39] 8 (-3)
5 [27]
66
A3
5 (0) 4 [33] - 3 (1) +
33
A4
0 (1) 0 [2] + 0 [46] -
48
Потребности
53
35
73
161
Наименьшее из чисел в минусовых клетках равно 33. Клетка, в которой
находится это число становится свободной. В новой таблице другие числа
получаются так. Числам, находящимся в плюсовых клетках добавляется 33, а
из чисел, находящихся в минусовых клентках вычитается это число (Таблица
17).
Таблица 17 – Модель транспортной задачи
Пункты
отправления
Пункты назначения
B1
B2
B3
Запасы
A1
2 [14]
3
4
14
A2
6 [39]
8
5 [27]
66
A3
5
4
3 [33]
33
A4
0
0 [35] 0 [13]
48
Потребности
53
35
19
73
161
Опорный план имеет следующий вид:
X=
14
0
0
39
0
27
0
0
33
0
35
13
При этом плане стоимость перевозок вычисляется так:
S=2·14+6·39+5·27+3·33+0·35 +0·13 =496
Проверяем полученный опорный план на оптимальность. Для этого
находим потенциалы пунктов отправления и назначения. Для заполненных
клеток составляем систему из 6 уравнений с 7 неизвестными:
β1−α1=2
β1−α2=6
β3−α2=5
β3−α3=3
β2−α4=0
β3−α4=0
Полагая α1=0, находим β1=2 α2=-4 β3=1 α3=-2 α4=1 β2=1 .
Для каждой свободной клетки вычисляем число αij=βj−αi−cij:
α12=-2, α13=-3, α22=-3, α31=-1, α32=-1, α41=1.
Полученные
числа
заключаем
в
рамки
и
записываем
соотвестствующие клетки таблицы (Таблица 18).
Таблица 18 – Модель транспортной задачи
Пункты
отправления
Пункты назначения
B1
B2
B3
Запасы
A1
2 [14] 3 (-2)
4 (-3)
14
A2
6 [39] 8 (-3) 5 [27]
66
A3
5 (-1)
33
4 (-1) 3 [33]
20
их
в
A4
0 (1)
Потребности
53
0 [35] 0 [13]
35
73
48
161
Среди чисел αij есть положительные. Следовательно данный опорный
план не является оптимальным. Наибольшее положительное число 1
находится в пересечении строки A4 и столбца B1. Для данной свободной
клетки строим цикл пересчета. Для этого вставим в эту клетку знак "+" а
остальные клетки цикла поочередно знаки "−" и "+" (Таблица 19).
Таблица 19– Модель транспортной задачи
Пункты
отправления
Пункты назначения
B1
B2
B3
A1
2 [14] 3 (-2)
A2
6 [39] - 8 (-3) 5 [27] +
66
A3
5 (-1) 4 (-1) 3 [33]
33
A4
0 (1) + 0 [35] 0 [13] -
48
Потребности
53
35
4 (-3)
Запасы
73
14
161
Наименьшее из чисел в минусовых клетках равно 13. Клетка, в которой
находится это число становится свободной. В новой таблице другие числа
получаются так. Числам, находящимся в плюсовых клетках добавляется 13, а
из чисел, находящихся в минусовых клентках вычитается это число (Таблица
20).
21
Таблица 20– Модель транспортной задачи
Пункты
отправления
Пункты назначения
B1
B2
B3
Запасы
A1
2 [14]
3
4
14
A2
6 [26] -
8
5 [40]
66
A3
5
4
3 [33]
33
0
48
73
161
A4
0 [13] 0 [35]
Потребности
53
35
Опорный план имеет следующий вид:
X=
14
0
0
26
0
40
0
0
33
13
35
0
При этом плане стоимость перевозок вычисляется так:
S=2·14+6·26
+5·40+3·33+
0·13+ 0·35= 483
Проверяем полученный опорный план на оптимальность. Для этого
находим потенциалы пунктов отправления и назначения. Для заполненных
клеток составляем систему из 6 уравнений с 7 неизвестными:
β1−α1=2
β1−α2=6
β3−α2=5
β3−α3=3
β1−α4=0
β2−α4=0
Полагая α1=0, находим β1=2 α2=-4 α4=2 β3=1 β2=2 α3=-2 .
Для каждой свободной клетки вычисляем число αij=βj−αi−cij:
α12=-1, α13=-3, α22=-2, α31=-1, α32=0, α43=-1.
22
Полученные
числа
заключаем
в
рамки
и
записываем
их
в
соответствующие клетки таблицы (Таблица 21).
Таблица 21– Модель транспортной задачи
Пункты назначения
B1
B2
B3
Пункты
отправления
Запасы
A1
2 [14]
3 (-1) 4 (-3)
14
A2
6 [26] - 8 (-2) 5 [40]
66
A3
5 (-1)
4 (0) 3 [33]
33
A4
0 [13] 0 [35] 0 (-1)
48
Потребности
53
35
73
161
Среди чисел αij нет положительных. Следовательно данный опорный
план является оптимальным.
Удаляем добавленный пункт отправления:
Оптимальный план имеет следующий вид:
14
0
0
X= 26
0
40
0
0
33
При этом плане стоимость перевозок вычисляется так:
S=2·14+6·26+5·40+3·33=483
При этом плане остается неудовлетворенным потребности (13) пункта
B1, потребности (35) пункта B2.
Распределение ресурсов:
Из склада A1 отправить груз (14) в пункт B1
Из склада A2 отправить груз (26) в пункт B1
Из склада A2 отправить груз (40) в пункт B3
Из склада A3 отправить груз (33) в пункт B3
23
Вывод: Задачу решили, нашли оптимальный план перевозок, в
процессе решении задачи рассмотрели метод северо-западного угла и
метод потенциалов.
24
3.3 Программная реализация
Программу писали на языке C# используя Windows Forms.
Вводим количество потребителей и поставщиков, заполняем матрицу
стоимости во вкладке условие задачи (Рисунок 2).
Рисунок 2 – Условие задачи
Во вкладке решение, видим две таблицы, первая опорный план,
который был найден методом северо-западного угла, вторая таблица
оптимальное решение, которая было получено методом потенциалов и цена
перевозок (Рисунок 3).
25
Рисунок 3 – Решение задачи
26
Заключение
В ходе курсовой работы мы рассмотрели “транспортные задачи” и
составили их общую характеристику. Затем построили математическую
модель и подробно разобрали решение задачи на конкретном примере,
используя метод северо-западного угла. Методом потенциалов, сделали
программную реализацию на языке “python”.
Исходя из полученных нами расчётов, мы получили нужное количество
товара, направляемого от поставщика к потребителю, а также варианты
маршрутов, удовлетворяющих один из главных вопросов «транспортной
задачи» - оптимальность результата.
В результате проделанной работы, мы познакомились с этапами
решения транспортных задач и применениями данного типа задач в жизни,
спроецировав их на актуальных примерах. Научились определять и грамотно
решать данные задачи.
По итогам проделанной работы программа успешно решает заданную
транспортную задачу и выдаёт верные результаты в соответствии с нашими
предварительными расчётами.
Все задачи и цели курсовой работы выполнены.
Таким образом, можно сделать вывод, что транспортная задача — это
математическая задача линейного программирования специального вида,
которую можно рассматривать как задачу об оптимальном плане перевозок
грузов из пунктов отправления в пункты потребления, с минимальными
затратами на перевозки. С ростом потребительской способности населения
вопрос оптимизации путей доставки товара потребителю будет подниматься
все чаще, следовательно повысится и потребность в его решении возрастет.
Соответственно актуальность транспортной задачи не пропадет еще долгие
годы.
27
Список литературы
1. Струченков В. И. Методы оптимизации / В. И. Струченков. – Москва
: ГЭОТАР-Медиа, 2019. – 315 с.
2. Болдырев Ю. Я. Вариационное исчисление и методы оптимизации /
Ю. Я. Болдырев. – Москва : МАИ, 2020. – 240 с.
3. А. В. Аттетков. Введение в методы оптимизации / А. В. Аттетков–
Москва : Юрайт, 2018. – 441 с.
4. Вячеслав Ф. В. Численные методы оптимизации / Ф. В. Вячеслав –
Москва : Юрайт, 2019. – 368 с.
5. Кохендерфер М. В. Алгоритмы оптимизации / М. В. Кохендерфер. –
Москва : Вильямс, 2019. – 528 с.
6. Золоторев А. А. Методы оптимизации распределительных процессов
/ А. А. Золоторев. – Москва : Инфра-Инженерия, 2018. – 160 с.
7. Бертсекас Р. Н. Условная оптимизация и методы множителей
Лагранжа / Р. Н. Бертсекас – Москва : Инфра-Инженерия, 2020. – 400 с.
8. Беленький А. С. Исследование операций в транспортных системах /
А. С. Беленький – Москва : Мир, 2020. – 582 с.
9. Ганшин Г.С. Методы оптимизации и решения уравнений / Г.С.
Ганшин – Москва : Наука, 2019. – 129 с.
10. Токарев В. В. Методы оптимизации. Задачник / В. В. Токарев –
Москва : Наука, 2019. – 292 с.
28
Download