You are currently reviewing an older revision of this page.
For meaningful use of an Optimizer node it makes sense to have a parametric model with several parameters which control the behavior of a design that can be evaluated for various performance criteria (objectives). This evaluation should be ready for usage by the Optimizer. Evaluation can be based on simple computations (i.e. summation of areas or volumes, computation of ratios, etc.) or on various types of analysis.
In the Node Types window identify the Optimizer node type icon. Drag and drop it into the Graph in an appropriate location.
The Optimizer node type has five action buttons:
Start a New Run, which starts a new optimization run.
Load Result from File, which loads results from a previously saved result file.
Save Result to File, which saves the optimization results to a file with name specified in LatestResultFile input property. Default name is ‘Optimizer Result.csv’.
Show Result, which opens a graph showing the optimization results in form of a scatter plot.
Settings, which opens a dialog to change the settings for the optimizer engine itself, described in section 3.5 Optimizer settings.
The required input properties are Parameters and either MinimizationObjectives or MaximizationObjectives.
Locate the design parameters that you want to be used by the Optimizer to modify the parametric models. Parameters need to be Slider nodes. Slider nodes allow specification of a range and a resolution for the parameter, thus giving full control over the parameter space to users. The Optimizer’s GA uses the range and resolution to encode the parameter into the chromosome.
The size of the parameter space for the optimization process is
With:p.Maximumk : Slider k's Maximum propertyp.Minimumk : Slider k's Minimum propertyp.Resolutionk : Slider k's Resolution propertyk = 1 to n for the parameters in the Optimizer's Parameters input propertyn : dimensionality of the parameter space
Simple example with 6 parameters of assumed average range and resolution:
Sp = 11 * 21 * 25 * 17 * 19 * 21 = 39,171,825
When adding Slider node instances to the Parameters input property, GC will start a list when the second parameter is added. For a single parameter that in itself is not a list, it is necessary to surround the slider’s name with curly brackets { } to meet the requirement that the input is a list.
In order to evaluate the performance of a design, design goals or objectives need to be determined. If they are measurable then it is possible to implement computations, simulations, or analyses connected to the parametric design model that evaluate the model’s performance in real time or near real time. It may be necessary to perform additional computations on the analysis results, especially considering that the Optimizer will attempt to minimize or maximize the objective values, respectively, depending on whether objective values are wired to the MinimzationObjectives or the MaximizationObjectives. Note that before CONNECT Edition Update 2, if an objective was to maximize usable floor area, then it was necessary to compute the inverse of the floor area as objective value, so that with increasing usable floor area the objective value decreases. However, with CONNECT Edition Update 2, this inversion is no longer required because an objective for maximization like floor area can now be wired to the MaximizationObjective input property of the Optimizer node.
Objective values can be of any number type, i.e. double or integer values, and could come from any source producing such output, e.g. FunctionCall.Value, Expression.Value, or directly from output properties, e.g. Line.Length, or Polygon.Area, etc. Theoretically, this could be also lists or replicated values. Because objective values are expected by the Optimizer node type as a flat list, it may be necessary to use the Flatten( ) function on the list of objectives to ensure the input property list’s flatness.
The number of objectives determines the dimensionality of the solution space. The more objectives, the higher the dimensionality of the solution space and the more difficult its exploration.
The Optimizer includes an interface to the settings of the GA in use. It allows controlling how the GA executes an optimization run. For all parameters reasonable or good defaults have been provided and recommended ranges for those parameters are indicated in the dialog. The available settings are: