Scippy

SoPlex

Sequential object-oriented simPlex

LPRowSetBase< R > Class Template Reference

Set of LP rows.Class LPRowSetBase implements a set of LPRowBase%s. Unless for memory limitations, any number of LPRowBases may be added to an LPRowSetBase. Single or multiple LPRowBases may be added to an LPRowSetBase, where each method add() comes with two different signatures. One with and one without a parameter, used for returning the Keys assigned to the new LPRowBases by the set. See DataKey for a more detailed description of the concept of keys. For the concept of renumbering LPRowBases within an LPRowSetBase after removal of some LPRows see DataSet. More...

#include <lprowsetbase.h>

Public Member Functions

Access / modification
int num () const
 Returns the number of LPRowBases in LPRowSetBase. More...
 
int max () const
 Returns the maximum number of LPRowBases that fit. More...
 
const VectorBase< R > & lhs () const
 Returns the vector of lhs values. More...
 
VectorBase< R > & lhs_w ()
 Returns the vector of lhs values. More...
 
const R & lhs (int i) const
 Returns the lhs of the i 'th LPRowBase. More...
 
R & lhs_w (int i)
 Returns the lhs of the i 'th LPRowBase. More...
 
const R & lhs (const DataKey &k) const
 Returns the lhs of the LPRowBase with DataKey k in LPRowSetBase. More...
 
R & lhs_w (const DataKey &k)
 Returns the lhs of the LPRowBase with DataKey k in LPRowSetBase. More...
 
const VectorBase< R > & rhs () const
 Returns the vector of rhs values. More...
 
VectorBase< R > & rhs_w ()
 Returns the vector of rhs values (writeable). More...
 
const R & rhs (int i) const
 Returns the rhs of the i 'th LPRowBase. More...
 
R & rhs_w (int i)
 Returns the rhs of the i 'th LPRowBase (writeable). More...
 
const R & rhs (const DataKey &k) const
 Returns the rhs of the LPRowBase with DataKey k in LPRowSetBase. More...
 
R & rhs_w (const DataKey &k)
 Returns the rhs of the LPRowBase with DataKey k in LPRowSetBase (writeable). More...
 
const VectorBase< R > & obj () const
 Returns the vector of objective coefficients. More...
 
VectorBase< R > & obj_w ()
 Returns the vector of objective coefficients (writeable). More...
 
const R & obj (int i) const
 Returns the objective coefficient of the i 'th LPRowBase. More...
 
R & obj_w (int i)
 Returns the objective coefficient of the i 'th LPRowBase (writeable). More...
 
const R & obj (const DataKey &k) const
 Returns the objective coefficient of the LPRowBase with DataKey k in LPRowSetBase. More...
 
R & obj_w (const DataKey &k)
 Returns the objective coefficient of the LPRowBase with DataKey k in LPRowSetBase (writeable). More...
 
SVectorBase< R > & rowVector_w (int i)
 Returns a writable rowVector of the i 'th LPRowBase. More...
 
const SVectorBase< R > & rowVector (int i) const
 Returns the rowVector of the i 'th LPRowBase. More...
 
SVectorBase< R > & rowVector_w (const DataKey &k)
 Returns a writable rowVector of the LPRowBase with DataKey k. More...
 
const SVectorBase< R > & rowVector (const DataKey &k) const
 Returns the rowVector of the LPRowBase with DataKey k. More...
 
LPRowBase< R >::Type type (int i) const
 Returns the inequalitiy type of the i 'th LPRowBase. More...
 
LPRowBase< R >::Type type (const DataKey &k) const
 Returns the inequality type of the LPRowBase with DataKey k. More...
 
void setType (int i, typename LPRowBase< R >::Type t)
 Changes the inequality type of row i to type. More...
 
const R & value (int i) const
 Returns the value of the i'th LPRowBase. More...
 
const R & value (const DataKey &k) const
 Returns the value of the LPRowBase with DataKey k. More...
 
DataKey key (int i) const
 Returns the DataKey of the i 'th LPRowBase in LPRowSetBase. More...
 
int number (const DataKey &k) const
 Returns the number of the LPRowBase with DataKey k in LPRowSetBase. More...
 
