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, 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, 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
rowLP row

Definition at line 6255 of file lpexact.c.

References assert(), 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
rowLP row

Definition at line 6266 of file lpexact.c.

References assert(), 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
rowLP row

Definition at line 6277 of file lpexact.c.

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

Referenced by SCIPconsPrintCertificateExactLinear().

◆ SCIProwExactGetNNonz()

int SCIProwExactGetNNonz ( SCIP_ROWEXACT * row)

◆ 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, 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
rowLP row

Definition at line 5036 of file lpexact.c.

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

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

Definition at line 5755 of file lpexact.c.

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

Referenced by rowExactCreateFromRowLimitEncodingLength(), and rowExactMerge().

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

Definition at line 7943 of file lpexact.c.

References assert(), 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
rowexact LP row

Definition at line 7957 of file lpexact.c.

References assert(), 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
rowSCIP row

Definition at line 5069 of file lpexact.c.

References assert(), 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
rowSCIP row

Definition at line 5079 of file lpexact.c.

References assert(), 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
rowSCIP row

Definition at line 5089 of file lpexact.c.

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

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

Definition at line 8423 of file lpexact.c.

References SCIP_LpExact::diving, FALSE, NULL, and SCIP_Bool.

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