- Main Page
- Namespaces
- Classes
- Files

- File List
- File Members

# /home/coin/SVN-release/Ipopt-3.2.1/Ipopt/src/Algorithm/IpRestoIterateInitializer.hpp

Go to the documentation of this file.

    00001 // Copyright (C) 2004, 2006 International Business Machines and others.
    00002 // All Rights Reserved.
    00003 // This code is published under the Common Public License.
    00004 //
    00005 // $Id: IpRestoIterateInitializer.hpp 759 2006-07-07 03:07:08Z andreasw $
    00006 //
    00007 // Authors:  Carl Laird, Andreas Waechter              IBM    2004-09-24
    00008
    00009 #ifndef __IPRESTOITERATEINITIALIZER_HPP__
    00010 #define __IPRESTOITERATEINITIALIZER_HPP__
    00011
    00012 #include "IpIterateInitializer.hpp"
    00013 #include "IpEqMultCalculator.hpp"
    00014
    00015 namespace Ipopt
    00016 {
    00022   class RestoIterateInitializer: public IterateInitializer
    00023   {
    00024   public:
    00030     RestoIterateInitializer
    00031     (const SmartPtr<EqMultiplierCalculator>& eq_mult_calculator);
    00032
    00034     virtual ~RestoIterateInitializer()
    00035     {}
    00037
    00039     virtual bool InitializeImpl(const OptionsList& options,
    00040                                 const std::string& prefix);
    00041
    00044     virtual bool SetInitialIterates();
    00045
    00048     static void RegisterOptions(SmartPtr<RegisteredOptions> roptions);
    00050
    00051   private:
    00061     RestoIterateInitializer();
    00062
    00064     RestoIterateInitializer(const RestoIterateInitializer&);
    00065
    00067     void operator=(const RestoIterateInitializer&);
    00069
    00075     Number constr_mult_init_max_;
    00077
    00080     SmartPtr<EqMultiplierCalculator> resto_eq_mult_calculator_;
    00081
    00086     void solve_quadratic(const Vector& a, const Vector& b, Vector& v);
    00088   };
    00089
    00090 } // namespace Ipopt
    00091
    00092 #endif