bool has (const DataKey &k) const
 does DataKey k belong to LPRowSetBase ? More...
 
Extension

Extension methods come with two signatures, one of them providing a parameter to return the assigned DataKey(s). See DataSet for a more detailed description. All extension methods will automatically rearrange or allocate more memory if required.

void add (const LPRowBase< R > &row)
 
void add (DataKey &pkey, const LPRowBase< R > &prow)
 Adds row to LPRowSetBase. More...
 
void add (const R &plhs, const SVectorBase< R > &prowVector, const R &prhs, const R &pobj=0, const int &pscaleExp=0)
 Adds LPRowBase consisting of left hand side lhs, row vector rowVector, and right hand side rhs to LPRowSetBase. More...
 
template<class S >
void add (const S *lhsValue, const S *rowValues, const int *rowIndices, int rowSize, const S *rhsValue, const S *objValue=0)
 Adds LPRowBase consisting of left hand side lhs, row vector rowVector, and right hand side rhs to LPRowSetBase. More...
 
template<class S >
void add (DataKey &newkey, const S *lhsValue, const S *rowValues, const int *rowIndices, int rowSize, const S *rhsValue, const S *objValue=0)
 Adds LPRowBase consisting of left hand side lhs, row vector rowVector, and right hand side rhs to LPRowSetBase, with DataKey key. More...
 
void add (DataKey &newkey, const R &newlhs, const SVectorBase< R > &newrowVector, const R &newrhs, const R &newobj=0, const int &newscaleExp=0)
 Adds LPRowBase consisting of left hand side lhs, row vector rowVector, and right hand side rhs to LPRowSetBase, with DataKey key. More...
 
void add (const LPRowSetBase< R > &newset)
 
void add (DataKey keys[], const LPRowSetBase< R > &set)
 Adds all LPRowBases of set to LPRowSetBase. More...
 
void xtend (int n, int newmax)
 Extends row n to fit newmax nonzeros. More...
 
void xtend (const DataKey &pkey, int pnewmax)
 Extends row with DataKey key to fit newmax nonzeros. More...
 
void add2 (const DataKey &k, int n, const int idx[], const R val[])
 Adds n nonzero (idx, val)-pairs to rowVector with DataKey k. More...
 
void add2 (int i, int n, const int idx[], const R val[])
 Adds n nonzero (idx, val)-pairs to i 'th rowVector. More...
 
template<class S >
void add2 (int i, int n, const int idx[], const S val[])
 Adds n nonzero (idx, val)-pairs to i 'th rowVector. More...
 
SVectorBase< R > & create (int pnonzeros=0, const R &plhs=0, const R &prhs=1, const R &pobj=0, const int &pscaleExp=0)
 Creates new LPRowBase with specified parameters and returns a reference to its row vector. More...
 
SVectorBase< R > & create (DataKey &newkey, int nonzeros=0, const R &newlhs=0, const R &newrhs=1, const R &newobj=0, const int &newscaleExp=0)
 Creates new LPRowBase with specified parameters and returns a reference to its row vector. More...
 
Shrinking

See DataSet for a description of the renumbering of the remaining LPRowBases in a LPRowSetBase after the call of a removal method.

void remove (int i)
 Removes i 'th LPRowBase. More...
 
void remove (const DataKey &k)
 Removes LPRowBase with DataKey k. More...
 
void remove (int perm[])
 Removes multiple LPRowBases. More...
 
void remove (const int nums[], int n)
 Removes n LPRowBases with row numbers given by nums. More...
 
void remove (const int nums[], int n, int *perm)
 Removes n LPRowBases with row numbers given by nums, Stores permutation of row indices in perm. More...
 
void clear ()
 Removes all LPRowBases. More...
 
Memory Management

For a description of the memory management methods, see the documentation of SVSet, which has been used for implementating LPRowSetBase.

void reMax (int newmax=0)
 Reallocates memory to be able to store newmax LPRowBases. More...
 
int memSize () const
 Returns number of used nonzero entries. More...
 
int memMax () const
 Returns length of nonzero memory. More...
 
void memRemax (int newmax)
 Reallocates memory to be able to store newmax nonzeros. More...
 
