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.
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:
Some examples are provided here.
New commented examples and a brief manual are provided in the download of octopus on food4rhino.
Mostapha Sadeghipour Roudsari
Hi Djordje,
Yes! I did used Ladybug for radiation studies.
I'm not the best person on the list to tell the differences between Galapagos and Octopus, but generally speaking single-objective optimization is more restricted than Multi-Objective one.
Design is a multi-objective problem by nature and it is not always that easy to simplify all the objectives as one single objective. For example what if I had area of the building as the 3rd objective and view to a point of interest as the forth? How you want to sum them up? (there are of course some way to do that but it's not that easy/straight forward)
There is a great value in having a multiple-objective evolutionary algorithm in Grasshopper that let you explore the result space in multiple dimensions!
Thanks to Robert again!
Dec 17, 2012
djordje
Thank you for clearing that up Mostapha,
I guess I will just have to wait until the Rhino4 Octopus version comes out, and check it by myself.
Dec 17, 2012
Robert Vier
Rhino 5 is available as an evaluation version limited to 90 days of full usage.. an upgrade is fairly cheap, so I would go for it since the advantages are quite remarkable.
Mostapha stated it right in principle - weighting the different factors of a single-objective optimization is quite tricky and practically impossible for many problems. Further multi-objective optimization gives you a number of optimized solutions (that are differently weighted trade-offs between the objectives) that you can choose from - so the final decision is up to the designer. Octopus also tries (so far rather simple) to incorporate user-interaction by letting the search be densified near solutions that have been marked 'preferred' when the optimization was paused.
Dec 17, 2012
Robert Vier
i might make a version for rhino 4 over christmas, before the actual work on octopus starts over.
Dec 17, 2012
djordje
Thank you for the advice Robert.
Dec 17, 2012
jorge sainz de aja
Pd: just a little bug, in the context menu for each solution sphere, when the sphere is on the base, the context menu is partly outside of the main window so i cant select some of the options for those spheres
i hope i had explained well............
Jan 22, 2013
Erick Katzenstein
Great work on the solver! I just downloaded Octopus and enjoyed the improved interface. We worked on an interface in our office as well, here's the blog post if you're interested.
Jan 25, 2013
Robert Vier
Thanks Erick! Octopus just uses the interface-parts of Galapagos - it adds a pareto-based fitness assignment and elitism strategy to its GA. So, besides the GA-concept and the canvas-interfacing, its very different from Galapagos. On multi-objective optimization also see http://en.wikipedia.org/wiki/Multi-objective_optimization
Nice job on using GH and Galapagos cross-platform! also like the processing interfaces, they appear just amazingly clean and fast..!
scopes for future work (going to happen) on octopus are not precisely defined yet. But modular, cloud-based thinking is healthy I guess!
Jan 26, 2013
Michael Makris
This looks like an interesting alternative to Galapagos. To be clear, one of the main differences here is that Octopus allows/uses multiple fitness functions instead of just the one?
If so, how is this operationally different from me just creating my own weighting of factors and combining them into one fitness equation, like we do with Galapagos now? Is there some additional added strength to separating them out?
Seems really interesting!
Feb 7, 2013
Fred Becquelin
Sometimes you can't make a viable fitness function. In my example, I would have to combine very different values in different units (or without unit), different expected range (some may vary by 10%, others may double or be reduced by half), and dependant one on another.
Plus there may be a hierarchy, for instance my first two objectives are absolutely primordial, third one is important but I don't have a clue what its value must be, and then, when I'm happy with those I can focus on the last two.
So the good thing with octopus is that you can pause the evolution at some point an play God, i.e. looking individuals that respect my main objectives, and resuming evolution with those marked as "preferred".
Feb 7, 2013
M NICK
IS there any way to pass a panel instead of slider to Octopus?
Apr 16, 2013
djordje
You mean to plug in the Panel instead of number slider in "Genome" plug of Octopus? No you can't do that. You need either Gene pools or number sliders for the "Genome" input, as only these tho are able of changing it's values using slider. Panel could not do that.
Apr 16, 2013
M NICK
Thanks for the info. Two more questions:
1) there is no way that I pass the range other than slider?
2) WHAT is the slider in the pareto frontier? Is it narrowing down the pareto frontier?
Apr 16, 2013
djordje
Hi Nick,
For now you will have to define the range within the slider. So yes, you are right.
Not sure I understood you about the second question. You will get the pareto frontier as a result of your octopus "analysis".
Apr 17, 2013
Luis García Lara
why i´m getting this error when i try to open some of the example file...
octopus component is in the grasshopper components folder, like the other plugins...
thanks
May 8, 2013
djordje
Are you using Rhino4?
Octopus works only on Rhino5.
May 8, 2013
Luis García Lara
R5 & Gh 0.9.0014
May 8, 2013
djordje
If your Octopus file is already in appropriate folder (File -> Special Folders -> Components folder), then try unblock it (Right-click on it -> Properties > unblock it).
Will that help?
May 8, 2013
Luis García Lara
Djordje, i did it, but i still have the same error...
May 8, 2013
Luis García Lara
i restart rhino, and now it works, thanks!
May 8, 2013
Rob
I'm having trouble getting Octopus 3.0 or 3.1 to run in GH 0.9.0061. I believe I have it set up correctly, but double-clicking on the component seems to have no effect whatsoever. The file isn't blocked... Any thoughts anyone? Does Octopus run in 0.9.0061?
Thanks.
Oct 27, 2013
Rob
Ok, solved that issue. The .gha and .dll were in:
C:\Program Files (x86)\Grasshopper for Rhino 5\Components
but they need to be in:
C:\Users\Rob\AppData\Roaming\McNeel\Rhinoceros\5.0\Plug-ins\Grasshopper {A4.....CF}\0.9.61.0\Components
Octopus is running perfectly now. What a cool plugin. Thanks!
Oct 27, 2013
Jesus Galvez
Hi,
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}\0.9.64.0\Components\
Octopus appears in the ribbon, and the example files load correctly, but when I click start (calculation), it does nothing.
Thanks
Nov 19, 2013
Abraham Yezioro
You need to unblock the .dll file.
-A.
Nov 19, 2013
Jesus Galvez
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:
I have previously used Octopus 0.1 flawlessly.
Nov 19, 2013
Jesus Galvez
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.
Nov 19, 2013
wil
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.
Dec 21, 2013
Brian Ringley
Ha I'm getting an "Awesome" tab when I load the Octopus.e gha. What is this thing?!
Jul 3, 2014
Robert Vier
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,
Best
Robert
Jul 4, 2014
Brian Ringley
Haha no prob. You should keep the Awesome tab for the next release. Thanks for all your work in this area.
Jul 7, 2014
Andreas Wilde
Can Octopus pick the best solution itself? Where?
How does Octopus deal with multicriteria weighting and multicriteria scores?
Jul 30, 2014
Dan Hou
What is the algorithm to calculate hypervolume metric? Is it HSO?
Sep 25, 2014
fred labbe
Does the latest version of Octopus work with Grasshopper 0.9.0076.... download page says it is compatible with 0.9.0075.
If only works with 0.9.0075 any tips on where to find thta version of Grasshopper?
Thanks.
Dec 8, 2014
Robert Vier
works with the latest version, too!
Dec 8, 2014
fred labbe
Thanks Robert!
Dec 8, 2014
Israa El-Maghraby
Hello Robert, Hope everything is great with you, I have a little problem that the Convergence Graphs and Hypervolume Graph don't appear in the optimization process ... I designed an office unit with a shading element. The parameters are the geometrical properties of the shading element. The targeted performance is DAYLIGHT AUTONOMY, PMV AND ENERGY CONSUMPTION , I used DIVA for that. So What do you think might be the problem.
P.S. when I run the GH files came with the OCTOPUS . it works just fine and both graphs appear. Thanks in advance
Jan 28, 2015
Robert Vier
Israa,
you are in generation 0. The graphs will be shown in the next ones.
Best
Jan 28, 2015
Israa El-Maghraby
Ok (Y) , Thanks a lot :)
Jan 28, 2015
Israa El-Maghraby
I have a question concerning EVALPOOLSIZE ... what does determine its values.. i made population size 4 and max number of generation is 3 ... does the values of these parameters affect it !.. I really don't understand it clearly
Thanks in advance
Feb 28, 2015
Israa El-Maghraby
I have another conern my simulation does not go far than ZERO generations .. Despite i made it 3 and population size 4 .. just as a test ... Could you think what might be the problem !
Mar 1, 2015
Israa El-Maghraby
Hello Robert Vier, hope you are doing great
I have a little serious problem, my optimization collapsed at the11th generation, where it should continue till 15 generation. The octopus saved my last 10 generations "no problem about that" but corrupted my 11th, any way I can start from generation 10 and re continue my optimization process , THANKS IN A MILLION
Apr 15, 2015
Robert Vier
A WIP-version of the looping component used in octopus.E is now available as an explicit loop, with the same functions as Anemone, a bit less well to use but much faster [up to 1000 times due to internal calculation]:
http://www.food4rhino.com/project/octopusloop
Jun 6, 2015
Hairault
Hi Octopus users,
I've been using Octopus in several problems, trying to test many possibilities, and I end up with many GH files exceeding 200 Mo, which are hard to manipulate.
Is there any mean to compress/reduce gh files size ?
Is there any technique to store the data out of octopus and re-load it if needed ?
For the moment, I am deleting genetical history I don't need, and deleting outer solutions. I also reduced the population size when the big population is diverse enough, of course trying to maintain diversity. But I don't think I will get a good set of solutions in the end.
Thanks for any clue, any help, any direction toward which I should seek !
Gaëtan
Jul 10, 2015
Andy Chen
Hi guys,i just start to use octopus,and i want to know how it works.Where can i find the essay or articals?Thanks a lot!
Aug 10, 2015
Aymeric
Hi guys,
I've just installed Octopus 0.3.6. (Unlock the files and copy/paste in the Component folder...)
Unfortunately, I can't see the axes of the viewport neither the view cube when I open the Octopus window. The Solver seems to run but I don't get any visualization of the fitness landscape. I have tried with another computer and everything looks fine. Does anyone of you have already experienced such a case? How could I solve this problem for computer 1?
Here attached image on computer 1 followed by image on computer 2.
Thanks for any idea!
Best regards,
Aymeric
Feb 9, 2016
Robert Vier
Hi Aymeric,
sorry for the inconvenience. It seems to be a problem with the HelixViewport. do you see any messages in the Rhino Command Prompt Window when running your setup and octopus?
You could also try to place the latest version of helixtoolkitwpf.dll from the helixtoolkit in the libraries folder..! HelixToolkit.Wpf.dll
And if you would not mind, please post questions like this into the discussion forum next time!
Best
Robert
Feb 9, 2016
Alvaro Rodriguez Garcia
1. What is the maximum amount of objectives that octopus can handle and how are they represented ( since it only has 3 axis)
2. Is there an available example of using octopus together with Design explorer?
Thank you so much !
May 7, 2018
Alex Cligman
Can anyone confirm if octopus is wokring on rhino 6? Hesistant to upgrade!
Aug 27, 2018
Mateusz Mazurek
@Alex Cligman
It works in Rhino6
I have a question - can we edit the scale of the axes somewhere?
I have one result in the range of 100-200 and another 1000-1200, I want the axes to have 1:1 relation starting from 0. How can I do that?
Sep 23, 2018
Andrew Chase
I have Rhino 6 and grasshopper 1.0.0007 I am trying to load Octopus, but for some reason it isn't loading nor is it relating to the HelixToolkit.Wpf.dll file. I have restarted grasshopper and my computer repeatedly, still nothing. However, I have the octopus component In the folder, and I can place the component and it isn't recognizing.
pls help
Oct 9, 2018