#include "econfig.h"
#include "dbl_iqsutil.h"
#include "dbl_lpdata.h"
#include "dbl_lpdefs.h"
Include dependency graph for dbl_presolve.c:

Go to the source code of this file.
| #define dbl_ILL_LP_STATUS_OK (0) |
Definition at line 52 of file dbl_presolve.c.
Referenced by dbl_ILLlp_presolve(), and dbl_simple_presolve().
| #define dbl_ILL_PRE_COL_LOGICAL (1) |
| #define dbl_ILL_PRE_COL_STRUC (0) |
Definition at line 64 of file dbl_presolve.c.
Referenced by dbl_duplicate_cols(), dbl_duplicate_rows(), and dbl_grab_lp_info().
| #define dbl_ILL_PRE_DELETE_EMPTY_COLUMN (7) |
Definition at line 62 of file dbl_presolve.c.
Referenced by dbl_empty_columns(), and dbl_simple_presolve().
| #define dbl_ILL_PRE_DELETE_EMPTY_ROW (1) |
Definition at line 56 of file dbl_presolve.c.
Referenced by dbl_simple_presolve(), and dbl_singleton_rows().
| #define dbl_ILL_PRE_DELETE_FIXED_VARIABLE (3) |
Definition at line 58 of file dbl_presolve.c.
Referenced by dbl_fixed_variables(), and dbl_simple_presolve().
| #define dbl_ILL_PRE_DELETE_FORCED_VARIABLE (4) |
Definition at line 59 of file dbl_presolve.c.
Referenced by dbl_forcing_constraints(), and dbl_simple_presolve().
| #define dbl_ILL_PRE_DELETE_FREE_SINGLETON_VARIABLE (6) |
Definition at line 61 of file dbl_presolve.c.
Referenced by dbl_simple_presolve(), and dbl_singleton_columns().
| #define dbl_ILL_PRE_DELETE_SINGLETON_ROW (2) |
Definition at line 57 of file dbl_presolve.c.
Referenced by dbl_simple_presolve(), and dbl_singleton_rows().
| #define dbl_ILL_PRE_DELETE_SINGLETON_VARIABLE (5) |
Definition at line 60 of file dbl_presolve.c.
Referenced by dbl_simple_presolve(), and dbl_singleton_columns().
| #define dbl_ILL_PRE_FEAS_TOL dbl_PFEAS_TOLER |
Definition at line 53 of file dbl_presolve.c.
Referenced by dbl_empty_columns(), dbl_forcing_constraints(), dbl_get_implied_variable_bounds(), and dbl_singleton_rows().
| #define dbl_ILL_PRE_ZERO_TOL dbl_PIVOT_TOLER |
Definition at line 54 of file dbl_presolve.c.
Referenced by dbl_duplicate_cols(), and dbl_duplicate_rows().
| static int dbl_add_to_list | ( | ILLptrworld * | world, | |
| dbl_intptr ** | list, | |||
| int | i | |||
| ) |
Definition at line 2241 of file dbl_presolve.c.
References ILL_RETURN, dbl_intptr::next, and dbl_intptr::this_val.
Referenced by dbl_singleton_rows().
| static int dbl_build_graph | ( | dbl_ILLlpdata * | lp, | |
| dbl_graph * | G | |||
| ) |
Definition at line 2264 of file dbl_presolve.c.
References dbl_ILLlpdata::A, dbl_graph::adjspace, dbl_edge::coef, dbl_graph::cols, dbl_EGlpNumInitVar, dbl_node::deg, dbl_graph::edgelist, ILL_SAFE_MALLOC, dbl_ILLlpdata::ncols, dbl_ILLlpdata::nrows, dbl_graph::nzcount, dbl_ILLlpdata::nzcount, dbl_ILLlpdata::objsense, dbl_graph::objsense, dbl_graph::rows, dbl_node::rowsense, and dbl_ILLlpdata::sense.
Referenced by dbl_simple_presolve().
| static void dbl_dump_graph | ( | dbl_graph * | G | ) |
Definition at line 2385 of file dbl_presolve.c.
References dbl_node::adj, dbl_edge::coef, dbl_edge::col, dbl_graph::cols, dbl_node::coltype, dbl_edge::coltype, dbl_EGlpNumToLf, dbl_ILL_PRE_COL_LOGICAL, dbl_node::deg, dbl_node::del, dbl_graph::ecount, dbl_node::lower, dbl_graph::ncols, dbl_graph::nrows, dbl_node::obj, dbl_node::rhs, dbl_edge::row, dbl_graph::rows, and dbl_node::upper.
Referenced by dbl_simple_presolve().
| static void dbl_dump_line | ( | dbl_ILLlp_preline * | line | ) |
Definition at line 812 of file dbl_presolve.c.
References dbl_ILLlp_preline::count, dbl_EGlpNumToLf, dbl_ILLlp_preline::ind, dbl_ILLlp_preline::lower, dbl_ILLlp_preline::obj, dbl_ILLlp_preline::rhs, dbl_ILLlp_preline::row_or_col, dbl_ILLlp_preline::upper, and dbl_ILLlp_preline::val.
Referenced by dbl_simple_presolve().
| static int dbl_duplicate_cols | ( | dbl_graph * | G, | |
| int * | hit | |||
| ) |
Definition at line 1799 of file dbl_presolve.c.
References dbl_node::adj, dbl_edge::coef, dbl_edge::col, dbl_graph::cols, dbl_node::coltype, dbl_EGlpNumAllocArray, dbl_EGlpNumClearVar, dbl_EGlpNumCopy, dbl_EGlpNumDivTo, dbl_EGlpNumFreeArray, dbl_EGlpNumInitVar, dbl_EGlpNumIsEqual, dbl_EGlpNumMultTo, dbl_gather_dup_lists(), dbl_ILL_MAXINT, dbl_ILL_PRE_COL_STRUC, dbl_ILL_PRE_ZERO_TOL, dbl_oneLpNum, dbl_node::deg, dbl_edge::del, dbl_node::del, ILL_CLEANUP_IF, ILL_IFFREE, ILL_RETURN, ILL_SAFE_MALLOC, ILLutil_zeit(), k2, dbl_graph::ncols, dbl_graph::nrows, dbl_graph::rows, and t.
Referenced by dbl_simple_presolve().
Here is the call graph for this function:

