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