MCPcopy Index your code
hub / github.com/Project-Platypus/Platypus

github.com/Project-Platypus/Platypus @1.4.1

Chat with this repo
repository ↗ · DeepWiki ↗ · release 1.4.1 ↗ · + Follow
875 symbols 3,023 edges 63 files 217 documented · 25%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Platypus

Test and Publish Documentation Status PyPI Latest Release PyPI

What is Platypus?

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 examples and online documentation.

Example

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)

Installation

To install the latest Platypus release, run the following command:

    pip install platypus-opt

To install the latest development version of Platypus, run the following commands:

    pip install -U build setuptools
    git clone https://github.com/Project-Platypus/Platypus.git
    cd Platypus
    python -m build
    python -m pip install --editable .

Anaconda

Platypus is also available via conda-forge.

    conda config --add channels conda-forge
    conda install platypus-opt

For more information, see the feedstock.

Citation

If you use this software in your work, please cite it as follows (APA style):

Hadka, D. (2024). Platypus: A Framework for Evolutionary Computing in Python (Version 1.3.0) [Computer software]. Retrieved from https://github.com/Project-Platypus/Platypus.

License

Platypus is released under the GNU General Public License.

Core symbols most depended-on inside this repo

createSolution
called by 64
platypus/tests/_utils.py
append
called by 62
platypus/core.py
extend
called by 31
platypus/core.py
run
called by 29
platypus/evaluator.py
evaluate_all
called by 20
platypus/core.py
_subvector
called by 17
platypus/problems.py
default_variator
called by 14
platypus/config.py
evolve
called by 14
platypus/core.py

Shape

Method 462
Function 255
Class 158

Languages

Python100%

Modules by API surface

platypus/problems.py187 symbols
platypus/core.py129 symbols
platypus/algorithms.py114 symbols
platypus/operators.py76 symbols
platypus/tests/test_core.py33 symbols
platypus/types.py31 symbols
platypus/evaluator.py28 symbols
platypus/extensions.py26 symbols
platypus/indicators.py22 symbols
platypus/_math.py20 symbols
platypus/deprecated.py17 symbols
platypus/mpipool.py16 symbols

For agents

$ claude mcp add Platypus \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact