Cgl  0.60.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
CoinPresolvePsdebug.hpp
Go to the documentation of this file.
1 /* $Id: CoinPresolvePsdebug.hpp 2083 2019-01-06 19:38:09Z unxusr $ */
2 // Copyright (C) 2002, International Business Machines
3 // Corporation and others. All Rights Reserved.
4 // This code is licensed under the terms of the Eclipse Public License (EPL).
5 
6 #ifndef CoinPresolvePsdebug_H
7 #define CoinPresolvePsdebug_H
8 
9 /*
10  The current idea of the relation between PRESOLVE_DEBUG and
11  PRESOLVE_CONSISTENCY is that PRESOLVE_CONSISTENCY triggers the consistency
12  checks and PRESOLVE_DEBUG triggers consistency checks and output.
13  This isn't always true in the code, but that's the goal. Really,
14  the whole compile-time scheme should be replaced with something more
15  user-friendly (control variables that can be changed during the run).
16 
17  Also floating about are PRESOLVE_SUMMARY and COIN_PRESOLVE_TUNING.
18  -- lh, 111208 --
19 */
50 
58 void presolve_no_dups(const CoinPresolveMatrix *preObj,
59  bool doCol = true, bool doRow = true);
60 
69 void presolve_links_ok(const CoinPresolveMatrix *preObj,
70  bool doCol = true, bool doRow = true);
71 
78 void presolve_no_zeros(const CoinPresolveMatrix *preObj,
79  bool doCol = true, bool doRow = true);
80 
87 void presolve_consistent(const CoinPresolveMatrix *preObj,
88  bool chkvals = true);
89 
94 
106  bool chkElemCnt = false);
107 
119 
127 void presolve_check_duals(const CoinPostsolveMatrix *postObj);
128 
138 void presolve_check_sol(const CoinPresolveMatrix *preObj,
139  int chkColSol = 2, int chkRowAct = 1,
140  int chkStatus = 1);
141 
150 void presolve_check_sol(const CoinPostsolveMatrix *postObj,
151  int chkColSol = 2, int chkRowAct = 2,
152  int chkStatus = 1);
153 
157 void presolve_check_nbasic(const CoinPresolveMatrix *preObj);
158 
162 void presolve_check_nbasic(const CoinPostsolveMatrix *postObj);
163 
165 
166 #endif
167 
168 /* vi: softtabstop=2 shiftwidth=2 expandtab tabstop=2
169 */
void presolve_check_reduced_costs(const CoinPostsolveMatrix *obj)
Check stored reduced costs for accuracy and consistency with variable status.
void presolve_consistent(const CoinPresolveMatrix *preObj, bool chkvals=true)
Checks for equivalence of the column- and row-major matrices.
void presolve_links_ok(const CoinPresolveMatrix *preObj, bool doCol=true, bool doRow=true)
Check the links which track storage order for major vectors in the bulk storage area.
void presolve_check_free_list(const CoinPostsolveMatrix *obj, bool chkElemCnt=false)
Checks the free list.
void presolve_no_zeros(const CoinPresolveMatrix *preObj, bool doCol=true, bool doRow=true)
Check for explicit zeros in the column- and/or row-major matrices.
Augments CoinPrePostsolveMatrix with information about the problem that is only needed during postsol...
void presolve_check_threads(const CoinPostsolveMatrix *obj)
Checks that column threads agree with column lengths.
Augments CoinPrePostsolveMatrix with information about the problem that is only needed during presolv...
void presolve_check_sol(const CoinPresolveMatrix *preObj, int chkColSol=2, int chkRowAct=1, int chkStatus=1)
Check primal solution and architectural variable status.
void presolve_no_dups(const CoinPresolveMatrix *preObj, bool doCol=true, bool doRow=true)
Check column-major and/or row-major matrices for duplicate entries in the major vectors.
void presolve_check_duals(const CoinPostsolveMatrix *postObj)
Check the dual variables for consistency with row activity.
void presolve_check_nbasic(const CoinPresolveMatrix *preObj)
Check for the proper number of basic variables.