- Main Page
- Classes
- Files

- File List
- File Members

# src/Algorithm/IpMonotoneMuUpdate.hpp

Go to the documentation of this file.

    00001 // Copyright (C) 2004, 2010 International Business Machines and others.
    00002 // All Rights Reserved.
    00003 // This code is published under the Eclipse Public License.
    00004 //
    00005 // $Id: IpMonotoneMuUpdate.hpp 1861 2010-12-21 21:34:47Z 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_;
    00083     Number mu_target_;
    00085
    00086     SmartPtr<LineSearch> linesearch_;
    00087
    00090     bool initialized_;
    00091
    00095     bool first_iter_resto_;
    00096   };
    00097
    00098 } // namespace Ipopt
    00099
    00100 #endif

All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines