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

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

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 28.11.2019
Размер файла 2,7 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

· Ключевая библиотека, содержащая реализацию самого алгоритма и вспомогательный инструментарий. Сама библиотека использует библиотеки программного продукта IBM CPLEX V12.7.1 [17].

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

Приложение для запуска и библиотека написаны на языке программирования C++ (стандарт языка C++14). Утилиты и вспомогательные скрипты написаны на языке Python (версии 3). Для того чтобы собрать и запустить программное обеспечение, необходимо удовлетворить минимальные требования, имея следующие компоненты:

· Операционная система на базе ядра Linux (например, Ubuntu). В случае ОС Windows, поддержка IBM CPLEX [17] не реализована, однако, имеется возможность использовать альтернативную эвристику для построения начального решения, которая не имеет внешних зависимостей

· Компилятор языка C++, поддерживающий стандарт языка C++14

· Система сборки программного обеспечения CMake [38] (минимальной версии 2.8)

· Для использования утилит и скриптов необходим интерпретатор языка Python 3

Дополнительно, существует возможность оптимизировать работу программного обеспечения с помощью библиотеки Intel TBB [39] на операционных системах с ядром Linux.

Исходный код программного обеспечения [42] является открытым, находится в публичном доступе и размещен на веб-сервисе GitHub [41], где в настоящее время размещаются наиболее крупные IT проекты с открытым исходным кодом.

Пример входных данных

Входные данные для приложения, которое запускает алгоритм решения задачи, имеют унифицированный вид в табличном стиле для удобного редактирования в инструментах типа Microsoft Excel [40].

Так как используется уникальный стиль, для конвертации данных из других форматов используются специальные вспомогательные скрипты. В частности, такой скрипт существует для конвертации тестовых примеров [18], результаты, решения которых представлены в соответствующем разделе.

Входные данные имеют следующий вид:

· Таблица потребителей описывает атрибуты каждого потребителя

o Id - идентификационный номер. 0 считается номером депо

o Volume - объем заказа

o Weight - вес заказа

o Hard TW begin - начало временного окна

o Hard TW end - конец временного окна

o Service time - время обслуживания

o Suitable vehicles - транспортные средства, которые могут обслуживать потребителя

· Таблица транспортных средств описывает парк доступных транспортных средств

o Id - идентификационный номер транспортного средства

o Volume - максимальный допустимый объем перевозимого груза

o Weight - максимальный допустимый вес перевозимого груза

o Fixed cost - цена использования

o Variable cost - затраты на единицу маршрута

· Таблица транспортных затрат на перемещение между потребителями описывает стоимость проезда от одного потребителя к другому

· Таблица временных затрат на перемещение между потребителями описывает время, затрачиваемое на перемещение от одного потребителя к другому

· Значение максимального числа разбиений заказа показывает, на сколько частей можно максимально делить заказ потребителя

Рис. 13. Пример входных данных для приложения

Размещено на allbest.ru

...