void memPack ()
 Garbage collection in nonzero memory. More...
 
Consistency check
bool isConsistent () const
 Checks consistency. More...
 
Construction / Destruction
 LPRowSetBase (int pmax=-1, int pmemmax=-1)
 Default constructor. More...
 
LPRowSetBase< R > & operator= (const LPRowSetBase< R > &rs)
 Assignment operator. More...
 
template<class S >
LPRowSetBase< R > & operator= (const LPRowSetBase< S > &rs)
 Assignment operator. More...
 
 LPRowSetBase (const LPRowSetBase< R > &rs)
 Copy constructor. More...
 
template<class S >
 LPRowSetBase (const LPRowSetBase< S > &rs)
 Copy constructor. More...
 
virtual ~LPRowSetBase ()
 Destructor. More...
 

Protected Member Functions

Helpers
const SVSetBase< R > * rowSet () const
 Returns the complete SVSet. More...
 
- Protected Member Functions inherited from SVSetBase< R >
void add (const SVectorBase< R > &svec)
 Adds svec to the set. More...
 
void add (DataKey &nkey, const SVectorBase< R > &svec)
 Adds svec to SVSetBase. More...
 
template<class S >
void add (DataKey &nkey, const S *rowValues, const int *rowIndices, int rowSize)
 Adds svec to SVSetBase. More...
 
void add (const SVectorBase< R > svec[], int n)
 Adds all n SVectorBases in the array svec to the set. More...
 
void add (DataKey nkey[], const SVectorBase< R > svec[], int n)
 Adds n SVectorBases to SVSetBase. More...
 
template<class S >
void add (const SVSetBase< S > &pset)
 Adds all SVectorBases in pset to SVSetBase. More...
 
template<class S >
void add (DataKey nkey[], const SVSetBase< S > &pset)
 Adds all SVectorBases of pset to SVSetBase. More...
 
SVectorBase< R > * create (int idxmax=0)
 Creates new SVectorBase in set. More...
 
SVectorBase< R > * create (DataKey &nkey, int idxmax=-1)
 Creates new SVectorBase in set. More...
 
void xtend (SVectorBase< R > &svec, int newmax)
 Extends svec to fit newmax nonzeros. More...
 
void add2 (SVectorBase< R > &svec, int idx, R val)
 Adds nonzero (idx, val) to svec of this SVSetBase. More...
 
void add2 (SVectorBase< R > &svec, int n, const int idx[], const R val[])
 Adds n nonzeros to svec of this SVSetBase. More...
 
template<class S >
void add2 (SVectorBase< R > &svec, int n, const int idx[], const S val[])
 Adds n nonzeros to svec of this SVSetBase. More...
 
void remove (const DataKey &removekey)
 Removes the vector with key removekey from the set. More...
 
void remove (int removenum)
 Removes the vector with number removenum from the set. More...
 
void remove (const SVectorBase< R > *svec)
 Removes one SVectorBase from set. More...
 
void remove (int perm[])
 Removes multiple elements. More...
 
void remove (const DataKey keys[], int n)
 Removes n SVectorBases from set. More...
 
void remove (const int nums[], int n)
 Removes n SVectorBases from set. More...
 
void remove (const DataKey keys[], int n, int *perm)
 
void remove (const int nums[], int n, int *perm)
 
void clear (int minNewSize=-1)
 Removes all SVectorBases from set. More...
 
SVectorBase< R > & operator[] (int n)
 Gets SVectorBase by number, writeable. More...
 
const SVectorBase< R > & operator[] (int n) const
 Gets SVectorBase by number. More...
 
SVectorBase< R > & operator[] (const DataKey &k)
 Gets SVectorBase by DataKey, writeable. More...
 
const SVectorBase< R > & operator[] (const DataKey &k) const
 Gets SVectorBase by DataKey. More...
 
int num () const
 Current number of SVectorBases. More...
 
int max () const
 Current maximum number of SVectorBases. More...
 
DataKey key (int n) const
 Gets DataKey of vector number. More...
 
DataKey key (const SVectorBase< R > *svec) const
 Gets DataKey of SVectorBase. More...
 
int number (const DataKey &k) const
 Gets vector number of DataKey. More...
 
