- •Постановка задачи:
- •Формализовать описание задачи в математическом виде. Выделить жесткие и мягкие ограничения.
- •Описать представление решения в виде хромосомы. Пояснить выбранное представление и какие ограничения есть на хромосому.
- •Разработать метрику для оценки качества решения. Пояснить разработанную метрику, и как она позволяет соблюдать мягкие и жесткие ограничения.
- •Выполнение га:
- •Выбрать операции для га: метод отбора, метод скрещивания, метод мутации. Обосновать выбор.
- •Подобрать параметры га: размер популяции, вероятность скрещивания и мутации, количество поколений (если есть другие параметры, то и их тоже). Описать процесс подбора параметров.
- •Провести оптимизацию и визуализировать полученное решение. Графически отобразить решение. Например, траектория броска мяча или в виде таблицы показать расписание работы.
- •Построить график зависимости лучшей и средней приспособленности в зависимости от поколения.
МИНОБРНАУКИ РОССИИ
Санкт-Петербургский государственный
электротехнический университет
«ЛЭТИ» им. В. И. Ульянова (Ленина)
Кафедра МО ЭВМ
отчет
по лабораторной работе №5
по дисциплине «Основы машинного обучения»
Тема: Генетические алгоритмы
Студентка гр. 2383 |
|
Бараева Е. Н. |
Преподаватель |
|
Жангиров Т. Р. |
Санкт-Петербург
2025
Цель работы.
Целью данной лабораторной работы является разработка и реализация генетического алгоритма для решения задачи оптимизации маршрута почтальона, доставляющего почту.
Задание.
Вариант D
Задача о воздушной почте. Почтальону необходимо доставить почту в N (задается пользователем) городов с заданными координатами (x, y) (вводится пользователем). Города находятся на местности 30 км. на 30 км. Известно, что каждый город нельзя посещать больше одного раза, и нужно вернуться в город вылета. Но у почтальона есть вертолет, и он может летать из любого города в любой другой по прямой. У городов есть приоритет доставки, города с большим приоритетом должны обязательно получать почту раньше городов с меньшим приоритетом (приоритеты задаются пользователем, а также у нескольких городов может быть одинаковый приоритет). А так как вертолет старый, то нежелательно, чтобы один перелет между городами был больше 5 километров. Необходимо составить маршрут для почтальона, чтобы он пролетел минимальное расстояние. Почтальон может начинать полет из любого города.
Постановка задачи
Формализовать описание задачи в математическом виде. Выделить жесткие и мягкие ограничения.
Описать представление решения в виде хромосомы. Пояснить выбранное представление и какие ограничения есть на хромосому.
Разработать метрику для оценки качества решения. Пояснить разработанную метрику, и как она позволяет соблюдать мягкие и жесткие ограничения.
Выполнение ГА
Выбрать операции для ГА: метод отбора, метод скрещивания, метод мутации. Обосновать выбор.
Подобрать параметры ГА: размер популяции, вероятность скрещивания и мутации, количество поколений (если есть другие параметры, то и их тоже). Описать процесс подбора параметров.
Провести оптимизацию и визуализировать полученное решение. Графически отобразить решение. Например, траектория броска мяча или в виде таблицы показать расписание работы.
Построить график зависимости лучшей и средней приспособленности в зависимости от поколения.
Выполнение работы.
Постановка задачи:
Формализовать описание задачи в математическом виде. Выделить жесткие и мягкие ограничения.
Дано:
– число городов с координатами (
,
),
,
где
.
– приоритет доставки,
(чем больше
,
тем выше приоритет).
– максимальная
длина перелета.
Пусть:
– расстояние
между городами
и
.
– порядковый
номер посещения
-го
города.
Жесткие ограничения:
Каждый город посещается один раз, и после последнего города почтальон возвращается в начальную точку (замкнутый маршрут):
Исключение подциклов (условие целостности маршрута):
Города с более высоким приоритетом должны идти раньше в маршруте:
Мягкие ограничения:
Так
как перелеты длиннее, чем
нежелательны, то для каждого перелета
,
если
,
к целевой функции будет добавляться
штраф:
Целевая функция:
Минимизировать общее расстояние маршрута с учетом штрафа за превышение длины перелета:
Где
– суммарное расстояние;
– штраф за
превышение длины перелета;
– весовой коэффициент штрафа (
).
Описать представление решения в виде хромосомы. Пояснить выбранное представление и какие ограничения есть на хромосому.
Хромосома
– это перестановка городов, задающая
порядок их посещения в маршруте.
– хромосома, где
– индекс города, посещаемого на
-ом
шаге.
Таким
образом,
– перестановка длины
:
,
где
– множество всех перестановок
.
Ограничения:
Каждый город должен быть посещен ровно один раз:
Соблюдение приоритетов доставки. Если
,
то город с более высоким приоритетом
должен быть раньше в маршруте:
Это означает, что в хромосоме города отсортированы по невозрастающему приоритету (группами приоритетов), внутри которых возможна перестановка.
Хромосома представляется в виде перестановки индексов городов, отражающей порядок их посещения. Это удобно для задач маршрутизации, исключает повторения и пропуски, и позволяет легко учитывать приоритеты.
Разработать метрику для оценки качества решения. Пояснить разработанную метрику, и как она позволяет соблюдать мягкие и жесткие ограничения.
Для
оценки качества маршрута будет
использоваться метрика – обратная
целевой функции (чем меньше общий путь
и меньше превышений, тем выше значение
):
Жесткие ограничения реализуются на уровне представления хромосомы и поддерживаются при скрещивании и мутациях. В метрике они не нарушаются, так как недопустимые маршруты не создаются.
Мягкие ограничения входят в метрику в виде штрафа. Если расстояние между двумя городами превышает допустимое значение, оно добавляет штраф в знаменатель, тем самым понижая приспособленность решения.
Выполнение га:
Выбрать операции для га: метод отбора, метод скрещивания, метод мутации. Обосновать выбор.
Метод отбора: турнирный отбор.
Выбран из-за своей простоты, эффективности и независимости от масштабирования метрики. Он не требует нормализации значений приспособленности, легко распараллеливается и позволяет гибко настраивать интенсивность отбора. Также удобен для применения с модифицируемыми метриками.
Метод скрещивания: упорядоченное скрещивание.
Используется для сохранения последовательностей близко расположенных городов, что важно при оптимизации длины маршрута. Он гарантирует получение корректных перестановок без повторений.
Метод мутации: инверсия.
Инвертирует случайный подотрезок хромосомы. Часто приводит к значительному улучшению маршрута за счет сокращения общей длины. При этом сохраняется допустимость маршрута.
