algorithmic modeling for Rhino



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, 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.

Location: Vienna
Members: 142
Latest Activity: Oct 22

Discussion Forum

Where are the 4th, 5th, 6th... N objectives represented?

Hello all,This could be a very banal question. When I have more than 3 objectives where are the "extra-objectives" represented, since it is not obviously possible to visualize more than 1 objective…Continue

Tags: multi-objective, optimization, octopus, axes

Started by lv2311 Oct 19.

How to feed the custom first generation to octopus.e component? 3 Replies

Hello everyone,The question is as title shows. I want to define the first generation composing of two sections: one is selected by myself, and the other is generated by random selection. How can I do…Continue

Started by Dan Hou. Last reply by Dan Hou Sep 12.

Meaning of parameters in Octopus export 4 Replies

Hi All / Robert,I am trying to replicate a resultant phenotype parameters/genes from the parameter export. I am finding a hard time to figure out how the parameter values are calculated ( they are…Continue

Started by Faisal Barazi. Last reply by Faisal Barazi Sep 3.

Convergence error 9 Replies

My objective values are no problem. But why do the convergence graphs change little?Continue

Started by Dan Hou. Last reply by Dan Hou Sep 3.

Comment Wall

Add a Comment

You need to be a member of Octopus to add comments!

Comment by Dan Hou on September 25, 2014 at 1:55

What is the algorithm to calculate hypervolume metric? Is it HSO?

Comment by Andreas Wilde on July 30, 2014 at 3:12

Can Octopus pick the best solution itself? Where?

How does Octopus deal with multicriteria weighting and multicriteria scores?

Comment by Brian Ringley on July 7, 2014 at 7:20

Haha no prob. You should keep the Awesome tab for the next release. Thanks for all your work in this area.

Comment by Robert Vier on July 4, 2014 at 4:08

Oh this is a mistake in compiling the plug-in, this component was purely for development, and not supposed to be in the official release.

Sorry for the confusion,



Comment by Brian Ringley on July 3, 2014 at 17:27

Ha I'm getting an "Awesome" tab when I load the Octopus.e gha. What is this thing?!

Comment by William on December 21, 2013 at 5:01

Is there any version of Octopus that works with Grasshopper 0.9.0064? I can load the component, but it crashes whenever I delete it from the canvas.

Comment by Jesus Galvez on November 19, 2013 at 12:29

OK, it seems to be working. Only thing is on each start I only get one generation, instead of many. I guess I have to mess around with the options. 

Also the text is very difficult to read. I didn't realize until now that there were numbers on the fields. 

Comment by Jesus Galvez on November 19, 2013 at 12:20

Hello Abraham, 

the files are unblocked. I can use the Octopus component and upon opening the example files I can see the results of the default calculation. But when I click Start again the log file 01_singleObjective_Diversification_OctopusErrorLog_20131119.txt  says:

Error, reduction of environmental selection did not yield the correct archive size

I have previously used Octopus 0.1 flawlessly.

Comment by Abraham Yezioro on November 19, 2013 at 11:43

You need to unblock the .dll file.


Comment by Jesus Galvez on November 19, 2013 at 9:02


I downloaded version 3.1 and I can't get it to work. I have put files HelixToolkit.Wpf.dll and Octopus.gha in C:\Users\"username"\AppData\Roaming\McNeel\Rhinoceros\5.0\Plug-ins\Grasshopper {B45A29B1-4343-4035-989E-044E8580D9CF}\\Components\

Octopus appears in the ribbon, and the example files load correctly, but when I click start (calculation), it does nothing. 



Members (142)



Search Grasshopper


  • Add Photos
  • View All

© 2014   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service