Внедрение сразу трех функций в другой оптимизатор Evolution
Я установил Оптимизатор дифференциальной эволюции (DE), следуя инструкциям на https://github.com/skarjoko/differential-evolution/blob/master/Main.java, и простой запуск кода в eclipse работает нормально и позволяет мне легко оптимизировать пример функций.
Теперь к моей проблеме: в режиме по умолчанию DE только выполняет оптимизацию единственной функции (например, f(x1) = y1), выбрасывая значение только одной функции.
Модель, которую мне нужно оптимизировать, состоит из трех функций (например, f(x1) = y1, f(x2) = y2, f(x3) = y3)), и мне потребуется одно значение для каждой функции в отдельности. Как я должен приступить к реализации этих трех функций в DE?
Справочная информация о модели: модель, которую мне нужно оптимизировать, состоит из трех возможных фракций людей, которые могут или не могут принять поведение (фракция людей, которые только что узнали об инновациях, фракция людей, которые намереваются использовать инновации, и фракция людей, которые уже используют инновации). Распространение принятия моделируется в модели на основе дискретного агента времени и пространства.
Заранее спасибо за вашу помощь!
1 ответ
Вы можете определить три фитнес-функции как f(x1), f(x2) и f(x3). В коде, который вы предоставили, автор определил различные функции стоимости, такие как проблема Швефеля, в файле DifferentialEvolution.java. Вам необходимо рассчитать три значения пригодности для каждого индивидуума DE в соответствии с вашими целями. Поскольку у вас есть несколько целей, вы должны рассчитать парето-оптимальную задачу из 3 задач. следующие ссылки могут дать вам несколько советов: