¶Sessions in this webinar series:
|Intro to Generative Design|
|1||What is Generative Design?|
|2||Designing with Parameters|
|3||Unpacking the Genetic Algorithm|
¶Working with input and output types in Discover
In the first lesson of this session, we will review some details about optimization, in particular the different types of input parameters and output metrics supported by Discover which allow it to connect to and optimize your Grasshopper models in different ways.
Discover supports three unique types of inputs which affect how it controls the model:
- A Continuous parameter defines a value within a certain range, represented by a floating-point or decimal number.
- A Categorical parameter defines a selection from a limited set of options, represented by an integer or whole number.
- A Sequence parameter defines an ordering of a set of items, represented by a shuffled sequence of whole numbers.
Discover also supports two distinct kinds of output metrics which allows you to define the goals of your design process in different ways:
- An Objective tells the algorithm we want to push the value of a metric as extreme as possible. This gives the algorithm a way to measure the performance of one design option relative to another. When we create an objective we can set it to either minimize or maximize the value.
- A Constraint tells the algorithm that we need the value to meet a specific condition. Unlike objectives, constraints don't measure the relative performance between designs, but dictate whether a design meets the conditions of our design. Any design that meets all constraints is considered equally good, while a design that breaks one or more constraints is considered invalid. A Constraint can be set up as a minimum requirement, a maximum requirement, or an exact match to a target value.
The Discover plugin for Grasshopper includes individual components for each type of input and output, allowing you to specify exactly the kind of parameters and metrics you want to control your model.
¶Demo: Building a simple model from scratch
In this lesson, we build an automation workflow from scratch using Rhino Grasshopper and the optimization plugin Discover. We will go through building a simple model in Grasshopper, connecting it to the Discover optimization server, specifying a set of input parameters, and calculating a set of outputs for Discover to optimize. We will also review the Discover interface which you can use to run optimizations and explore the results.
¶Demo model: Hill
In this lesson, we review the 'Hill' test model which demonstrates the use of Continuous parameters with one Objective.
¶Demo model: Pill
In this lesson, we review the 'Pill' test model which demonstrates the use of Continuous parameters with two Objectives.
¶Demo model: Grid
In this lesson, we review the 'Grid' test model which demonstrates the use of Categorical parameters with one Objective.
¶Demo model: Bridge
In this lesson, we review the 'Bridge' test model which demonstrates the use of both Continuous and Categorical parameters with two Objectives and one Constraint.
¶Demo model: Travelling Salesman (TSP)
In this lesson, we review the 'Salesman' test model which demonstrates the use of Sequence parameters with one Objective.