Octopus by Robert Vierlinger was originally made for Multi-Objective Evolutionary Optimization. It allows the search for many goals at once, producing a range of optimized trade-off solutions between the extremes of each goal. It is used and works similar to David Rutten’s Galapagos, but introduces the Pareto-Principle for Multiple Goals.

Based on SPEA-2 and HypE algorithm from ETH Zurich, also based on David Rutten’s Galapagos User Interface, Christoph Zimmel added the custom user interface and the hypervolume approximation. search for single goal + diversity of solutions, search for best trade offs between 2 to any number of goals, improve solutions by similarity-goals.

choose preferred solutions during a search, change objectives during a search, solutions’ 3d model in objective space for visual feedback, recorded history, save all search data within the Grasshopper document, save a solution as a Grasshopper State, export to text or text files.

Octopus now also includes:

  • Evolutionary Breeding of Artificial Neural Networks with extended Basis Functions, based on CPPN-HyperNEAT
  • Interactive Evolution – Selector Component
    When running a genetic evolutionary optimization, human decisions can be added as a decision- maker.

  • Simple Supervised Learning with Backpropagation and Artificial Neural Networks
    To make a component map N numeric inputs to M numeric outputs, based on examples it was shown before.
  • Supervised Learning with a Support Vector Machine (SVM)
    To make a component map N numeric inputs to 1 numeric output, based on examples it was shown before.

  • Octopus Explicit Components
    To build a genetic algorithm from its basic functions; allowing many different flavors of the way things are handled in the optimization.