# Solvers

'Solvers' are a tools that can automatically run a script many times that contains both generators and evaluators.

![](/files/-LrPm3sJVV9DhWCx3-pF)

Solvers typically require inputs to be very specific. Often, the greatest challenge is defining your problem in a way that a solver can understand.

To take a simple example, your phone’s calculator is a solver for addition, subtraction, and division – but it only works if you punch things in correctly.

A solver can use different methods to process these scripts in different ways. The methods currently available in Generative Design are listed below.

## Randomize

'Randomize' generates a specified number of design options by randomly assigning a value to each of the input parameters. This process is used for optioneering processes in Generative Design.

![](/files/-LrPm3sLBJnZnaTSLT4z)

## Optimize

'Optimize' is the method for doing an optimization run with Generative Design. During an optimization run, Generative Design will develop the design based on the evaluator's outputs.

The optimization process works by creating multiple 'generations' (or iterations) of a design, where each iteration will use the input configuration from previous generation to optimize the new design options.

![](/files/-LrPm3sNvht5VWRgR0QN)

## Cross Product

'Cross Product' lets you explore the entire design space of your design by combining each step of every parameter with the other parameters available.

![](/files/-LrPm3sPSsL_9eVYTGFY)

## Like This

'Like This' will make Generative Design apply slight variations to your current input configuration. Using this method, you can explore different variations of a design that you already like.

![](/files/-LrPm3sRsuixIUNOR1P_)


---

# 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/02-deeper-dive/02-01_algorithms/02-01-04_solvers.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.
