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.

Load Previous Comments
  • 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!

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

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

  • Robert Vier

    i might make a version for rhino 4 over christmas, before the actual work on octopus starts over.

  • djordje

    Thank you for the advice Robert.

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

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

  • 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!

  • 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!

  • 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".

  • M NICK

    IS there any way to pass a panel instead of slider to Octopus?

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

  • 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?

  • 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".

  • 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

  • djordje

    Are you using Rhino4?
    Octopus works only on Rhino5.

  • Luis García Lara

    R5 & Gh 0.9.0014

  • 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?

  • Luis García Lara

    Djordje, i did it, but i still have the same error...

  • Luis García Lara

    i restart rhino, and now it works, thanks!

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

  • 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!

  • 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

  • Abraham Yezioro

    You need to unblock the .dll file.

    -A.

  • 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:

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

    I have previously used Octopus 0.1 flawlessly.

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

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

  • Brian Ringley

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

  • 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

  • Brian Ringley

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

  • Andreas Wilde

    Can Octopus pick the best solution itself? Where?

    How does Octopus deal with multicriteria weighting and multicriteria scores?

  • Dan Hou

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

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

  • Robert Vier

    works with the latest version, too!

  • fred labbe

    Thanks Robert!

  • 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 

  • Robert Vier

    Israa,

    you are in generation 0. The graphs will be shown in the next ones.

    Best

  • Israa El-Maghraby

    Ok (Y) , Thanks a lot :) 

  • 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

  • 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 !

  • 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

  • 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

  • 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

  • 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!

  • 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

  • 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

  • Alvaro Rodriguez Garcia

    Hello, I have 2 questions:
    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 !
  • Alex Cligman

    Can anyone confirm if octopus is wokring on rhino 6? Hesistant to upgrade!

  • 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?

  • Andrew Chase

    hi,

    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