Введение 5
Глава 1 Постановка задачи на разработку программного обеспечения для решения задач комбинаторной оптимизации 6
Глава 2 Анализ и выбор технологий разработки программного обеспечения для решения задачи оптимизации маршрутов транспортных средств 16
2.1 Анализ программного обеспечения для решения задачи оптимизации
маршрута транспортных средств методом Кларка-Райта 17
2.2 Анализ и выбор технологий для разработки программы 22
Глава 3 Реализация и тестирование онлайн-калькулятора для решения задачи оптимизации маршрутов транспортных средств 29
Заключение 39
Список используемой литературы 41
Задачи комбинаторной оптимизации довольно широко применяются на практике.
Достаточно напомнить о таких классических задачах, как задача коммивояжера, задача рюкзака и др.
Следует отметить, что метод комбинаторной оптимизации требует серьёзных вычислительных ресурсов, которые до недавнего времени не были широко доступными [1].
Основная проблема состоит в том, что в комбинаторных задачах нет линейных зависимостей и решить их можно только методом полного перебора или с помощью эвристических алгоритмов.
Это обусловило отсутствие универсального программного обеспечения, предназначенного для решения конкретных задач комбинаторной оптимизации.
Вместе с тем многие компании, особенно занятые в сфере перевозок грузов, нуждаются в таких программах для формирования оптимального плана для их доставки.
В этой связи разработка программного обеспечения для решения задач комбинаторной оптимизации представляет актуальность и научно-практический интерес.
Объектом исследования бакалаврской работы являются задачи комбинаторной оптимизации.
Предметом исследования бакалаврской работы является программное обеспечение для решения задач комбинаторной оптимизации.
Цель выпускной квалификационной работы - разработка программного обеспечения для решения задач комбинаторной оптимизации.
Для достижения данной цели необходимо выполнить следующие задачи:
- выполнить постановку задачи на разработку программного обеспечения для решения задачи комбинаторной оптимизации;
- проанализировать и выбрать технологии для разработки программного обеспечения для решения задач комбинаторной оптимизации;
- выполнить реализацию программы и протестировать ее работоспособность.
Методы исследования - методы и алгоритмы решения задач комбинаторной оптимизации, методы и технологии разработки программного обеспечения.
Практическая значимость бакалаврской работы заключается в разработке программы, обеспечивающей решение частной задачи комбинаторной оптимизации.
Данная работа состоит из введения, трех глав, заключения, списка используемой литературы и приложений.
Первая глава посвящена постановке задачи на разработку программного обеспечения для решения задач комбинаторной оптимизации.
Вторая глава посвящена анализу и выбору технологии для разработки программного обеспечения для решения задачи комбинаторной оптимизации.
В третьей главе представлены реализация программы и результаты ее тестирования.
В заключении описываются результаты выполнения выпускной квалификационной работы.
Бакалаврская работа состоит из 43 страниц текста и содержит 17 рисунков, 4 таблицы и 22 источника.
Выпускная квалификационная работа посвящена актуальной проблеме разработки программного обеспечения для решения задач комбинаторной оптимизации.
Следует констатировать отсутствие универсального программного обеспечения, предназначенного для решения конкретных задач комбинаторной оптимизации.
Вместе с тем многие компании, особенно занятые в сфере перевозок грузов, нуждаются в таких программах для формирования оптимального плана для их доставки.
В этой связи разработка программного обеспечения для решения задач комбинаторной оптимизации представляет актуальность и научно-практический интерес.
Для достижения данной цели в процессе работы над бакалаврской работой решены следующие задачи:
- выполнена постановка задачи на разработку программного обеспечения для решения задачи комбинаторной оптимизации. Как показал анализ, задача МТСВ - это проблема маршрутизации транспорта, в которой транспортные средства с ограниченной грузоподъемностью должны забирать грузы из разных мест или доставлять их в разные места. Наиболее популярным алгоритмом для решения задачи МТСВ, является алгоритм Кларка-Райта и его модификации. Разработан перечень требований, который является основой для разработки ПО для решения задачи оптимизации маршрутов транспортных средств;
- проанализированы и выбраны технологии для разработки программного обеспечения для решения задач комбинаторной оптимизации. Как показал анализ, ни одна из известных программ не соответствует всем требованиям, предъявляемым к онлайн- калькулятору для решения задачи МТСВ методом Кларка-Райта. Таким образом, разработка онлайн-калькулятора для решения задачи МТСВ методом Кларка-Райта с помощью современных веб-технологий представляет актуальность. Для разработки веб-приложений используются системы управления контентом - CMS. На основании сравнительного анализа в качестве платформы для реализации онлайн-калькулятора выбрана CMS WordPress;
- выполнены реализация и тестирование онлайн-калькулятора.
Разработана программная архитектура онлайн-калькулятора в виде диаграммы компонентов UML. Основные компоненты веб-приложения онлайн-калькулятора написаны на языке PHP. Для проверки работоспособности онлайн-калькулятора использован метод функционального тестирования. Как показало функциональное тестирование, разработанный онлайн-калькулятор позволяет решить задачу оптимизации методом Кларка-Райта, путем автоматического вычисления оптимальных маршрутов и матрицы экономии.
Результаты бакалаврской работы представляют научно-практический интерес и могут быть рекомендованы для разработки программного обеспечения для решения задач комбинаторной оптимизации.
1. Комбинаторная и линейная оптимизация [Электронный ресурс]. URL:
https://veeroute.ru/combinatorial-and-linear-integer-optimization/ (дата
обращения: 19.03.2022).
2. Косяков С.В., Гадалов А.Б., Жидовинов К.А. Оптимальное планирование грузоперевозок на базе ГИС-технологий // Вестник ИГЭУ, 2010.
3. Мартынова Ю. А., Мартынов Я. А. Формализация задачи организации
маршрутных сетей городского пассажирского транспорта // Вестник евразийской науки. 2014. №6 (25). URL:
http://naukovedenie.ru/PDF/124TVN614.pdf(дата обращения: 21.03.2022).
4. Метод Кларка-Райта. Оптимальное планирование маршрутов
грузоперевозок [Электронный ресурс]. URL:
https://infostart.ru/1c/articles/443585/(дата обращения: 21.03.2022).
5. Никоноров В. М. Реализация усовершенствованного метода Кларка- Райта для решения задачи маршрутизации автомобильных мелкопартионных перевозок // Научно-технические ведомости СПбГПУ. 2012. 2-2’. С. 210-215.
6. Программа «1С: Транспортная логистика, экспедирование и управление автотранспортом КОРП» [Электронный ресурс]. URL: https://efsol.ru/manuals/1s-transportnaya-logistika-ekspedirovanie-i-upravlenie- avtotransportom-korp/(дата обращения: 21.03.2022).
7. Программа «Простые маршруты» [Электронный ресурс]. URL: https://infostart.ru/public/635798/ (дата обращения: 21.03.2022).
8. Стек против LAMP: плюсы и минусы [Электронный ресурс]. URL: https://triu.ru/stek-protiv-lamp-plyusy-i-minusy/(дата обращения: 21.03.2022).
9. Флойд К. С. Введение в программирование на PHP5 [Электронный ресурс]: учебное пособие. Москва : Интернет-Университет Информационных Технологий (ИНТУИТ), Ай Пи Ар Медиа, 2021. 280 c. URL: https://www.iprbookshop.ru/101998.html(дата обращения: 30.03.2022).
10. Функциональное тестирование [Электронный ресурс]. URL:
https://www.appline.ru/services/testing/functionalnoe-testirovanie (дата
обращения: 30.03.2022).
11. Achuthan N.R., Caccetta L., Hill S.P. A new subtour elimination constraint for the vehicle routing problem. European Journal of Operational Research. 1996; 91(3):573-86.
12. Alameen M., Aljamal R. and Damrah S. A Clarke and WrightImproved Algorithm to Solve the Vehicle Routing and Traveling Salesman Problem, Global Journal of Enterprise Information System, Volume 8, Issue 1, P. 35-37.
13. Capacitated Vehicle Routing Problem formulation [Электронный
ресурс]. URL: https://how-to.aimms.com/Articles/332/332-Formulation-
CVRP.html (дата обращения: 19.03.2022).
14. CMS Drupal [Электронный ресурс]. URL: https://drupal.org(дата обращения: 21.03.2022).
15. CMS October [Электронный ресурс]. URL: https://octobercms.com/(дата обращения: 21.03.2022).
16. CMS Wordpress [Электронный ресурс]. URL:
https://ru.wordpress.org/(дата обращения: 21.03.2022).
17. Pichpibul T., Kawtummachai R. A Heuristic Approach Based on Clarke-Wright Algorithm for Open Vehicle Routing Problem, The Scientific World Journal, 2013. URL: https://www.hindawi.com/journals/tswj/2013/874349/(дата обращения: 21.03.2022).
18. Software Engineering-FURPS [Электронный ресурс]. URL: https://www.1000sourcecodes.com/2012/05/software-engineering-furps.html(дата обращения: 21.03.2022).
19. The component diagram [Электронный ресурс]. URL: https://developer.ibm.com/articles/the-component-diagram/(дата обращения: 21.03.2022).
20. Valenton G. et al. A Comparison Of Clarke-Wright Method And Branch & Bound Method For Vehicle Routing Problem In Pangasinan, Southeast Asian Journal of Science and Technology, 2021, 6(2 (SI), 1-9.
21. VRP Solver [Электронный ресурс]. URL:
https://coral. ise.lehigh. edu/larry/software/vrp-solver/ (дат обращения:
21.03.2022).
22. What is Combinatorial Optimization [Электронный ресурс]. URL: https://www. igi-global. com/dictionary/optimization-approaches-for-a-home- healthcare-routing-and-scheduling-problem/4533 (дата обращения: 21.03.2022).
Вып. 4. С. 1-6.