Улучшенный генетический алгоритм для задачи с несколькими рюкзаками

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


comment
Я не уверен, что вы подразумеваете под традиционным генетическим алгоритмом. Есть так много разных параметров, с которыми вы можете играть в простом генетическом алгоритме (например, размер популяции, частота мутаций, метод скрещивания, метод селекции, метод кодирования решения в генотипе). Было бы довольно трудно найти алгоритм, который дал бы вам определенного представителя генетических алгоритмов.   -  person metaliving    schedule 07.06.2010


Ответы (3)


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

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

Взгляните на следующее для других идей:

person Joel Hoff    schedule 23.06.2010

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

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

person JohnIdol    schedule 10.06.2010
comment
Да, ты действительно обряд, я полностью принимаю это. когда я изменил фитнес-функцию в условиях проблемы. Это действительно работало. Итак, теперь я меняю некоторые параметры, такие как скорость кроссовера, скорость мутации. Но на самом деле эти вещи уже изучены. Я имею в виду уже константу, почти как мутацию, зависящую от проблемы 1/n, что-то в этом роде. Теперь, что я делаю, я изменяю операторы кроссовера. Было ясно, что нужно улучшить производительность GA. В настоящее время мой алгоритм в любом случае работает лучше, чем многие алгоритмы (я только что протестировал проблему с несколькими рюкзаками). Но меня недостаточно для этого. - person user347918; 01.07.2010
comment
Мир иногда слишком велик, когда я чего-то не понимаю. Иногда мир слишком тесен, когда я что-то понимаю к-к-к. Еще работаю над. - person user347918; 01.07.2010

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

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

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

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

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

person Eric    schedule 23.06.2010
comment
Извините, не был четким ответом. Я пытаюсь продвинуть метод генетического алгоритма, используя мультирюкзак в качестве тестовой платформы. Я понял. Я учту все то, о чем вы говорите. - person user347918; 01.07.2010