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
VectorBase< R > left
 vector of left hand sides (lower bounds) of LPRowBases. More...
 
VectorBase< R > right
 vector of right hand sides (upper bounds) of LPRowBases. More...
 
VectorBase< 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 53 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 693 of file lprowsetbase.h.

References LPRowSetBase< R >::isConsistent().

◆ LPRowSetBase() [2/3]

LPRowSetBase ( const LPRowSetBase< R > &  rs)

Copy constructor.

Definition at line 735 of file lprowsetbase.h.

References LPRowSetBase< R >::isConsistent().

◆ LPRowSetBase() [3/3]

LPRowSetBase ( const LPRowSetBase< S > &  rs)

Copy constructor.

Definition at line 747 of file lprowsetbase.h.

References LPRowSetBase< R >::isConsistent().

◆ ~LPRowSetBase()

virtual ~LPRowSetBase ( )
virtual

Destructor.

Definition at line 758 of file lprowsetbase.h.

Member Function Documentation

◆ add() [1/8]

◆ add() [2/8]

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

◆ 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 350 of file lprowsetbase.h.

References LPRowSetBase< R >::add().

◆ 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 359 of file lprowsetbase.h.

References LPRowSetBase< R >::add().

◆ 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 374 of file lprowsetbase.h.

References SVSetBase< R >::add(), VectorBase< R >::dim(), LPRowSetBase< R >::num(), and VectorBase< R >::reDim().

◆ 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 402 of file lprowsetbase.h.

References SVSetBase< R >::add(), VectorBase< R >::dim(), LPRowSetBase< R >::num(), VectorBase< R >::reDim(), and DataArray< T >::reSize().

◆ add() [7/8]

◆ add() [8/8]

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

Adds all LPRowBases of set to LPRowSetBase.

Definition at line 446 of file lprowsetbase.h.

References LPRowSetBase< R >::add(), LPRowSetBase< R >::key(), and LPRowSetBase< R >::num().

◆ 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 475 of file lprowsetbase.h.

References SVSetBase< R >::add2(), and LPRowSetBase< R >::rowVector_w().

◆ 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 482 of file lprowsetbase.h.

References SVSetBase< R >::add2(), and LPRowSetBase< R >::rowVector_w().

◆ 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 488 of file lprowsetbase.h.

◆ 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 496 of file lprowsetbase.h.

References SVSetBase< R >::create(), VectorBase< R >::dim(), LPRowSetBase< R >::num(), VectorBase< R >::reDim(), and DataArray< T >::reSize().

◆ has()

bool has ( const DataKey k) const

does DataKey k belong to LPRowSetBase ?

Definition at line 320 of file lprowsetbase.h.

References SVSetBase< R >::has().

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

◆ isConsistent()

◆ key()

DataKey key ( int  i) const

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

Definition at line 308 of file lprowsetbase.h.

References SVSetBase< R >::key().

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

◆ lhs() [1/3]

const VectorBase<R>& lhs ( ) const

◆ lhs() [2/3]

const R& lhs ( int  i) const

Returns the lhs of the i 'th LPRowBase.

Definition at line 116 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 128 of file lprowsetbase.h.

References LPRowSetBase< R >::number().

◆ lhs_w() [1/3]

◆ lhs_w() [2/3]

R& lhs_w ( int  i)

Returns the lhs of the i 'th LPRowBase.

Definition at line 122 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 134 of file lprowsetbase.h.

References LPRowSetBase< R >::number().

◆ max()

int max ( ) const

Returns the maximum number of LPRowBases that fit.

Definition at line 98 of file lprowsetbase.h.

References SVSetBase< R >::max().

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

◆ memMax()

int memMax ( ) const

Returns length of nonzero memory.

Definition at line 638 of file lprowsetbase.h.

References SVSetBase< R >::memMax().

◆ memPack()

void memPack ( )

Garbage collection in nonzero memory.

Definition at line 650 of file lprowsetbase.h.

References SVSetBase< R >::memPack().

◆ memRemax()

void memRemax ( int  newmax)

Reallocates memory to be able to store newmax nonzeros.

Definition at line 644 of file lprowsetbase.h.

References SVSetBase< R >::memRemax().

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

◆ memSize()

int memSize ( ) const

Returns number of used nonzero entries.

Definition at line 632 of file lprowsetbase.h.

References SVSetBase< R >::memSize().

◆ 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 188 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 200 of file lprowsetbase.h.

References LPRowSetBase< R >::number().

◆ obj_w() [1/3]

VectorBase<R>& obj_w ( )

Returns the vector of objective coefficients (writeable).

Definition at line 182 of file lprowsetbase.h.

References LPRowSetBase< R >::object.

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

◆ obj_w() [2/3]

R& obj_w ( int  i)

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

Definition at line 194 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 206 of file lprowsetbase.h.

References LPRowSetBase< R >::number().

