- Main Page
- Classes
- Files

- File List
- File Members

# src/Algorithm/IpRestoMinC_1Nrm.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: IpRestoMinC_1Nrm.hpp 1861 2010-12-21 21:34:47Z andreasw $
    00006 //
    00007 // Authors:  Carl Laird, Andreas Waechter     IBM    2004-08-13
    00008
    00009 #ifndef __IPRESTOC_1NRM_HPP__
    00010 #define __IPRESTOC_1NRM_HPP__
    00011
    00012 #include "IpRestoPhase.hpp"
    00013 #include "IpIpoptAlg.hpp"
    00014 #include "IpEqMultCalculator.hpp"
    00015
    00016 namespace Ipopt
    00017 {
    00018
    00022   class MinC_1NrmRestorationPhase : public RestorationPhase
    00023   {
    00024   public:
    00033     MinC_1NrmRestorationPhase(IpoptAlgorithm& resto_alg,
    00034                               const SmartPtr<EqMultiplierCalculator>& eq_mult_calculator);
    00035
    00037     virtual ~MinC_1NrmRestorationPhase();
    00039
    00041     virtual bool InitializeImpl(const OptionsList& options,
    00042                                 const std::string& prefix);
    00043
    00046     static void RegisterOptions(SmartPtr<RegisteredOptions> roptions);
    00048
    00049   protected:
    00051     virtual bool PerformRestoration();
    00052
    00053   private:
    00061     MinC_1NrmRestorationPhase();
    00062
    00064     MinC_1NrmRestorationPhase(const MinC_1NrmRestorationPhase&);
    00065
    00067     void operator=(const MinC_1NrmRestorationPhase&);
    00069
    00072     SmartPtr<IpoptAlgorithm> resto_alg_;
    00073     SmartPtr<EqMultiplierCalculator> eq_mult_calculator_;
    00075
    00079     SmartPtr<OptionsList> resto_options_;
    00080
    00083     Number constr_mult_reset_threshold_;
    00087     Number bound_mult_reset_threshold_;
    00091     bool expect_infeasible_problem_;
    00093     Number constr_viol_tol_;
    00097     Number resto_failure_feasibility_threshold_;
    00099
    00102     Index count_restorations_;
    00103
    00109     void ComputeBoundMultiplierStep(Vector& delta_z,
    00110                                     const Vector& curr_z,
    00111                                     const Vector& curr_slack,
    00112                                     const Vector& trial_slack);
    00114   };
    00115
    00116 } // namespace Ipopt
    00117
    00118 #endif

All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines