- Main Page
- Namespaces
- Classes
- Files

- File List
- File Members

# /home/coin/SVN-release/Ipopt-3.5.1/Ipopt/src/contrib/CGPenalty/IpCGSearchDirCalc.hpp

Go to the documentation of this file.

    00001 // Copyright (C) 2005, 2007 International Business Machines and others.
    00002 // All Rights Reserved.
    00003 // This code is published under the Common Public License.
    00004 //
    00005 // $Id: IpCGSearchDirCalc.hpp 551 2005-10-27 00:31:28Z andreasw $
    00006 //
    00007 // Authors:  Andreas Waechter            IBM    2005-10-13
    00008 //
    00009 //           Lifeng Chen/Zaiwen Wen      Columbia Univ
    00010
    00011 #ifndef __IPCGSEARCHDIRCALC_HPP__
    00012 #define __IPCGSEARCHDIRCALC_HPP__
    00013
    00014 #include "IpSearchDirCalculator.hpp"
    00015 #include "IpPDSystemSolver.hpp"
    00016
    00017 namespace Ipopt
    00018 {
    00019
    00024   class CGSearchDirCalculator : public SearchDirectionCalculator
    00025   {
    00026   public:
    00030     CGSearchDirCalculator(const SmartPtr<PDSystemSolver>& pd_solver);
    00031
    00033     virtual ~CGSearchDirCalculator();
    00035
    00037     virtual bool InitializeImpl(const OptionsList& options,
    00038                                 const std::string& prefix);
    00039
    00043     virtual bool ComputeSearchDirection();
    00044
    00047     static void RegisterOptions(SmartPtr<RegisteredOptions> roptions);
    00049
    00050   private:
    00060     CGSearchDirCalculator();
    00061
    00063     CGSearchDirCalculator(const CGSearchDirCalculator&);
    00064
    00066     void operator=(const CGSearchDirCalculator&);
    00068
    00075     Number penalty_init_min_;
    00077     Number penalty_init_max_;
    00079     Number penalty_max_;
    00080
    00081
    00082
    00085     Number pen_des_fact_;
    00086
    00088     bool penalty_backward_;
    00089
    00092     Number kappa_x_dis_;
    00093     Number kappa_y_dis_;
    00094     Number vartheta_;
    00095     Number delta_y_max_;
    00096     Number fast_des_fact_;
    00097     Number pen_init_fac_;
    00098
    00101     bool never_use_fact_cgpen_direction_;
    00102
    00104     Index nonmonotone_pen_update_counter_;
    00106
    00109     SmartPtr<PDSystemSolver> pd_solver_;
    00111   };
    00112
    00113 } // namespace Ipopt
    00114
    00115 #endif