Scippy

SCIP

Solving Constraint Integer Programs

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 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 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 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 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 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 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 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
rowrow 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
rowLP 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
rowexact 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
rowexact 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
rowSCIP 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
rowSCIP 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
rowSCIP 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
lpexactcurrent 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().