SCIP Doxygen Documentation
Loading...
Searching...
No Matches
pub_lpexact.h File Reference

Detailed Description

public methods for LP management

Author
Leon Eifler

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_VARSCIPcolExactGetVar (SCIP_COLEXACT *col)
SCIP_RATIONALSCIProwExactGetLhs (SCIP_ROWEXACT *row)
SCIP_RATIONALSCIProwExactGetRhs (SCIP_ROWEXACT *row)
SCIP_RATIONALSCIProwExactGetConstant (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_ROWSCIProwExactGetRow (SCIP_ROWEXACT *row)
SCIP_ROWSCIProwExactGetRowRhs (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 assert(), NULL, SCIP_DECL_SORTPTRCOMP, and SCIProwExactGetIndex().

◆ SCIPcolExactGetVar()

SCIP_VAR * SCIPcolExactGetVar ( SCIP_COLEXACT * col)

gets variable this column represents

Parameters
colLP column

Definition at line 6052 of file lpexact.c.

References assert(), NULL, SCIPcolExactGetVar(), and SCIP_ColExact::var.

Referenced by certificatePrintRow(), SCIPcertificatePrintDualboundExactLP(), SCIPcolExactGetVar(), SCIPconsPrintCertificateExactLinear(), and SCIProwExactGenerateFpRows().

◆ SCIProwExactGetLhs()

SCIP_RATIONAL * SCIProwExactGetLhs ( SCIP_ROWEXACT * row)

returns the left hand side of the row

Parameters
rowLP row

Definition at line 6255 of file lpexact.c.

References assert(), SCIP_RowExact::lhs, NULL, and SCIProwExactGetLhs().

Referenced by SCIPconsPrintCertificateExactLinear(), SCIProwExactGetLhs(), and SCIPsepastoreExactAddCut().

◆ SCIProwExactGetRhs()

SCIP_RATIONAL * SCIProwExactGetRhs ( SCIP_ROWEXACT * row)

returns the right hand side of the row

Parameters
rowLP row

Definition at line 6266 of file lpexact.c.

References assert(), NULL, SCIP_RowExact::rhs, and SCIProwExactGetRhs().

Referenced by certificatePrintRow(), SCIPconsPrintCertificateExactLinear(), SCIProwExactGetRhs(), and SCIPsepastoreExactAddCut().

◆ SCIProwExactGetConstant()

SCIP_RATIONAL * SCIProwExactGetConstant ( SCIP_ROWEXACT * row)

returns the constant of the row

Parameters
rowLP row

Definition at line 6277 of file lpexact.c.

References assert(), SCIP_RowExact::constant, NULL, and SCIProwExactGetConstant().

Referenced by SCIPconsPrintCertificateExactLinear(), and SCIProwExactGetConstant().

◆ SCIProwExactGetNNonz()

◆ SCIProwExactGetVals()

SCIP_RATIONAL ** SCIProwExactGetVals ( SCIP_ROWEXACT * row)

gets array with coefficients of nonzero entries

Parameters
rowLP row

Definition at line 5016 of file lpexact.c.

References assert(), NULL, SCIProwExactGetVals(), and SCIP_RowExact::vals.

Referenced by certificatePrintRow(), printActivityConflictToCertificate(), SCIPconsPrintCertificateExactLinear(), SCIProwExactCreateFromRow(), and SCIProwExactGetVals().

◆ SCIProwExactIsInLP()

SCIP_Bool SCIProwExactIsInLP ( SCIP_ROWEXACT * row)

returns TRUE iff row is member of current LP

Parameters
rowLP row

Definition at line 5036 of file lpexact.c.

References assert(), SCIP_RowExact::lppos, NULL, SCIP_Bool, and SCIProwExactIsInLP().

Referenced by checkCons(), SCIPlpExactSyncLPs(), and SCIProwExactIsInLP().

◆ 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
rowrow to be sorted

Definition at line 5755 of file lpexact.c.

References assert(), NULL, rowExactSortLP(), rowExactSortNonLP(), and SCIProwExactSort().

Referenced by rowExactCreateFromRowLimitEncodingLength(), rowExactMerge(), and SCIProwExactSort().

◆ SCIProwExactGetCols()

SCIP_COLEXACT ** SCIProwExactGetCols ( SCIP_ROWEXACT * row)

gets array of exact columns

Parameters
rowLP row

Definition at line 5026 of file lpexact.c.

References assert(), SCIP_RowExact::cols, NULL, and SCIProwExactGetCols().

Referenced by certificatePrintRow(), SCIPcertificatePrintDualboundExactLP(), SCIPconsPrintCertificateExactLinear(), and SCIProwExactGetCols().

◆ SCIProwExactLock()

void SCIProwExactLock ( SCIP_ROWEXACT * row)

locks an unmodifiable row, which forbids further changes; has no effect on modifiable rows

Parameters
rowexact LP row

Definition at line 7943 of file lpexact.c.

References assert(), SCIP_RowExact::modifiable, SCIP_RowExact::nlocks, NULL, and SCIProwExactLock().

Referenced by SCIProwExactLock().

◆ 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
rowexact LP row

Definition at line 7957 of file lpexact.c.

References assert(), SCIP_RowExact::modifiable, SCIP_RowExact::nlocks, NULL, and SCIProwExactUnlock().

Referenced by SCIProwExactUnlock().

◆ SCIProwExactGetRow()

SCIP_ROW * SCIProwExactGetRow ( SCIP_ROWEXACT * row)

returns fp row corresponding to exact row, if it exists. Otherwise returns NULL

Parameters
rowSCIP row

Definition at line 5069 of file lpexact.c.

References assert(), SCIP_RowExact::fprow, NULL, and SCIProwExactGetRow().

Referenced by certificatePrintRow(), SCIPcertificatePrintDualboundExactLP(), and SCIProwExactGetRow().

◆ SCIProwExactGetRowRhs()

SCIP_ROW * SCIProwExactGetRowRhs ( SCIP_ROWEXACT * row)

returns rhs-relaxation part of exact row, if it exists. Otherwise returns NULL

Parameters
rowSCIP row

Definition at line 5079 of file lpexact.c.

References assert(), SCIP_RowExact::fprowrhs, NULL, and SCIProwExactGetRowRhs().

Referenced by addOneRowSafely(), cutsSubstituteMIRSafely(), SCIPaggrRowAddRowSafely(), and SCIProwExactGetRowRhs().

◆ SCIProwExactHasFpRelax()

SCIP_Bool SCIProwExactHasFpRelax ( SCIP_ROWEXACT * row)

true if row can be relaxed (possibly as two fp rows)

Parameters
rowSCIP row

Definition at line 5089 of file lpexact.c.

References assert(), SCIP_RowExact::fprelaxable, NULL, SCIP_Bool, and SCIProwExactHasFpRelax().

Referenced by addOneRowSafely(), cutsSubstituteMIRSafely(), SCIPaggrRowAddRowSafely(), and SCIProwExactHasFpRelax().

◆ 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
lpexactcurrent exact LP data

Definition at line 8423 of file lpexact.c.

References SCIP_LpExact::diving, FALSE, NULL, SCIP_Bool, and SCIPlpExactDiving().

Referenced by SCIPchgRowExactLhs(), SCIPchgRowExactRhs(), SCIPchgVarLbExactDive(), SCIPchgVarUbExactDive(), SCIPendDive(), SCIPendExactDive(), SCIPinExactDive(), SCIPisExactDivePossible(), SCIPlpEndDive(), SCIPlpExactDiving(), SCIPsolveExactDiveLP(), SCIPstartExactDive(), SCIPvarChgLbExactDive(), and SCIPvarChgUbExactDive().