int number (const SVectorBase< R > *svec) const
 Gets vector number of SVectorBase. More...
 
bool has (const DataKey &k) const
 True iff SVSetBase contains a SVectorBase for DataKey k. More...
 
bool has (int n) const
 True iff SVSetBase contains a SVectorBase for vector number n. More...
 
bool has (const SVectorBase< R > *svec) const
 Is an SVectorBase in the set? More...
 
int memSize () const
 Used nonzero memory. More...
 
int memMax () const
 Length of nonzero memory. More...
 
void memRemax (int newmax)
 Reset length of nonzero memory. More...
 
void memPack ()
 Garbage collection in nonzero memory. More...
 
void reMax (int newmax=0)
 Resets maximum number of SVectorBases. More...
 
bool isConsistent () const
 Consistency check. More...
 
 SVSetBase (int pmax=-1, int pmemmax=-1, double pfac=1.1, double pmemFac=1.2)
 Default constructor. More...
 
virtual ~SVSetBase ()
 Destructor. More...
 
SVSetBase< R > & operator= (const SVSetBase< R > &rhs)
 Assignment operator. More...
 
template<class S >
SVSetBase< R > & operator= (const SVSetBase< S > &rhs)
 Assignment operator. More...
 
 SVSetBase (const SVSetBase< R > &old)
 Copy constructor. More...
 
template<class S >
 SVSetBase (const SVSetBase< S > &old)
 Copy constructor. More...
 
- Protected Member Functions inherited from ClassArray< Nonzero< R > >
Nonzero< R > & operator[] (int n)
 Reference to n 'th element. More...
 
const Nonzero< R > & operator[] (int n) const
 Reference to n 'th const element. More...
 
Nonzero< R > & last ()
 Reference to last element. More...
 
const Nonzero< R > & last () const
 Reference to last const element. More...
 
Nonzero< R > * get_ptr ()
 Gets a C pointer to the data. More...
 
const Nonzero< R > * get_const_ptr () const
 Gets a const C pointer to the data. More...
 
void append (const Nonzero< R > &t)
 Appends element t. More...
 
void append (int n, const Nonzero< R > t[])
 Appends n elements from t. More...
 
void append (const ClassArray< Nonzero< R > > &t)
 Appends all elements from t. More...
 
void insert (int i, int n)
 Inserts n uninitialized elements before i 'th element. More...
 
void insert (int i, int n, const Nonzero< R > t[])
 Inserts n elements from t before i 'the element. More...
 
void insert (int i, const ClassArray< Nonzero< R > > &t)
 Inserts all elements from t before i 'th element. More...
 
void remove (int n=0, int m=1)
 Removes m elements starting at n. More...
 
void removeLast (int m=1)
 Removes m last elements. More...
 
void clear ()
 Removes all elements. More...
 
int size () const
 Returns number of elements. More...
 
void reSize (int newsize)
 Resets size to newsize. More...
 
int max () const
 Returns maximum number of elements. More...
 
ptrdiff_t reMax (int newMax=1, int newSize=-1)
 Resets maximum number of elements. More...
 
ClassArrayoperator= (const ClassArray &rhs)
 Assignment operator. More...
 
bool isConsistent () const
 Consistency check. More...
 
 ClassArray (const ClassArray &old)
 Copy constructor. More...
 
 ClassArray (int p_size=0, int p_max=0, double p_fac=1.2)
 Default constructor. More...
 
virtual ~ClassArray ()
 Destructor. More...
 

Protected Attributes

DataArray< int > scaleExp
 row scaling factors (stored as bitshift) More...
 
- Protected Attributes inherited from ClassArray< Nonzero< R > >
int thesize
 number of used elements in array data More...
 
int themax
 the length of array data and More...
 
Nonzero< R > * data
 the array of elements More...
 
double memFactor
 memory extension factor. More...
 

Private Attributes

Data
DVectorBase< R > left
 vector of left hand sides (lower bounds) of LPRowBases. More...
 
DVectorBase< R > right
 vector of right hand sides (upper bounds) of LPRowBases. More...
 
DVectorBase< R > object
 vector of objective coefficients. More...
 

Friends

template<class S >
class LPRowSetBase
 