| static int dbl_duplicate_rows | ( | dbl_graph * | G, | |
| int * | hit | |||
| ) |
Definition at line 1660 of file dbl_presolve.c.
References dbl_node::adj, dbl_edge::coef, dbl_graph::cols, dbl_node::coltype, dbl_EGlpNumAllocArray, dbl_EGlpNumClearVar, dbl_EGlpNumCopy, dbl_EGlpNumDivTo, dbl_EGlpNumFreeArray, dbl_EGlpNumInitVar, dbl_EGlpNumIsEqual, dbl_EGlpNumMultTo, dbl_ILL_MAXINT, dbl_ILL_PRE_COL_STRUC, dbl_ILL_PRE_ZERO_TOL, dbl_oneLpNum, dbl_node::deg, dbl_edge::del, dbl_node::del, ILL_IFFREE, ILL_RETURN, ILL_SAFE_MALLOC, ILLutil_zeit(), k2, dbl_graph::ncols, dbl_graph::nrows, dbl_edge::row, dbl_graph::rows, dbl_node::rowsense, and t.
Referenced by dbl_simple_presolve().
Here is the call graph for this function:

| static int dbl_empty_columns | ( | dbl_graph * | G, | |
| dbl_ILLlp_predata * | pre | |||
| ) |
Definition at line 1082 of file dbl_presolve.c.
References dbl_node::adj, dbl_ILLlp_preop::colindex, dbl_graph::cols, dbl_EGlpNumClearVar, dbl_EGlpNumCopy, dbl_EGlpNumInitVar, dbl_EGlpNumIsEqqual, dbl_EGlpNumIsGreatZero, dbl_EGlpNumIsLessZero, dbl_EGlpNumIsNeqZero, dbl_EGlpNumSign, dbl_EGlpNumToLf, dbl_get_next_preop(), dbl_grab_lp_line(), dbl_ILL_MAXDOUBLE, dbl_ILL_MINDOUBLE, dbl_ILL_PRE_DELETE_EMPTY_COLUMN, dbl_ILL_PRE_FEAS_TOL, dbl_set_fixed_variable(), dbl_node::deg, dbl_node::del, ILL_CLEANUP_IF, ILL_RETURN, dbl_ILLlp_preop::line, dbl_node::lower, dbl_graph::ncols, dbl_node::obj, dbl_graph::objsense, dbl_ILLlp_preop::ptype, dbl_ILLlp_preop::rowindex, and dbl_node::upper.
Referenced by dbl_simple_presolve().
Here is the call graph for this function:

