11 #ifndef BonBqpdSolver_H 
   12 #define BonBqpdSolver_H 
   30           Ipopt::SmartPtr<TMINLP2TNLP> model,
 
   31           const std::string &name):
 
   34       virtual const std::string& 
errorName() 
const;
 
   52         Ipopt::SmartPtr<TMINLP2TNLP> problem,
 
   63         Ipopt::SmartPtr<Ipopt::OptionsList> 
options,
 
   73     virtual bool Initialize(std::string params_file);
 
   89         Ipopt::SmartPtr<TMINLP2TNLP> tnlp);
 
   98       throw CoinError(__PRETTY_FUNCTION__,
"",
"Not implemented");
 
  102     virtual CoinWarmStart * 
getWarmStart(Ipopt::SmartPtr<TMINLP2TNLP> tnlp) 
const;
 
  118     virtual Ipopt::SmartPtr<TNLPSolver> 
clone();
 
  169     Times(): numsolve(0), create(0), solve(0), resolve(0), warm_start(0), pivots(0){
 
  172     Times & operator +=(Times &rhs){
 
  173       numsolve += rhs.numsolve;
 
  174       create += rhs.create;
 
  176       resolve += rhs.resolve;
 
  177       warm_start += rhs.warm_start;
 
  178       pivots += rhs.pivots;
 
  247       fint irh1,
na,
na1,
nb,
nb1,
ka1,
kb1,
kc1,
irg1,
lu1,
lv,
lv1,
ll1;
 
  261       fint ns,
ns1,
nt,
nt1,
nu,
nu1,
nx,
nx1,
np,
np1,
nprof,
lc;
 
  262       fint lc1,
li,
li1,
lm,
lm1,
lp_,
lp1,
lq,
lq1,
lr,
lr1,
ls_,
ls1,
lt,
lt1;
 
  289       Ipopt::SmartPtr<BranchingTQP> 
tqp_;
 
  346                  Ipopt::SmartPtr<Ipopt::OptionsList>& 
options,
 
  347                  int kmax_ipt, 
int mlp_ipt, 
double* fillin_factor):
 
  380         initialize(tqp, options, kmax_ipt, mlp_ipt, fillin_factor);
 
  384       void initialize(
const Ipopt::SmartPtr<BranchingTQP> &tqp,
 
  385                       Ipopt::SmartPtr<Ipopt::OptionsList>& 
options,
 
  386                       int kmax_ipt, 
int mlp_ipt, 
double* fillin_factor);
 
  417     Times ×(){ 
return cached_->times_;}
 
fint lm
bqpdc common block 
 
fint m2
bqpdc common block 
 
fint ns1
bqpdc common block 
 
fint nx
bqpdc common block 
 
int pivots_
Number of pivots. 
 
TNLPSolver::ReturnStatus callOptimizer()
Perform optimization using data structure in cache. 
 
virtual Ipopt::SmartPtr< TNLPSolver > clone()
Virtual copy constructor. 
 
fint mp
bqpdc common block 
 
virtual bool Initialize(std::string params_file)
Initialize the TNLPSolver (read options from params_file) 
 
double cpuTime_
Elapsed CPU time in last optimization. 
 
UnsolvedBqpdError(int errorNum, Ipopt::SmartPtr< TMINLP2TNLP > model, const std::string &name)
 
Ipopt::SmartPtr< Ipopt::Journalist > journalist()
Get a pointer to a journalist. 
 
fint lq
bqpdc common block 
 
fint nprof
bqpdc common block 
 
virtual int IterationCount()
Get the iteration count of the last optimization. 
 
virtual std::string & solverName()
Get the solver name. 
 
fint na
bqpdc common block 
 
virtual bool markHotStart()
Safe the current state (after most recent solve that must have been successful) as hot start informat...
 
virtual void disableWarmStart()
Solves a problem expresses as a TNLP. 
 
virtual bool setWarmStart(const CoinWarmStart *warm, Ipopt::SmartPtr< TMINLP2TNLP > tnlp)
Set the warm start in the solver. 
 
Ipopt::SmartPtr< Bonmin::RegisteredOptions > roptions()
Get a pointer to RegisteredOptions (generally used to add new ones) 
 
fint li1
bqpdc common block 
 
Ipopt::SmartPtr< BranchingTQP > tqp_
 
int mlp_ipt_
Fill-in factor for QP factorization. 
 
fint nu
bqpdc common block 
 
void unmarkHotStart()
Forget about the hot start info. 
 
fint na1
bqpdc common block 
 
static int reinit_freq_
Hot start reinitialization fequency. 
 
bool use_warm_start_in_cache_
flag remembering if warm start information has been put into  cache 
 
fint nu1
bqpdc common block 
 
virtual ~UnsolvedBqpdError()
 
This is a generic class for calling an NLP solver to solve a TNLP. 
 
real sgnf
repc common block 
 
fint lt1
bqpdc common block 
 
real emin
bqpdc common block 
 
fint nb1
bqpdc common block 
 
virtual const std::string & errorName() const 
Get the string corresponding to error. 
 
fint irh1
bqpdc common block 
 
virtual ~BqpdSolver()
destructor 
 
fint ka1
bqpdc common block 
 
real vstep
vstepc common block 
 
fint lv1
bqpdc common block 
 
virtual CoinWarmStart * getWarmStart(Ipopt::SmartPtr< TMINLP2TNLP > tnlp) const 
Get the warm start form the solver. 
 
fint nt
bqpdc common block 
 
fint lr1
bqpdc common block 
 
virtual void enableWarmStart()
Solves a problem expresses as a TNLP. 
 
ipfint fint
Fortran type for integer used in filter. 
 
fint lc1
bqpdc common block 
 
fint lp1
bqpdc common block 
 
real tol
bqpdc common block 
 
int default_log_level_
To record default log level. 
 
fint li
bqpdc common block 
 
virtual CoinWarmStart * getEmptyWarmStart() const 
Solves a problem expresses as a TNLP. 
 
fint lastr
bqpdc common block 
 
virtual UnsolvedError * newUnsolvedError(int num, Ipopt::SmartPtr< TMINLP2TNLP > problem, std::string name)
 
virtual void setOutputToDefault()
turn off all output from the solver 
 
int errorNum() const 
Return error number. 
 
fint lv
bqpdc common block 
 
fint nres
bqpdc common block 
 
virtual int errorCode() const 
Error code (solver specific). 
 
fint lq1
bqpdc common block 
 
fint np1
bqpdc common block 
 
virtual void forceSolverOutput(int log_level)
turn on all output from the solver 
 
virtual bool warmStartIsValid(const CoinWarmStart *ws) const 
Check that warm start object is valid. 
 
fint nx1
bqpdc common block 
 
bool markHotStart()
Store most recent solution as hot start. 
 
fint m1
factorc common block 
 
fint mxm1
mxm1c common block 
 
real eps
epsc common block 
 
int next_reinit_
next reinitialization of hot start. 
 
static int m0de_
Hot start m0de. 
 
double fillin_factor_
Fill-in factor for QP factorization. 
 
void registerOptions()
Register this solver options into passed roptions. 
 
fint ns
sparsec common block 
 
virtual ReturnStatus ReOptimizeTNLP(const Ipopt::SmartPtr< Ipopt::TNLP > &tnlp)
Resolves a problem expresses as a TNLP. 
 
fint ls1
bqpdc common block 
 
void copyFromHotStart()
Copy current values from hot start info. 
 
real alpha
alphac common block 
 
cachedInfo(const Ipopt::SmartPtr< BranchingTQP > &tqp, Ipopt::SmartPtr< Ipopt::OptionsList > &options, int kmax_ipt, int mlp_ipt, double *fillin_factor)
 
fint lc
bqpdc common block 
 
Ipopt::SmartPtr< Bonmin::RegisteredOptions > roptions_
Registered Options. 
 
bool haveHotStart_
indicates if we should start from a hotstart 
 
int kmax_ipt_
Fill-in factor for QP factorization. 
 
fint irg1
bqpdc common block 
 
fint ll1
bqpdc common block 
 
ReturnStatus
Standard return statuses for a solver. 
 
double * fillin_factor_
Fill-in factor for QP factorization. 
 
fint nb
bqpdc common block 
 
fint lm1
bqpdc common block 
 
virtual ReturnStatus OptimizeTNLP(const Ipopt::SmartPtr< Ipopt::TNLP > &tnlp)
Solves a problem expresses as a TNLP. 
 
Ipopt::SmartPtr< const Ipopt::OptionsList > options() const 
Get the options (for getting their values). 
 
fint npiv
bqpdc common block 
 
fint lp_
bqpdc common block 
 
Ipopt::SmartPtr< cachedInfo > cached_
Cached information on last problem optimized for reoptimization. 
 
fint nfreq
bqpdc common block 
 
void initialize(const Ipopt::SmartPtr< BranchingTQP > &tqp, Ipopt::SmartPtr< Ipopt::OptionsList > &options, int kmax_ipt, int mlp_ipt, double *fillin_factor)
Fill data structures for filter with info from tnlp. 
 
We will throw this error when a problem is not solved. 
 
virtual double CPUTime()
Get the CpuTime of the last optimization. 
 
BqpdSolver(bool createEmpty=false)
Default constructor. 
 
fint mq
bqpdc common block 
 
void optimize()
Optimize problem described by cache with filter. 
 
virtual const std::string & solverName() const 
Return the name of the solver. 
 
fint np
bqpdc common block 
 
fint ls_
bqpdc common block 
 
fint lu1
bqpdc common block 
 
fint irow
bqpdc common block 
 
virtual CoinWarmStart * getUsedWarmStart(Ipopt::SmartPtr< TMINLP2TNLP > tnlp) const 
Get warm start used in last optimization. 
 
fint kc1
bqpdc common block 
 
bool bad_warm_start_info_
 
int amax_
Number of nonzeros in Jacobian and gradient. 
 
static std::string solverName_
To record default log level. 
 
static std::string errorNames_[1]
 
static std::string solverName_
 
fint nt1
bqpdc common block 
 
Cached information for reoptimizing. 
 
double real
Fortran type for double.used in filter. 
 
const char * prefix()
Get the prefix. 
 
fint nup
refactorc common block 
 
fint nrep
bqpdc common block 
 
fint kb1
bqpdc common block 
 
fint lt
bqpdc common block 
 
fint lr
bqpdc common block