Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Разработка САПР - лекции (2012) fragment.pdf
Скачиваний:
52
Добавлен:
16.05.2015
Размер:
384.56 Кб
Скачать

Разработка САПР. Курс лекций. 2009.

10

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

ГЕНЕТИЧЕСКИЙ АЛГОРИТМ

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

Обрабатывают не значения параметров самой задачи, а их закодированную форму.

Осуществляют поиск решения исходя не из единственной точки, а из их некоторой популяции.

Используют только целевую функцию, а не ее производные либо иную дополнительную информацию.

Применяют вероятностные, а не детерминированные правила выбора.

Основателем генетических алгоритмов считается Джон Холланд (англ.

John Holland.

Генетические алгоритмы основаны на генетических процессах биологических организмов: биологические популяции развиваются в течении нескольких поколений, подчиняясь законам естественного отбора и по принципу «выживает наиболее приспособленный». Но в отличие от эволюции, происходящей в природе, ГА только моделируют те процессы в популяциях, которые являются существенными для развития. Подражая этому процессу генетические алгоритмы способны «развивать» решения реальных задач, если те соответствующим образом закодированы. Например, ГА могут использоваться, чтобы проектировать структуры моста, для поиска максимального отношения прочности/веса, или определять наименее расточительное размещение для нарезки форм из ткани. Они могут также использоваться для интерактивного управления процессом, например на химическом заводе, или балансировании загрузки на многопроцессорном компьютере. Реальный пример: израильская компания Schema разработала программный продукт Channeling для оптимизации работы сотовой связи

10

Разработка САПР. Курс лекций. 2009.

11

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

Генетические алгоритмы в различных формах применились ко многим научным и техническим проблемам. Генетические алгоритмы использовались при создании других вычислительных структур, например, автоматов или сетей сортировки. В машинном обучении они использовались при проектировании нейронных сетей или управлении роботами.

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

Основные понятия ГА:

Хромосома – вектор (последовательность) из 0 и 1. Каждая позиция (бит) называется геном.

Индивидуум (генетический код) – набор хромосом (вариант решения задачи).

Кроссовер – операция, при которой 2 хромосомы обмениваются своими частями.

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

Описание алгоритма

Задача кодируется таким образом, чтобы её решение могло быть представлено в виде вектора («хромосома»). Случайным образом создаётся некоторое количество начальных векторов («начальная популяция»). Они оцениваются с использованием «функции приспособленности», в результате чего каждому вектору присваивается определённое значение («приспособленность»), которое определяет вероятность выживания организма, представленного данным вектором. После этого с использованием полученных значений приспособленности выбираются вектора (селекция), допущенные к «скрещиванию». К этим векторам применяются «генетические операторы» (в большинстве случаев «скрещивание» и «мутация»), создавая таким образом следующее «поколение». Особи следующего поколения также оцениваются, затем производится селекция, применяются генетические операторы и т. д. Так моделируется «эволюционный процесс», продолжающийся несколько жизненных циклов (поколений), пока не будет выполнен критерий остановки алгоритма. Таким критерием может быть:

1)нахождение глобального, либо субоптимального решения;

2)исчерпание числа поколений, отпущенных на эволюцию;

3)исчерпание времени, отпущенного на эволюцию.

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

Классический генетический алгоритм.

11

Разработка САПР. Курс лекций. 2009.

12

Основной (классический) генетический алгоритм (также называемый элементарным или простым генетическим алгоритмом) состоит из следующих шагов:

1)Инициализация, или выбор исходной популяции хромосом;

2)Оценка приспособленности хромосом в популяции;

3)Проверка условия остановки алгоритма;

4)Селекция хромосом;

5)Применение генетических операторов;

6)Формирование новой популяции;

7)Выбор “наилучшей” хромосомы.

Блок-схема основного генетического алгоритма изображена на рис. 1. Инициализация, т.е. формирование исходной популяции, заключается в

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

Оценивание приспособленности хромосом в популяции состоит в расчете функции приспособленности для каждой хромосомы этой популяции. Чем больше значение этой функции, тем выше «качество» хромосомы. Форма функции приспособленности зависит от характера решаемой задачи. Предполагается, что функция приспособленности всегда принимает неотрицательные значения и, кроме того, что для решения оптимизационной задачи требуется максимизировать эту функцию. Если исходная форма функции приспособленности не удовлетворяет этим условиям, то выполняется соответствующее преобразование (например, задачу минимизации функции можно легко свести к задаче максимизации).

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

12

Разработка САПР. Курс лекций. 2009.

13

Рис. 1. Блок-схема генетического алгоритма.

Достоинства ГА:

Они не требуют никакой информации о поверхности ответа;

Разрывы, существующие на поверхности ответа имеют незначительный эффект на полную эффективность оптимизации;

Они стойки к попаданию в локальные оптимумы;

Они хорошо работают при решении крупномасштабных проблем оптимизации;

Могут быть использованы для широкого класса задач;

Просты и прозрачны в реализации;

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

Недостатки ГА:

В случае когда необходимо найти точный глобальный оптимум;

Время исполнения функции оценки велико;

13