fp20_presolve.c File Reference

#include "qs_config.h"
#include "fp20_iqsutil.h"
#include "fp20_lpdata.h"
#include "fp20_lpdefs.h"

Include dependency graph for fp20_presolve.c:

Go to the source code of this file.

Data Structures

struct  fp20_edge
struct  fp20_graph
struct  fp20_intptr
struct  fp20_node

Defines

#define fp20_ILL_LP_STATUS_OK   (0)
#define fp20_ILL_PRE_COL_LOGICAL   (1)
#define fp20_ILL_PRE_COL_STRUC   (0)
#define fp20_ILL_PRE_DELETE_EMPTY_COLUMN   (7)
#define fp20_ILL_PRE_DELETE_EMPTY_ROW   (1)
#define fp20_ILL_PRE_DELETE_FIXED_VARIABLE   (3)
#define fp20_ILL_PRE_DELETE_FORCED_VARIABLE   (4)
#define fp20_ILL_PRE_DELETE_FREE_SINGLETON_VARIABLE   (6)
#define fp20_ILL_PRE_DELETE_SINGLETON_ROW   (2)
#define fp20_ILL_PRE_DELETE_SINGLETON_VARIABLE   (5)
#define fp20_ILL_PRE_FEAS_TOL   fp20_PFEAS_TOLER
#define fp20_ILL_PRE_ZERO_TOL   fp20_PIVOT_TOLER

Functions