| static int dbl_fixed_variables | ( | dbl_graph * | G, | |
| dbl_ILLlp_predata * | pre | |||
| ) |
Definition at line 1045 of file dbl_presolve.c.
References dbl_ILLlp_preop::colindex, dbl_graph::cols, dbl_EGlpNumIsEqqual, dbl_get_next_preop(), dbl_grab_lp_line(), dbl_ILL_PRE_DELETE_FIXED_VARIABLE, dbl_set_fixed_variable(), dbl_node::del, ILL_CLEANUP_IF, ILL_RETURN, dbl_ILLlp_preop::line, dbl_node::lower, dbl_graph::ncols, dbl_ILLlp_preop::ptype, dbl_ILLlp_preop::rowindex, and dbl_node::upper.
Referenced by dbl_simple_presolve().
Here is the call graph for this function:

| static int dbl_forcing_constraints | ( | dbl_graph * | G, | |
| dbl_ILLlp_predata * | pre, | |||
| int * | hit | |||
| ) |
Definition at line 1336 of file dbl_presolve.c.
References dbl_node::adj, dbl_edge::coef, dbl_edge::col, dbl_ILLlp_preop::colindex, dbl_graph::cols, dbl_EGlpNumInitVar, dbl_EGlpNumIsDiffLess, dbl_EGlpNumIsGreatZero, dbl_EGlpNumIsLessZero, dbl_EGlpNumIsSumLess, dbl_EGlpNumToLf, dbl_get_implied_rhs_bounds(), dbl_get_next_preop(), dbl_grab_lp_line(), dbl_ILL_PRE_DELETE_FORCED_VARIABLE, dbl_ILL_PRE_FEAS_TOL, dbl_set_fixed_variable(), dbl_node::deg, dbl_edge::del, dbl_node::del, ILL_CLEANUP_IF, dbl_ILLlp_preop::line, dbl_node::lower, dbl_graph::nrows, dbl_ILLlp_predata::opcount, dbl_ILLlp_preop::ptype, dbl_ILLlp_preop::rowindex, dbl_graph::rows, and dbl_node::upper.
Referenced by dbl_simple_presolve().
Here is the call graph for this function:

| static void dbl_free_graph | ( | dbl_graph * | G | ) |
Definition at line 2458 of file dbl_presolve.c.
References dbl_graph::adjspace, dbl_edge::coef, dbl_graph::cols, dbl_EGlpNumClearVar, dbl_init_graph(), dbl_graph::edgelist, ILL_IFFREE, ILLptrworld_delete(), dbl_graph::intptrworld, dbl_graph::nzcount, and dbl_graph::rows.
Here is the call graph for this function:

| static int dbl_gather_dup_lists | ( | int * | s, | |
| int | count, | |||
| int * | duptotal, | |||
| int ** | dupcnt, | |||
| int ** | dupind | |||
| ) |
Definition at line 1931 of file dbl_presolve.c.
References dbl_ILL_MAXINT, ILL_IFFREE, ILL_RETURN, and ILL_SAFE_MALLOC.
Referenced by dbl_duplicate_cols().
| static void dbl_get_implied_rhs_bounds | ( | dbl_graph * | G, | |
| int | i, | |||
| double * | lb, | |||
| double * | ub | |||
| ) |
Definition at line 2075 of file dbl_presolve.c.
References dbl_node::adj, dbl_edge::coef, dbl_edge::col, dbl_graph::cols, dbl_EGlpNumAddInnProdTo, dbl_EGlpNumCopy, dbl_EGlpNumInitVar, dbl_EGlpNumIsEqqual, dbl_EGlpNumIsLessZero, dbl_EGlpNumZero, dbl_ILL_MAXDOUBLE, dbl_ILL_MINDOUBLE, dbl_node::deg, dbl_edge::del, dbl_graph::rows, and dbl_node::upper.
Referenced by dbl_forcing_constraints(), and dbl_get_implied_variable_bounds().
| static void dbl_get_implied_variable_bounds | ( | dbl_graph * | G, | |
| int | j, | |||
| dbl_edge * | a_ij, | |||
| double * | lb, | |||
| double * | ub | |||
| ) |
lb = (G->rows[i].rhs - u) / a_ij->coef + G->cols[j].upper;
ub = (G->rows[i].rhs - l) / a_ij->coef + G->cols[j].lower;
lb = (G->rows[i].rhs - l) / a_ij->coef + G->cols[j].upper;
ub = (G->rows[i].rhs - u) / a_ij->coef + G->cols[j].lower;
Definition at line 2164 of file dbl_presolve.c.
References dbl_edge::coef, dbl_graph::cols, dbl_EGlpNumAddTo, dbl_EGlpNumClearVar, dbl_EGlpNumCopy, dbl_EGlpNumCopyDiffRatio, dbl_EGlpNumInitVar, dbl_EGlpNumIsLess, dbl_get_implied_rhs_bounds(), dbl_ILL_MAXDOUBLE, dbl_ILL_MINDOUBLE, dbl_ILL_PRE_FEAS_TOL, dbl_node::lower, dbl_node::rhs, dbl_edge::row, dbl_graph::rows, and dbl_node::upper.
Referenced by dbl_singleton_columns().
Here is the call graph for this function:

