Bonmin 1.8.9
Loading...
Searching...
No Matches
BonIpoptInteriorWarmStarter.hpp
Go to the documentation of this file.
1// (C) Copyright International Business Machines Corporation 2006
2// All Rights Reserved.
3// This code is published under the Eclipse Public License.
4//
5// $Id$
6//
7// Authors: Andreas Waechter IBM 2006-03-02
8
9#ifndef __IPOPTINTERIORWARMSTARTER_HPP__
10#define __IPOPTINTERIORWARMSTARTER_HPP__
11
12#include "IpSmartPtr.hpp"
13#include "IpNLP.hpp"
14#include <vector>
15
16namespace Bonmin
17{
19 {
20 public:
26 Ipopt::Number nlp_lower_bound_inf,
27 Ipopt::Number nlp_upper_bound_inf,
28 bool store_several_iterates);
29
33
37 bool UpdateStoredIterates(Ipopt::AlgorithmMode mode,
38 const Ipopt::IpoptData& ip_data,
40
43 bool Finalize();
44
47 bool WarmStartIterate(Ipopt::Index n, const Ipopt::Number* x_l_new, const Ipopt::Number* x_u_new,
48 Ipopt::IteratesVector& warm_start_iterate);
49
50 private:
61
64
66 void operator=(const IpoptInteriorWarmStarter&);
68
70
71 Ipopt::Number nlp_lower_bound_inf_;
73 Ipopt::Number nlp_upper_bound_inf_;
76 bool store_several_iterates_;
78
84 Ipopt::Index n_;
85 Ipopt::Number* x_l_prev_;
86 Ipopt::Number* x_u_prev_;
88
92 Ipopt::Index n_stored_iterates_;
93 std::vector<Ipopt::Index> stored_iter_;
94 std::vector<Ipopt::SmartPtr<const Ipopt::IteratesVector> > stored_iterates_;
95 std::vector<Ipopt::Number> stored_mu_;
96 std::vector<Ipopt::Number> stored_nlp_error_;
97 std::vector<Ipopt::Number> stored_primal_inf_;
98 std::vector<Ipopt::Number> stored_dual_inf_;
99 std::vector<Ipopt::Number> stored_compl_;
101 };
102}
103#endif
IpoptInteriorWarmStarter(Ipopt::Index n, const Ipopt::Number *x_L, const Ipopt::Number *x_u, Ipopt::Number nlp_lower_bound_inf, Ipopt::Number nlp_upper_bound_inf, bool store_several_iterates)
Constructor.
bool UpdateStoredIterates(Ipopt::AlgorithmMode mode, const Ipopt::IpoptData &ip_data, Ipopt::IpoptCalculatedQuantities &ip_cq)
Method for possibly storing another iterate during the current optimizatin for possible use for a war...
bool WarmStartIterate(Ipopt::Index n, const Ipopt::Number *x_l_new, const Ipopt::Number *x_u_new, Ipopt::IteratesVector &warm_start_iterate)
Method for computing the initial point based on the stored information.
bool Finalize()
Method for doing whatever needs to be done after the parent NLP has been solved.
~IpoptInteriorWarmStarter()
Default destructor.
(C) Copyright International Business Machines Corporation 2007
ipindex Index
ipnumber Number