Is it possible to use the MOEA framework with optimization algorithms other than Evolutionary? For example can I implement my own algorithm to solve a problem using the framework?
Absolutely. You can implement the Algorithm interface (link) or extend the AbstractAlgorithm class (link).
Note that the MOEA Framework assumes algorithms are iterative. Each step of the optimization algorithm is run within the iterate() method. This design is useful since you can then collect runtime dynamics every iteration.
Once the algorithm is implemented, you can expose it to the MOEA Framework by adding it to the StandardAlgorithms class (link). Doing so allows you to instantiate the algorithm via its name, e.g.: new Executor().withAlgorithm("MyCustomAlgorithm")....
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
View and moderate all "feature-requests Discussion" comments posted by this user
Mark all as spam, and block user from posting to "Feature Requests"
Absolutely. You can implement the Algorithm interface (link) or extend the AbstractAlgorithm class (link).
Note that the MOEA Framework assumes algorithms are iterative. Each step of the optimization algorithm is run within the
iterate()
method. This design is useful since you can then collect runtime dynamics every iteration.Once the algorithm is implemented, you can expose it to the MOEA Framework by adding it to the StandardAlgorithms class (link). Doing so allows you to instantiate the algorithm via its name, e.g.:
new Executor().withAlgorithm("MyCustomAlgorithm")...
.View and moderate all "feature-requests Discussion" comments posted by this user
Mark all as spam, and block user from posting to "Feature Requests"
This is great! Thank you very much for your answer!