00001 // Copyright (C) 2005, 2006 International Business Machines and others. 00002 // All Rights Reserved. 00003 // This code is published under the Common Public License. 00004 // 00005 // $Id: IpHessianUpdater.hpp 759 2006-07-07 03:07:08Z andreasw $ 00006 // 00007 // Authors: Andreas Waechter IBM 2005-12-26 00008 00009 #ifndef __IPHESSIANUPDATER_HPP__ 00010 #define __IPHESSIANUPDATER_HPP__ 00011 00012 #include "IpAlgStrategy.hpp" 00013 00014 namespace Ipopt 00015 { 00016 00022 class HessianUpdater : public AlgorithmStrategyObject 00023 { 00024 public: 00028 HessianUpdater() 00029 {} 00030 00032 virtual ~HessianUpdater() 00033 {} 00035 00037 virtual bool InitializeImpl(const OptionsList& options, 00038 const std::string& prefix) = 0; 00039 00043 virtual void UpdateHessian() = 0; 00044 00045 private: 00055 HessianUpdater(const HessianUpdater&); 00056 00058 void operator=(const HessianUpdater&); 00060 00061 }; 00062 00063 } // namespace Ipopt 00064 00065 #endif