| static int dbl_get_next_preop | ( | dbl_ILLlp_predata * | pre, | |
| dbl_ILLlp_preop ** | op | |||
| ) |
Definition at line 2215 of file dbl_presolve.c.
References dbl_ILLlp_preop_init(), EGrealloc, ILL_RETURN, dbl_ILLlp_predata::opcount, dbl_ILLlp_predata::oplist, and dbl_ILLlp_predata::opsize.
Referenced by dbl_empty_columns(), dbl_fixed_variables(), dbl_forcing_constraints(), dbl_singleton_columns(), and dbl_singleton_rows().
Here is the call graph for this function:

| static int dbl_grab_lp_info | ( | dbl_graph * | G, | |
| char ** | colnames, | |||
| dbl_ILLlp_sinfo * | info | |||
| ) |
Definition at line 838 of file dbl_presolve.c.
References dbl_ILLlp_sinfo::A, dbl_node::adj, dbl_edge::coef, dbl_ILLlp_sinfo::colnames, dbl_graph::cols, dbl_ILLlp_sinfo::colsize, dbl_node::coltype, dbl_EGlpNumAllocArray, dbl_EGlpNumCopy, dbl_ILL_PRE_COL_STRUC, dbl_node::deg, dbl_node::del, ILL_namebufsize, ILL_SAFE_MALLOC, dbl_node::lower, dbl_ILLlp_sinfo::lower, dbl_ILLmatrix::matbeg, dbl_ILLmatrix::matcnt, dbl_ILLmatrix::matcols, dbl_ILLmatrix::matcolsize, dbl_ILLmatrix::matfree, dbl_ILLmatrix::matind, dbl_ILLmatrix::matrows, dbl_ILLmatrix::matsize, dbl_ILLmatrix::matval, dbl_ILLlp_sinfo::ncols, dbl_graph::ncols, dbl_ILLlp_sinfo::nrows, dbl_graph::nrows, dbl_ILLlp_sinfo::nzcount, dbl_node::obj, dbl_ILLlp_sinfo::obj, dbl_node::rhs, dbl_ILLlp_sinfo::rhs, dbl_edge::row, dbl_graph::rows, dbl_ILLlp_sinfo::rowsize, dbl_node::upper, and dbl_ILLlp_sinfo::upper.
| static int dbl_grab_lp_line | ( | dbl_graph * | G, | |
| int | indx, | |||
| dbl_ILLlp_preline * | line, | |||
| int | row_or_col | |||
| ) |
Definition at line 747 of file dbl_presolve.c.
References dbl_node::adj, dbl_graph::cols, dbl_ILLlp_preline::count, dbl_node::deg, dbl_edge::del, and dbl_graph::rows.
Referenced by dbl_empty_columns(), dbl_fixed_variables(), dbl_forcing_constraints(), dbl_singleton_columns(), and dbl_singleton_rows().
| void dbl_ILLlp_predata_free | ( | dbl_ILLlp_predata * | pre | ) |
Definition at line 2599 of file dbl_presolve.c.
References dbl_ILLlp_predata::colfixval, dbl_ILLlp_predata::colmap, dbl_ILLlp_predata::colscale, dbl_ILLlp_predata_init(), dbl_ILLlp_preop_free(), ILL_IFFREE, dbl_ILLlp_predata::opcount, dbl_ILLlp_predata::oplist, dbl_ILLlp_predata::rowfixval, dbl_ILLlp_predata::rowmap, and dbl_ILLlp_predata::rowscale.
Here is the call graph for this function:

