У меня возник вопрос, связанный с оператором адаптивного кроссовера 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. С уважением:
Луис