static int fp20_add_to_list (ILLptrworld *world, fp20_intptr **list, int i)
static int fp20_build_graph (fp20_ILLlpdata *lp, fp20_graph *G)
static void fp20_dump_graph (fp20_graph *G)
static void fp20_dump_line (fp20_ILLlp_preline *line)
static int fp20_duplicate_cols (fp20_graph *G, int *hit)
static int fp20_duplicate_rows (fp20_graph *G, int *hit)
static int fp20_empty_columns (fp20_graph *G, fp20_ILLlp_predata *pre)
static int fp20_fixed_variables (fp20_graph *G, fp20_ILLlp_predata *pre)
static int fp20_forcing_constraints (fp20_graph *G, fp20_ILLlp_predata *pre, int *hit)
static void fp20_free_graph (fp20_graph *G)
static int fp20_gather_dup_lists (int *s, int count, int *duptotal, int **dupcnt, int **dupind)
static void fp20_get_implied_rhs_bounds (fp20_graph *G, int i, EGfp20_t *lb, EGfp20_t *ub)
static void fp20_get_implied_variable_bounds (fp20_graph *G, int j, fp20_edge *a_ij, EGfp20_t *lb, EGfp20_t *ub)
static int fp20_get_next_preop (fp20_ILLlp_predata *pre, fp20_ILLlp_preop **op)
static int fp20_grab_lp_info (fp20_graph *G, char **colnames, fp20_ILLlp_sinfo *info)
static int fp20_grab_lp_line (fp20_graph *G, int indx, fp20_ILLlp_preline *line, int row_or_col)
void fp20_ILLlp_predata_free (fp20_ILLlp_predata *pre)
void fp20_ILLlp_predata_init (fp20_ILLlp_predata *pre)
void fp20_ILLlp_preline_free (fp20_ILLlp_preline *line)
void fp20_ILLlp_preline_init (fp20_ILLlp_preline *line)
void fp20_ILLlp_preop_free (fp20_ILLlp_preop *op)
void fp20_ILLlp_preop_init (fp20_ILLlp_preop *op)
int fp20_ILLlp_presolve (fp20_ILLlpdata *lp, int pre_types)
int fp20_ILLlp_scale (fp20_ILLlpdata *lp)
void fp20_ILLlp_sinfo_free (fp20_ILLlp_sinfo *sinfo)
void fp20_ILLlp_sinfo_init (fp20_ILLlp_sinfo *sinfo)
int fp20_ILLlp_sinfo_print (fp20_ILLlp_sinfo *s)
static void fp20_init_graph (fp20_graph *G)
static void fp20_set_fixed_variable (fp20_graph *G, int j, EGfp20_t val)
static int fp20_simple_presolve (fp20_ILLlpdata *lp, fp20_ILLlp_predata *pre, fp20_ILLlp_sinfo *info, int pre_types, int *status)
static int fp20_singleton_columns (fp20_graph *G, fp20_ILLlp_predata *pre, int *hit)
static int fp20_singleton_rows (fp20_graph *G, fp20_ILLlp_predata *pre, int *hit)
 ILL_PTRWORLD_ROUTINES (ILL_PTRWORLD_LISTFREE_ROUTINE(fp20_intptr, intptralloc, intptr_bulkalloc, intptrfree)

Variables

static int fp20_debug = 0
static int TRACE = 0


Define Documentation

#define fp20_ILL_LP_STATUS_OK   (0)

Definition at line 52 of file fp20_presolve.c.

Referenced by fp20_ILLlp_presolve(), and fp20_simple_presolve().

#define fp20_ILL_PRE_COL_LOGICAL   (1)

Definition at line 65 of file fp20_presolve.c.

Referenced by fp20_dump_graph().

#define fp20_ILL_PRE_COL_STRUC   (0)

Definition at line 64 of file fp20_presolve.c.

Referenced by fp20_duplicate_cols(), fp20_duplicate_rows(), and fp20_grab_lp_info().

#define fp20_ILL_PRE_DELETE_EMPTY_COLUMN   (7)

Definition at line 62 of file fp20_presolve.c.

Referenced by fp20_empty_columns(), and fp20_simple_presolve().

#define fp20_ILL_PRE_DELETE_EMPTY_ROW   (1)

Definition at line 56 of file fp20_presolve.c.

Referenced by fp20_simple_presolve(), and fp20_singleton_rows().

#define fp20_ILL_PRE_DELETE_FIXED_VARIABLE   (3)

Definition at line 58 of file fp20_presolve.c.

Referenced by fp20_fixed_variables(), and fp20_simple_presolve().

#define fp20_ILL_PRE_DELETE_FORCED_VARIABLE   (4)

Definition at line 59 of file fp20_presolve.c.

Referenced by fp20_forcing_constraints(), and fp20_simple_presolve().

#define fp20_ILL_PRE_DELETE_FREE_SINGLETON_VARIABLE   (6)

Definition at line 61 of file fp20_presolve.c.

Referenced by fp20_simple_presolve(), and fp20_singleton_columns().

#define fp20_ILL_PRE_DELETE_SINGLETON_ROW   (2)

Definition at line 57 of file fp20_presolve.c.

Referenced by fp20_simple_presolve(), and fp20_singleton_rows().

#define fp20_ILL_PRE_DELETE_SINGLETON_VARIABLE   (5)

Definition at line 60 of file fp20_presolve.c.

Referenced by fp20_simple_presolve(), and fp20_singleton_columns().

#define fp20_ILL_PRE_FEAS_TOL   fp20_PFEAS_TOLER

Definition at line 53 of file fp20_presolve.c.

Referenced by fp20_empty_columns(), fp20_forcing_constraints(), fp20_get_implied_variable_bounds(), and fp20_singleton_rows().

#define fp20_ILL_PRE_ZERO_TOL   fp20_PIVOT_TOLER

Definition at line 54 of file fp20_presolve.c.

Referenced by fp20_duplicate_cols(), and fp20_duplicate_rows().


Function Documentation

static int fp20_add_to_list ( ILLptrworld world,
fp20_intptr **  list,
int  i 
)

Definition at line 2241 of file fp20_presolve.c.

References ILL_RETURN, fp20_intptr::next, and fp20_intptr::this_val.

Referenced by fp20_singleton_rows().

static int fp20_build_graph ( fp20_ILLlpdata lp,
fp20_graph G 
)

Definition at line 2264 of file fp20_presolve.c.

References fp20_ILLlpdata::A, fp20_graph::adjspace, fp20_edge::coef, fp20_graph::cols, fp20_node::deg, fp20_graph::edgelist, ILL_SAFE_MALLOC, fp20_ILLlpdata::ncols, fp20_ILLlpdata::nrows, fp20_graph::nzcount, fp20_ILLlpdata::nzcount, fp20_ILLlpdata::objsense, fp20_graph::objsense, fp20_graph::rows, fp20_node::rowsense, and fp20_ILLlpdata::sense.

Referenced by fp20_simple_presolve().

static void fp20_dump_graph ( fp20_graph G  ) 

Definition at line 2385 of file fp20_presolve.c.

References fp20_node::adj, fp20_edge::coef, fp20_edge::col, fp20_graph::cols, fp20_node::coltype, fp20_edge::coltype, fp20_node::deg, fp20_node::del, fp20_graph::ecount, fp20_ILL_PRE_COL_LOGICAL, fp20_node::lower, fp20_graph::ncols, fp20_graph::nrows, fp20_node::obj, fp20_node::rhs, fp20_edge::row, fp20_graph::rows, and fp20_node::upper.

Referenced by fp20_simple_presolve().

static void fp20_dump_line ( fp20_ILLlp_preline line  ) 

Definition at line 812 of file fp20_presolve.c.

References fp20_ILLlp_preline::count, fp20_ILLlp_preline::ind, fp20_ILLlp_preline::lower, fp20_ILLlp_preline::obj, fp20_ILLlp_preline::rhs, fp20_ILLlp_preline::row_or_col, fp20_ILLlp_preline::upper, and fp20_ILLlp_preline::val.

Referenced by fp20_simple_presolve().

static int fp20_duplicate_cols ( fp20_graph G,
int *  hit 
)

Definition at line 1799 of file fp20_presolve.c.

References fp20_node::adj, fp20_edge::coef, fp20_edge::col, fp20_graph::cols, fp20_node::coltype, fp20_node::deg, fp20_edge::del, fp20_node::del, fp20_gather_dup_lists(), fp20_ILL_MAXINT, fp20_ILL_PRE_COL_STRUC, fp20_ILL_PRE_ZERO_TOL, ILL_CLEANUP_IF, ILL_IFFREE, ILL_RETURN, ILL_SAFE_MALLOC, ILLutil_zeit(), k2, fp20_graph::ncols, fp20_graph::nrows, fp20_graph::rows, and t.

Referenced by fp20_simple_presolve().

Here is the call graph for this function:

static int fp20_duplicate_rows ( fp20_graph G,
int *  hit 
)

Definition at line 1660 of file fp20_presolve.c.

References fp20_node::adj, fp20_edge::coef, fp20_graph::cols, fp20_node::coltype, fp20_node::deg, fp20_edge::del, fp20_node::del, fp20_ILL_MAXINT, fp20_ILL_PRE_COL_STRUC, fp20_ILL_PRE_ZERO_TOL, ILL_IFFREE, ILL_RETURN, ILL_SAFE_MALLOC, ILLutil_zeit(), k2, fp20_graph::ncols, fp20_graph::nrows, fp20_edge::row, fp20_graph::rows, fp20_node::rowsense, and t.

Referenced by fp20_simple_presolve().

Here is the call graph for this function:

static int fp20_empty_columns ( fp20_graph G,
fp20_ILLlp_predata pre 
)

Definition at line 1082 of file fp20_presolve.c.

References fp20_node::adj, fp20_ILLlp_preop::colindex, fp20_graph::cols, fp20_node::deg, fp20_node::del, fp20_get_next_preop(), fp20_grab_lp_line(), fp20_ILL_MAXDOUBLE, fp20_ILL_MINDOUBLE, fp20_ILL_PRE_DELETE_EMPTY_COLUMN, fp20_ILL_PRE_FEAS_TOL, fp20_set_fixed_variable(), ILL_CLEANUP_IF, ILL_RETURN, fp20_ILLlp_preop::line, fp20_node::lower, fp20_graph::ncols, fp20_node::obj, fp20_graph::objsense, fp20_ILLlp_preop::ptype, fp20_ILLlp_preop::rowindex, and fp20_node::upper.

Referenced by fp20_simple_presolve().

Here is the call graph for this function:

static int fp20_fixed_variables ( fp20_graph G,
fp20_ILLlp_predata pre 
)

Definition at line 1045 of file fp20_presolve.c.

References fp20_ILLlp_preop::colindex, fp20_graph::cols, fp20_node::del, fp20_get_next_preop(), fp20_grab_lp_line(), fp20_ILL_PRE_DELETE_FIXED_VARIABLE, fp20_set_fixed_variable(), ILL_CLEANUP_IF, ILL_RETURN, fp20_ILLlp_preop::line, fp20_node::lower, fp20_graph::ncols, fp20_ILLlp_preop::ptype, fp20_ILLlp_preop::rowindex, and fp20_node::upper.

Referenced by fp20_simple_presolve().

Here is the call graph for this function:

static int fp20_forcing_constraints ( fp20_graph G,
fp20_ILLlp_predata pre,
int *  hit 
)

Definition at line 1336 of file fp20_presolve.c.

References fp20_node::adj, fp20_edge::coef, fp20_edge::col, fp20_ILLlp_preop::colindex, fp20_graph::cols, fp20_node::deg, fp20_edge::del, fp20_node::del, fp20_get_implied_rhs_bounds(), fp20_get_next_preop(), fp20_grab_lp_line(), fp20_ILL_PRE_DELETE_FORCED_VARIABLE, fp20_ILL_PRE_FEAS_TOL, fp20_set_fixed_variable(), ILL_CLEANUP_IF, fp20_ILLlp_preop::line, fp20_node::lower, fp20_graph::nrows, fp20_ILLlp_predata::opcount, fp20_ILLlp_preop::ptype, fp20_ILLlp_preop::rowindex, fp20_graph::rows, and fp20_node::upper.

Referenced by fp20_simple_presolve().

Here is the call graph for this function:

static void fp20_free_graph ( fp20_graph G  ) 

Definition at line 2458 of file fp20_presolve.c.

References fp20_graph::adjspace, fp20_edge::coef, fp20_graph::cols, fp20_graph::edgelist, fp20_init_graph(), ILL_IFFREE, ILLptrworld_delete(), fp20_graph::intptrworld, fp20_graph::nzcount, and fp20_graph::rows.

Here is the call graph for this function:

static int fp20_gather_dup_lists ( int *  s,
int  count,
int *  duptotal,
int **  dupcnt,
int **  dupind 
)

Definition at line 1931 of file fp20_presolve.c.

References fp20_ILL_MAXINT, ILL_IFFREE, ILL_RETURN, and ILL_SAFE_MALLOC.

Referenced by fp20_duplicate_cols().

static void fp20_get_implied_rhs_bounds ( fp20_graph G,
int  i,
EGfp20_t *  lb,
EGfp20_t *  ub 
)

Definition at line 2075 of file fp20_presolve.c.

References fp20_node::adj, fp20_edge::coef, fp20_edge::col, fp20_graph::cols, fp20_node::deg, fp20_edge::del, fp20_ILL_MAXDOUBLE, fp20_ILL_MINDOUBLE, and fp20_graph::rows.

Referenced by fp20_forcing_constraints(), and fp20_get_implied_variable_bounds().

static void fp20_get_implied_variable_bounds ( fp20_graph G,
int  j,
fp20_edge a_ij,
EGfp20_t *  lb,
EGfp20_t *  ub 
)

Definition at line 2164 of file fp20_presolve.c.

References fp20_edge::coef, fp20_graph::cols, fp20_get_implied_rhs_bounds(), fp20_ILL_MAXDOUBLE, fp20_ILL_MINDOUBLE, fp20_ILL_PRE_FEAS_TOL, fp20_node::lower, fp20_node::rhs, fp20_edge::row, fp20_graph::rows, and fp20_node::upper.

Referenced by fp20_singleton_columns().

Here is the call graph for this function:

static int fp20_get_next_preop ( fp20_ILLlp_predata pre,
fp20_ILLlp_preop **  op 
)

Definition at line 2215 of file fp20_presolve.c.

References fp20_ILLlp_preop_init(), ILL_RETURN, fp20_ILLlp_predata::opcount, fp20_ILLlp_predata::oplist, and fp20_ILLlp_predata::opsize.

Referenced by fp20_empty_columns(), fp20_fixed_variables(), fp20_forcing_constraints(), fp20_singleton_columns(), and fp20_singleton_rows().

Here is the call graph for this function:

static int fp20_grab_lp_info ( fp20_graph G,
char **  colnames,
fp20_ILLlp_sinfo info 
)

Definition at line 838 of file fp20_presolve.c.

References fp20_ILLlp_sinfo::A, fp20_node::adj, fp20_edge::coef, fp20_ILLlp_sinfo::colnames, fp20_graph::cols, fp20_ILLlp_sinfo::colsize, fp20_node::coltype, fp20_node::deg, fp20_node::del, fp20_ILL_PRE_COL_STRUC, ILL_namebufsize, ILL_SAFE_MALLOC, fp20_node::lower, fp20_ILLlp_sinfo::lower, fp20_ILLmatrix::matbeg, fp20_ILLmatrix::matcnt, fp20_ILLmatrix::matcols, fp20_ILLmatrix::matcolsize, fp20_ILLmatrix::matfree, fp20_ILLmatrix::matind, fp20_ILLmatrix::matrows, fp20_ILLmatrix::matsize, fp20_ILLmatrix::matval, fp20_ILLlp_sinfo::ncols, fp20_graph::ncols, fp20_ILLlp_sinfo::nrows, fp20_graph::nrows, fp20_ILLlp_sinfo::nzcount, fp20_node::obj, fp20_ILLlp_sinfo::obj, fp20_node::rhs, fp20_ILLlp_sinfo::rhs, fp20_edge::row, fp20_graph::rows, fp20_ILLlp_sinfo::rowsize, fp20_node::upper, and fp20_ILLlp_sinfo::upper.

static int fp20_grab_lp_line ( fp20_graph G,
int  indx,
fp20_ILLlp_preline line,
int  row_or_col 
)

Definition at line 747 of file fp20_presolve.c.

References fp20_node::adj, fp20_graph::cols, fp20_ILLlp_preline::count, fp20_node::deg, fp20_edge::del, and fp20_graph::rows.

Referenced by fp20_empty_columns(), fp20_fixed_variables(), fp20_forcing_constraints(), fp20_singleton_columns(), and fp20_singleton_rows().

void fp20_ILLlp_predata_free ( fp20_ILLlp_predata pre  ) 

Definition at line 2599 of file fp20_presolve.c.

References fp20_ILLlp_predata::colfixval, fp20_ILLlp_predata::colmap, fp20_ILLlp_predata::colscale, fp20_ILLlp_predata_init(), fp20_ILLlp_preop_free(), ILL_IFFREE, fp20_ILLlp_predata::opcount, fp20_ILLlp_predata::oplist, fp20_ILLlp_predata::rowfixval, fp20_ILLlp_predata::rowmap, and fp20_ILLlp_predata::rowscale.

Here is the call graph for this function:

void fp20_ILLlp_predata_init ( fp20_ILLlp_predata pre  ) 

void fp20_ILLlp_preline_free ( fp20_ILLlp_preline line  ) 

Definition at line 2663 of file fp20_presolve.c.

References ILL_IFFREE, fp20_ILLlp_preline::ind, fp20_ILLlp_preline::lower, fp20_ILLlp_preline::obj, fp20_ILLlp_preline::rhs, fp20_ILLlp_preline::upper, and fp20_ILLlp_preline::val.

Referenced by fp20_ILLlp_preop_free().

void fp20_ILLlp_preline_init ( fp20_ILLlp_preline line  ) 

Definition at line 2644 of file fp20_presolve.c.

References fp20_ILLlp_preline::count, fp20_ILLlp_preline::ind, fp20_ILLlp_preline::lower, fp20_ILLlp_preline::obj, fp20_ILLlp_preline::rhs, fp20_ILLlp_preline::upper, and fp20_ILLlp_preline::val.

Referenced by fp20_ILLlp_preop_init().

void fp20_ILLlp_preop_free ( fp20_ILLlp_preop op  ) 

Definition at line 2634 of file fp20_presolve.c.

References fp20_ILLlp_preline_free(), fp20_ILLlp_preop_init(), and fp20_ILLlp_preop::line.

Referenced by fp20_ILLlp_predata_free().

Here is the call graph for this function:

void fp20_ILLlp_preop_init ( fp20_ILLlp_preop op  ) 

Definition at line 2622 of file fp20_presolve.c.

References fp20_ILLlp_preop::colindex, fp20_ILLlp_preline_init(), fp20_ILLlp_preop::line, fp20_ILLlp_preop::ptype, and fp20_ILLlp_preop::rowindex.

Referenced by fp20_get_next_preop(), and fp20_ILLlp_preop_free().

Here is the call graph for this function:

int fp20_ILLlp_presolve ( fp20_ILLlpdata lp,
int  pre_types 
)

Definition at line 462 of file fp20_presolve.c.

References fp20_ILL_LP_STATUS_OK, fp20_ILLlp_predata_free(), fp20_ILLlp_predata_init(), fp20_ILLlp_sinfo_free(), fp20_ILLlp_sinfo_init(), fp20_simple_presolve(), ILL_CLEANUP_IF, ILL_IFFREE, ILL_RETURN, ILL_SAFE_MALLOC, fp20_ILLlpdata::presolve, and fp20_ILLlpdata::sinfo.

Here is the call graph for this function:

int fp20_ILLlp_scale ( fp20_ILLlpdata lp  ) 

Definition at line 349 of file fp20_presolve.c.

References fp20_ILLlpdata::A, fp20_ILL_MAXDOUBLE, fp20_ILL_MINDOUBLE, ILL_ERROR, fp20_ILLlpdata::lower, fp20_ILLmatrix::matbeg, fp20_ILLmatrix::matcnt, fp20_ILLmatrix::matind, fp20_ILLmatrix::matval, fp20_ILLlpdata::ncols, fp20_ILLlpdata::nrows, fp20_ILLlpdata::nstruct, fp20_ILLlpdata::obj, fp20_ILLlpdata::rhs, fp20_ILLlpdata::rowmap, fp20_ILLlpdata::structmap, and fp20_ILLlpdata::upper.

void fp20_ILLlp_sinfo_free ( fp20_ILLlp_sinfo sinfo  ) 

void fp20_ILLlp_sinfo_init ( fp20_ILLlp_sinfo sinfo  ) 

int fp20_ILLlp_sinfo_print ( fp20_ILLlp_sinfo s  ) 

Definition at line 2482 of file fp20_presolve.c.

References fp20_ILLlp_sinfo::A, fp20_ILLlpdata::A, fp20_ILLlp_sinfo::colnames, fp20_ILLlpdata::colnames, fp20_ILLlpdata_init(), ILL_IFFREE, ILL_RETURN, ILL_SAFE_MALLOC, fp20_ILLlpdata::intmarker, fp20_ILLlp_sinfo::lower, fp20_ILLlpdata::lower, fp20_ILLmatrix::matbeg, fp20_ILLmatrix::matcnt, fp20_ILLmatrix::matind, fp20_ILLmatrix::matval, fp20_ILLlp_sinfo::ncols, fp20_ILLlpdata::ncols, fp20_ILLlp_sinfo::nrows, fp20_ILLlpdata::nrows, fp20_ILLlp_sinfo::nzcount, fp20_ILLlpdata::nzcount, fp20_ILLlp_sinfo::obj, fp20_ILLlpdata::obj, fp20_ILLlpdata::objname, fp20_ILLlp_sinfo::objsense, fp20_ILLlpdata::objsense, fp20_ILLlpdata::probname, fp20_ILLlp_sinfo::rhs, fp20_ILLlpdata::rhs, fp20_ILLlpdata::rownames, fp20_ILLlpdata::sense, fp20_ILLlp_sinfo::upper, and fp20_ILLlpdata::upper.

Here is the call graph for this function:

static void fp20_init_graph ( fp20_graph G  ) 

Definition at line 2442 of file fp20_presolve.c.

References fp20_graph::adjspace, fp20_graph::cols, fp20_graph::ecount, fp20_graph::edgelist, ILLptrworld_init(), fp20_graph::intptrworld, fp20_graph::ncols, fp20_graph::nrows, and fp20_graph::rows.

Referenced by fp20_free_graph(), and fp20_simple_presolve().

Here is the call graph for this function:

static void fp20_set_fixed_variable ( fp20_graph G,
int  j,
EGfp20_t  val 
) [static]

Definition at line 2054 of file fp20_presolve.c.

References fp20_node::adj, fp20_edge::coef, fp20_graph::cols, fp20_node::deg, fp20_edge::del, fp20_node::del, fp20_edge::row, and fp20_graph::rows.

Referenced by fp20_empty_columns(), fp20_fixed_variables(), and fp20_forcing_constraints().

static int fp20_simple_presolve ( fp20_ILLlpdata lp,
fp20_ILLlp_predata pre,
fp20_ILLlp_sinfo info,
int  pre_types,
int *  status 
) [static]

Definition at line 580 of file fp20_presolve.c.

References fp20_ILLlp_preop::colindex, fp20_build_graph(), fp20_debug, fp20_dump_graph(), fp20_dump_line(), fp20_duplicate_cols(), fp20_duplicate_rows(), fp20_empty_columns(), fp20_fixed_variables(), fp20_forcing_constraints(), fp20_ILL_LP_STATUS_OK, fp20_ILL_PRE_DELETE_EMPTY_COLUMN, fp20_ILL_PRE_DELETE_EMPTY_ROW, fp20_ILL_PRE_DELETE_FIXED_VARIABLE, fp20_ILL_PRE_DELETE_FORCED_VARIABLE, fp20_ILL_PRE_DELETE_FREE_SINGLETON_VARIABLE, fp20_ILL_PRE_DELETE_SINGLETON_ROW, fp20_ILL_PRE_DELETE_SINGLETON_VARIABLE, fp20_ILL_PRE_DUPLICATE_COL, fp20_ILL_PRE_DUPLICATE_ROW, fp20_ILL_PRE_EMPTY_COL, fp20_ILL_PRE_FIXED, fp20_ILL_PRE_FORCING, fp20_ILL_PRE_SINGLE_COL, fp20_ILL_PRE_SINGLE_ROW, fp20_init_graph(), fp20_singleton_columns(), fp20_singleton_rows(), ILL_CLEANUP_IF, fp20_ILLlp_preop::line, fp20_ILLlpdata::ncols, fp20_ILLlpdata::nrows, fp20_ILLlpdata::nzcount, fp20_ILLlp_predata::opcount, fp20_ILLlp_predata::oplist, fp20_ILLlp_preop::ptype, and fp20_ILLlp_preop::rowindex.

Referenced by fp20_ILLlp_presolve().

Here is the call graph for this function:

static int fp20_singleton_columns ( fp20_graph G,
fp20_ILLlp_predata pre,
int *  hit 
)

Definition at line 1416 of file fp20_presolve.c.

References fp20_node::adj, fp20_edge::coef, fp20_edge::col, fp20_ILLlp_preop::colindex, fp20_graph::cols, fp20_node::deg, fp20_edge::del, fp20_node::del, fp20_get_implied_variable_bounds(), fp20_get_next_preop(), fp20_grab_lp_line(), fp20_ILL_MAXDOUBLE, fp20_ILL_MINDOUBLE, fp20_ILL_PRE_DELETE_FREE_SINGLETON_VARIABLE, fp20_ILL_PRE_DELETE_SINGLETON_VARIABLE, ILL_CLEANUP_IF, fp20_ILLlp_preop::line, fp20_node::lower, fp20_graph::ncols, fp20_node::obj, fp20_ILLlp_predata::opcount, fp20_ILLlp_preop::ptype, fp20_ILLlp_preop::rowindex, fp20_graph::rows, and fp20_node::upper.

Referenced by fp20_simple_presolve().

Here is the call graph for this function:

static int fp20_singleton_rows ( fp20_graph G,
fp20_ILLlp_predata pre,
int *  hit 
)

Definition at line 1167 of file fp20_presolve.c.

References fp20_node::adj, fp20_edge::coef, fp20_edge::col, fp20_ILLlp_preop::colindex, fp20_graph::cols, fp20_node::deg, fp20_edge::del, fp20_node::del, fp20_add_to_list(), fp20_get_next_preop(), fp20_grab_lp_line(), fp20_ILL_PRE_DELETE_EMPTY_ROW, fp20_ILL_PRE_DELETE_SINGLETON_ROW, fp20_ILL_PRE_FEAS_TOL, ILL_CLEANUP_IF, ILL_SAFE_MALLOC, fp20_graph::intptrworld, fp20_ILLlp_preop::line, fp20_node::lower, fp20_intptr::next, fp20_graph::nrows, fp20_ILLlp_preop::ptype, fp20_ILLlp_preline::rhs, fp20_node::rhs, fp20_edge::row, fp20_ILLlp_preop::rowindex, fp20_graph::rows, and fp20_node::upper.

Referenced by fp20_simple_presolve().

Here is the call graph for this function:

ILL_PTRWORLD_ROUTINES ( ILL_PTRWORLD_LISTFREE_ROUTINE (  fp20_intptr,
intptralloc  ,
intptr_bulkalloc  ,
intptrfree   
)

Definition at line 218 of file fp20_presolve.c.

References fp20_ILL_MAXDOUBLE, fp20_ILLlp_rows_clear(), ILL_SAFE_MALLOC, fp20_ILLmatrix::matbeg, fp20_ILLmatrix::matcnt, fp20_ILLmatrix::matcols, fp20_ILLmatrix::matcolsize, fp20_ILLmatrix::matfree, fp20_ILLmatrix::matind, fp20_ILLmatrix::matsize, and fp20_ILLmatrix::matval.

Here is the call graph for this function:


Variable Documentation

int fp20_debug = 0 [static]

Definition at line 67 of file fp20_presolve.c.

Referenced by fp20_simple_presolve().

int TRACE = 0 [static]

Definition at line 24 of file fp20_presolve.c.


Generated on Thu Mar 29 09:38:19 2012 for QSopt_ex by  doxygen 1.4.7