Clp 1.16.9
Loading...
Searching...
No Matches
AbcWarmStart.hpp
Go to the documentation of this file.
1/* $Id: AbcWarmStart.hpp 1910 2013-01-27 02:00:13Z stefan $ */
9#ifndef AbcWarmStart_H
10#define AbcWarmStart_H
11#include "AbcCommon.hpp"
12#include "CoinWarmStartBasis.hpp"
13// could test using ClpSimplex (or for fans)
14#define CLP_WARMSTART
15#ifdef CLP_WARMSTART
16#include "ClpSimplex.hpp"
17#define AbcSimplex ClpSimplex
18#else
19#include "AbcSimplex.hpp"
20#endif
21class AbcWarmStart;
22//#############################################################################
24public:
36
42
45
48
53
54protected:
68};
69
75class AbcWarmStart : public virtual CoinWarmStartBasis {
76public:
79
85 virtual void setSize(int ns, int na) ;
86
95 virtual void resize (int newNumberRows, int newNumberColumns);
96
113 virtual void compressRows (int tgtCnt, const int *tgts) ;
114
126 virtual void deleteRows(int rawTgtCnt, const int *rawTgts) ;
127
138 virtual void deleteColumns(int number, const int * which);
140 inline void setModel(AbcSimplex * model)
141 { model_=model;}
143 inline AbcSimplex * model() const
144 { return model_;}
154
161
172
175
177 virtual CoinWarmStart *clone() const
178 {
179 return new AbcWarmStart(*this);
180 }
181
183 virtual ~AbcWarmStart();
184
187 virtual AbcWarmStart& operator=(const AbcWarmStart& rhs) ;
188
204 virtual void assignBasisStatus(int ns, int na, char*& sStat, char*& aStat) ;
206
207protected:
239};
240#endif
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.