Ipopt  3.11.4
 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