Using Variable Resolution to Enhance Design Space Exploration

A nice feature in HEEDS is the ability to define the resolution of a continuous variable. Assigning a resolution to a continuous variable seems contradictory, as this essentially transforms the continuous variable into a discrete variable. We often refer to these as “discretized continuous variables,” and there are several advantages to representing variables this way in an optimization search. Let’s explore how you can use variable resolution to enhance your design studies.

What is a variable resolution?

The resolution determines the increment size between allowable values for a variable. A higher resolution corresponds to a smaller increment size.

For example, if the continuous design variable x has a range (0 =< x =< 10) and has a resolution of 101, then the possible values that  can take are: (0, 0.1, 0.2 … 9.8, 9.9, 10.0). In other words, its increment size is 0.1.

To calculate the resolution for a desired increment size, use the following formula:


where x-min and x-max are the lower and upper limits, respectively, of the variable range. Rearranging, the increment size can be calculated in terms of the resolution:


You can specify either the resolution or the increment size, but the resolution value must always be an integer. So if you specify an increment size that yields a non-integer resolution according to the formula above, HEEDS will round the resolution to the nearest integer and the corresponding increment size will be adjusted accordingly.

By default, the resolution for all newly created variables is set to 101, but this value is not considered to be especially good or bad. The best resolution to use depends on your problem, as discussed below.

Why is it advantageous to use discretized continuous variables?

There is a limit to how much we can or should control the value of a variable. Since we often have a good understanding of the fidelity level to which we can control a variable, it is not difficult to specify an increment size (or amount of change) that is meaningful for the problem at hand. Fine-tuning a variable beyond this limit is of no practical value, and may add significant cost to the optimization search.

If the difference between two designs is too small to matter, then evaluating the performance of both designs is wasteful in terms of CPU resources and available search time. By using a discretized form of the variables, we ensure that design evaluations are useful. Further, this naturally results in greater spread in the evaluation points, which can lead to more effective exploration of the design space.

Finally, there are many situations for which a variable can only take values that are equally spaced within a given range. For example, the thickness of sheet material may be available only in 0.1mm increments. In these cases, using discretized variables with equally spaced values makes it easy to define variables that have an increment size equal to that of the available stock. So set-up time and potential data entry errors are both reduced.

For both practical and computational reasons, using discretized variables with appropriate resolution levels is a smart thing to do. And if you ever want to use a nearly continuous variable, you can just set the resolution to a really large value.

We hope this tip helps you to find better designs, faster.

Leave a Reply

Your email address will not be published. Required fields are marked *