MoochoPack_EvalNewPointStd_Step.hpp

Go to the documentation of this file.
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 #ifndef EVAL_NEW_POINT_STD_STEP_H
00030 #define EVAL_NEW_POINT_STD_STEP_H
00031 
00032 #include "MoochoPack_DecompositionSystemHandler_Strategy.hpp"
00033 #include "IterationPack_AlgorithmStep.hpp"
00034 #include "ConstrainedOptPack_DecompositionSystemTester.hpp"
00035 #include "ConstrainedOptPack_VariableBoundsTester.hpp"
00036 #include "NLPInterfacePack_NLPFirstDerivTester.hpp"
00037 #include "Teuchos_StandardCompositionMacros.hpp"
00038 #include "Teuchos_StandardMemberCompositionMacros.hpp"
00039 
00040 namespace MoochoPack {
00041 
00048 class EvalNewPointStd_Step
00049   : public IterationPack::AlgorithmStep // doxygen needs full path
00050 {
00051 public:
00052 
00055 
00057   enum EFDDerivTesting   { FD_DEFAULT,  FD_TEST,  FD_NO_TEST  };
00058 
00060 
00063 
00065   STANDARD_COMPOSITION_MEMBERS( DecompositionSystemHandler_Strategy, decomp_sys_handler );
00067   STANDARD_COMPOSITION_MEMBERS( NLPFirstDerivTester, deriv_tester );
00069   STANDARD_COMPOSITION_MEMBERS( VariableBoundsTester, bounds_tester );
00071   STANDARD_COMPOSITION_MEMBERS( DecompositionSystemTester, decomp_sys_tester );
00076   STANDARD_MEMBER_COMPOSITION_MEMBERS( EFDDerivTesting, fd_deriv_testing );
00081   STANDARD_MEMBER_COMPOSITION_MEMBERS( DecompositionSystemHandler_Strategy::EDecompSysTesting, decomp_sys_testing );
00086   STANDARD_MEMBER_COMPOSITION_MEMBERS( DecompositionSystemHandler_Strategy::EDecompSysPrintLevel, decomp_sys_testing_print_level );
00087 
00092   EvalNewPointStd_Step(
00093     const decomp_sys_handler_ptr_t                              &decomp_sys_handler
00094     ,const deriv_tester_ptr_t                                   &deriv_tester
00095     ,const bounds_tester_ptr_t                                  &bounds_tester
00096     ,const decomp_sys_tester_ptr_t                              &decomp_sys_tester
00097     ,EFDDerivTesting                                            fd_deriv_testing               = FD_DEFAULT
00098     ,DecompositionSystemHandler_Strategy::EDecompSysTesting     decomp_sys_testing             = DecompositionSystemHandler_Strategy::DST_DEFAULT
00099     ,DecompositionSystemHandler_Strategy::EDecompSysPrintLevel  decomp_sys_testing_print_level = DecompositionSystemHandler_Strategy::DSPL_USE_GLOBAL
00100     );
00101 
00103 
00107   bool do_step(Algorithm& algo, poss_type step_poss, IterationPack::EDoStepType type
00108     , poss_type assoc_step_poss);
00110   void print_step( const Algorithm& algo, poss_type step_poss, IterationPack::EDoStepType type
00111     , poss_type assoc_step_poss, std::ostream& out, const std::string& leading_str ) const;
00113 
00114 private:
00115 
00116   // Not defined and not to be called
00117   EvalNewPointStd_Step();
00118 
00119 };  // end class EvalNewPointStd_Step
00120 
00121 } // end namespace MoochoPack 
00122 
00123 #endif  // EVAL_NEW_POINT_STD_STEP_H

Generated on Wed May 12 21:52:30 2010 for MOOCHO (Single Doxygen Collection) by  doxygen 1.4.7