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.
John Sullivan
It's about time. Galapagos is wonderful but this looks like it will be a lot more useful. Nice work!
Dec 13, 2012
Ángel Linares
It looks very interesting! Let me give a try :)
Dec 13, 2012
djordje
This may sound a bit premature but, Robert will there be some example files in this group related to Octopus usage in next few days?
Dec 13, 2012
Mostapha Sadeghipour Roudsari
Thank you for sharing this Rob! Here is my first try...
Dec 13, 2012
djordje
Hi Mostapha,
Can you tell me more about your testing?
What did you want to achieve?
Thank you.
Dec 14, 2012
Fred Becquelin
Awesome! Thanks Robert! Here's my try.
I find it quite difficult to navigate through the results at this stage :) If I may throw in a few ideas, like redefining the axis variables, logarithmic scales, display thresholds, better marking management - or at least add contrast!
Dec 15, 2012
Mostapha Sadeghipour Roudsari
Hi Djordje,
I tried to find the optimum form for a dumb building based on 3 parameters (building orientation, and roof angle in both directions), and two objectives (minimize incident solar radiation during the cooling period, and maximize incident solar radiation during the heating period). The graph on the right side of the image shows that Octopus was able to find the Pareto frontier.
I captured a video that shows how I set up this problem for Octopus. You should be able to set-up your problem in a similar way...
Dec 15, 2012
djordje
Thank you for such a detailed reply Mostapha.
Are those energy components you are using, the ones from the future Ladybug plugin?
To be honest, I haven't tried Octopus, as I do not have Rhino 4, and it currently only works on v5.
What I am confused with is the difference between the Galapagos and Octopus. Why couldn't you use Galapagos instead? Fitness would be sum of -(objective 1) and objective 2, and the Fitness should be Minimized.
?
Dec 15, 2012
pbdlab
Octopus is very interesting,and is a nice job.
BUT I can not make the Fitness working as the way I do with Galaogas.
I was wondering if someone can share some example files.
Thank you!
Best,
Lucas.
Dec 16, 2012
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