# Running Generative Design

Studies can be run using different methods. In the Create Study window, you can choose from four different generation methods (find out more about this in the [Solvers](/02-deeper-dive/02-01_algorithms/02-01-04_solvers.md) section).

## How to Run an Optioneering Process

An optioneering process lets you explore all possible solutions that the graph can produce. Generative Design will generate the solutions based on the constraints that were defined in the Dynamo graph.

To run an optioneering process, follow these steps:

1. Launch **Create Study** from the Generative Design menu in Dynamo.
2. Select a graph and select **Randomize** from the **Method** drop-down as the generation method (see the [Solvers](/02-deeper-dive/02-01_algorithms/02-01-04_solvers.md) section for more information).
3. Under **Inputs**, make sure that all the desired inputs are present. For inputs that should not change on each run, uncheck the box alongside it and set the desired value.
4. Under **Generation Settings**, choose how many solutions you want to create.
5. Under **Generation Settings**, select a random seed (or number) to begin the randomization with, or use the default value.
6. Under **Issues**, resolve any items.
7. Finally, click **Generate** to run your optioneering process.

<figure><img src="/files/VzEvJoCI5HTrQ1h902FB" alt="A graph in Define Study with x, y, and z inputs using the Randomize method"><figcaption></figcaption></figure>

## How to Run an Optimization Process

An optimization process uses the computer to evolve your design to find the most suitable options, based on the constraints and goals provided.

Generative Design uses [NSGA-II](https://www.iitk.ac.in/kangal/Deb_NSGA-II.pdf), an elitist multi-objective genetic algorithm to optimize results.

To run an optimization process in Generative Design, follow these steps:

1. Launch **Create Study** from the **Generative Design** menu in Dynamo.
2. Select a graph and select **Optimize** as the generation method (see the [Solvers](/02-deeper-dive/02-01_algorithms/02-01-04_solvers.md) section for more information).
3. Under **Inputs**, make sure that all of your desired inputs are present. For inputs that should not change on each run, uncheck the box alongside it and set the desired value.
4. Under **Set goals**, go through each objective and set the optimization goal you want to achieve - Maximize or Minimize.
5. Under **Set constraints**, you can optionally set a minimum and maximum for each output.
6. Under **Generation settings**, set a population size or use the default value. This represents the number of options that Generative Design will create in each generation. &#x20;
7. Under **Generation settings**, can set the number of generations you want to create, or use the default value. Remember that each new generation is a range of options that falls between the two best designs from the previous generation.
8. Under **Generation Settings**, select a random seed (or number) to begin the optimization with, or use the default value.
9. Under **Issues**, resolve any items.
10. Finally, click **Generate** to run your optimization process.

<figure><img src="/files/YuXbIcGBMHtPgRO22588" alt="A graph in Define Study with x, y, and z inputs using the Optimize method"><figcaption></figcaption></figure>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://www.generativedesign.org/03-hello-gd-for-revit/03-03_running-gd-for-revit.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
