Platypus is a framework for evolutionary computing in Python with a focus on multiobjective evolutionary algorithms (MOEAs). It differs from existing optimization libraries, including PyGMO, Inspyred, DEAP, and Scipy, by providing optimization algorithms and analysis tools for multiobjective optimization. It currently supports NSGA-II, NSGA-III, MOEA/D, IBEA, Epsilon-MOEA, SPEA2, GDE3, OMOPSO, SMPSO, and Epsilon-NSGA-II. For more information, see our IPython Notebook or our online documentation.
For example, optimizing a simple biobjective problem with a single real-valued decision variables is accomplished in Platypus with:
from platypus import NSGAII, Problem, Real
def schaffer(x):
return [x[0]**2, (x[0]-2)**2]
problem = Problem(1, 2)
problem.types[:] = Real(-10, 10)
problem.function = schaffer
algorithm = NSGAII(problem)
algorithm.run(10000)
To install the latest development version of Platypus using pip
pip install git+https://github.com/whhxp/Platypus.git
To install the latest development version of Platypus, run the following commands:
git clone https://github.com/whhxp/Platypus.git
cd Platypus
python setup.py install
Platypus is released under the GNU General Public License.