Clp 1.17.5
Loading...
Searching...
No Matches
AbcWarmStart.hpp
Go to the documentation of this file.
1/* $Id: AbcWarmStart.hpp 2385 2019-01-06 19:43:06Z unxusr $ */
8#ifndef AbcWarmStart_H
9#define AbcWarmStart_H
10#include "AbcCommon.hpp"
11#include "CoinWarmStartBasis.hpp"
12// could test using ClpSimplex (or for fans)
13#define CLP_WARMSTART
14#ifdef CLP_WARMSTART
15#include "ClpSimplex.hpp"
16#define AbcSimplex ClpSimplex
17#else
18#include "AbcSimplex.hpp"
19#endif
20class AbcWarmStart;
21//#############################################################################
68
74class AbcWarmStart : public virtual CoinWarmStartBasis {
75public:
78
84 virtual void setSize(int ns, int na);
85
94 virtual void resize(int newNumberRows, int newNumberColumns);
95
112 virtual void compressRows(int tgtCnt, const int *tgts);
113
125 virtual void deleteRows(int rawTgtCnt, const int *rawTgts);
126
137 virtual void deleteColumns(int number, const int *which);
140 {
141 model_ = model;
142 }
144 inline AbcSimplex *model() const
145 {
146 return model_;
147 }
157
164
175
178
180 virtual CoinWarmStart *clone() const
181 {
182 return new AbcWarmStart(*this);
183 }
184
186 virtual ~AbcWarmStart();
187
190 virtual AbcWarmStart &operator=(const AbcWarmStart &rhs);
191
207 virtual void assignBasisStatus(int ns, int na, char *&sStat, char *&aStat);
209
210protected:
242};
243#endif
244
245/* vi: softtabstop=2 shiftwidth=2 expandtab tabstop=2
246*/
AbcWarmStart * firstBasis_
Pointer to first basis.
AbcWarmStart * lastBasis_
Pointer to last basis.
AbcSimplex * model_
Pointer to AbcSimplex (can only be applied to that)
virtual ~AbcWarmStartOrganizer()
Destructor.
void createBasis0()
Create Basis type 0.
void createBasis12()
Create Basis type 1,2.
int numberBases_
Number of bases.
AbcWarmStartOrganizer(AbcSimplex *model=NULL)
Default constructor.
void deleteBasis(AbcWarmStart *basis)
delete basis
void createBasis34()
Create Basis type 3,4.
int sizeBases_
Size of bases (extra)
virtual AbcWarmStartOrganizer & operator=(const AbcWarmStartOrganizer &rhs)
Assignment.
AbcWarmStartOrganizer(const AbcWarmStartOrganizer &ws)
Copy constructor.
As CoinWarmStartBasis but with alternatives (Also uses Clp status meaning for slacks)
void createBasis12(const AbcSimplex *model)
Create Basis type 12.
AbcWarmStart * nextBasis_
Pointer to next basis.
int typeExtraInformation_
Type of basis (always status arrays) 0 - as CoinWarmStartBasis 1,2 - plus factor order as shorts or i...
AbcWarmStart()
Default constructor.
void createBasis0(const AbcSimplex *model)
Create Basis type 0.
AbcWarmStart(const AbcWarmStart &ws)
Copy constructor.
virtual void deleteColumns(int number, const int *which)
Delete a set of columns from the basis.
char * extraInformation_
The extra information.
void setModel(AbcSimplex *model)
Set model.
int stamp_
Sequence stamp for deletion.
virtual ~AbcWarmStart()
Destructor.
int lengthExtraInformation_
Length of extra information in bytes.
virtual void deleteRows(int rawTgtCnt, const int *rawTgts)
Delete a set of rows from the basis.
virtual AbcWarmStart & operator=(const AbcWarmStart &rhs)
Assignment.
AbcSimplex * model_
Pointer back to AbcSimplex (can only be applied to that)
virtual void setSize(int ns, int na)
Set basis capacity; existing basis is discarded.
virtual void compressRows(int tgtCnt, const int *tgts)
Delete a set of rows from the basis.
int numberValidRows_
Number of valid rows (rest should have slacks) Check to see if weights are OK for these rows and then...
virtual void resize(int newNumberRows, int newNumberColumns)
Set basis capacity; existing basis is maintained.
virtual void assignBasisStatus(int ns, int na, char *&sStat, char *&aStat)
Assign the status vectors to be the warm start information.
virtual CoinWarmStart * clone() const
‘Virtual constructor’
void createBasis34(const AbcSimplex *model)
Create Basis type 34.
AbcSimplex * model() const
Get model.
AbcWarmStart(AbcSimplex *model, int type)
Constructs a warm start object with the specified status vectors.
AbcWarmStart * previousBasis_
Pointer to previous basis.
AbcWarmStartOrganizer * organizer_
Pointer back to AbcWarmStartOrganizer for organization.