- Main Page
- Namespaces
- Classes
- Files

- File List
- File Members

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

Go to the documentation of this file.

    00001 // Copyright (C) 2007 International Business Machines and others.
    00002 // All Rights Reserved.
    00003 // This code is published under the Common Public License.
    00004 //
    00005 // $Id: IpIpoptCalculatedQuantities.hpp 988 2007-06-01 21:57:27Z andreasw $
    00006 //
    00007 // Authors:  Andreas Waechter           IBM    2007-06-04
    00008 //               derived from IpIpoptCalculatedQuantities.hpp
    00009
    00010 #ifndef __IPCGPENALTYCQ_HPP__
    00011 #define __IPCGPENALTYCQ_HPP__
    00012
    00013 #include "IpIpoptCalculatedQuantities.hpp"
    00014
    00015 namespace Ipopt
    00016 {
    00017
    00021   class CGPenaltyCq : public ReferencedObject
    00022   {
    00023   public:
    00024
    00028     CGPenaltyCq(IpoptNLP* ip_nlp,
    00029                 IpoptData* ip_data,
    00030                 IpoptCalculatedQuantities* ip_cg);
    00031
    00033     virtual ~CGPenaltyCq();
    00035
    00039     bool Initialize(const Journalist& jnlst,
    00040                     const OptionsList& options,
    00041                     const std::string& prefix);
    00042
    00045
    00047     Number curr_jac_cd_norm(Index nrm_type);
    00049     Number curr_scaled_y_Amax();
    00051     Number curr_added_y_nrm2();
    00052
    00054     Number curr_penalty_function();
    00056     Number trial_penalty_function();
    00059     Number curr_direct_deriv_penalty_function();
    00062     Number curr_fast_direct_deriv_penalty_function();
    00063
    00065     Number dT_times_barH_times_d();
    00066
    00067
    00071     Number curr_cg_pert_fact();
    00072
    00074     Number compute_curr_cg_penalty(const Number );
    00075
    00077     Number compute_curr_cg_penalty_scale();
    00079
    00082     static void RegisterOptions(const SmartPtr<RegisteredOptions>& roptions);
    00084
    00085   private:
    00095     CGPenaltyCq();
    00096
    00098     CGPenaltyCq(const CGPenaltyCq&);
    00099
    00101     void operator=(const CGPenaltyCq&);
    00103
    00108     IpoptNLP* ip_nlp_;
    00109     IpoptData* ip_data_;
    00110     IpoptCalculatedQuantities* ip_cq_;
    00112
    00115     CachedResults<Number> curr_fast_direct_deriv_penalty_function_cache_;
    00116     CachedResults<Number> curr_jac_cd_norm_cache_;
    00117     CachedResults<Number> curr_scaled_y_Amax_cache_;
    00118     CachedResults<Number> curr_added_y_nrm2_cache_;
    00120     CachedResults<Number> curr_penalty_function_cache_;
    00122     CachedResults<Number> trial_penalty_function_cache_;
    00125     CachedResults<Number> curr_direct_deriv_penalty_function_cache_;
    00127     CachedResults<Number> curr_cg_pert_fact_cache_;
    00129
    00132     Number reference_infeasibility_;
    00134
    00137     bool initialize_called_;
    00138   };
    00139
    00140 } // namespace Ipopt
    00141
    00142 #endif