Усовершенствованный генетический алгоритм для многозадачной задачи - PullRequest
1 голос
/ 01 июня 2010

В последнее время я улучшаю традиционный генетический алгоритм для многозадачной проблемы. Так что мой улучшенный генетический алгоритм работает лучше, чем традиционный генетический алгоритм. Я проверял. (Я использовал публично доступный из OR-библиотеки (http://people.brunel.ac.uk/~mastjjb/jeb/orlib/mknapinfo.html) были использованы для тестирования ГА.) Кто-нибудь знает другие улучшенные ГА. Я хотел сравнить с другим улучшенным генетическим алгоритмом. На самом деле я искал в Интернете. Не могу найти хороший алгоритм для сравнения.

Ответы [ 3 ]

1 голос
/ 23 июня 2010

Должно быть любое количество приличных методов ГА, с которыми вы можете сравнить. Однако вам следует сначала четко определить, какой именно «традиционный» метод GA вы уже опробовали.

Один хороший метод, который я могу порекомендовать, - это алгоритм NSGA-II , разработанный для многоцелевой оптимизации.

Посмотрите на следующее для других идей:

1 голос
/ 10 июня 2010

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

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

0 голосов
/ 23 июня 2010

Пытаетесь ли вы улучшить современное состояние многопользовательских решателей с помощью генетических алгоритмов? Или вы пытаетесь продвинуть технику генетического алгоритма, используя multiknapsack в качестве тестовой платформы? (Вы можете уточнить?)

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

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

Сначала я бы посмотрел литературу по многоканальному рюкзаку, чтобы увидеть, какие существуют различные виды пространств поиска и методов решения, которые люди используют в многоканальном пакете. В своих оптимальных или субоптимальных методах (независимо от генетических алгоритмов), какие типы операторов поиска они используют? Что они кодируют как переменные и что они кодируют как значения? Какие эвристические функции оценки используются? Какие ограничения они проверяют? Затем вы адаптируете их кодировки к своим операторам мутации и кроссовера и увидите, насколько хорошо они работают в ваших генетических алгоритмах.

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

...