source: trunk/Algorithm/IpIterationOutput.hpp @ 2

Last change on this file since 2 was 2, checked in by andreasw, 15 years ago

Initial revision

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 1.7 KB
Line 
1// Copyright (C) 2004, International Business Machines and others.
2// All Rights Reserved.
3// This code is published under the Common Public License.
4//
5// $Id: IpIterationOutput.hpp 2 2004-10-21 01:03:09Z andreasw $
6//
7// Authors:  Andreas Waechter, Carl Laird       IBM    2004-09-27
8
9#ifndef __IPITERATIONOUTPUT_HPP__
10#define __IPITERATIONOUTPUT_HPP__
11
12#include "IpUtils.hpp"
13#include "IpAlgStrategy.hpp"
14#include "IpIpoptNLP.hpp"
15#include "IpIpoptData.hpp"
16#include "IpIpoptCalculatedQuantities.hpp"
17
18namespace Ipopt
19{
20
21  /** Base class for objects that do the output summary per iteration.
22   */
23  class IterationOutput: public AlgorithmStrategyObject
24  {
25  public:
26    /**@name Constructors/Destructors */
27    //@{
28    /** Default Constructor */
29    IterationOutput()
30    {}
31
32    /** Default destructor */
33    virtual ~IterationOutput()
34    {}
35    //@}
36
37    /** overloaded from AlgorithmStrategyObject */
38    virtual bool InitializeImpl(const OptionsList& options,
39                                const std::string& prefix) = 0;
40
41    /** Method to do all the summary output per iteration.  This
42     *  include the one-line summary output as well as writing the
43     *  details about the iterates if desired */
44    virtual void WriteOutput() = 0;
45
46  private:
47    /**@name Default Compiler Generated Methods (Hidden to avoid
48     * implicit creation/calling).  These methods are not implemented
49     * and we do not want the compiler to implement them for us, so we
50     * declare them private and do not define them. This ensures that
51     * they will not be implicitly created/called. */
52    //@{
53    /** Copy Constructor */
54    IterationOutput(const IterationOutput&);
55
56    /** Overloaded Equals Operator */
57    void operator=(const IterationOutput&);
58    //@}
59
60  };
61
62} // namespace Ipopt
63
64#endif
Note: See TracBrowser for help on using the repository browser.