Neuroproject.ru / Главная страница
   Главная / Каталог программ


 

О компании
Програмные продукты
Услуги
Обучение
Материалы
Форум
     НейроПрактикум   

   NeuroShell 2       GeneHunter       NeuroShell Predictor       NeuroShell Classifier       NeuroShell runtime server

   Deductor
 
GeneHunter
Пакет для решения оптимизационных задач

    Описание программного продукта

    Введение
    Использование надстройки GeneHunter для Excel
    Использование генетических алгоритмов во внешних программах с помощью динамической библиотеки GALIB
    Примеры использования GeneHunter
    Пакетное дополнение GeneHunter
    Спецификация GeneHunter

Введение

  Gene Hunter logo

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

Пакет состоит из трех частей:

1. Надстройка для Microsoft Excel.

Надстройка дает возможность решать оптимизационные задачи прямо в Excel. Подробно об надстройке написано в разделе Использование надстройки GeneHunter для Excel.



2. Динамическая библиотека функций.

Библиотека функций генетических алгоримов GALIB, которую можно использовать при программировании своих собственных систем. Подробно об библиотеке написано в разделе Использование генетических алгоритмов в Ваших программах с помощью динамической библиотеки GALIB.



3. Комплект примеров.

Комплект примеров использования пакета для решения разнообразных задач, который содержит множесто полезных идей. В комплект входят готовые документы Excel, на примере которые Вы можете легко научиться использовать надстройку для Excel, а также исходники на Delphi, Borland C, Visual Basic и Visual C, демонстрирующие использование программного интерфейса библиотеки GALIB. Описание примеров смотрите в разделе Примеры использования GeneHunter.



Что такое задача оптимизации?

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



Эволюция и Генетические Алгоритмы.

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

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



Как работает GeneHunter?

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

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

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

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

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


   Введение
    Использование надстройки GeneHunter для Excel
    Использование генетических алгоритмов в Ваших программах с помощью динамической библиотеки GALIB
    Примеры использования GeneHunter
    Пакетное дополнение GeneHunter
    Спецификация GeneHunter

     НейроПрактикум       NeuroShell 2       GeneHunter       NeuroShell Predictor       NeuroShell Classifier       NeuroShell runtime server

   Deductor


Rambler's Top100 Rambler's Top100