Octopus is a multi-objective evolutionary solver created for Rhino’s Grasshopper3D, a visual programming environment. Robert Vierlinger is developing the plug-in in close cooperation with us, and it is available on Food4Rhino.
Octopus is a genetic algorithm that enables the filtering of many possible design iterations in the search for optimal or near-optimal solutions.
The iterative optimisation process mirrors the principle of natural selection, where the fittest individuals are chosen to produce an offspring population and a subsequent generation.
Octopus enables the simultaneous search of multiple goals and generates a set of optimised trade-off solutions between the extremes of each goal. It operates similarly to David Rutten's Galapagos but incorporates the Pareto principle for evaluating multiple objectives during the optimisation.
Octopus has been integrated into the workflow of various projects, from form-finding processes in the early design stages to the optimisation of specific design solutions in later stages. It is often used with Karamba3D, a parametric engineering tool that performs quick and accurate Finite Element Analysis, to build parametric feedback loops for structural optimisation.
The flagship store roof structure is supported by nine clusters of columns and four cores.
Octopus was used to optimise the placement and quantity of column clusters between the cores while considering multiple objectives.
The genetic optimisation aimed to achieve three specific goals: 1) to minimise the weight of the steel mass, 2) to minimise the sum of all node displacement, and 3) to reduce the number of support clusters.
The visualisation depicts the Pareto-front of near-optimal solutions for column cluster positions based on their respective fitness values (top). The model shows a geometric representation of one column variant (bottom).
The project features a column system resembling tree branches. These ‘column trees’ comprise four types of A and V-shaped column modules stacked on top of each other on every floor.
Each column is defined by a rotation parameter that controls its orientation and all subsequent column positions above. The sum of all rotation parameters establishes the course of each column tree through the building and defines the structural behaviour of the building.
Karamba3D and Octopus were used to determine the columns’ position and orientation and explore configurations that yield a building structure with minimal deflections in both the vertical and horizontal directions.
An irregular zig-zag column system supports the roof of an electric car charging station. The arrangement of nodes for this column system was generated through a multi-objective optimisation process that aimed to minimise displacement and steel weight, considering various geometric boundary conditions from below.