Ipopt
trunk
|
00001 // Copyright (C) 2004, 2011 International Business Machines and others. 00002 // All Rights Reserved. 00003 // This code is published under the Eclipse Public License. 00004 // 00005 // $Id$ 00006 // 00007 // Authors: Andreas Waechter, Carl Laird IBM 2004-09-27 00008 00009 #ifndef __IPITERATIONOUTPUT_HPP__ 00010 #define __IPITERATIONOUTPUT_HPP__ 00011 00012 #include "IpAlgStrategy.hpp" 00013 #include "IpIpoptNLP.hpp" 00014 #include "IpIpoptData.hpp" 00015 #include "IpIpoptCalculatedQuantities.hpp" 00016 00017 namespace Ipopt 00018 { 00019 00022 class IterationOutput: public AlgorithmStrategyObject 00023 { 00024 public: 00028 IterationOutput() 00029 {} 00030 00032 virtual ~IterationOutput() 00033 {} 00035 00037 virtual bool InitializeImpl(const OptionsList& options, 00038 const std::string& prefix) = 0; 00039 00043 virtual void WriteOutput() = 0; 00044 00045 protected: 00047 enum InfPrOutput 00048 { 00049 INTERNAL=0, 00050 ORIGINAL 00051 }; 00052 00053 private: 00061 IterationOutput(const IterationOutput&); 00062 00064 void operator=(const IterationOutput&); 00066 00067 }; 00068 00069 } // namespace Ipopt 00070 00071 #endif