|
MoochoPack : Framework for Large-Scale Optimization Algorithms Version of the Day
|
00001 // @HEADER 00002 // *********************************************************************** 00003 // 00004 // Moocho: Multi-functional Object-Oriented arCHitecture for Optimization 00005 // Copyright (2003) Sandia Corporation 00006 // 00007 // Under terms of Contract DE-AC04-94AL85000, there is a non-exclusive 00008 // license for use of this work by or on behalf of the U.S. Government. 00009 // 00010 // This library is free software; you can redistribute it and/or modify 00011 // it under the terms of the GNU Lesser General Public License as 00012 // published by the Free Software Foundation; either version 2.1 of the 00013 // License, or (at your option) any later version. 00014 // 00015 // This library is distributed in the hope that it will be useful, but 00016 // WITHOUT ANY WARRANTY; without even the implied warranty of 00017 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00018 // Lesser General Public License for more details. 00019 // 00020 // You should have received a copy of the GNU Lesser General Public 00021 // License along with this library; if not, write to the Free Software 00022 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 00023 // USA 00024 // Questions? Contact Roscoe A. Bartlett (rabartl@sandia.gov) 00025 // 00026 // *********************************************************************** 00027 // @HEADER 00028 // 00029 00030 #if !defined IP_STATE_H 00031 #define IP_STATE_H 00032 00033 #include "MoochoPack_NLPAlgoState.hpp" 00034 00035 namespace MoochoPack { 00036 00037 // Iteration Quantity Strings 00038 extern const std::string barrier_parameter_name; 00039 extern const std::string barrier_obj_name; 00040 extern const std::string grad_barrier_obj_name; 00041 extern const std::string e_tol_name; 00042 extern const std::string comp_err_mu_name; 00043 extern const std::string Vu_name; 00044 extern const std::string Vl_name; 00045 extern const std::string invXu_name; 00046 extern const std::string invXl_name; 00047 extern const std::string rHB_name; 00048 extern const std::string B_name; 00049 extern const std::string Sigma_name; 00050 extern const std::string w_sigma_name; 00051 extern const std::string dvl_name; 00052 extern const std::string dvu_name; 00053 extern const std::string alpha_vl_name; 00054 extern const std::string alpha_vu_name; 00055 00056 00057 class IpState 00058 : public MoochoPack::NLPAlgoState 00059 { 00060 00061 public: 00063 00065 STATE_SCALAR_IQ_DECL(barrier_parameter) 00066 00067 00068 // barrier term included 00069 STATE_SCALAR_IQ_DECL(barrier_obj) 00070 00072 // with barrier term included 00073 STATE_VECTOR_IQ_DECL(grad_barrier_obj) 00074 00076 STATE_SCALAR_IQ_DECL(e_tol) 00077 00079 STATE_SCALAR_IQ_DECL(comp_err_mu) 00080 00082 STATE_IQ_DECL(MatrixSymDiagStd, Vu) 00083 00085 STATE_IQ_DECL(MatrixSymDiagStd, Vl) 00086 00088 STATE_IQ_DECL(MatrixSymDiagStd, invXu) 00089 00091 STATE_IQ_DECL(MatrixSymDiagStd, invXl) 00092 00094 STATE_IQ_DECL(MatrixSymOp, rHB) 00095 00097 STATE_IQ_DECL(MatrixSymOp, B) 00098 00100 STATE_IQ_DECL(MatrixSymDiagStd, Sigma) 00101 00103 STATE_VECTOR_IQ_DECL(w_sigma) 00104 00106 STATE_VECTOR_IQ_DECL(dvl) 00107 00109 STATE_VECTOR_IQ_DECL(dvu) 00110 00112 STATE_SCALAR_IQ_DECL(alpha_vl) 00113 00115 STATE_SCALAR_IQ_DECL(alpha_vu) 00116 00121 IpState( 00122 const decomp_sys_ptr_t& decomp_sys = Teuchos::null 00123 ,const vec_space_ptr_t& space_x = Teuchos::null 00124 ,const vec_space_ptr_t& space_c = Teuchos::null 00125 ,const vec_space_ptr_t& space_range = Teuchos::null 00126 ,const vec_space_ptr_t& space_null = Teuchos::null 00127 ); 00128 00129 virtual ~IpState(); 00130 00131 }; // end class IpState 00132 00133 } // end namespace MoochoPack 00134 00135 00136 00137 #endif // if !defined IP_STATE_H
1.7.4