Оптимизация роя частиц (PSO) с неверными решениями-кандидатами

Я создал простую модель для автономного соседства с его энергетическим балансом, основанную на солнечной энергии, ветре и некотором запасе энергии. Я использую PSO, чтобы найти минимальную солнечную и ветровую мощность, необходимую для полной потери энергии в течение всего года.

Чем больше емкость, тем больше стоимость, поэтому стоимость минимизирована. Решения-кандидаты, в которых наблюдается потеря мощности, не должны рассматриваться как решения. Не могли бы вы посоветовать мне, как реализовать критерии без потерь мощности?

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

1 ответ

Решение

Мой ответ касается общего подхода к проблеме с "недопустимыми" состояниями (потеря мощности в вашем примере) и не учитывает выбранный метод оптимизации (PSO).

  1. Добавьте высокий аддитивный штраф за каждую "единицу" потери мощности. Это будет работать только в том случае, если потеря мощности поддается количественной оценке. Просто логическое значение (действительное / недействительное) не сработает, потому что оно не говорит о том, насколько мы далеки от правильного решения.

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

Другие вопросы по тегам