00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
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
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
00117 EvalNewPointStd_Step();
00118
00119 };
00120
00121 }
00122
00123 #endif // EVAL_NEW_POINT_STD_STEP_H