Detailed Description
public methods for LP management
Definition in file pub_lpexact.h.
#include "lpi/type_lpi.h"#include "lpiexact/type_lpiexact.h"#include "scip/def.h"#include "scip/type_cons.h"#include "scip/type_lp.h"#include "scip/type_lpexact.h"#include "scip/type_rational.h"#include "scip/type_sepa.h"#include "scip/type_var.h"#include "scip/type_misc.h"Go to the source code of this file.
Functions | |
| SCIP_DECL_SORTPTRCOMP (SCIProwExactComp) | |
| SCIP_VAR * | SCIPcolExactGetVar (SCIP_COLEXACT *col) |
| SCIP_RATIONAL * | SCIProwExactGetLhs (SCIP_ROWEXACT *row) |
| SCIP_RATIONAL * | SCIProwExactGetRhs (SCIP_ROWEXACT *row) |
| SCIP_RATIONAL * | SCIProwExactGetConstant (SCIP_ROWEXACT *row) |
| int | SCIProwExactGetNNonz (SCIP_ROWEXACT *row) |
| SCIP_RATIONAL ** | SCIProwExactGetVals (SCIP_ROWEXACT *row) |
| SCIP_Bool | SCIProwExactIsInLP (SCIP_ROWEXACT *row) |
| void | SCIProwExactSort (SCIP_ROWEXACT *row) |
| SCIP_COLEXACT ** | SCIProwExactGetCols (SCIP_ROWEXACT *row) |
| void | SCIProwExactLock (SCIP_ROWEXACT *row) |
| void | SCIProwExactUnlock (SCIP_ROWEXACT *row) |
| SCIP_ROW * | SCIProwExactGetRow (SCIP_ROWEXACT *row) |
| SCIP_ROW * | SCIProwExactGetRowRhs (SCIP_ROWEXACT *row) |
| SCIP_Bool | SCIProwExactHasFpRelax (SCIP_ROWEXACT *row) |
| SCIP_Bool | SCIPlpExactDiving (SCIP_LPEXACT *lpexact) |
Function Documentation
◆ SCIP_DECL_SORTPTRCOMP()
| SCIP_DECL_SORTPTRCOMP | ( | SCIProwExactComp | ) |
comparison method for sorting rows by non-decreasing index
Definition at line 77 of file lpexact.c.
References NULL, and SCIProwExactGetIndex().
◆ SCIPcolExactGetVar()
| SCIP_VAR * SCIPcolExactGetVar | ( | SCIP_COLEXACT * | col | ) |
gets variable this column represents
- Parameters
-
col LP column
Definition at line 6052 of file lpexact.c.
References NULL, and SCIP_ColExact::var.
Referenced by certificatePrintRow(), SCIPcertificatePrintDualboundExactLP(), SCIPconsPrintCertificateExactLinear(), and SCIProwExactGenerateFpRows().
◆ SCIProwExactGetLhs()
| SCIP_RATIONAL * SCIProwExactGetLhs | ( | SCIP_ROWEXACT * | row | ) |
returns the left hand side of the row
- Parameters
-
row LP row
Definition at line 6255 of file lpexact.c.
References SCIP_RowExact::lhs, and NULL.
Referenced by SCIPconsPrintCertificateExactLinear(), and SCIPsepastoreExactAddCut().
◆ SCIProwExactGetRhs()
| SCIP_RATIONAL * SCIProwExactGetRhs | ( | SCIP_ROWEXACT * | row | ) |
returns the right hand side of the row
- Parameters
-
row LP row
Definition at line 6266 of file lpexact.c.
References NULL, and SCIP_RowExact::rhs.
Referenced by certificatePrintRow(), SCIPconsPrintCertificateExactLinear(), and SCIPsepastoreExactAddCut().
◆ SCIProwExactGetConstant()
| SCIP_RATIONAL * SCIProwExactGetConstant | ( | SCIP_ROWEXACT * | row | ) |
returns the constant of the row
- Parameters
-
row LP row
Definition at line 6277 of file lpexact.c.
References SCIP_RowExact::constant, and NULL.
Referenced by SCIPconsPrintCertificateExactLinear().
◆ SCIProwExactGetNNonz()
| int SCIProwExactGetNNonz | ( | SCIP_ROWEXACT * | row | ) |
gets the length of a row
- Parameters
-
row LP row
Definition at line 5006 of file lpexact.c.
References SCIP_RowExact::len, and NULL.
Referenced by certificatePrintRow(), printActivityConflictToCertificate(), SCIPcertificatePrintDualboundExactLP(), SCIPconsPrintCertificateExactLinear(), and SCIProwExactCreateFromRow().
◆ SCIProwExactGetVals()
| SCIP_RATIONAL ** SCIProwExactGetVals | ( | SCIP_ROWEXACT * | row | ) |
gets array with coefficients of nonzero entries
- Parameters
-
row LP row
Definition at line 5016 of file lpexact.c.
References NULL, and SCIP_RowExact::vals.
Referenced by certificatePrintRow(), printActivityConflictToCertificate(), SCIPconsPrintCertificateExactLinear(), and SCIProwExactCreateFromRow().
◆ SCIProwExactIsInLP()
| SCIP_Bool SCIProwExactIsInLP | ( | SCIP_ROWEXACT * | row | ) |
returns TRUE iff row is member of current LP
- Parameters
-
row LP row
Definition at line 5036 of file lpexact.c.
References SCIP_RowExact::lppos, and NULL.
Referenced by checkCons(), and SCIPlpExactSyncLPs().
◆ SCIProwExactSort()
| void SCIProwExactSort | ( | SCIP_ROWEXACT * | row | ) |
sorts row entries such that LP columns precede non-LP columns and inside both parts lower column indices precede higher ones
- Parameters
-
row row to be sorted
Definition at line 5755 of file lpexact.c.
References NULL, rowExactSortLP(), and rowExactSortNonLP().
Referenced by rowExactCreateFromRowLimitEncodingLength(), and rowExactMerge().
◆ SCIProwExactGetCols()
| SCIP_COLEXACT ** SCIProwExactGetCols | ( | SCIP_ROWEXACT * | row | ) |
gets array of exact columns
- Parameters
-
row LP row
Definition at line 5026 of file lpexact.c.
References SCIP_RowExact::cols, and NULL.
Referenced by certificatePrintRow(), SCIPcertificatePrintDualboundExactLP(), and SCIPconsPrintCertificateExactLinear().
◆ SCIProwExactLock()
| void SCIProwExactLock | ( | SCIP_ROWEXACT * | row | ) |
locks an unmodifiable row, which forbids further changes; has no effect on modifiable rows
- Parameters
-
row exact LP row
Definition at line 7943 of file lpexact.c.
References SCIP_RowExact::modifiable, SCIP_RowExact::nlocks, and NULL.
◆ SCIProwExactUnlock()
| void SCIProwExactUnlock | ( | SCIP_ROWEXACT * | row | ) |
unlocks a lock of an unmodifiable row; a row with no sealed lock may be modified; has no effect on modifiable rows
- Parameters
-
row exact LP row
Definition at line 7957 of file lpexact.c.
References SCIP_RowExact::modifiable, SCIP_RowExact::nlocks, and NULL.
◆ SCIProwExactGetRow()
| SCIP_ROW * SCIProwExactGetRow | ( | SCIP_ROWEXACT * | row | ) |
returns fp row corresponding to exact row, if it exists. Otherwise returns NULL
- Parameters
-
row SCIP row
Definition at line 5069 of file lpexact.c.
References SCIP_RowExact::fprow, and NULL.
Referenced by certificatePrintRow(), and SCIPcertificatePrintDualboundExactLP().
◆ SCIProwExactGetRowRhs()
| SCIP_ROW * SCIProwExactGetRowRhs | ( | SCIP_ROWEXACT * | row | ) |
returns rhs-relaxation part of exact row, if it exists. Otherwise returns NULL
- Parameters
-
row SCIP row
Definition at line 5079 of file lpexact.c.
References SCIP_RowExact::fprowrhs, and NULL.
Referenced by addOneRowSafely(), cutsSubstituteMIRSafely(), and SCIPaggrRowAddRowSafely().
◆ SCIProwExactHasFpRelax()
| SCIP_Bool SCIProwExactHasFpRelax | ( | SCIP_ROWEXACT * | row | ) |
true if row can be relaxed (possibly as two fp rows)
- Parameters
-
row SCIP row
Definition at line 5089 of file lpexact.c.
References SCIP_RowExact::fprelaxable, and NULL.
Referenced by addOneRowSafely(), cutsSubstituteMIRSafely(), and SCIPaggrRowAddRowSafely().
◆ SCIPlpExactDiving()
| SCIP_Bool SCIPlpExactDiving | ( | SCIP_LPEXACT * | lpexact | ) |
returns whether the exact LP is in diving mode
returns whether the exact LP is in exact diving mode
- Parameters
-
lpexact current exact LP data
Definition at line 8423 of file lpexact.c.
References SCIP_LpExact::diving, FALSE, and NULL.
Referenced by SCIPchgRowExactLhs(), SCIPchgRowExactRhs(), SCIPchgVarLbExactDive(), SCIPchgVarUbExactDive(), SCIPendDive(), SCIPendExactDive(), SCIPinExactDive(), SCIPisExactDivePossible(), SCIPlpEndDive(), SCIPsolveExactDiveLP(), SCIPstartExactDive(), SCIPvarChgLbExactDive(), and SCIPvarChgUbExactDive().