Dakota Reference Manual  Version 6.4 Large-Scale Engineering Optimization and Uncertainty Analysis
discrete_variables

## Description

This page discusses discrete design, uncertain, and state variables (which have `discrete` in their keyword name) as they have similar specifications. These include:

1. Integer ranges
2. Sets of integers
3. Sets of reals
4. Sets of strings and each is described below.

In addition, some aleatory uncertain variables, e.g., binomial_uncertain, are discrete integer-valued random variables specified using parameters. These are described on their individual keyword pages.

Sets

Sets of integers, reals, and strings have similar specifications, though different value types.

The variables are specified using three keywords:

• Variable declaration keyword - specifies the number of variables being defined
• `elements_per_variable` - a list of positive integers specifying how many set members each variable admits
• Length = # of variables
• `elements` - a list of the permissible integer values in ALL sets, concatenated together.
• Length = sum of `elements_per_variable`, or an integer multiple of number of variables
• The order is very important here.
• The list is partitioned according to the values of `elements_per_variable`, and each partition is assigned to a variable.
• The ordering of `elements_per_variable`, and the partitions of `elements` must match the strings from `descriptors`

For string variables, each string element value must be quoted and may contain alphanumeric, dash, underscore, and colon. White space, quote characters, and backslash/metacharacters are not permitted.

Examples are given on the pages:

• discrete design set integer
• discrete design set real
• discrete design set string
• discrete uncertain set integer
• discrete uncertain set real
• discrete uncertain set string

Range

For discrete variables defined by range(s), the `lower_bounds` and `upper_bounds` restrict the permisible values. For design variables, this constrains the feasible design space and is frequently used to prevent nonphysical designs. This is a discrete interval variable that may take any integer value within bounds (e.g., [1, 4], allowing values of 1, 2, 3, or 4). For some variable types, each variable is can be defined by multiple ranges.

Examples are given on the pages: