/home/coin/SVN-release/CoinAll-1.1.0/Ipopt/src/Algorithm/IpWarmStartIterateInitializer.hpp

Go to the documentation of this file.
00001 // Copyright (C) 2004, 2006 International Business Machines and others.
00002 // All Rights Reserved.
00003 // This code is published under the Common Public License.
00004 //
00005 // $Id: IpWarmStartIterateInitializer.hpp 777 2006-08-11 19:33:48Z andreasw $
00006 //
00007 // Authors:  Carl Laird, Andreas Waechter              IBM    2005-04-01
00008 
00009 #ifndef __IPWARMSTARTITERATEINITIALIZER_HPP__
00010 #define __IPWARMSTARTITERATEINITIALIZER_HPP__
00011 
00012 #include "IpIterateInitializer.hpp"
00013 #include "IpEqMultCalculator.hpp"
00014 
00015 namespace Ipopt
00016 {
00017 
00020   class WarmStartIterateInitializer: public IterateInitializer
00021   {
00022   public:
00026     WarmStartIterateInitializer();
00027 
00029     virtual ~WarmStartIterateInitializer()
00030     {}
00032 
00034     virtual bool InitializeImpl(const OptionsList& options,
00035                                 const std::string& prefix);
00036 
00039     virtual bool SetInitialIterates();
00040 
00043     static void RegisterOptions(SmartPtr<RegisteredOptions> roptions);
00045   private:
00055     WarmStartIterateInitializer(const WarmStartIterateInitializer&);
00056 
00058     void operator=(const WarmStartIterateInitializer&);
00060 
00064     Number warm_start_bound_push_;
00066     Number warm_start_bound_frac_;
00068     Number warm_start_slack_bound_push_;
00070     Number warm_start_slack_bound_frac_;
00072     Number warm_start_mult_bound_push_;
00077     Number warm_start_mult_init_max_;
00080     Number warm_start_target_mu_;
00083     bool warm_start_entire_iterate_;
00085 
00088     void process_target_mu(Number factor,
00089                            const Vector& curr_vars,
00090                            const Vector& curr_slacks,
00091                            const Vector& curr_mults,
00092                            const Matrix& P,
00093                            SmartPtr<const Vector>& ret_vars,
00094                            SmartPtr<const Vector>& ret_mults);
00095 
00096     void adapt_to_target_mu(Vector& new_s,
00097                             Vector& new_z,
00098                             Number target_mu);
00100   };
00101 
00102 } // namespace Ipopt
00103 
00104 #endif

Generated on Sun Nov 14 14:06:35 2010 for Coin-All by  doxygen 1.4.7