Procedure GMP::Column::Unfreeze(GMP, column)


The procedure GMP::Column::Unfreeze removes the frozen status of a column in the matrix of a generated mathematical program.

     GMP,            ! (input) a generated mathematical program
     column          ! (input) a scalar reference or column number



An element in AllGeneratedMathematicalPrograms.


A scalar reference to an existing column in the matrix or the number of that column in the range \(\{ 0 .. n-1 \}\) where \(n\) is the number of columns in the matrix.

Return Value

The procedure returns 1 on success, and 0 otherwise.


  • Use GMP::Column::UnfreezeMulti if many columns corresponding to some variable have to be unfrozen, because that will be more efficient.

  • During a call to function GMP::Column::Freeze AIMMS stores the upper and lower bound of the column before the function was called. This information is used when function GMP::Column::Unfreeze is called thereafter. This information is not copied by the function GMP::Instance::Copy. Therefore the call to GMP::Column::Unfreeze in the following piece of code is useless:

    GMP::Column::Freeze( gmp1, x1, 20 );
    gmp2 := GMP::Instance::Copy( gmp1, "cpy" );
    GMP::Column::Unfreeze( gmp2, x1 );