- •Введение
- •1. Структура и классификация сапр
- •1.1.Разновидности сапр
- •1.2.Функции, характеристики и примеры cae/cad/cam-систем
- •1.3.Понятие о cals-технологии
- •1.4.Комплексные автоматизированные системы
- •1.5.Системы управления в составе комплексных автоматизированных систем
- •1.6.Автоматизированные системы делопроизводства (асд)
- •2.Системы автоматизированного проектирования и их место среди других автоматизированных систем
- •3.Системные среды и программно-методические комплексы сапр
- •3.1.Функции сетевого программного обеспечения
- •3.1.1.Системы распределенных вычислений
- •3.1.2.Прикладные протоколы и телекоммуникационные информационные услуги
- •3.1.3.Информационная безопасность
- •3.2.Назначение и состав системных сред сапр
- •3.2.1.Системные среды автоматизированных систем
- •3.2.2.Подходы к интеграции по в сапр
- •3.2.3.Технологии интеграции по типа dde и ole
- •3.2.4.Управление данными в сапр
- •3.2.5.Варианты управления данными в сетях ас
- •3.2.6.Интеллектуальные серверы бд
- •3.2.7.Распределенные базы данных (рбд)
- •3.2.8.Программные средства управления проектированием в сапр
- •3.2.9.Примеры подсистем управления данными и проектированием
- •3.3.Инструментальные среды разработки программного обеспечения
- •3.3.1.Среды быстрой разработки приложений
- •3.3.2.Компонентно-ориентированные технологии
- •3.3.3.Пример реализации компонентно-ориентированной технологии в сапр
- •4.Системный подход к проектированию
- •4.1.Понятие инженерного проектирования
- •4.2.Принципы системного подхода
- •4.3.Основные понятия системотехники
- •5.Структура процесса проектирования
- •5.1.Иерархическая структура проектных спецификаций и иерархические уровни проектирования.
- •5.2.Стадии проектирования
- •5.3.Содержание технических заданий на проектирование
- •5.4.Классификация моделей и параметров, используемых при автоматизированном проектировании
- •5.5.Типовые проектные процедуры
- •6.Виды обеспечения и требования к их компонентам (гост 23501.101-87)
- •6.1.Программное обеспечение сапр
- •6.2.Информационное обеспечение сапр
- •6.3.Методическое обеспечение сапр
- •6.4.Математическое обеспечение сапр
- •6.5.Лингвистическое обеспечение сапр
- •6.6.Техническое обеспечение сапр
- •6.7.Организационное обеспечение сапр
- •7.Математическое моделирование автоматизированных систем
- •7.1.Математическое обеспечение анализа проектных решений
- •7.1.1.Математический аппарат в моделях разных иерархических уровней
- •7.1.2.Требования к математическим моделям и численным методам в сапр.
- •7.1.3.Место процедур формирования моделей в маршрутах проектирования
- •7.2.Математические модели в процедурах анализа на макроуровне
- •7.2.1.Исходные уравнения моделей
- •7.2.2.Примеры компонентных и топологических уравнений
- •7.2.3.Представление топологических уравнений
- •7.2.4.Особенности эквивалентных схем механических объектов.
- •7.2.5.Характеристика методов формирования ммс
- •7.2.6.Узловой метод
- •7.3.Методы и алгоритмы анализа на макроуровне
- •7.3.1.Выбор методов анализа во временной области
- •7.3.2.Алгоритм численного интегрирования соду
- •7.3.3.Методы решения систем нелинейных алгебраических уравнений
- •7.3.4.Методы решения систем линейных алгебраических уравнений
- •7.3.5.Анализ в частотной области
- •7.3.6.Многовариантный анализ
- •7.3.7.Организация вычислительного процесса в универсальных программах анализа на макроуровне.
- •7.4.Имитационное моделирование
- •7.4.1.Имитационное моделирование систем массового обслуживания
- •7.4.2.Событийный метод моделирования
- •7.4.3.Краткое описание языка срss
- •7.4.4.Сети Петри
- •7.4.5.Анализ сетей Петри
- •7.5.Математическое обеспечение синтеза проектных решений
- •7.5.1.Постановка задач параметрического синтеза
- •7.5.1.1.Место процедур синтеза в проектировании
- •7.5.1.2.Критерии оптимальности
- •7.5.1.3.Задачи оптимизации с учетом допусков
- •7.5.2.Обзор методов оптимизации
- •7.5.2.1.Классификация методов математического программирования
- •7.5.2.2.Методы одномерной оптимизации
- •7.5.2.3.Методы безусловной оптимизации
- •7.5.2.4.Необходимые условия экстремума
- •7.5.2.5.Методы поиска условных экстремумов.
- •7.5.3.Постановка задач структурного синтеза
- •7.5.3.1.Процедуры синтеза проектных решений
- •7.5.3.2.Задача принятия решений
- •7.5.3.3.Представление множества альтернатив
- •7.5.3.4.Морфологические таблицы
- •7.5.3.5.Альтернативные графы
- •7.5.3.6.Исчисления
- •7.5.4.Методы структурного синтеза в сапр
- •7.5.4.1.Системы искусственного интеллекта.
- •7.5.4.2.Дискретное математическое программирование
- •7.5.4.3.Элементы теории сложности
- •7.5.4.4.Эволюционные методы.
- •7.5.4.5.Постановка задачи поиска оптимальных решений с помощью генетических алгоритмов
- •7.5.4.6.Простой генетический алгоритм
- •7.5.4.7.Разновидности генетических операторов
- •7.5.4.8.Генетический метод комбинирования эвристик
- •8.Эффективность сапр
- •9.Понятие об открытых системах
- •9.1.История развития открытых систем
- •9.2.Существующие определения открытых систем и терминология
- •9.3.Различные подходы к понятию "открытые системы"
- •10.Технологии и стандарты информационной поддержки жизненного цикла изделий
- •Заключение
- •Библиографический список
- •Оглавление
- •394026 Воронеж, Московский просп., 14
7.5.4.6.Простой генетический алгоритм
Вычислительный процесс начинается с генерации исходного поколения – множества, включающего N хромосом, N– размер популяции. Генерация выполняется случайным выбором аллелей каждого гена.
Далее организуется циклический процесс смены поколений:
for (k=0; k<G; k++)
{ for (j=0; j<N; j++)
{ Выбор родительской пары хромосом;
Кроссовер;
Мутации;
Оценка функции полезности F потомков;
Селекция;
}
Замена текущего поколения новым;
}
Для каждого витка внешнего цикла генетического алгоритма выполняется внутренний цикл, на котором формируются экземпляры нового (следующего за текущим) поколения. Во внутреннем цикле повторяются операторы выбора родителей, кроссовера родительских хромосом, мутации, оценки приспособленности потомков, селекции хромосом для включения в очередное поколение.
Рассмотрим алгоритмы выполнения операторов в простом генетическом алгоритме.
Выбор родителей. Этот оператор имитирует естественный отбор, если отбор в родительскую пару хромосом с лучшими значениями функции полезности F более вероятен. Например, пусть F требуется минимизировать. Тогда вероятность Pi выбора родителя с хромосомой Сi можно рассчитать по формуле
-
(7.65)
где Fmax – наихудшее значение целевой функции F среди экземпляров (членов) текущего поколения, Fi – значение целевой функции i-ro экземпляра.
Правило (7.65) называют правилом колеса рулетки. Если в колесе рулетки выделить секторы, пропорциональные значениям Fmax-Fi, то вероятности попадания в них суть Рi, определяемые в соответствии с (7.65).
Пример. Пусть N=4, значенияFi и Pi приведены в табл. 7.6.
Таблица 7.6
Кроссовер (скрещивание). Кроссовер, иногда называемый кроссинговером, заключается в передаче участков генов от родителей к потомкам. При простом (одноточечном) кроссовере хромосомы родителей разрываются в некоторой позиции, одинаковой для обоих родителей, выбор места разрыва равновероятен, далее происходит рекомбинация образующихся частей родительских хромосом, как это показано в табл. 7.7, где разрыв подразумевается между пятым и шестым локусами.
Таблица 7.7
Мутации. Оператор мутации выполняется с некоторой вероятностью Рм, т.е. с вероятностью Рм происходит замена аллеля случайным значением, выбираемым с равной вероятностью в области определения гена. Именно благодаря мутациям расширяется область генетического поиска.
Селекция. После каждого акта генерации пары потомков в новое поколение включается лучший экземпляр пары.
Внутренний цикл заканчивается, когда число экземпляров нового поколения станет равным N. Количество повторений G внешнего цикла чаще всего определяется автоматически по появлению признаков вырождения (стагнации) популяции, но с условием не превышения заданного лимита машинного времени.
7.5.4.7.Разновидности генетических операторов
Возможны отклонения от представленной выше в простом генетическом алгоритме схемы вычислений.
Во-первых, допустимы схемы многоточечного кроссовера.
Во-вторых, отметим ситуации, когда на состав аллелей наложены некоторые дополнительные условия. Например, пусть в задаче разбиения графа число вершин в подграфах A1 и А2 должно быть N1 и N2 и пусть k-й аллель, равный 1, означает, что вершина k попадает в А1 если же k-й аллель равен 0, то в А2. Очевидно, что число единиц в хромосоме должно равняться N1 число нулей – N2. Тогда при рекомбинации левый участок хромосомы берется от одного из родителей без изменений, а в правом участке (от другого родителя) нужно согласовать число единиц с N1 тем или иным способом.
Один из способов – метод РМХ (Partially Matched Crossover). Для иллюстрации РМХ рассмотрим пример двухточечного кроссовера в задаче, когда в хромосоме должны присутствовать, причем только по одному разу, все значения генов из заданного набора. Пусть в примере этот набор включает числа от 1 до 9.
В табл. 7.8 первые две строки представляют родительские хромосомы. Третья строка содержит хромосому одного из потомков, сгенерированного в результате применения двухточечного кроссовера (после второго и пятого локусов). Полученная хромосома не относится к числу допустимых, так как в ней значения генов 1, 2 и 9 встречаются дважды, а значения 3,4 и 5 отсутствуют. Четвертая строка показывает результат применения РМХ. В этом методе выделяются сопряженные пары аллелей в одноименных локусах одной из рекомбинируемых частей. В нашем примере это пары (3 и 1), (4 и 9), (5 и 2). Хромосома потомка просматривается слева направо; если повторно встречается некоторое значение, оно заменяется на сопряженное значение. Так, в примере в локусах 3, 5 и 9 повторно встречающиеся аллели 1, 2 и 9 последовательно заменяются на значения 3,5 и 4.
Таблица 7.8
1 |
2 |
|
3 |
4 |
5 |
|
6 |
7 |
8 |
9 |
3 |
7 |
|
1 |
9 |
2 |
|
4 |
8 |
6 |
5 |
1 |
2 |
|
1 |
9 |
2 |
|
6 |
7 |
8 |
9 |
1 |
2 |
|
3 |
9 |
5 |
|
6 |
7 |
8 |
4 |
Мутации. Бывают точечными (в одном гене), макромутациями (в нескольких генах) и хромосомными (появление новой хромосомы). Обычно вероятность появления мутации указывается среди исходных данных. Но возможно автоматическое регулирование числа мутаций при их реализации только в ситуациях, когда родительские хромосомы различаются не более чем в К генах.
Селекция. После определения и положительной оценки потомка он может быть сразу же включен в текущую популяцию вместо худшего из своих родителей, при этом из алгоритма исключается внешний цикл (что однако не означает сокращения общего объема вычислений).
Другой вариант селекции – отбор после каждой операции скрещивания двух лучших экземпляров среди двух потомков и двух родителей.
Часто член популяции с минимальным (лучшим) значением целевой функции принудительно включается в новое поколение, что гарантирует наследование приобретенных этим членом положительных свойств. Такой подход называют элитизмом. Обычно элитизм способствует более быстрой сходимости к локальному экстремуму, однако в многоэкстремальной ситуации ограничивает возможности попадания в окрестности других локальных экстремумов.
Примечание. Хромосому X* будем называть точкой локального минимума, если F(X*)<F(Xi) для всех хромосом Xi отличающихся от X* значением единственного гена, где F(X) – значение функции полезности в точке X.
Следующий вариант селекции – отбор N экземпляров среди членов репродукционной группы, которая составляется из родителей, потомков и мутантов, удовлетворяющих условию Fi < t, где t – пороговое значение функции полезности. Порог может быть равен или среднему значению F в текущем поколении, или значению F особи, занимающей определенное порядковое место. При этом мягкая схема отбора – в новое поколение включаются N лучших представителей репродукционной группы. Жесткая схема отбора – в новое поколение экземпляры включаются с вероятностью qi:
где Nr – размер репродукционной группы.
Переупорядочение. Кроме перечисленных основных операторов, находят применение некоторые дополнительные. К их числу относится оператор переупорядочения генов – изменения их распределения по локусам.
Назначение переупорядочения связано со свойством, носящим название эпистасис. Эпистасис имеет место, если функция полезности зависит не только от значений генов (аллелей), но и от их позиционирования. Наличие эпистасиса говорит о нелинейности целевой функции и существенно усложняет решение задач. Действительно, если некоторые аллели двух генов оказывают определенное положительное влияние на целевую функцию, образуя некоторую связку (схему), но вследствие эпистасиса при разрыве связки эти аллели оказывают уже противоположное влияние на функцию полезности, то разрывать такие схемы не следует. А это означает, что связанные эпистасисом гены желательно располагать близко друг к другу, т.е. при небольших длинах схем. Оператор переупорядочения помогает автоматически "нащупать" такие совокупности генов (они называются хромосомными блоками или building blocks) и разместить их в близких локусах.