| void dbl_ILLlp_predata_init | ( | dbl_ILLlp_predata * | pre | ) |
| void dbl_ILLlp_preline_free | ( | dbl_ILLlp_preline * | line | ) |
Definition at line 2663 of file dbl_presolve.c.
References dbl_EGlpNumClearVar, dbl_EGlpNumFreeArray, ILL_IFFREE, dbl_ILLlp_preline::ind, dbl_ILLlp_preline::lower, dbl_ILLlp_preline::obj, dbl_ILLlp_preline::rhs, dbl_ILLlp_preline::upper, and dbl_ILLlp_preline::val.
Referenced by dbl_ILLlp_preop_free().
| void dbl_ILLlp_preline_init | ( | dbl_ILLlp_preline * | line | ) |
Definition at line 2644 of file dbl_presolve.c.
References dbl_ILLlp_preline::count, dbl_EGlpNumInitVar, dbl_EGlpNumZero, dbl_ILLlp_preline::ind, dbl_ILLlp_preline::lower, dbl_ILLlp_preline::obj, dbl_ILLlp_preline::rhs, dbl_ILLlp_preline::upper, and dbl_ILLlp_preline::val.
Referenced by dbl_ILLlp_preop_init().
| void dbl_ILLlp_preop_free | ( | dbl_ILLlp_preop * | op | ) |
Definition at line 2634 of file dbl_presolve.c.
References dbl_ILLlp_preline_free(), dbl_ILLlp_preop_init(), and dbl_ILLlp_preop::line.
Referenced by dbl_ILLlp_predata_free().
Here is the call graph for this function:

| void dbl_ILLlp_preop_init | ( | dbl_ILLlp_preop * | op | ) |
Definition at line 2622 of file dbl_presolve.c.
References dbl_ILLlp_preop::colindex, dbl_ILLlp_preline_init(), dbl_ILLlp_preop::line, dbl_ILLlp_preop::ptype, and dbl_ILLlp_preop::rowindex.
Referenced by dbl_get_next_preop(), and dbl_ILLlp_preop_free().
Here is the call graph for this function:

| int dbl_ILLlp_presolve | ( | dbl_ILLlpdata * | lp, | |
| int | pre_types | |||
| ) |
Definition at line 462 of file dbl_presolve.c.
References dbl_ILL_LP_STATUS_OK, dbl_ILLlp_predata_free(), dbl_ILLlp_predata_init(), dbl_ILLlp_sinfo_free(), dbl_ILLlp_sinfo_init(), dbl_simple_presolve(), ILL_CLEANUP_IF, ILL_IFFREE, ILL_RETURN, ILL_SAFE_MALLOC, dbl_ILLlpdata::presolve, and dbl_ILLlpdata::sinfo.
Here is the call graph for this function:

| int dbl_ILLlp_scale | ( | dbl_ILLlpdata * | lp | ) |
Definition at line 349 of file dbl_presolve.c.
References dbl_ILLlpdata::A, dbl_EGlpNumAllocArray, dbl_EGlpNumDivTo, dbl_EGlpNumInitVar, dbl_EGlpNumIsGreatZero, dbl_EGlpNumIsNeqq, dbl_EGlpNumMultTo, dbl_EGlpNumSetToMaxAbs, dbl_EGlpNumZero, dbl_ILL_MAXDOUBLE, dbl_ILL_MINDOUBLE, ILL_ERROR, dbl_ILLlpdata::lower, dbl_ILLmatrix::matbeg, dbl_ILLmatrix::matcnt, dbl_ILLmatrix::matind, dbl_ILLmatrix::matval, dbl_ILLlpdata::ncols, dbl_ILLlpdata::nrows, dbl_ILLlpdata::nstruct, dbl_ILLlpdata::obj, dbl_ILLlpdata::rhs, dbl_ILLlpdata::rowmap, dbl_ILLlpdata::structmap, and dbl_ILLlpdata::upper.
| void dbl_ILLlp_sinfo_free | ( | dbl_ILLlp_sinfo * | sinfo | ) |
| void dbl_ILLlp_sinfo_init | ( | dbl_ILLlp_sinfo * | sinfo | ) |
| int dbl_ILLlp_sinfo_print | ( | dbl_ILLlp_sinfo * | s | ) |
Definition at line 2482 of file dbl_presolve.c.
References dbl_ILLlp_sinfo::A, dbl_ILLlpdata::A, dbl_ILLlp_sinfo::colnames, dbl_ILLlpdata::colnames, dbl_ILLlpdata_init(), ILL_IFFREE, ILL_RETURN, ILL_SAFE_MALLOC, dbl_ILLlpdata::intmarker, dbl_ILLlp_sinfo::lower, dbl_ILLlpdata::lower, dbl_ILLmatrix::matbeg, dbl_ILLmatrix::matcnt, dbl_ILLmatrix::matind, dbl_ILLmatrix::matval, dbl_ILLlp_sinfo::ncols, dbl_ILLlpdata::ncols, dbl_ILLlp_sinfo::nrows, dbl_ILLlpdata::nrows, dbl_ILLlp_sinfo::nzcount, dbl_ILLlpdata::nzcount, dbl_ILLlp_sinfo::obj, dbl_ILLlpdata::obj, dbl_ILLlpdata::objname, dbl_ILLlp_sinfo::objsense, dbl_ILLlpdata::objsense, dbl_ILLlpdata::probname, dbl_ILLlp_sinfo::rhs, dbl_ILLlpdata::rhs, dbl_ILLlpdata::rownames, dbl_ILLlpdata::sense, dbl_ILLlp_sinfo::upper, and dbl_ILLlpdata::upper.
Here is the call graph for this function:

