Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Poyasnitelnaya_zapiska.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
6.64 Mб
Скачать

45

Содержание

СОДЕРЖАНИЕ 4

ВВЕДЕНИЕ 5

1 ПОСТАНОВКА ЗАДАЧИ 6

4 РЕАЛИЗАЦИЯ МЕТОДОВ РЕШЕНИЯ ЗАДАЧИ 12

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 30

Введение

Генетический алгоритм (англ. genetic algorithm) — это эвристический алгоритм поиска, используемый для решения задач оптимизации и моделирования путём последовательного подбора, комбинирования и вариации искомых параметров с использованием механизмов, напоминающих биологическую эволюцию. Является разновидностью эволюционных вычислений (англ. evolutionary computation) [1].

Генетический алгоритм состоит из нескольких операций:

- инициализация — формирование начальной популяции;

- селекция — выбор хромосом из популяции для скрещивания;

- скрещивание — процесс создания новой хромосомы путем обмена частей хромосом-родителей;

- мутация — изменение хромосом заданным образом с определенной вероятностью.

Генетические алгоритмы применяются для решения следующих задач:

- оптимизация функций;

- задачи на графах (коммивояжера, раскраска, планирование операций);

- задачи компонвки;

- игровые стратегии [2].

Задачей курсового проекта является изучение принципа работы генетического алгоритма и написание приложения для упорядочения технологических операций в зависимости от времени перенастройки оборудования [3].

1 Постановка задачи

Задачей курсового проекта является программная реализация генетического алгоритма для упорядочения технологических операций.

Программная реализация представляет собой веб-приложение, написанное на языке Java с применением технологии Spring MVC.

Приложение должно реализовывать генетические операции:

- инициализация исходной популяции;

- селекция хромосом для скрещивания;

- репродукция;

- скрещивание хромосом;

- мутация хромосом.

2 Модель решения задачи

Задача формализуется таким образом, чтобы её решение могло быть закодировано в виде генотипа, где каждый ген может быть числом или неким другим объектом.

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

Из полученного множества решений выбираются «лучшие» особи с учетом значения фитнесс-функции, к которым применяются генетические операции – скрещивание и мутация. В результате получается второе поколение хромосом. Для них также оценивается приспособленность и применяются генетические операции. Процесс повторяется, пока в течение заданного времени (времени стагнации) не появляется более «приспособленной» хромосомы.

Таким образом, возможно выделить этапы выполнения алгоритма:

  • задание функции «приспособленности» (фитнесс-функции) хромосом из популяции;

  • формирование начальной популяции;

  • определение «приспособленности» хромосом из популяции;

  • селекция хромосом;

  • репродукция хромосом;

  • скрещивание хромосом;

  • мутация хромосом;

  • определение «приспособленности» хромосом из новой популяции.

Если в течение времени стагнации не происходит появление наиболее «приспособленных» особей, выполнение алгоритма завершается [1].

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]