/home/coin/SVN-release/CoinAll-1.1.0/Ipopt/src/Algorithm/IpMonotoneMuUpdate.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: IpMonotoneMuUpdate.hpp 735 2006-06-04 06:10:05Z andreasw $
00006 //
00007 // Authors:  Carl Laird, Andreas Waechter     IBM    2004-08-13
00008 
00009 #ifndef __IPMONOTONEMUUPDATE_HPP__
00010 #define __IPMONOTONEMUUPDATE_HPP__
00011 
00012 #include "IpMuUpdate.hpp"
00013 #include "IpLineSearch.hpp"
00014 #include "IpRegOptions.hpp"
00015 
00016 namespace Ipopt
00017 {
00018 
00022   class MonotoneMuUpdate : public MuUpdate
00023   {
00024   public:
00028     MonotoneMuUpdate(const SmartPtr<LineSearch>& linesearch);
00029 
00031     virtual ~MonotoneMuUpdate();
00033 
00035     virtual bool InitializeImpl(const OptionsList& options,
00036                                 const std::string& prefix);
00037 
00043     virtual bool UpdateBarrierParameter();
00044 
00047     static void RegisterOptions(const SmartPtr<RegisteredOptions>& roptions);
00049 
00050   private:
00059     MonotoneMuUpdate();
00060 
00062     MonotoneMuUpdate(const MonotoneMuUpdate&);
00063 
00065     void operator=(const MonotoneMuUpdate&);
00067 
00069     void CalcNewMuAndTau(Number &new_mu,
00070                          Number &new_tau);
00071 
00075     Number mu_init_;
00076     Number barrier_tol_factor_;
00077     Number mu_linear_decrease_factor_;
00078     Number mu_superlinear_decrease_power_;
00079     bool mu_allow_fast_monotone_decrease_;
00081     Number tau_min_;
00082     Number compl_inf_tol_;
00084 
00085     SmartPtr<LineSearch> linesearch_;
00086 
00089     bool initialized_;
00090 
00094     bool first_iter_resto_;
00095   };
00096 
00097 } // namespace Ipopt
00098 
00099 #endif

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