◆ operator=() [1/2]

◆ operator=() [2/2]

◆ reMax()

void reMax ( int  newmax = 0)

Reallocates memory to be able to store newmax LPRowBases.

Definition at line 622 of file lprowsetbase.h.

References LPRowSetBase< R >::max(), SVSetBase< R >::reMax(), DataArray< T >::reSize(), and VectorBase< R >::reSize().

◆ remove() [1/5]

◆ remove() [2/5]

void remove ( const DataKey k)

Removes LPRowBase with DataKey k.

Definition at line 540 of file lprowsetbase.h.

References LPRowSetBase< R >::number().

◆ remove() [3/5]

void remove ( int  perm[])

◆ remove() [4/5]

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

Removes n LPRowBases with row numbers given by nums.

Definition at line 570 of file lprowsetbase.h.

References DataArray< T >::get_ptr(), and LPRowSetBase< R >::num().

◆ 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 578 of file lprowsetbase.h.

References LPRowSetBase< R >::num(), VectorBase< R >::reDim(), SVSetBase< R >::remove(), and DataArray< T >::reSize().

◆ rhs() [1/3]

◆ rhs() [2/3]

const R& rhs ( int  i) const

Returns the rhs of the i 'th LPRowBase.

Definition at line 152 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 164 of file lprowsetbase.h.

References LPRowSetBase< R >::number().

◆ 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 158 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 170 of file lprowsetbase.h.

References LPRowSetBase< R >::number().

◆ rowSet()

const SVSetBase<R>* rowSet ( ) const
protected

Returns the complete SVSet.

Definition at line 78 of file lprowsetbase.h.

◆ rowVector() [1/2]

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

Returns the rowVector of the i 'th LPRowBase.

Definition at line 218 of file lprowsetbase.h.

References SVSetBase< R >::operator[]().

Referenced by SPxLPBase< BP >::rowVector().

◆ rowVector() [2/2]

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

Returns the rowVector of the LPRowBase with DataKey k.

Definition at line 230 of file lprowsetbase.h.

References SVSetBase< R >::operator[]().

◆ rowVector_w() [1/2]

SVectorBase<R>& rowVector_w ( int  i)

Returns a writable rowVector of the i 'th LPRowBase.

Definition at line 212 of file lprowsetbase.h.

References SVSetBase< R >::operator[]().

Referenced by LPRowSetBase< R >::add2(), SPxLPBase< BP >::rowVector_w(), and LPRowSetBase< R >::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 224 of file lprowsetbase.h.

References SVSetBase< R >::operator[]().

◆ setType()

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

Changes the inequality type of row i to type.

Definition at line 257 of file lprowsetbase.h.

References soplex::infinity, LPRowSetBase< R >::lhs(), LPRowSetBase< R >::lhs_w(), LPRowSetBase< R >::rhs(), LPRowSetBase< R >::rhs_w(), and SPX_MSG_ERROR.

◆ type() [1/2]

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

◆ type() [2/2]

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

Returns the inequality type of the LPRowBase with DataKey k.

Definition at line 251 of file lprowsetbase.h.

References LPRowSetBase< R >::number(), and LPRowSetBase< R >::type().

◆ value() [1/2]

const R& value ( int  i) const

Returns the value of the i'th LPRowBase.

Definition at line 287 of file lprowsetbase.h.

References soplex::infinity, LPRowSetBase< R >::lhs(), and LPRowSetBase< R >::rhs().

Referenced by LPRowSetBase< R >::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 302 of file lprowsetbase.h.

References LPRowSetBase< R >::number(), and LPRowSetBase< R >::value().

◆ xtend() [1/2]

void xtend ( int  n,
int  newmax 
)

Extends row n to fit newmax nonzeros.

Definition at line 457 of file lprowsetbase.h.

References LPRowSetBase< R >::rowVector_w(), and SVSetBase< R >::xtend().

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

◆ xtend() [2/2]

void xtend ( const DataKey pkey,
int  pnewmax 
)

Extends row with DataKey key to fit newmax nonzeros.

Definition at line 463 of file lprowsetbase.h.

References LPRowSetBase< R >::rowVector_w(), and SVSetBase< R >::xtend().

Friends And Related Function Documentation

◆ LPRowSetBase

friend class LPRowSetBase
friend

Definition at line 55 of file lprowsetbase.h.

Member Data Documentation

◆ left

VectorBase<R> left
private

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

Definition at line 63 of file lprowsetbase.h.

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

◆ object

VectorBase<R> object
private

vector of objective coefficients.

Definition at line 65 of file lprowsetbase.h.

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

◆ right

VectorBase<R> right
private

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

Definition at line 64 of file lprowsetbase.h.

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

◆ scaleExp

DataArray< int > scaleExp
protected

row scaling factors (stored as bitshift)

Definition at line 71 of file lprowsetbase.h.

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