Detailed Description

template<class R>
class soplex::LPRowSetBase< R >

Set of LP rows.

Class LPRowSetBase implements a set of LPRowBase%s. Unless for memory limitations, any number of LPRowBases may be added to an LPRowSetBase. Single or multiple LPRowBases may be added to an LPRowSetBase, where each method add() comes with two different signatures. One with and one without a parameter, used for returning the Keys assigned to the new LPRowBases by the set. See DataKey for a more detailed description of the concept of keys. For the concept of renumbering LPRowBases within an LPRowSetBase after removal of some LPRows see DataSet.

See also
DataSet, DataKey

Definition at line 44 of file lprowsetbase.h.

Constructor & Destructor Documentation

◆ LPRowSetBase() [1/3]

LPRowSetBase ( int  pmax = -1,
int  pmemmax = -1 
)
explicit

Default constructor.

The user can specify the initial maximum number of rows max and the initial maximum number of nonzero entries memmax. If these parameters are omitted, a default size is used. However, one can add an arbitrary number of rows to the LPRowSetBase, which may result in automated memory realllocation.

Definition at line 668 of file lprowsetbase.h.

Referenced by SPxScaler::applyScaling(), SPxScaler::getCoefUnscaled(), SPxScaler::getColUnscaled(), SPxScaler::getLhsUnscaled(), SPxScaler::getRhsUnscaled(), SPxScaler::getRowUnscaled(), SPxScaler::lhsUnscaled(), SPxScaler::rhsUnscaled(), SPxScaler::scaleElement(), SPxScaler::scaleLhs(), SPxScaler::scaleRhs(), SPxScaler::setup(), SPxScaler::unscale(), SPxScaler::unscaleDual(), SPxScaler::unscaleDualray(), and SPxScaler::unscaleSlacks().

◆ LPRowSetBase() [2/3]

LPRowSetBase ( const LPRowSetBase< R > &  rs)

Copy constructor.

Definition at line 710 of file lprowsetbase.h.

◆ LPRowSetBase() [3/3]

LPRowSetBase ( const LPRowSetBase< S > &  rs)

Copy constructor.

Definition at line 722 of file lprowsetbase.h.

◆ ~LPRowSetBase()

virtual ~LPRowSetBase ( )
virtual

Destructor.

Definition at line 733 of file lprowsetbase.h.

Member Function Documentation

◆ add() [1/8]

◆ add() [2/8]

void add ( DataKey pkey,
const LPRowBase< R > &  prow 
)

Adds row to LPRowSetBase.

Definition at line 328 of file lprowsetbase.h.

◆ add() [3/8]

void add ( const R &  plhs,
const SVectorBase< R > &  prowVector,
const R &  prhs,
const R &  pobj = 0,
const int &  pscaleExp = 0 
)

Adds LPRowBase consisting of left hand side lhs, row vector rowVector, and right hand side rhs to LPRowSetBase.

Definition at line 334 of file lprowsetbase.h.

◆ add() [4/8]

void add ( const S *  lhsValue,
const S *  rowValues,
const int *  rowIndices,
int  rowSize,
const S *  rhsValue,
const S *  objValue = 0 
)

Adds LPRowBase consisting of left hand side lhs, row vector rowVector, and right hand side rhs to LPRowSetBase.

Definition at line 342 of file lprowsetbase.h.

◆ add() [5/8]

void add ( DataKey newkey,
const S *  lhsValue,
const S *  rowValues,
const int *  rowIndices,
int  rowSize,
const S *  rhsValue,
const S *  objValue = 0 
)

Adds LPRowBase consisting of left hand side lhs, row vector rowVector, and right hand side rhs to LPRowSetBase, with DataKey key.

Definition at line 356 of file lprowsetbase.h.

◆ add() [6/8]

void add ( DataKey newkey,
const R &  newlhs,
const SVectorBase< R > &  newrowVector,
const R &  newrhs,
const R &  newobj = 0,
const int &  newscaleExp = 0 
)

Adds LPRowBase consisting of left hand side lhs, row vector rowVector, and right hand side rhs to LPRowSetBase, with DataKey key.

Definition at line 382 of file lprowsetbase.h.

