Адаптивный оператор кроссовера SBX - PullRequest
0 голосов
/ 02 марта 2020

У меня возник вопрос, связанный с оператором адаптивного кроссовера SBX:

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

Я использую оператор кроссовера SBX в моем NSGA III. Я понимаю принцип и как работает оператор SBX Crossover. Из-за упомянутой выше проблемы я планирую использовать оператор Adaptive SBX для увеличения возможностей моего кода. Я сталкивался со следующими бумагами относительно этого:

1) http://gpbib.cs.ucl.ac.uk/gecco2007/docs/p1187.pdf 2) https://www.researchgate.net/publication/44260546_Self-Adaptive_Mechanism_for_Multi-objective_Evolutionary_Algorithms

Я понимаю, как работает адаптивный SBX , Однако в последней части обеих статей каждому индексу, созданному для дочернего элемента, назначен отдельный индекс распределения «n c», чтобы итерация могла продолжаться и применялось SBX с использованием этих новых значений «n c».

Однако, Мне не ясно, как я должен применить оператор кроссовера после первой итерации к двум родительским индивидам (дочерним индивидам на предыдущей итерации), которые имеют разные индексы распределения "n c ". Имеет ли это отношение к созданию двух дочерних решений, одно из которых использует n c первого родителя, а другое - n c второго родителя ?. Или при пересечении двух индивидуумов с различным индексом распределения n c подразумевается ли получение 4, а не 2 дочерних решений? Что эта последняя точка означает использование n c одного родителя для получения первых двух дочерних решений, а затем использование n c второго родителя для получения двух последних дочерних решений?.

Если вы Есть какие-либо комментарии по этому поводу, пожалуйста, дайте мне знать, чтобы я мог изменить свой код SBX в MATLAB. С уважением:

Луис

...