CoinUtils 2.11.4
CoinPresolvePsdebug.hpp
Go to the documentation of this file.
1/* $Id$ */
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
59 bool doCol = true, bool doRow = true);
60
70 bool doCol = true, bool doRow = true);
71
79 bool doCol = true, bool doRow = true);
80
88 bool chkvals = true);
89
94
106 bool chkElemCnt = false);
107
119
128
139 int chkColSol = 2, int chkRowAct = 1,
140 int chkStatus = 1);
141
151 int chkColSol = 2, int chkRowAct = 2,
152 int chkStatus = 1);
153
158
163
165
166#endif
167
168/* vi: softtabstop=2 shiftwidth=2 expandtab tabstop=2
169*/
Augments CoinPrePostsolveMatrix with information about the problem that is only needed during postsol...
void presolve_check_sol(const CoinPostsolveMatrix *postObj, int chkColSol=2, int chkRowAct=2, int chkStatus=1)
Check primal solution and architectural variable status.
void presolve_check_reduced_costs(const CoinPostsolveMatrix *obj)
Check stored reduced costs for accuracy and consistency with variable status.
void presolve_check_duals(const CoinPostsolveMatrix *postObj)
Check the dual variables for consistency with row activity.
void presolve_check_free_list(const CoinPostsolveMatrix *obj, bool chkElemCnt=false)
Checks the free list.
void presolve_check_threads(const CoinPostsolveMatrix *obj)
Checks that column threads agree with column lengths.
void presolve_check_nbasic(const CoinPostsolveMatrix *postObj)
Check for the proper number of basic variables.
Augments CoinPrePostsolveMatrix with information about the problem that is only needed during presolv...
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_sol(const CoinPresolveMatrix *preObj, int chkColSol=2, int chkRowAct=1, int chkStatus=1)
Check primal solution and architectural variable status.
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.
void presolve_check_nbasic(const CoinPresolveMatrix *preObj)
Check for the proper number of basic variables.
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_consistent(const CoinPresolveMatrix *preObj, bool chkvals=true)
Checks for equivalence of the column- and row-major matrices.