◆ add() [7/8]

void add ( const LPRowSetBase< R > &  newset)

Definition at line 401 of file lprowsetbase.h.

◆ add() [8/8]

void add ( DataKey  keys[],
const LPRowSetBase< R > &  set 
)

Adds all LPRowBases of set to LPRowSetBase.

Definition at line 425 of file lprowsetbase.h.

◆ add2() [1/3]

void add2 ( const DataKey k,
int  n,
const int  idx[],
const R  val[] 
)

◆ add2() [2/3]

void add2 ( int  i,
int  n,
const int  idx[],
const R  val[] 
)

Adds n nonzero (idx, val)-pairs to i 'th rowVector.

Definition at line 454 of file lprowsetbase.h.

◆ add2() [3/3]

void add2 ( int  i,
int  n,
const int  idx[],
const S  val[] 
)

Adds n nonzero (idx, val)-pairs to i 'th rowVector.

Definition at line 461 of file lprowsetbase.h.

◆ clear()

void clear ( )

Removes all LPRowBases.

Definition at line 579 of file lprowsetbase.h.

Referenced by SPxLPBase< Real >::clear().

◆ create() [1/2]

SVectorBase<R>& create ( int  pnonzeros = 0,
const R &  plhs = 0,
const R &  prhs = 1,
const R &  pobj = 0,
const int &  pscaleExp = 0 
)

Creates new LPRowBase with specified parameters and returns a reference to its row vector.

Definition at line 467 of file lprowsetbase.h.

Referenced by SPxLPBase< Real >::buildDualProblem(), and LPRowSetBase< Real >::create().

◆ create() [2/2]

SVectorBase<R>& create ( DataKey newkey,
int  nonzeros = 0,
const R &  newlhs = 0,
const R &  newrhs = 1,
const R &  newobj = 0,
const int &  newscaleExp = 0 
)

Creates new LPRowBase with specified parameters and returns a reference to its row vector.

Definition at line 474 of file lprowsetbase.h.

◆ has()

bool has ( const DataKey k) const

does DataKey k belong to LPRowSetBase ?

Definition at line 304 of file lprowsetbase.h.

Referenced by SPxLPBase< Real >::has().

◆ isConsistent()

bool isConsistent ( ) const

◆ key()

DataKey key ( int  i) const

Returns the DataKey of the i 'th LPRowBase in LPRowSetBase.

Definition at line 292 of file lprowsetbase.h.

Referenced by LPRowSetBase< Real >::add().

◆ lhs() [1/3]

◆ lhs() [2/3]

const R& lhs ( int  i) const

Returns the lhs of the i 'th LPRowBase.

Definition at line 107 of file lprowsetbase.h.

◆ lhs() [3/3]

const R& lhs ( const DataKey k) const

Returns the lhs of the LPRowBase with DataKey k in LPRowSetBase.

Definition at line 119 of file lprowsetbase.h.

◆ lhs_w() [1/3]

◆ lhs_w() [2/3]

R& lhs_w ( int  i)

Returns the lhs of the i 'th LPRowBase.

Definition at line 113 of file lprowsetbase.h.

◆ lhs_w() [3/3]

R& lhs_w ( const DataKey k)

Returns the lhs of the LPRowBase with DataKey k in LPRowSetBase.

Definition at line 125 of file lprowsetbase.h.

◆ max()

int max ( ) const

Returns the maximum number of LPRowBases that fit.

Definition at line 89 of file lprowsetbase.h.

Referenced by LPRowSetBase< Real >::reMax().

◆ memMax()

int memMax ( ) const

Returns length of nonzero memory.

Definition at line 615 of file lprowsetbase.h.

◆ memPack()

void memPack ( )

Garbage collection in nonzero memory.

Definition at line 627 of file lprowsetbase.h.

◆ memRemax()

void memRemax ( int  newmax)

Reallocates memory to be able to store newmax nonzeros.

Definition at line 621 of file lprowsetbase.h.

Referenced by SPxLPBase< Real >::addRows().

◆ memSize()

int memSize ( ) const

Returns number of used nonzero entries.

Definition at line 609 of file lprowsetbase.h.

◆ num()

◆ number()

◆ obj() [1/3]