| static void dbl_init_graph | ( | dbl_graph * | G | ) |
Definition at line 2442 of file dbl_presolve.c.
References dbl_graph::adjspace, dbl_graph::cols, dbl_graph::ecount, dbl_graph::edgelist, ILLptrworld_init(), dbl_graph::intptrworld, dbl_graph::ncols, dbl_graph::nrows, and dbl_graph::rows.
Referenced by dbl_free_graph(), and dbl_simple_presolve().
Here is the call graph for this function:

| static void dbl_set_fixed_variable | ( | dbl_graph * | G, | |
| int | j, | |||
| double | val | |||
| ) | [static] |
Definition at line 2054 of file dbl_presolve.c.
References dbl_node::adj, dbl_edge::coef, dbl_graph::cols, dbl_EGlpNumSubInnProdTo, dbl_node::deg, dbl_edge::del, dbl_node::del, dbl_node::rhs, dbl_edge::row, and dbl_graph::rows.
Referenced by dbl_empty_columns(), dbl_fixed_variables(), and dbl_forcing_constraints().
| static int dbl_simple_presolve | ( | dbl_ILLlpdata * | lp, | |
| dbl_ILLlp_predata * | pre, | |||
| dbl_ILLlp_sinfo * | info, | |||
| int | pre_types, | |||
| int * | status | |||
| ) | [static] |
Definition at line 580 of file dbl_presolve.c.
References dbl_ILLlp_preop::colindex, dbl_build_graph(), dbl_debug, dbl_dump_graph(), dbl_dump_line(), dbl_duplicate_cols(), dbl_duplicate_rows(), dbl_empty_columns(), dbl_fixed_variables(), dbl_forcing_constraints(), dbl_ILL_LP_STATUS_OK, dbl_ILL_PRE_DELETE_EMPTY_COLUMN, dbl_ILL_PRE_DELETE_EMPTY_ROW, dbl_ILL_PRE_DELETE_FIXED_VARIABLE, dbl_ILL_PRE_DELETE_FORCED_VARIABLE, dbl_ILL_PRE_DELETE_FREE_SINGLETON_VARIABLE, dbl_ILL_PRE_DELETE_SINGLETON_ROW, dbl_ILL_PRE_DELETE_SINGLETON_VARIABLE, dbl_ILL_PRE_DUPLICATE_COL, dbl_ILL_PRE_DUPLICATE_ROW, dbl_ILL_PRE_EMPTY_COL, dbl_ILL_PRE_FIXED, dbl_ILL_PRE_FORCING, dbl_ILL_PRE_SINGLE_COL, dbl_ILL_PRE_SINGLE_ROW, dbl_init_graph(), dbl_singleton_columns(), dbl_singleton_rows(), ILL_CLEANUP_IF, dbl_ILLlp_preop::line, dbl_ILLlpdata::ncols, dbl_ILLlpdata::nrows, dbl_ILLlpdata::nzcount, dbl_ILLlp_predata::opcount, dbl_ILLlp_predata::oplist, dbl_ILLlp_preop::ptype, and dbl_ILLlp_preop::rowindex.
Referenced by dbl_ILLlp_presolve().
Here is the call graph for this function:

