
- •Методические указания к контрольной работе
- •Содержание
- •Теоретический материал
- •1. Построение матрицы с исходными данными.
- •2. Нахождение минимума по строкам.
- •3. Редукция строк.
- •4. Нахождение минимума по столбцам.
- •5. Редукция столбцов.
- •6. Вычисление оценок нулевых клеток.
- •7. Редукция матрицы.
- •8. Если полный путь еще не найден, переходим к пункту 2, если найден к пункту 9.
- •9. Вычисление итоговой длины пути и построение маршрута.
- •Задание к контрольной работе
- •Варианты исходных данных
- •Приложения
7. Редукция матрицы.
Выбираем нулевую клетку с наибольшей оценкой. Заменяем ее на «М». Мы нашли один из отрезков пути. Выписываем его (от какого города к какому движемся, в нашем примере от 4-ого к 2-му).
Город |
1 |
2 |
3 |
4 |
1 |
М |
0 (4) |
5 |
4 |
2 |
3 |
М |
0 (5) |
0 (1) |
3 |
0 (4) |
7 |
М |
1 |
4 |
6 |
0 (6) |
8 |
М |
Ту строку и тот столбец, где образовалось две «М» полностью вычеркиваем. В клетку соответствующую обратному пути ставим еще одну букву «М» (т.к. мы уже не будем возвращаться обратно).
Город |
1 |
2 |
3 |
4 |
1 |
М |
0 (4) |
5 |
4 |
2 |
3 |
М |
0 (5) |
М |
3 |
0 (4) |
7 |
М |
1 |
4 |
6 |
M |
8 |
М |
8. Если полный путь еще не найден, переходим к пункту 2, если найден к пункту 9.
Если мы еще не нашли все отрезки пути, то возвращаемся ко второму пункту и вновь ищем минимумы по строкам и столбцам, проводим их редукцию, считаем оценки нулевых клеток и т.д.
Если все отрезки пути найдены (или найдены еще не все отрезков, но оставшаяся часть пути очевидна) – переходим к пункту 9.
9. Вычисление итоговой длины пути и построение маршрута.
Найдя все отрезки пути, остается только соединить их между собой и рассчитать общую длину пути (стоимость поездки по этому маршруту, затраченное время и т.д.). Длины дорог соединяющих города берем из самой первой таблицы с исходными данными.
В нашем примере маршрут получился следующий: 4 → 2 → 3 → 1 → 4.
Общая длина пути: L = 30.
ПРАКТИЧЕСКОЕ ПРИМЕНЕНИЕ
Применение задачи коммивояжера на практике довольно обширно. В частности ее можно использовать для поиска кратчайшего маршрута при гастролях эстрадной группы по городам, нахождения последовательности технологических операций обеспечивающей наименьшее время выполнения всего производственного цикла и пр.
Задание к контрольной работе
Цель контрольной работы: научиться на практике применять знания и навыки решения оптимизационных задач, полученные при прохождении курса дисциплины «Логистика», на примере «Travelling salesman problem» («Задача коммивояжера»).
Структура контрольной работы:
1. Титульный лист (1 стр.).
2. Бланк рецензии (1 стр.).
3. Введение (1 стр.).
4. Исходные данные – матрица цен и скриншоты (2-3 стр.).
5. Произвольный вариант маршрута – описание, граф, расчет стоимости (1 стр.).
6. Вычисленный вариант маршрута – ход решения, граф, общая стоимость (2-3 стр.).
7. Вывод (1 стр.).
Содержание контрольной работы: следуйте приведенным ниже рекомендациям при решении контрольной работы:
1. Напишите к контрольной работе введение, в котором кратко обозначьте ее цель, задачи, актуальность.
2. В таблице с исходными данными найдите те, что соответствуют Вашему варианту. Это будут названия семи городов мира, один из них (начальная и конечная точка пути) одинаков для всех – Москва. Моделируемая ситуация – туристическое путешествие по этим городам.
3. Воспользовавшись любым онлайн-сервисом заказа билетов на авиарейсы (примеры приведены в приложениях) составьте матрицу цен на перелеты из каждого города во все остальные на конкретную дату (в целях упрощения примем любую ближайшую дату за опорную). В итоге у Вас получится таблица, аналогичная изображенной ниже:
Город |
Город А |
Город B |
Город C |
Город D |
Город E |
Город F |
Город G |
Город А |
М |
8 200 |
9 500 |
12 855 |
8 780 |
5 550 |
12 500 |
Город B |
8 200 |
М |
7 550 |
6 250 |
4 700 |
14 500 |
8 245 |
Город C |
11 250 |
3 250 |
М |
3 650 |
11 450 |
7 800 |
9 650 |
Город D |
5 850 |
6 600 |
10 720 |
М |
4 400 |
12 500 |
12 300 |
Город E |
11 450 |
7 200 |
5 500 |
9 840 |
М |
11 050 |
3 580 |
Город F |
4 500 |
7 450 |
12 550 |
7 800 |
13 570 |
М |
9 580 |
Город G |
8 900 |
4 700 |
5 655 |
4 500 |
5 470 |
15 950 |
М |
Перелеты из города в этот же город, обозначим символом «M», как нецелесообразные.
Обратите внимание, что цены на билеты одного направления, но разных авиакомпаний будут отличаться. Поэтому в матрицу цен вносите либо средние значения, либо стоимость самого дешевого билета (рассматриваем эконом-класс).
Сделайте выборочные скриншоты веб-страниц с ценой на билеты любых 5-7 направлений (например: Москва - Париж, Пекин – Дели, и т.д.). Добавьте эти скриншоты в контрольную работу.
4. Предложите свой вариант маршрута, который позволит посетить все семь городов по одному разу и вернуться в исходную точку. На этом этапе не ставьте себе цель найти самый дешевый маршрут. Пока что просто составьте маршрут путешествия исходя из своего вкуса и предпочтений, и изобразите его в виде графа.
Опишите последовательность перелетов, рассчитайте стоимость всего маршрута.
5. Решите задачу коммивояжера о нахождении (в данном случае) самого дешевого маршрута на основе данных Вашей матрицы цен. Отразите основные этапы решения в контрольной работе. Постройте граф найденного маршрута, рассчитайте его общую стоимость.
6. Сделайте вывод. Сравните первый маршрут, составленный по наитию, и второй – найденный в рамках решения задачи коммивояжера. Оказался ли второй маршрут дешевле? Если да, то какую сумму позволило сэкономить применение данной оптимизационной задачи логистики?
Также подумайте, какие могут быть недостатки у второго оптимального маршрута? Какие факторы не были учтены при решении задачи о нахождении самого дешевого маршрута?
Изложите Ваши выводы, наблюдения и предложения в контрольной работе.