CPXXfreepresolve and CPXfreepresolve

The routine CPXXfreepresolve/CPXfreepresolve frees the presolved problem from the LP problem object.

int  CPXXfreepresolve( CPXCENVptr env, CPXLPptr lp )

int  CPXfreepresolve( CPXCENVptr env, CPXLPptr lp )

Description

Warning:

This is an advanced routine. Advanced routines typically demand a thorough understanding of the algorithms used by CPLEX. Thus they incur a higher risk of incorrect behavior in your application, behavior that can be difficult to debug. Therefore, the team encourages you to consider carefully whether you can accomplish the same task by means of other Callable Library routines instead.

The routine CPXXfreepresolve/CPXfreepresolve frees the presolved problem from the LP problem object. Under the default setting of the parameter that determines the primal and dual reduction type (CPXPARAM_Preprocessing_Reduce), the presolved problem is freed when an optimal solution is found. It is not freed when that parameter is set to CPX_PREREDUCE_PRIMALONLY (1) or CPX_PREREDUCE_DUALONLY (2), so the routine CPXXfreepresolve/CPXfreepresolve can be used to free it manually.

Arguments

env
A pointer to the CPLEX environment, as returned by CPXXopenCPLEX/CPXopenCPLEX.
lp
A pointer to a CPLEX LP problem object, as returned by CPXXcreateprob/CPXcreateprob.

Return

The routine returns 0 (zero) if successful and nonzero if an error occurs.

Example


status = CPXfreepresolve (env, lp);