algorithmic modeling for Rhino

Octopus Examples

The last release (0.3.2) of octopus [on food4rhino] contains a small manual and four commented example files which should give a rough overview over basic funtions.

basic new features are:
- you can work single-objective problems by imposing diversity as a second objective
- you can add preference selections that try to get close to the parametrization of that solution, compared to the older preference selection where the respective part of objective space is favoured
- you can change the number of objectives during a search
- 3d models of the solutions can be displayed in octpus' objective-space viewport

also here are two more recent little videos:


you can look, zoom and pan in the viewport of octopus with the same commands as in rhino, to examine the solutions.

- Right mouse button + mouse movement: rotate the scene

- SHIFT + RMB + mouse movement: pan the scene

- CTRL + RMB + mouse movement: zoom the scene

this should give you a good overview of what EMO is.

Traditionally, a good set of solutions for the user

- is close to the real pareto front (check)

- is evenly distributed along its approximation of the pareto-front (check)

- has extents in the search space as big as possible


some examples to get startet:



Add a Comment

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

Comment by Luca Ofria on January 17, 2019 at 10:02

Hi all,

i m trying to do a multi-objectives optimization using Octopus, but I m new in this field. I would like to minimize DGI, Minimize the energy consumption and maximize the daylight. Is it possible to find any examples or does someone help me?

thank you,


Comment by rsalelwani on May 17, 2018 at 6:25

Hi All,

I'm trying to optimize daylight and energy consumption by using Venetian blinds. So, I do have 3 sliders to control the thickness of the blinds and objectives are daylight and energy consumption.  

How to integrate daylight and energy (as objectives) with thickness of blinds' windows (as genome) by using Octopus?

Thanks in advance,


Comment by fatma fathy on September 9, 2017 at 8:02


does anyone know why the interface does not appear when I am double clicking the octopus component, knowing that I am connecting all inputs

Comment by Cornelia Costin on December 22, 2016 at 6:00


when I run Octopus I get multiple solutions overlapped in Rhino view port at a time. I want to see in Rhino only one solution at a time, like in the original  examples. How do I do that? The history button is deactivated. 

Comment by Robert Vier on August 1, 2016 at 2:20

Hi Gohan,

you can plug meshes into the regular input of the octopus component, which should contain whatever you want to see in the graph. if there's something there, it will be used in the octopus viewport.
This is also contained in example 4 of the octopus download on food4rhino - the example you are referring to.


Comment by Gohan on July 29, 2016 at 14:22


I am new to Octopus and I like to know how to visualise brep/mesh in Graph as it is shown in shape search video above in this page. All I see is boxes and I like to know how visualise the process in the graph. I tried connecting brep to Phenotype input too but nothing works. Please help me with this. 

Comment by Meme on March 7, 2016 at 8:49

Dear Octopus Group members, can anyone help me with better understanding of Octopus examples, I am still a beginner and I need to start with easy examples, or better explained examples that I can follow.

Also, can anyone help me with the equations, or formulas used in GA operations in Octopus, like what is the fitness function used, the diversity equation (how diversity was calculated), etc. I really appreciate your help. 

Comment by Israa El-Maghraby on December 26, 2015 at 20:55
Hello I am have a weird problem. The octopus strats working perfectly arranging solutions on the 3rd graph. After a while the solutions disappeared and still it keep computing. Can you by any how figure what is wrong with it !!
Comment by Robert Vier on September 16, 2015 at 12:46

Mesh Edges in Octopus' Viewport aren't supported yet although it would be no problem and just a matter of performance to draw a LOT of lines with WPF potentially.

there are thoughts of a new purified release which could contain an option for that ..!


Comment by Arthur Mamou-Mani on September 16, 2015 at 10:54

Hi Robert, 

Thank you so much for your reply, very helpful!

Sorry I have one more question, Can i display the mesh edges of my meshes?

i am struggling to find that option...

Many thanks,



Comment by Robert Vier on September 16, 2015 at 3:53

Hi Arthur,

the fourth one can be shown as the colour or the size of the solutions.

alternatively you can switch off the cartesian cube view in the menu and see an arbitrary number of goal axes displayed equally - a solution then turns into a zig-zag line.


Comment by Arthur Mamou-Mani on September 16, 2015 at 2:31

Hi Robert,

Sorry probably a very stupid question:

There are three axis (xyz) in the Octopus display, when I test 4 objectives, where is this 4th objective represented in this Cartesian graph?

I tried to name my objectives with strings to understand the interface but only the last string seem to be displayed in the graph...A very very simple example would really help :)

