/home/coin/SVN-release/CoinAll-1.1.0/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

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