Конструктивная кооперативная коэволюция
Конструктивный кооперативный коэволюционный алгоритм (также называемый C 3 ) — алгоритм глобальной оптимизации в области искусственного интеллекта , основанный на многозаходной архитектуре процедуры жадного рандомизированного адаптивного поиска (GRASP). [1] [2] Он включает в себя существующий кооперативный коэволюционный алгоритм (CC). [3] Рассматриваемая проблема разлагается на подзадачи. Эти подзадачи оптимизируются отдельно при обмене информацией для решения всей проблемы. Алгоритм оптимизации, обычно, но не обязательно, эволюционный алгоритм , встроен в C. 3 для оптимизации этих подзадач. Характер встроенного алгоритма оптимизации определяет, будет ли C 3 поведение является детерминированным или стохастическим .
С 3 Алгоритм оптимизации изначально был разработан для оптимизации на основе моделирования. [4] [5] но его можно использовать для задач глобальной оптимизации в целом. [6] Его преимущество перед другими алгоритмами оптимизации, особенно над кооперативной коэволюцией, заключается в том, что он лучше справляется с неразделимыми задачами оптимизации. [4] [7]
Позже была предложена улучшенная версия, получившая название «Улучшенная конструктивная кооперативная коэволюционная дифференциальная эволюция» (C 3я DE), что устраняет некоторые ограничения предыдущей версии. Новый элемент C 3я DE — это расширенная инициализация субпопуляций. С 3я DE изначально оптимизирует субпопуляции частично коадаптивным образом. Во время первоначальной оптимизации субпопуляции для совместной адаптации рассматривается только подмножество других субкомпонентов. Это подмножество постепенно увеличивается, пока не будут учтены все подкомпоненты. Это делает С 3я DE очень эффективен при решении крупномасштабных задач глобальной оптимизации (до 1000 измерений) по сравнению с кооперативным коэволюционным алгоритмом (CC) и дифференциальной эволюцией . [8]
Усовершенствованный алгоритм затем был адаптирован для многокритериальной оптимизации . [9]
Алгоритм
[ редактировать ]Как показано в псевдокоде ниже, итерация C 3 существует из двух фаз. На этапе I, конструктивном этапе, поэтапно строится возможное решение всей проблемы. На каждом этапе рассматривается отдельная подзадача. После заключительного шага рассматриваются все подзадачи и строится решение всей проблемы. Это построенное решение затем используется в качестве начального решения на этапе II, этапе локального улучшения. Алгоритм CC используется для дальнейшей оптимизации построенного решения. Цикл фазы II включает оптимизацию подзадач по отдельности, сохраняя при этом параметры других подзадач фиксированными в соответствии с решением на центральной доске. Когда это делается для каждой подзадачи, найденные решения объединяются на этапе «сотрудничества», и лучшая из полученных комбинаций становится решением на доске для следующего цикла. В следующем цикле повторяется то же самое. Фаза II и, следовательно, текущая итерация завершаются, когда поиск алгоритма CC застаивается и не удается найти существенно лучших решений. Затем запускается следующая итерация. В начале следующей итерации строится новое допустимое решение, использующее решения, которые были найдены на этапе I предыдущей итерации. Это построенное решение затем используется в качестве начального решения на этапе II так же, как и на первой итерации. Это повторяется до тех пор, пока не будет достигнут один из критериев завершения оптимизации, например, максимальное количество оценок.
{Sphase1} ← ∅ while termination criteria not satisfied do if {Sphase1} = ∅ then {Sphase1} ← SubOpt(∅, 1) end if while pphase1 not completely constructed do pphase1 ← GetBest({Sphase1}) {Sphase1} ← SubOpt(pphase1, inext subproblem) end while pphase2 ← GetBest({Sphase1}) while not stagnate do {Sphase2} ← ∅ for each subproblem i do {Sphase2} ← SubOpt(pphase2,i) end for {Sphase2} ← Collab({Sphase2}) pphase2 ← GetBest({Sphase2}) end while end while
Многокритериальная оптимизация
[ редактировать ]Многоцелевая версия C 3 алгоритм [9] - это алгоритм на основе Парето, который использует ту же стратегию «разделяй и властвуй», что и одноцелевой C 3 алгоритм оптимизации. Алгоритм снова начинается с расширенной конструктивной начальной оптимизации подгрупп, учитывая увеличивающееся подмножество подзадач. Подмножество увеличивается до тех пор, пока не будет включен весь набор всех подзадач. Во время этих первоначальных оптимизаций подгруппа последней включенной подзадачи развивается с помощью многокритериального эволюционного алгоритма. Для расчетов пригодности членов субпопуляции они объединяются с совместным решением каждой из ранее оптимизированных субпопуляций. После того, как все подгруппы подзадач изначально оптимизированы, многоцелевой C 3 Алгоритм оптимизации продолжает оптимизировать каждую подзадачу по кругу , но теперь совместные решения из подпопуляций всех других подзадач объединяются с членом подпопуляции, который оценивается. Совместное решение выбирается случайным образом из решений, составляющих Парето-оптимальный фронт субпопуляции. Присвоение пригодности сотрудничающим решениям выполняется оптимистическим способом (т. е. «старое» значение пригодности заменяется, когда новое лучше).
Приложения
[ редактировать ]Алгоритм конструктивной кооперативной коэволюции применялся к различным типам задач, например, к набору стандартных эталонных функций, [4] [6] оптимизация линий прессования листового металла [4] [5] и взаимодействующие производственные станции. [5] С 3 алгоритм был встроен, среди прочего, в алгоритм дифференциальной эволюции. [10] и оптимизатор роя частиц [11] для оптимизации подзадачи.
См. также
[ редактировать ]- Кооперативная коэволюция
- Метаэвристический
- Стохастический поиск
- Дифференциальная эволюция
- Роевой интеллект
- Генетические алгоритмы
- Гиперэвристика
Ссылки
[ редактировать ]- ^ TA Feo и MGC Resende (1989) «Вероятностная эвристика для вычислительно сложной задачи покрытия множества» . Письма об исследовании операций , 8:67–71, 1989.
- ^ TA Feo и MGC Resende (1995) «Жадные рандомизированные адаптивные процедуры поиска» . Журнал глобальной оптимизации , 6:109–133, 1995.
- ^ М.А. Поттер и К.А.Д. Джонг, «Совместный коэволюционный подход к оптимизации функций» , в PPSN III: Труды Международной конференции по эволюционным вычислениям. Третья конференция по параллельному решению проблем от Nature Лондон, Великобритания: Springer-Verlag, 1994, стр. 249–257.
- ^ Jump up to: а б с д Глорье Э., Дэниелссон Ф., Свенссон Б., Леннартсон Б., «Оптимизация взаимодействующих производственных станций с использованием конструктивно-кооперативного коэволюционного подхода» , Международная конференция IEEE по автоматизации науки и техники (CASE), 2014 г., стр. 322-327, август 2014, Тайбэй, Тайвань
- ^ Jump up to: а б с Глорье Э., Свенссон Б., Дэниэлссон Ф., Леннартсон Б., «Конструктивный кооперативный коэволюционный алгоритм, применяемый для оптимизации прессовой линии» , Материалы 24-й Международной конференции по гибкой автоматизации и интеллектуальному производству (FAIM), стр. 909-917 , май 2014 г., Сан-Антонио, Техас, США.
- ^ Jump up to: а б Глорьё Э., Свенссон Б., Дэниелссон Ф., Леннартсон Б.: «Конструктивная кооперативная коэволюция для крупномасштабной глобальной оптимизации» , Журнал эвристики , 2017.
- ^ Глорье Э., Дэниелссон Ф., Свенссон Б., Леннартсон Б.: «Конструктивная совместная коэволюционная оптимизация взаимодействующих производственных станций» , Международный журнал передовых производственных технологий , 2015.
- ^ Глорье Э., Свенссон Б., Дэниелссон Ф., Леннартсон Б., «Улучшенная конструктивная кооперативная коэволюционная дифференциальная эволюция для крупномасштабной оптимизации» , Серия симпозиумов IEEE по вычислительному интеллекту, 2015 г., декабрь 2015 г.
- ^ Jump up to: а б Глорье Э., Свенссон Б., Дэниелссон Ф., Леннартсон Б., «Многоцелевая конструктивная совместная коэволюционная оптимизация роботизированного обслуживания пресс-линий» , Engineering Optimization, Vol. 49, вып. 10, 2017, стр. 1685-1703
- ^ Сторн, Райнер и Кеннет Прайс. «Дифференциальная эволюция – простая и эффективная эвристика глобальной оптимизации в непрерывных пространствах» , Журнал глобальной оптимизации 11.4 (1997): 341-359.
- ^ Эберхарт, Расс К. и Джеймс Кеннеди. «Новый оптимизатор, использующий теорию роя частиц» , Труды шестого международного симпозиума по микромашинам и гуманитарным наукам. Том. 1. 1995.