const VectorBase<R>& obj ( ) const

◆ obj() [2/3]

const R& obj ( int  i) const

Returns the objective coefficient of the i 'th LPRowBase.

Definition at line 179 of file lprowsetbase.h.

◆ obj() [3/3]

const R& obj ( const DataKey k) const

Returns the objective coefficient of the LPRowBase with DataKey k in LPRowSetBase.

Definition at line 191 of file lprowsetbase.h.

◆ obj_w() [1/3]

VectorBase<R>& obj_w ( )

Returns the vector of objective coefficients (writeable).

Definition at line 173 of file lprowsetbase.h.

Referenced by SPxLPBase< Real >::changeRowObj(), SPxLPBase< Real >::changeSense(), SPxLPBase< Real >::clearRowObjs(), and SPxLPBase< Real >::maxRowObj_w().

◆ obj_w() [2/3]

R& obj_w ( int  i)

Returns the objective coefficient of the i 'th LPRowBase (writeable).

Definition at line 185 of file lprowsetbase.h.

◆ obj_w() [3/3]

R& obj_w ( const DataKey k)

Returns the objective coefficient of the LPRowBase with DataKey k in LPRowSetBase (writeable).

Definition at line 197 of file lprowsetbase.h.

◆ operator=() [1/2]

LPRowSetBase<R>& operator= ( const LPRowSetBase< R > &  rs)

Assignment operator.

Definition at line 675 of file lprowsetbase.h.

Referenced by SPxLPBase< Real >::operator=().

◆ operator=() [2/2]

LPRowSetBase<R>& operator= ( const LPRowSetBase< S > &  rs)

Assignment operator.

Definition at line 693 of file lprowsetbase.h.

◆ reMax()

void reMax ( int  newmax = 0)

Reallocates memory to be able to store newmax LPRowBases.

Definition at line 599 of file lprowsetbase.h.

◆ remove() [1/5]

void remove ( int  i)

Removes i 'th LPRowBase.

Definition at line 503 of file lprowsetbase.h.

Referenced by SPxLPBase< Real >::doRemoveRow(), and SPxLPBase< Real >::doRemoveRows().

◆ remove() [2/5]

void remove ( const DataKey k)

Removes LPRowBase with DataKey k.

Definition at line 517 of file lprowsetbase.h.

◆ remove() [3/5]

void remove ( int  perm[])

Removes multiple LPRowBases.

Definition at line 523 of file lprowsetbase.h.

◆ remove() [4/5]

void remove ( const int  nums[],
int  n 
)

Removes n LPRowBases with row numbers given by nums.

Definition at line 547 of file lprowsetbase.h.

◆ remove() [5/5]

void remove ( const int  nums[],
int  n,
int *  perm 
)

Removes n LPRowBases with row numbers given by nums, Stores permutation of row indices in perm.

Definition at line 555 of file lprowsetbase.h.

◆ rhs() [1/3]

◆ rhs() [2/3]

const R& rhs ( int  i) const

Returns the rhs of the i 'th LPRowBase.

Definition at line 143 of file lprowsetbase.h.

◆ rhs() [3/3]

const R& rhs ( const DataKey k) const

Returns the rhs of the LPRowBase with DataKey k in LPRowSetBase.

Definition at line 155 of file lprowsetbase.h.

◆ rhs_w() [1/3]

◆ rhs_w() [2/3]

R& rhs_w ( int  i)

Returns the rhs of the i 'th LPRowBase (writeable).

Definition at line 149 of file lprowsetbase.h.

◆ rhs_w() [3/3]

R& rhs_w ( const DataKey k)

Returns the rhs of the LPRowBase with DataKey k in LPRowSetBase (writeable).

Definition at line 161 of file lprowsetbase.h.

◆ rowSet()

const SVSetBase<R>* rowSet ( ) const
protected

Returns the complete SVSet.

Definition at line 69 of file lprowsetbase.h.

Referenced by SPxEquiliSC::computePostequiExpVecs(), SPxEquiliSC::scale(), SPxLeastSqSC::scale(), and SPxGeometSC::scale().

◆ rowVector() [1/2]

const SVectorBase<R>& rowVector ( int  i) const

