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_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
    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().