Набор инструментов для эволюционных вычислений Java - Java Evolutionary Computation Toolkit

ECJ - бесплатная программа эволюционные вычисления исследовательская система, написанная на Java. Это структура, которая поддерживает различные методы эволюционных вычислений, такие как генетические алгоритмы, генетическое программирование, стратегии эволюции, коэволюция, оптимизация роя частиц и дифференциальная эволюция. Эта структура моделирует итерационные эволюционные процессы, используя серию конвейеров, соединяющих одну или несколько субпопуляций людей с отбор, разведение (например, кроссовер, и мутация операторы, производящие новых людей. Фреймворк с открытым исходным кодом и распространяется под Академическая бесплатная лицензия. ECJ был создан Шон Люк, профессор информатики в Университете Джорджа Мейсона, и поддерживается Шоном Люком и множеством участников.

Возможности (перечислены из Страница проекта ECJ ):

Общие характеристики:

  • Графический интерфейс с диаграммами
  • Независимые от платформы контрольные точки и ведение журнала
  • Файлы иерархических параметров
  • Многопоточность
  • Генераторы случайных чисел Mersenne Twister
  • Абстракции для реализации различных форм ЭК.

Особенности EC:

  • Асинхронные островные модели через TCP / IP
  • Оценка Master / Slave на нескольких процессорах
  • Генетические алгоритмы / стиль программирования Устойчивое состояние и эволюция поколений, с элитарностью или без нее
  • Стиль эволюционных стратегий (мю, лямбда) и (мю + лямбда) эволюция
  • Очень гибкая архитектура разведения
  • Многие операторы выбора
  • Множественные субпопуляции и виды
  • Обмены между субпопуляциями
  • Чтение популяций из файлов
  • Коэволюция одной и нескольких популяций
  • Многокритериальная оптимизация SPEA2
  • Оптимизация роя частиц
  • Дифференциальная эволюция
  • Пространственно встроенные эволюционные алгоритмы
  • Хуки для других методов многокритериальной оптимизации
  • Пакеты для экономии давления

Представления дерева GP:

  • Основанное на наборах строго типизированное генетическое программирование
  • Эфемерные случайные константы
  • Автоматически определяемые функции и автоматически определяемые макросы
  • Множественные лесные леса
  • Шесть алгоритмов построения дерева
  • Обширный набор операторов селекции GP
  • Семь предварительно подготовленных проблемных областей приложения GP (муравей, регрессия, мультиплексор, газонокосилка, четность, два блока, край)

Векторные (GA / ES) представления:

  • Геномы фиксированной и переменной длины
  • Произвольные представления
  • Пять заранее подготовленных проблемных областей векторных приложений (сумма, розенброк, сфера, шаг, шумно-квартика)

Другие представительства:

  • АККУРАТНЫЙ
  • Геномы на основе множественных наборов в пакете правил для развития наборов правил подхода Питта или других основанных на наборах представлений.

Смотрите также

  • Paradiseo, фреймворк метаэвристики
  • Структура MOEA, Java-среда с открытым исходным кодом для многоцелевых эволюционных алгоритмов.

Рекомендации