Returns the rowVector of the i 'th LPRowBase.

Definition at line 209 of file lprowsetbase.h.

Referenced by SoPlex::_updateDecompReducedProblem(), SoPlex::_updateDecompReducedProblemViol(), and SPxLPBase< Real >::rowVector().

◆ rowVector() [2/2]

const SVectorBase<R>& rowVector ( const DataKey k) const

Returns the rowVector of the LPRowBase with DataKey k.

Definition at line 221 of file lprowsetbase.h.

◆ rowVector_w() [1/2]

SVectorBase<R>& rowVector_w ( int  i)

Returns a writable rowVector of the i 'th LPRowBase.

Definition at line 203 of file lprowsetbase.h.

Referenced by LPRowSetBase< Real >::add2(), SPxLPBase< Real >::rowVector_w(), and LPRowSetBase< Real >::xtend().

◆ rowVector_w() [2/2]

SVectorBase<R>& rowVector_w ( const DataKey k)

Returns a writable rowVector of the LPRowBase with DataKey k.

Definition at line 215 of file lprowsetbase.h.

◆ setType()

void setType ( int  i,
typename LPRowBase< R >::Type  t 
)

Changes the inequality type of row i to type.

Definition at line 246 of file lprowsetbase.h.

◆ type() [1/2]

LPRowBase<R>::Type type ( int  i) const

Returns the inequalitiy type of the i 'th LPRowBase.

Definition at line 227 of file lprowsetbase.h.

Referenced by SPxLPBase< Real >::has(), SPxLPBase< Real >::number(), SPxLPBase< Real >::rowType(), and LPRowSetBase< Real >::type().

◆ type() [2/2]

LPRowBase<R>::Type type ( const DataKey k) const

Returns the inequality type of the LPRowBase with DataKey k.

Definition at line 240 of file lprowsetbase.h.

◆ value() [1/2]

const R& value ( int  i) const

Returns the value of the i'th LPRowBase.

Definition at line 271 of file lprowsetbase.h.

Referenced by LPRowSetBase< Real >::value().

◆ value() [2/2]

const R& value ( const DataKey k) const

Returns the value of the LPRowBase with DataKey k.

The value of a row depends on its type: if the inequality is of type "greater or equal", the value is the lhs of the row. Otherwise, the value is the rhs.

Definition at line 286 of file lprowsetbase.h.

◆ xtend() [1/2]

void xtend ( int  n,
int  newmax 
)

Extends row n to fit newmax nonzeros.

Definition at line 436 of file lprowsetbase.h.

Referenced by SPxLPBase< Real >::addCols(), and SPxLPBase< Real >::doAddCols().

◆ xtend() [2/2]

void xtend ( const DataKey pkey,
int  pnewmax 
)

Extends row with DataKey key to fit newmax nonzeros.

Definition at line 442 of file lprowsetbase.h.

Friends And Related Function Documentation

◆ LPRowSetBase

friend class LPRowSetBase
friend

Definition at line 46 of file lprowsetbase.h.

Member Data Documentation

◆ left

DVectorBase<R> left
private

vector of left hand sides (lower bounds) of LPRowBases.

Definition at line 54 of file lprowsetbase.h.

Referenced by LPRowSetBase< Real >::lhs(), LPRowSetBase< Real >::lhs_w(), and LPRowSetBase< Real >::operator=().

◆ object

DVectorBase<R> object
private

vector of objective coefficients.

Definition at line 56 of file lprowsetbase.h.

Referenced by LPRowSetBase< Real >::obj(), LPRowSetBase< Real >::obj_w(), and LPRowSetBase< Real >::operator=().

◆ right

DVectorBase<R> right
private

vector of right hand sides (upper bounds) of LPRowBases.

Definition at line 55 of file lprowsetbase.h.

Referenced by LPRowSetBase< Real >::operator=(), LPRowSetBase< Real >::rhs(), and LPRowSetBase< Real >::rhs_w().

◆ scaleExp

DataArray< int > scaleExp
protected

row scaling factors (stored as bitshift)

Definition at line 62 of file lprowsetbase.h.

Referenced by LPRowSetBase< Real >::add(), and LPRowSetBase< Real >::operator=().