Оптимизация роя частиц (PSO) с неверными решениями-кандидатами
Я создал простую модель для автономного соседства с его энергетическим балансом, основанную на солнечной энергии, ветре и некотором запасе энергии. Я использую PSO, чтобы найти минимальную солнечную и ветровую мощность, необходимую для полной потери энергии в течение всего года.
Чем больше емкость, тем больше стоимость, поэтому стоимость минимизирована. Решения-кандидаты, в которых наблюдается потеря мощности, не должны рассматриваться как решения. Не могли бы вы посоветовать мне, как реализовать критерии без потерь мощности?
Что я сделал сейчас: когда конфигурация приводит к потере мощности, я назначаю этому подходящему решению высокую стоимость. Кажется, это работает, но это не то, что вы бы назвали, очень элегантно...
1 ответ
Мой ответ касается общего подхода к проблеме с "недопустимыми" состояниями (потеря мощности в вашем примере) и не учитывает выбранный метод оптимизации (PSO).
Добавьте высокий аддитивный штраф за каждую "единицу" потери мощности. Это будет работать только в том случае, если потеря мощности поддается количественной оценке. Просто логическое значение (действительное / недействительное) не сработает, потому что оно не говорит о том, насколько мы далеки от правильного решения.
Поиск только в подпространстве допустимых (без потерь) конфигураций. Если в таком подпространстве достаточно свободы для запуска поиска, а хорошие действительные состояния, полностью "окруженные" недопустимыми состояниями, маловероятны, то поиск будет успешным.