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.

Computer cluster to reduce the optimization time?

Is it possible to use a computer cluster to reduce the optimization time in octopus?

Someone has already tried something about it?

Thanks, JD

  • up

    Robert Vier

    Hi,

    actually this is a big topic, since good results / application to complex tasks is unfeasible in most of the cases, when its simply not fast enough.

    since grasshopper and rhino are not threadsafe from the beginning, it is not trivial, though. we got some developments going on to virtualize the context of the rhino and grasshopper file on another (invisible) instance, ... technical details .... but its still indevelopment, as said.

    the other, more simple option - but far less user friendly - would be to start up multiple RhinoGH sessions on either the same machine or within a network, place a comunicator-component on the canvas and use those RhinoGH session to do some calculation..

    do you have approaches / experience?

    best,

    Robert

    1
    • up

      Michael Fluer

      I’ve been diving into some complex computing topics lately, and while setting up a computer cluster for heavy tasks sounds ideal, it’s not always straightforward. To check my monitor’s performance before tackling these challenges, I used an online screen test at https://allcolorscreen.com/mac-os-fake-update. It helped me spot minor issues early on, which saved me from bigger problems later. Having such tools handy really makes a difference when you’re working with demanding software and hardware setups.