Подобные документы

  • Методы решения задач линейного программирования: планирования производства, составления рациона, задачи о раскрое материалов и транспортной. Разработка экономико-математической модели и решение задачи с использованием компьютерного моделирования.

    курсовая работа [607,2 K], добавлен 13.03.2015

  • Краткий обзор решения транспортных задач. Экономическая интерпретация поставленной задачи. Разработка и описание алгоритма решения задачи. Построение математической модели. Решение задачи вручную и с помощью ЭВМ. Анализ модели на чувствительность.

    курсовая работа [844,3 K], добавлен 16.06.2011

  • Решение задачи линейного программирования симплекс-методом: постановка задачи, построение экономико-математической модели. Решение транспортной задачи методом потенциалов: построение исходного опорного плана, определение его оптимального значения.

    контрольная работа [118,5 K], добавлен 11.04.2012

  • Функционирование систем массового обслуживания с разными типами заявок. Построение математической модели. Постановка задачи оптимизации среднего времени ожидания. Решение задачи оптимизации и разработка программного кода для оптимизации системы.

    курсовая работа [538,5 K], добавлен 11.08.2017

  • Функционирование систем массового обслуживания с разными типами заявок. Построение математической модели, постановка задачи оптимизации среднего времени ожидания. Решение задачи оптимизации системы. Разработка программного кода для оптимизации системы.

    дипломная работа [581,7 K], добавлен 27.10.2017

  • Математическое программирование. Линейное программирование. Задачи линейного программирования. Графический метод решения задачи линейного программирования. Экономическая постановка задачи линейного программирования. Построение математической модели.

    курсовая работа [581,5 K], добавлен 13.10.2008

  • Алгоритм решения задач линейного программирования симплекс-методом. Построение математической модели задачи линейного программирования. Решение задачи линейного программирования в Excel. Нахождение прибыли и оптимального плана выпуска продукции.

    курсовая работа [1,1 M], добавлен 21.03.2012

  • Теоретическая основа линейного программирования. Задачи линейного программирования, методы решения. Анализ оптимального решения. Решение одноиндексной задачи линейного программирования. Постановка задачи и ввод данных. Построение модели и этапы решения.

    курсовая работа [132,0 K], добавлен 09.12.2008

  • Решение задачи на составление компромиссного списка. Построение математической модели. Цена перемещения элементов. Вывод программы. Закреплении элемента а1 на первом месте, а а4 на пятом. Матрица оценок для задачи. Оптимальное решение в виде списка.

    курсовая работа [37,5 K], добавлен 30.01.2016

  • Построение математической модели. Выбор, обоснование и описание метода решений прямой задачи линейного программирования симплекс-методом, с использованием симплексной таблицы. Составление и решение двойственной задачи. Анализ модели на чувствительность.

    курсовая работа [100,0 K], добавлен 31.10.2014

  • Обзор алгоритмов методов решения задач линейного программирования. Разработка алгоритма табличного симплекс-метода. Составление плана производства, при котором будет достигнута максимальная прибыль при продажах. Построение математической модели задачи.

    курсовая работа [266,4 K], добавлен 21.11.2013

  • Расписание автобусов по сменам. Построение математической модели задачи. Основные теоретические сведения о симплекс-методе. Приведение задачи к каноническому виду. Выражение базисных переменных. Проверка оптимальности начального опорного решения задачи.

    курсовая работа [590,4 K], добавлен 19.09.2013

  • Критерий эффективности и функции в системе ограничений. Общая постановка задачи линейного программирования. Составление математической модели задачи. Алгоритмы решения задачи симплексным методом. Построение начального опорного решения методом Гаусса.

    курсовая работа [232,4 K], добавлен 01.06.2009

  • Решение задачи расчета структуры и объема товарооборота методом линейного программирования. Формулы ограничений, транспортная задача оптимизации доставки товаров. Решение задачи о назначениях на основе матрицы стоимостей в электронной таблице Excel.

    контрольная работа [1023,6 K], добавлен 27.05.2013

  • Построения математической модели с целью получения максимальной прибыли предприятия, графическое решение задачи. Решение задачи с помощью надстройки SOLVER. Анализ изменений запасов ресурсов. Определение пределов изменения коэффициентов целевой функции.

    курсовая работа [2,4 M], добавлен 17.12.2014

  • Описание языков программирования высокого уровня. Стандартные структуры данных, обзор принципов структурного программирования. Построение математической модели и выбор структуры данных для решения задачи. Тестирование и отладка программного кода.

    курсовая работа [1,3 M], добавлен 05.12.2020

  • Разработка структурной диаграммы программного модуля для целочисленного решения задачи линейного программирования с использованием симплекс-метода. Краткое описание всех уровней диаграммы с назначением всех ее блоков. Язык программирования Visual C#.

    курсовая работа [874,7 K], добавлен 27.02.2013

  • Сущность симплекс-метода. Общая характеристика задачи о смесях. Разработка основных алгоритмов решения задачи. Решение задачи в среде визуального программирования Delphi. Проектирование интерфейса пользователя. Разработка форм ввода-вывода информации.

    курсовая работа [476,6 K], добавлен 22.05.2012

  • Восстановление математической модели задачи нелинейного программирования. Решение уравнений прямых. Метод линеаризации: понятие, особенности применения при решении задач. Нахождение точки максимума заданной функции. Решение задачи графическим методом.

    задача [472,9 K], добавлен 01.06.2013

  • Описание предметной области решаемой задачи. Входные документы, необходимые для решения задачи, ее функции. Разработка информационного обеспечения задачи и реквизиты входной информации. Технология и алгоритмов решения задачи и их машинная реализация.

    контрольная работа [15,1 K], добавлен 21.10.2010

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.