Many thanks,


Comment by Hairault on June 4, 2015 at 7:51

Hi Robert,

Is there a way to select multiple solutions in Octopus viewport in order to hide some, focus on other, make groups...

For instance, I have an objective that is always an integer, and I'd like do view all the solutions for which this objective equals 2, 3, 4 .. etc... separately.

Any Idea to do this ?



Comment by Robert Vier on August 16, 2014 at 13:06

hi andreas, yes octopus has got two strategies of combining multiple goal values for the optimization - hypervolumeIndicator and SPEA2-Archiving.

you can for example check to get an introduction to multi-objective optimization.


Comment by Andreas Wilde on July 29, 2014 at 19:01

I'm using Octopus already, but I am currently picking records by hand.

Is the 'weighting' of the different dimensions somehow part of Octopus itself, or must some kind of overall addition/calculation of criteria happen outside of Octopus? And what words do you/does Ocopus use for weighted scores? Thank you.

Comment by Robert Vier on June 10, 2014 at 11:57

Hi yeliz,

I ll post a version compatible with the latest GH release upcoming days! You should get a basic introduction how it works in the examples then.



Comment by yeliz karadayi on June 9, 2014 at 14:30


I am trying Octopus for the first time; all of the tutorials and previous posts seem to have older components that make it so that the Octopus component does not load, proving to be unhelpful for me. I have read all of the forums but am still seriously having trouble understanding how this works!

I have a script in which I want to find the optimal parameters to return a geometry of a desired volume and desired surface area, or at least as close to each as I can get.

I have connected variable parameters to the Genome input and the resulting area and volume to the Octopus input. In the Phenotype I've put the resulting Brep. 

Each time I run Octopus it freezes. I notice that in the Genome input, it says "empty structure" even though it is connected. Also, I don't understand how to specify what I want the volume and area to optimize to. It seems like this can be done though. Help!


Comment by Thomas TRINELLE on April 8, 2014 at 2:52

Thanks a lot Rob for all the answers !

Looking forward to seeing the new version !

Great job for the plug-in btw,


Comment by Robert Vier on April 6, 2014 at 11:15

Hello Thomas!

> 1. For now, you can copy/paste to a panel or write the data to files, one per generation. this way you can read them 'on demand', much like a stream over the generations to avoid GH having to deal with big data. i am about to release a version of OctopusE with 'explicit components', which expand some of the core functions of octopus into dedicated components. there, a new GH data container is introduced and used, called 'OctopusSolution', which stores a set of parameters, goal values, and metadata such as phenotypic shapes etc. i ll try to add a direct export to a container on the canvas.

> 2. firstly it is a lot easier to work with normalized parameter- and goal-values regarding the algorithms themselves. i could add the actual values to the solution-information, but secondly this would blow up the amount of data even more.. mostly it is the history which takes a lot of memory, and the actual values would almost double the data to be stored for most use cases.

> 3. i am not sure if i follow correctly, but you want to 'scroll' through the front? so one must give an objective dimension to sort the front, and by scrolling with the mouse wheel you would reinstate the solutions?

this might work fine for fast definitions, but there will be pain for more expensive problems. 

what is there right now is the 'reinstate' function on the context menu of a solution,

and the mesh-display of the solutions points in the octpus viewport..

> 4. you should definitely be able to see the shapes, octopus in its current form just sets values, expires the solution and collects some values. no hidden stuff. but by default, 'minimize rhino on start' is set to true - because it can be a factor 10 speedup when rhino&GH do not have to update their UI.



Comment by Thomas TRINELLE on April 4, 2014 at 8:48

Hi guys,

I have been using Octopus for a Truss Optimization problem. Unfortunately, I still have several problems that I need to clarify.

1. When the optimization process is stopped or paused, is there any simple way of getting my hands on the values of the parameters for the Pareto-front configurations ? For the moment I'm dealing with them by Copy-Pasting the list of data on a panel...

2. The data is given like a % of the parameters' sliders. Can't we get the slider values directly ?

3. Is there an easy way to view the shapes on Rhino while "travelling" on the Pareto-front ? I was thinking of clicking on the Octopus Pareto-front shape (line or surface) while having the corresponding parameters configurations (thus shape) on Grasshopper (and Rhino). 

4. Finally, is it just my PC or why can't we see the shapes evolving while the algorithms is processing ?

Those features might be coming in the next versions of Octopus but still, if you have any idea of how you would deal with my questions for now...

Thanks in advance






  • Add Photos
  • View All


  • Add Videos
  • View All

© 2022   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service