Bonmin 1.8.9
Loading...
Searching...
No Matches
BonBqpdWarmStart.hpp
Go to the documentation of this file.
1// (C) Copyright International Business Machines Corporation 2007
2// All Rights Reserved.
3// This code is published under the Eclipse Public License.
4//
5// Authors :
6// Andreas Waechter, International Business Machines Corporation
7// based on BonFilterWarmStart.hpp
8//
9// Date : 2007-08-03
10
11
12#ifndef BonBqpdWarmStart_H
13#define BonBqpdWarmStart_H
14
17#include "BonFilterSolver.hpp" /* for types */
18
19#include <vector>
20
21namespace Bonmin{
22
31 public virtual CoinWarmStartPrimalDual, public virtual CoinWarmStartBasis,
33 {
34 typedef FilterSolver::fint fint;
35 typedef FilterSolver::real real;
36
37 public:
39 static fint def_istat[14];
41 BqpdWarmStart(const fint xSize = 0,
42 const real* xArray = NULL,
43 const fint lamSize = 0,
44 const real* lamArray = NULL,
45 const fint lwsSize = 0,
46 const fint *lwsArray = NULL,
47 const fint istat[14] = def_istat);
48
51
54
56 virtual CoinWarmStart * clone() const
57 { return new BqpdWarmStart(*this);}
58
60 virtual ~BqpdWarmStart();
61
63 virtual CoinWarmStartDiff* generateDiff(const CoinWarmStart * const other) const;
64
66 virtual void applyDiff(const CoinWarmStartDiff * const cswDiff);
67
69 const fint *lwsArray() const{
70 return lwsArray_;
71 }
72
74 fint lwsSize() const {
75 return lwsSize_;}
76
77 const fint* istat()const {
78 return istat_;}
79
80 void flushPoint();
81
83 bool empty() const
84 {
85 return empty_;
86 }
87 private:
89 fint lwsSize_;
90
92 fint* lwsArray_;
93
95 fint istat_[14];
97 bool empty_;
98 };
99
100} /* end namespace Bonmin */
101#endif
102
Warm start for filter interface.
const fint * lwsArray() const
Access to lws array.
virtual ~BqpdWarmStart()
Destructor.
fint lwsSize() const
Access to lws size.
bool empty() const
Is this an empty warm start?
virtual CoinWarmStartDiff * generateDiff(const CoinWarmStart *const other) const
Generate differences.
const fint * istat() const
virtual CoinWarmStart * clone() const
virtual copy
static fint def_istat[14]
Default values for istat.
BqpdWarmStart(const fint xSize=0, const real *xArray=NULL, const fint lamSize=0, const real *lamArray=NULL, const fint lwsSize=0, const fint *lwsArray=NULL, const fint istat[14]=def_istat)
Constructor.
BqpdWarmStart(const BqpdWarmStart &other)
Copy constructor.
virtual void applyDiff(const CoinWarmStartDiff *const cswDiff)
Apply differences.
BqpdWarmStart(const CoinWarmStartPrimalDual &pdws)
constructor from a CoinWarmStartPrimalDual
FilterTypes::real real
Fortran type for double.used in filter.
FilterTypes::fint fint
Fortran type for integer used in filter.
(C) Copyright International Business Machines Corporation 2007