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

Эволюционное программирование.

История эволюционных вычислений началась с разработки ряда различных независимых моделей. Основными из них были генетические алгоритмы и классификационные системы Голланда (Holland), опубликованные в начале 60‑х годов и получившие всеобщее признание после выхода в свет книги, ставшей классикой в этой области, - "Адаптация в естественных и искусственных системах"

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

Рис. 16 Схема генетического алгоритма

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

Рис.17 Модель скрещивания и мутации

Как и в предыдущем случае, генетические алгоритмы являются самоорганизующимися и позволяют получать качественно новые, неожиданные результаты. Главная трудность, связанная с возможностью построения вычислительных систем, основанных на принципах естественного отбора и применением этих систем в прикладных задачах, состоит в том, что природные системы достаточно хаотичны, а все наши действия, фактически, носят четкую направленность. Мы используем компьютер как инструмент для решения определенных задач, которые мы сами и формулируем, и мы акцентируем внимание на максимально быстром выполнении при минимальных затратах (см. рис.18). Природные системы не имеют никаких таких целей или ограничений.

Генерация случайного начального состояния.

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

Вычисление коэффициента выживаемости (fitness).

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

Воспроизводство.

Хромосомы, имеющие большую выживамость (fitness), попадают к потомкам (которые затем могут мутировать) с большей вероятностью. Потомок, результат слияния 'отца' и 'матери', является комбинацией их ген. Этот процесс называется 'кроссиннговер' (crossing over).

Следующее поколение.

Е сли новое поколение содержит решение, достаточно близкое к ответу, то задача решена. В противоположном случае оно проходит через тот же процесс. Это продолжается до достижения решения.

Рис.18 Схема генетического алгоритма

Усилия, направленные на моделирование эволюции по аналогии с природными системами, к настоящему времени можно разбить на две большие категории: 1) системы, которые смоделированы на биологических принципах (они успешно использовались для задач типа функциональной оптимизации и могут легко быть описаны на небиологическом языке), 2) системы, которые являются биологически более реалистичными, но которые не оказались особенно полезными в прикладном смысле. Они больше похожи на биологические системы и менее направлены (или не направлены вовсе). На практике мы не можем разделять эти вещи так строго. Эти категории - просто два полюса, между которыми лежат различные вычислительные системы. Ближе к первому полюсу - эволюционные алгоритмы, такие как Эволюционное Программирование (Evolutionary Programming), Генетические Алгоритмы (Genetic Algorithms) и Эволюционные Стратегии (Evolution Strategies). Ближе ко второму полюсу - системы, которые могут быть классифицированы как Искусственная Жизнь (Artificial Life).

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

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

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

Области применения систем ИАД

Класс задач

Примеры применения методов ИАД

Стратегическое управление

  • прогнозирование экономических показателей будущих периодов;

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

Кадровая служба

  • анализ анкет соискателей: какие характеристики соответствуют будущей производительности труда;

  • выявление возможных конфликтов внутри предприятия;

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

Снабжение

  • оптимизация графиков получения сырья;

  • прогнозирование цен на ресурсы.

Производство

  • оптимизация расходования ресурсов;

  • оптимизация технологических операций;

  • диагностика брака и методы борьбы с ним.

Финансы

  • анализ и прогнозирование финансовых потоков;

  • управление инвестиционными проектами;

  • планирование пассивов и активов.

Логистика

  • оптимизация графиков отгрузки продукции;

  • оптимизация транспортных схем.

Планирование

  • прогнозирование цен на продукцию;

прогнозирование и оптимизация корпоративных расходов.

НИОКР

  • поиск инноваций в производственной сфере.

  • прогнозирование эффективности внедрения новых продуктов и технологий;

Маркетинг

  • определение целевой аудитории для сбыта;

  • какой вид рекламы действует на тот или иной вид аудитории;

  • как объем сбыта связан с расходами на рекламу;

  • кто из потенциальных клиентов становится настоящим;

  • как зависит уровень продаж от предоставленных скидок;

  • построение профиля покупателя;

  • исследование рыночной конъюнктуры;

  • определение клиентов, для которых существует риск потери партнерства;

  • анализ реакции покупательской аудитории на изменение характеристик продукции (дизайн, функциональность, упаковка);

  • сравнительный анализ конкурирующих фирм: какие характеристики соответствуют успешному бизнесу;

Безопасность

  • выявление возможных невыплат в сделках с отсрочкой платежа;

  • выявление возможного невыполнения обязательств поставщиками и покупателями;

  • выявление подлогов в документах;