Ipopt  trunk
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
IpTDependencyDetector.hpp
Go to the documentation of this file.
00001 // Copyright (C) 2007 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            IBM    2007-04-17
00008 
00009 #ifndef __IPTDEPENDENCYDETECTOR_HPP__
00010 #define __IPTDEPENDENCYDETECTOR_HPP__
00011 
00012 #include "IpAlgStrategy.hpp"
00013 #include <list>
00014 
00015 namespace Ipopt
00016 {
00017 
00020   class TDependencyDetector: public AlgorithmStrategyObject
00021   {
00022   public:
00025     TDependencyDetector()
00026     {}
00027 
00028     virtual ~TDependencyDetector()
00029     {}
00031 
00033     virtual bool InitializeImpl(const OptionsList& options,
00034                                 const std::string& prefix) = 0;
00035 
00044     virtual bool DetermineDependentRows(Index n_rows, Index n_cols,
00045                                         Index n_jac_nz,
00046                                         Number* jac_c_vals,
00047                                         Index* jac_c_iRow,
00048                                         Index* jac_c_jCol,
00049                                         std::list<Index>& c_deps) = 0;
00050 
00051   private:
00061     TDependencyDetector(const TDependencyDetector&);
00062 
00064     void operator=(const TDependencyDetector&);
00066 
00067   };
00068 
00069 } // namespace Ipopt
00070 
00071 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines