|
TOMLAB OPTIMIZATION ENVIRONMENT: preSolve |
![]() |
preSolve
Purpose
For simplifing the structure of the constraints and the variable bounds in a linear constrained program.
Syntax
Prob = preSolve(Prob);
Description
preSolve is a presolve procedure for linear constraints and simple bounds.
preSolve calls the subroutines:
clean Calls the routines emptyrow.m, r_rw_sng.m and el_cnsts.m who
are executed until no changes in constraints or bounds are made.
emptyrow Eliminates empty rows from the constraint matrix.
r_rw_sng Removes row singletons.
el_cnsts Improves variable bounds and uses them to eliminate
redundant and forcing constraints.
mksp Search for sparsity patterns and eliminates some sort
of linear dependent rows.
Input Parameters
Prob Structure, where the following variables are used:
A Linear constraint matrix
b_L Lower bounds for linear constraints
b_U Upper bounds for linear constraints
x_L Lower bounds for x
x_U Upper bounds for x
PriLevOpt Printing level
Output Parameters
Prob Structure, where the following variables are changed:
A Linear constraint matrix
b_L Lower bounds for linear constraints, -inf if made redundant
b_U Upper bounds for linear constraints, inf if made redundant
x_L New lower bounds for x
x_U New upper bounds for x
New output fields:
IdxRed Indices for the redundant linear constraints
These constraints now have b_L = -inf, b_U = inf
idxL The lower bounds made redundant by preSolve
idxU The upper bounds made redundant by preSolve
![]() |
GetSolver | pretest | ![]() |