# IpPDSearchDirCalc.hpp

Go to the documentation of this file.

    00001 // Copyright (C) 2005, 2009 International Business Machines and others.
    00002 // All Rights Reserved.
    00003 // This code is published under the Eclipse Public License.
    00004 //
    00005 // $Id: IpPDSearchDirCalc.hpp 1861 2010-12-21 21:34:47Z andreasw $
    00006 //
    00007 // Authors:  Andreas Waechter            IBM    2005-10-13
    00008
    00009 #ifndef __IPPDSEARCHDIRCALC_HPP__
    00010 #define __IPPDSEARCHDIRCALC_HPP__
    00011
    00012 #include "IpSearchDirCalculator.hpp"
    00013 #include "IpPDSystemSolver.hpp"
    00014
    00015 namespace Ipopt
    00016 {
    00017
    00021   class PDSearchDirCalculator : public SearchDirectionCalculator
    00022   {
    00023   public:
    00027     PDSearchDirCalculator(const SmartPtr<PDSystemSolver>& pd_solver);
    00028
    00030     virtual ~PDSearchDirCalculator();
    00032
    00034     virtual bool InitializeImpl(const OptionsList& options,
    00035                                 const std::string& prefix);
    00036
    00039     virtual bool ComputeSearchDirection();
    00040
    00043     static void RegisterOptions(const SmartPtr<RegisteredOptions>& roptions);
    00045
    00047     SmartPtr<PDSystemSolver> PDSolver()
    00048     {
    00049       return pd_solver_;
    00050     }
    00051
    00052   private:
    00062     PDSearchDirCalculator();
    00063
    00065     PDSearchDirCalculator(const PDSearchDirCalculator&);
    00066
    00068     void operator=(const PDSearchDirCalculator&);
    00070
    00073     SmartPtr<PDSystemSolver> pd_solver_;
    00075
    00081     bool fast_step_computation_;
    00085     bool mehrotra_algorithm_;
    00087
    00088   };
    00089
    00090 } // namespace Ipopt
    00091
    00092 #endif

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines