colidescope

/live/ designing-with-parameters

Welcome! You are not currently logged in. You can Log in or Sign up for an account.

Designing with parameters

In this session we review the main types of inputs a designer can use to control an optimization process

+Introduction

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.

+Working with input and output types in Discover

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.

Input types in Discover

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.

Output types in Discover

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.

⚠️ You need a member account to access this content.

+Demo model: Hill

In this lesson, we review the 'Hill' test model which demonstrates the use of Continuous parameters with one Objective.

⚠️ You need a member account to access this content.

+Demo model: Pill

In this lesson, we review the 'Pill' test model which demonstrates the use of Continuous parameters with two Objectives.

⚠️ You need a member account to access this content.

+Demo model: Grid

In this lesson, we review the 'Grid' test model which demonstrates the use of Categorical parameters with one Objective.

⚠️ You need a member account to access this content.

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

⚠️ You need a member account to access this content.

+Demo model: Travelling Salesman (TSP)

In this lesson, we review the 'Salesman' test model which demonstrates the use of Sequence parameters with one Objective.

⚠️ You need a member account to access this content.

+Additional resources

⚠️
⚠️
You need a member account to access this content.
PDF
Generative Design in Practice: Draft book chapter