Ipopt Documentation  
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.
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.
This file contains a base class for all exceptions and a set of macros to help with exceptions...
Template class for Smart Pointers.
Definition: IpSmartPtr.hpp:164
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.
ipnumber Number
Type of all numbers.
Definition: IpTypes.hpp:17
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.