Enables using PISA - A Platform and Programming Language Independent Interface for Search Algorithms selectors within the MOEA Framework. If using any of the PISA algorithms, please cite:
Bleuler, Stefan, Marco Laumanns, Lothar Thiele and Eckart Zitzler. “PISA: A Platform and Programming Language Independent Interface for Search Algorithms.” International Conference on Evolutionary Multi-Criterion Optimization (2003).
Add the following dependency to your pom.xml
:
<dependency>
<groupId>org.moeaframework</groupId>
<artifactId>pisa-plugin</artifactId>
<version>2.0.0</version>
</dependency>
Or download the JAR from the Releases into the MOEA Framework's lib/
folder.
The latest versions of the MOEA Framework and the PISA-Plugin are compatible. If using an older version of the MOEA Framework, use the table below to identify which version of this plugin to use.
MOEA Framework Version | Compatible PISA-Plugin Version |
---|---|
>= 4.0 |
2.0.0 |
>= 3.8 |
1.0.3 |
3.7 |
1.0.2 |
<= 3.6 |
Not available |
Once this plugin is added, you can reference PISA selectors as you would any other algorithm:
NondominatedPopulation result = new Executor()
.withProblem("DTLZ2_3")
.withAlgorithm("hype-pisa")
.withMaxEvaluations(10000)
.run();
One key difference, however, is that PISA selectors are third-party executables. Precompiled binaries are available for Windows and Linux.
The following PISA selectors are supported. We recommend adding -pisa
to the algorithm name to ensure
the PISA version is used.
Selector | MOEA Framework Algorithm Name |
---|---|
ECEA | ecea-pisa |
EpsMOEA | epsmoea-pisa |
FEMO | femo-pisa |
Hype | hype-pisa |
IBEA | ibea-pisa |
MSOPS | msops-pisa |
NSGA2 | nsga2-pisa |
SEMO | semo-pisa |
SEMO2 | semo2-pisa |
SHV | shv-pisa |
SIBEA | sibea-pisa |
SPAM | spam-pisa |
SPAM2 | spea2-pisa |
Selectors are automatically downloaded and installed from our GitHub Mirror. To avoid this setup or to support running without an internet connection, you can preinstall all selectors by running:
java -classpath "lib/*" org.moeaframework.algorithm.pisa.PISAAlgorithms install
Additionally, if you don't want to allow PISA selectors to be downloaded automatically, add the following to
moeaframework.properties
:
org.moeaframework.algorithm.pisa.allow_install = false
Precompiled binaries are provided for Windows and Linux. Attempting to use on a different OS will try to compile from source code. This is experimental and is not supported on all systems. You may also compile all selectors by running:
java -classpath "lib/*" org.moeaframework.algorithm.pisa.PISAAlgorithms install_source
Compiling will require the following dependencies: make
, a C/C++ compiler such as gcc
, unrar
,
unzip
, and tar
.
Some algorithms are implemented in both PISA and the MOEA Framework. If such cases, you can request the PISA
version by appending -PISA
to the name, such as NSGA2-PISA
.
Copyright 2009-2024 David Hadka and other contributors. All rights reserved.
The MOEA Framework is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
The MOEA Framework is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with the MOEA Framework. If not, see http://www.gnu.org/licenses/.