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) );