Ipopt  3.12.12
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
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 // $Id: IpWarmStartIterateInitializer.hpp 1861 2010-12-21 21:34:47Z andreasw $
6 //
7 // Authors: Carl Laird, Andreas Waechter IBM 2005-04-01
8 
9 #ifndef __IPWARMSTARTITERATEINITIALIZER_HPP__
10 #define __IPWARMSTARTITERATEINITIALIZER_HPP__
11 
12 #include "IpIterateInitializer.hpp"
13 #include "IpEqMultCalculator.hpp"
14 
15 namespace Ipopt
16 {
17 
21  {
22  public:
27 
30  {}
32 
34  virtual bool InitializeImpl(const OptionsList& options,
35  const std::string& prefix);
36 
39  virtual bool SetInitialIterates();
40 
43  static void RegisterOptions(SmartPtr<RegisteredOptions> roptions);
45  private:
56 
60 
85 
88  void process_target_mu(Number factor,
89  const Vector& curr_vars,
90  const Vector& curr_slacks,
91  const Vector& curr_mults,
92  const Matrix& P,
93  SmartPtr<const Vector>& ret_vars,
94  SmartPtr<const Vector>& ret_mults);
95 
96  void adapt_to_target_mu(Vector& new_s,
97  Vector& new_z,
98  Number target_mu);
100  };
101 
102 } // namespace Ipopt
103 
104 #endif
static void RegisterOptions(SmartPtr< RegisteredOptions > roptions)
Methods used by IpoptType.
Number warm_start_slack_bound_frac_
Relateive 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 magnitute.
virtual bool InitializeImpl(const OptionsList &options, const std::string &prefix)
overloaded from AlgorithmStrategyObject
Number warm_start_mult_bound_push_
Parameters for bumping initial bound multipliers.
double Number
Type of all numbers.
Definition: IpTypes.hpp:17
Vector Base Class.
Definition: IpVector.hpp:47
Number warm_start_bound_frac_
Relateive 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:172
This class stores a list of user set options.
Matrix Base Class.
Definition: IpMatrix.hpp:27
void operator=(const WarmStartIterateInitializer &)
Overloaded Equals 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_
Abolsute 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)
virtual ~WarmStartIterateInitializer()
Default destructor.
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_
Abolsute parameters for bumping x0 in warm start mode.