Octopus

Octopus is a plug-in for applying evolutionary principles to parametric design and problem solving. It allows the search for many goals at once, producing a range of optimized trade-off solutions between the extremes of each goal.

Also see octopus.E for custom evolutionary algorithms.

 

Download the latest version on food4rhino

It is part of a range of tools developed at the University of Applied Arts Vienna, and Bollinger+Grohmann Engineers.

 

  • search for single goal + diversity of solutions
  • search for best trade offs between 2 to X goals
  • improve solutions by similarity-goals
  • choose preferred solutions during a search
  • change objectives during a search
  • solutions' 3d models 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 introduces multiple fitness values to the optimization. The best trade-offs between those objectives are searched, producing a set of possible optimum solutions that ideally reach from one extreme trade-off to the other.

Based on SPEA-2 and HypE from ETH Zürich and David Rutten's Galapagos User Interface. Developed by Robert Vierlinger in cooperation with Christoph Zimmel, karamba3d.com and Bollinger+Grohmann Engineers.

 

To install:

  • Copy the .gha and .dll file into the Grasshopper components folder 
  • Right-click the file > Properties > make sure there is no "blocked" text
  • Restart Rhino and Grasshopper

 

Some examples are provided here

New commented examples and a brief manual are provided in the download of octopus on food4rhino.

Using a complicated loop with Galapagos/Octopus

Hi!

I have a pretty complex code that’s making an urban planning system to construct blocks and tiles.
I made a loop with anemone as I can’t seem to make the Octopus loop work at all (it only does the first stage of the loop and keeps copying it over and over instead of moving forward: which works perfectly with Anemone)

The problem is that when I use Galapagos to run it, the Galapagos listener keeps catching the loop while it is still working, snapping that picture of the viewport, and moves on to change sliders - all before the loop even finished its work.

Any way to make it work? Or an explanation about how the Octopus Loop is different?

It would be very much appreciated!

Lev