linear_inequality_constraint_matrix
Define coefficients of the linear inequality constraints
Topics
linear_constraints
Specification
Alias: None
Arguments: REALLIST
Default: no linear inequality constraints
Description
In the inequality case, the constraint matrix \(A\) provides coefficients for the variables in the two-sided formulation:
Where the bounds are optionally specified by linear_inequality_lower_bounds
,
and linear_inequality_upper_bounds
.
The bounds, if not specified, will default to -infinity, and 0, respectively,
resulting in one-sided inequalities of the form
The linear_constraints topics page (linked above) outlines a few additional things to consider when using linear constraints.
Examples
In the first example, an optimization involving two variables, x1
and x2
,
is to be performed. These variables must satisfy two constraints:
The pair of constraints can be written in matrix form as:
The coefficient matrix and right hand side of this matrix inequality are expressed to Dakota in the variables section of the input file:
variables
continuous_design 2
descriptors 'x1' 'x2'
linear_inequality_constraint_matrix = 1.5 1.0
1.0 -1.0
linear_inequality_upper_bounds = 5.0
0.0
The second example is more complex in two respects. First, some, but not all, of the constraints are “two sided”, with both lower and upper bounds. Second, not all variables participate in all constraints.
There are four variables, x1
, x2
, x3
, and x4
, and four constraints.
Or, in matrix form,
The Dakota specification for this matrix inequality is:
variables
continuous_design 4
descriptors 'x1' 'x2' 'x3' 'x4'
linear_inequality_constraint_matrix = 5.0 2.0 0.0 0.0
1.0 0.0 1.0 0.0
0.0 1.0 0.0 6.0
1.0 1.0 1.0 0.0
linear_inequality_lower_bounds = -2.0
0.0
-8.0
-inf
linear_inequality_upper_bounds = 9.0
inf
8.0
9.0