FreezeMulti(GMP, binding, column, value)¶
GMP::Column::FreezeMulti freezes a group of columns,
belonging to a variable, in the matrix of a generated mathematical
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
bindingdomain, specifies the columns.
- The new value for each column, defined over the binding domain
binding, 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 function
GMP::Column::FreezeMultiAIMMS stores the upper and lower bound of the column before the function was called. This information is used when function
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) );