- Procedure GMP::Column::SetLowerBoundMulti(GMP, binding, column, value)
GMP::Column::SetLowerBoundMulti
The procedure GMP::Column::SetLowerBoundMulti
changes the lower
bounds of a group of columns, belonging to a variable, in a generated
mathematical program.
GMP::Column::SetLowerBoundMulti(
GMP, ! (input) a generated mathematical program
binding, ! (input) an index binding
column, ! (input) a variable expression
value ! (input) a numerical expression
)
Arguments
- GMP
An element in
AllGeneratedMathematicalPrograms
.- binding
An index binding that specifies and possibly limits the scope of indices.
- column
A variable that, combined with the binding domain, specifies the columns.
- value
The new lower bound for each column, defined over the binding domain.
Return Value
The procedure returns 1 on success, and 0 otherwise.
Note
If the variable has a unit then value should have the same unit. If
value has no unit then you should multiply it by the column scale, as
returned by the function GMP::Column::GetScale
. See
GMP::Column::SetLowerBound
for an example with units.
Example
To set the lower bounds of variable x(i)
to lb(i)
we can use:
for (i) do
GMP::Column::SetLowerBound( myGMP, x(i), lb(i) );
endfor;
It is more efficient to use:
GMP::Column::SetLowerBoundMulti( myGMP, i, x(i), lb(i) );
If we only want to
set the lower bounds of those x(i)
for which dom(i)
is unequal
to zero, then we use:
GMP::Column::SetLowerBoundMulti( myGMP, i | dom(i), x(i), lb(i) );
See also