Grasshopper Docs

Community documentation for Grasshopper add-ons & plugins


ADDON. Version 0.4. Released on 2018-Dec-05. Provides 35 components. Created by Robert Vierlinger. Features 0 video tutorials.
Octopus 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.
Evolutionary Learning
Explicit Components
Supervised Learning

Explicit Components

Check Pareto Dominance
Takes two individuals and returns the dominance relation, assuming a minimization problem.
Compute Diversity
Computes the paremetric diversity of each solution in the list and adds it as an objective
Construct Solution
Takes a lists of numbers for parameters and/or objectives to wrap them in a single object for better handling of pools of solutions [generations etc.]
Cull Duplicate Solutions
Removes duplicate solutions
Deconstruct Solution
Takes an OctopusSolution object and explodes it into parameters and objectives
Cull Elite
Selects an elite of best multi-objective solutions, assuming a minimization problem.
Cull Pareto Fronts (Pareto Fronts)
Divides a set of solutions into pareto-fronts, assuming a minimization problem.
Hypervolume Contributions (HV+)
Calculates the Hypervolume contributions of a multi-dimensional set of points in relation to a reference point
Calculates the Hypervolume of the ParetoFront of a multi-dimensional set of points; exact algorithm; normalizes the pareto front to objectives between 0 and 1
Mutate (Mutate an Octopus Solution)
Mutate a solution's parameter values
Remap Objectives
Remaps the objective values of a set of solutions, assuming a minimization problem when taking the pareto fron as a start domain.
Crossover (Simulated Binary Crossover)
Takes two individuals and exchanges parameters between them - after 'SBX - Simulated Binary Crossover'
Tournament Selection (TS)
Tournament Selection for single or multi objective solutions, assuming a minimization problem.

Evolutionary Learning

Breeder Settings - All (oEL) (SetAll (octEvoLearn))
Settings for the NEAT Algorithm to evolve an ANN
Breeder Settings - Basics (oEL) (SetBase (octEvoLearn))
Basic Settings for the NEAT Algorithm to evolve an ANN. These will override any changes made to the properties in the All-Settings Component.
Construct Network (oEL) (ConsN (octEvoLearn))
Create a Network by node-points, connection-indices and weights.
Deconstruct Network (oEL) (DeconN (octEvoLearn))
Deconstruct a network into its nodes, connections, weights, functions and metadata like performance data.
Deconstruct Network Obj (oEL) (DeconNObj (octEvoLearn))
Gives the Network's Objective and Fitness Values
Evaluate Network (oEL) (EvalN (octEvoLearn))
Forward-Pass through the Network: Takes values for the input nodes and calculates the outputs.
Field Curve (oEL) (FC (octEvoLearn))
Draws a curve following the direction field defined by a Network. Integration with Runge-Kutta 4th order.
Modify Weights (oEL) (Crossover (octEvoLearn))
Takes a pool of Networks and produces offspring by crossover mating
Mutate Weights (oEL) (MutW (octEvoLearn))
Mutate connection weights of a Network
Breeder (oEL) (NEAT (octEvoLearn))
Evolves artificial neural networks with the NEAT algorithm, using SharpNeatLib by Sebastian Risi
Random Network (oEL) (RN (octEvoLearn))
Generate a random network
Show Network (oEL) (SN (octEvoLearn))
Opens a window to show the Network

Supervised Learning

Network Training Settings (oSL) (NTS (octSupervLearn))
Settings for RPROP Supervised Learning of an ANN
Network Evaluate (oSL) (EvalN (octSupervLearn))
Evaluate a network for some input values
Network Learning (oSL) (NetLearn (octSupervLearn))
Supervised example training of a Network by multi-core resilient propagation algorithm, using the Encog library by Jeff Heaton
SVM Evaluate (oSL) (SVMEval (octSupervLearn))
Evaluate the learnt SVM function
SVM Learning (oSL) (SVMLearn (octSupervLearn))
Train SVM and optionally estimate parameters using grid search and cross validation


Octopus Loop
Octopus Loop
Octopus Evaluator (Octopus Eval)
Octopus Evaluator


MD NearestNeighbors (MD NearN)
Neighbourhood search of multi-dimensional points (euclidean kd-tree)


Select Solutions
Takes octopus solutions or networks with saved phenotype meshes to show them for selection


Multi-objective seach and optimzation

Site design © Robin Rodricks.   Octopus and associated data © 2022 Robert Vierlinger.  
Rhinoceros and Grasshopper are registered trademarks of Robert McNeel & Associates.  Hosted by GitHub

Report an Issue  |  Terms of Service