Experiment Setup: Defining Your Variables
An experiment in SDLabs describes the optimization problem you want to solve. It consists of variables (the inputs you control) and measurements (the outputs you want to optimize).
Before the optimizer can suggest experiments, you need to define your variables — what they are, what type they are, and what values they can take.
Variables vs Measurement
| Variables (Parameters) | Measurements (Objectives) |
What | Inputs you control | Outputs you measure |
Examples | Temperature, Solvent, Concentration | Yield, Purity, Cost |
Role | The optimizer suggests values for these | The optimizer tries to improve these |
Two Types of Variables
| Numerical | Categorical |
What it is | A continuous or discrete number within a range | A choice from a list of named options |
You define | Lower bound, upper bound, optional step size | A list of categories, optional properties per category |
Examples | Temperature (50–200 °C), Concentration (0.01–1.0 mol/L) | Solvent (Ethanol, Methanol, Acetone), Catalyst (Pd, Pt, Ru) |
Best for | Quantities you can dial to any value in a range | Discrete choices that cannot be interpolated |
Read the detail article for each type:
Numerical Variables — define ranges, step sizes, and units
Categorical Variables — define named options with optional properties
Category Properties (Descriptors) — attach numerical descriptors to improve optimization
How to Decide
Can the variable take any value in a continuous range?
Yes — Use Numerical. Examples: temperature, pressure, concentration, flow rate.
No, it is a discrete choice — Use Categorical. Examples: solvent type, catalyst, reactor type.
Tips
Variable names must be unique within an experiment and cannot match measurement names.
You can add a description to any variable to help collaborators understand it.
You can mark variables as batch-constrained if they cannot change between experiments in the same batch (e.g. the same reactor plate).
An experiment can have up to 10 objectives (measurements), each set to Maximize, Minimize, or Target.