| static int dbl_singleton_columns | ( | dbl_graph * | G, | |
| dbl_ILLlp_predata * | pre, | |||
| int * | hit | |||
| ) |
Definition at line 1416 of file dbl_presolve.c.
References dbl_node::adj, dbl_edge::coef, dbl_edge::col, dbl_ILLlp_preop::colindex, dbl_graph::cols, dbl_EGlpNumCopy, dbl_EGlpNumCopyFrac, dbl_EGlpNumDivTo, dbl_EGlpNumInitVar, dbl_EGlpNumIsGreatZero, dbl_EGlpNumIsLeq, dbl_EGlpNumIsLess, dbl_EGlpNumSubInnProdTo, dbl_EGlpNumSubTo, dbl_EGlpNumZero, dbl_get_implied_variable_bounds(), dbl_get_next_preop(), dbl_grab_lp_line(), dbl_ILL_MAXDOUBLE, dbl_ILL_MINDOUBLE, dbl_ILL_PRE_DELETE_FREE_SINGLETON_VARIABLE, dbl_ILL_PRE_DELETE_SINGLETON_VARIABLE, dbl_node::deg, dbl_edge::del, dbl_node::del, ILL_CLEANUP_IF, dbl_ILLlp_preop::line, dbl_node::lower, dbl_graph::ncols, dbl_node::obj, dbl_ILLlp_predata::opcount, dbl_ILLlp_preop::ptype, dbl_ILLlp_preop::rowindex, dbl_graph::rows, and dbl_node::upper.
Referenced by dbl_simple_presolve().
Here is the call graph for this function:

| static int dbl_singleton_rows | ( | dbl_graph * | G, | |
| dbl_ILLlp_predata * | pre, | |||
| int * | hit | |||
| ) |
Definition at line 1167 of file dbl_presolve.c.
References dbl_node::adj, dbl_edge::coef, dbl_edge::col, dbl_ILLlp_preop::colindex, dbl_graph::cols, dbl_add_to_list(), dbl_EGlpNumCopy, dbl_EGlpNumCopyFrac, dbl_EGlpNumInitVar, dbl_EGlpNumIsNeqZero, dbl_EGlpNumIsSumLess, dbl_EGlpNumSubInnProdTo, dbl_EGlpNumToLf, dbl_get_next_preop(), dbl_grab_lp_line(), dbl_ILL_PRE_DELETE_EMPTY_ROW, dbl_ILL_PRE_DELETE_SINGLETON_ROW, dbl_ILL_PRE_FEAS_TOL, dbl_node::deg, dbl_edge::del, dbl_node::del, ILL_CLEANUP_IF, ILL_SAFE_MALLOC, dbl_graph::intptrworld, dbl_ILLlp_preop::line, dbl_node::lower, dbl_intptr::next, dbl_graph::nrows, dbl_ILLlp_preop::ptype, dbl_ILLlp_preline::rhs, dbl_node::rhs, dbl_edge::row, dbl_ILLlp_preop::rowindex, dbl_graph::rows, and dbl_node::upper.
Referenced by dbl_simple_presolve().
Here is the call graph for this function:

| ILL_PTRWORLD_ROUTINES | ( | ILL_PTRWORLD_LISTFREE_ROUTINE ( | dbl_intptr, | |
| intptralloc | , | |||
| intptr_bulkalloc | , | |||
| intptrfree | ||||
| ) |
Definition at line 218 of file dbl_presolve.c.
References dbl_EGlpNumCopy, dbl_EGlpNumOne, dbl_EGlpNumReallocArray, dbl_EGlpNumSign, dbl_EGlpNumZero, dbl_ILL_MAXDOUBLE, dbl_ILLlp_rows_clear(), EGrealloc, ILL_SAFE_MALLOC, dbl_ILLmatrix::matbeg, dbl_ILLmatrix::matcnt, dbl_ILLmatrix::matcols, dbl_ILLmatrix::matcolsize, dbl_ILLmatrix::matfree, dbl_ILLmatrix::matind, dbl_ILLmatrix::matsize, and dbl_ILLmatrix::matval.
Here is the call graph for this function:

int dbl_debug = 0 [static] |
int TRACE = 0 [static] |
Definition at line 24 of file dbl_presolve.c.
1.5.2