Ipopt Documentation  
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
IpWarmStartIterateInitializer.hpp
Go to the documentation of this file.
1 // Copyright (C) 2004, 2006 International Business Machines and others.
2 // All Rights Reserved.
3 // This code is published under the Eclipse Public License.
4 //
5 // Authors: Carl Laird, Andreas Waechter IBM 2005-04-01
6 
7 #ifndef __IPWARMSTARTITERATEINITIALIZER_HPP__
8 #define __IPWARMSTARTITERATEINITIALIZER_HPP__
9 
10 #include "IpIterateInitializer.hpp"
11 #include "IpEqMultCalculator.hpp"
12 
13 namespace Ipopt
14 {
15 
18 {
19 public:
21 
24 
27  { }
29 
30  virtual bool InitializeImpl(
31  const OptionsList& options,
32  const std::string& prefix
33  );
34 
38  virtual bool SetInitialIterates();
39 
40  static void RegisterOptions(
42  );
43 
44 private:
54 
58  );
59 
61  void operator=(
63  );
65 
67 
70 
73 
76 
79 
82 
91 
94 
100 
102  void process_target_mu(
104  Number factor,
105  const Vector& curr_vars,
106  const Vector& curr_slacks,
107  const Vector& curr_mults,
108  const Matrix& P,
109  SmartPtr<const Vector>& ret_vars,
110  SmartPtr<const Vector>& ret_mults
111  );
112 
113  void adapt_to_target_mu(
114  Vector& new_s,
115  Vector& new_z,
116  Number target_mu
117  );
119 };
120 
121 } // namespace Ipopt
122 
123 #endif
static void RegisterOptions(SmartPtr< RegisteredOptions > roptions)
Number warm_start_slack_bound_frac_
Relative parameters for bumping s0 in warm start mode.
Number warm_start_mult_init_max_
Maximal size of entries in bound and equality constraint multipliers in magnitude.
virtual bool InitializeImpl(const OptionsList &options, const std::string &prefix)
Implementation of the initialization method that has to be overloaded by for each derived class...
Number warm_start_mult_bound_push_
Parameters for bumping initial bound multipliers.
double Number
Type of all numbers.
Definition: IpTypes.hpp:15
Vector Base Class.
Definition: IpVector.hpp:47
Number warm_start_bound_frac_
Relative parameters for bumping x0 in warm start mode.
Base class for all methods for initializing the iterates.
WarmStartIterateInitializer()
Constructor.
Number warm_start_target_mu_
Target values for the barrier parameter in warm start option.
Template class for Smart Pointers.
Definition: IpSmartPtr.hpp:171
This class stores a list of user set options.
Matrix Base Class.
Definition: IpMatrix.hpp:27
void operator=(const WarmStartIterateInitializer &)
Default Assignment Operator.
bool warm_start_entire_iterate_
Indicator for which method in the NLP should be used to get the warm start.
Class implementing an initialization procedure for warm starts.
Number warm_start_slack_bound_push_
Absolute parameters for bumping s0 in warm start mode.
void process_target_mu(Number factor, const Vector &curr_vars, const Vector &curr_slacks, const Vector &curr_mults, const Matrix &P, SmartPtr< const Vector > &ret_vars, SmartPtr< const Vector > &ret_mults)
void adapt_to_target_mu(Vector &new_s, Vector &new_z, Number target_mu)
virtual bool SetInitialIterates()
Compute the initial iterates and set the into the curr field of the ip_data object.
Number warm_start_bound_push_
Absolute parameters for bumping x0 in warm start mode.