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

МИНИСТРЕСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ

ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

ТАГАНРОГСКИЙ ТЕХНОЛОГИЧЕСКИЙ ИНСТИТУТ ЮЖНОГО ФЕДЕРАЛЬНОГО УНИВЕРСИТЕТА

Кафедра систем автоматизированного проектирования

Пояснительная записка

по курсовой работе

Дисциплина: Эволюционное моделирование и генетические алгоритмы

Тема:

«Задача минимизации пересечений в графе»

Выполнила:

Ст-ка группы А-64

Кромская Ю.С.

Проверил:

д.т.н. профессор каф. САПР

Курейчик В.В.

Таганрог 2007

Содержание

1.Введение 2

1.1 Постановка задачи минимизации пересечений в графе 3

1.2. Методы решения задачи минимизации пересечений в графе без использования генетических алгоритмов 4

1.3. Методы решения задачи минимизации пересечений в графе с использованием генетических алгоритмов 6

2.Описание программы 9

2.1. Разработка структурной схемы алгоритма. Блок- схема. 9

2.2. Руководство пользователя 12

3. Экспериментальная часть 15

3.1. Разработка генетического алгоритма 15

4. Вычислительный эксперимент 17

4.1. Эксперименты и графики 17

4.2 Оценка ВСА 22

5. Заключение 23

6. Литература 25

Введение

Данная курсовая работа посвящена разработке модифицированного генетического алгоритма для решения задачи минимизации пересечений в графе. Граф - математический объект, состоящий из множества вершин и множества ребер, находящихся в заданном отношении. Создано программное обеспечение, реализованное в интегрированной среде разработки Borland C++ Builder 6.0. Задача минимизации пересечений является одной из классических NP-полных задач. Класс NP- полных задач включает такие задачи, для которых не найдены полиномиальные алгоритмы, однако и не доказано, что их не существует. Полиномиальные алгоритмы имеют вид n, n2 , n3 ,….,n – количества входов алгоритма. Это алгоритмы, где время решения зависит от n, n2 , n3 ,…. Задача минимизации пересечений заключается в нахождении наилучшего взаиморасположения вершин в графе таким образом, чтобы количество пересечений ребер было как можно меньше. Данная задача актуальна тем, что она применяется в САПР, в частности при проектировании печатных плат для минимизации слоев плат.

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

Имеется возможность расширения вариантов решения (популяции) и поиска из них решения различными операторами редукции. Проведенные экспериментальные исследования показали эффективность в смысле точности «элитной» редукции. Показатели ее качества примерно в 2-3 раза выше, чем у «равновероятной» редукции при количестве итераций 100-1000.

Программа разработана с удобным дружественным графическим интерфейсом.

1.1 Постановка задачи минимизации пересечений в графе

Рассмотрим постановку задачи. В неформальной форме задача минимизации пересечений трактуется следующим образом: необходимо вычислить минимальное количество мостов, для избежания пересечения дорог, связывающих различные города. Более строго имеем: дан граф G=(X, U), где |X| = n – множество вершин (города), |U| = m – множество ребер (возможные пути между городами), показанный на рис. 1. Дана матрица чисел R(i, j), где i, j  1, 2,…, n, представляющих собой стоимость переезда из вершины xi в xj.

Требуется найти расстановку элементов множества X, такую, что количество пересечений ребер было минимальным:

рис. 1. Граф G=(X,U)

Цель курсовой работы заключается в разработке ГА для решения задачи минимизации пересечений в графе и ее реализации на любом языке высокого уровня.

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

1. 2 Методы решения задачи минимизации пересечений в графе без использования генетических алгоритмов

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

Эволюция организмов представляет собой процесс оптимизации органических систем, которая необходима для их выживания в среде обитания.

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

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

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

Другую категорию составляют метод динамического программирования, метод отсечений и метод Лагранжа. Здесь снижение размерности перебора достигается за счет “снижения требований”, т.е. отказа от поиска оптимального решения и нахождения квазиоптимального решения за приемлемое время. Такие алгоритмы получили название эвристических, т.к. для поиска решения используют различные правила (эвристики), не имеющие строгого научного обоснования и определяемые опытным (эмпирическим) путем и зависящие от специфики задачи.

Недостатком вышеописанных методов является неспособность выходить из локальных оптимумов, что обусловлено жесткими правилами поиска в алгоритме.