- Procedure GMP::Column::FreezeMulti(GMP, binding, column, value)
GMP::Column::FreezeMulti freezes a group of columns,
belonging to a variable, in a generated mathematical program.
GMP::Column::FreezeMulti( GMP, ! (input) a generated mathematical program binding, ! (input) an index binding column, ! (input) a variable expression value ! (input) a numerical expression )
An element in
An index binding that specifies and possibly limits the scope of indices.
A variable that, combined with the binding domain, specifies the columns.
The new value for each column, defined over the binding domain, that should be used to freeze the column value.
The procedure returns 1 on success, and 0 otherwise.
The columns remain visible in the constraint listing and math program inspector. In addition, it will be retained in solver maintained copies of the generated math program.
GMP::Column::UnfreezeMultito undo the freezing.
During a call to procedure
GMP::Column::FreezeMultiAIMMS stores the upper and lower bound of the columns before the procedure was called. This information is used when procedure
GMP::Column::UnfreezeMultiis called thereafter. This information is not copied by the function
To freeze variable
demand(i)we can use:for (i) do GMP::Column::Freeze( myGMP, x(i), demand(i) ); endfor;
It is more efficient to use:GMP::Column::FreezeMulti( myGMP, i, x(i), demand(i) );
If we only want to freeze those
dom(i)is unequal to zero, then we use:GMP::Column::FreezeMulti( myGMP, i | dom(i), x(i), demand(i) );