/home/coin/SVN-release/CoinAll-1.1.0/Ipopt/src/Algorithm/IpProbingMuOracle.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: IpProbingMuOracle.hpp 735 2006-06-04 06:10:05Z andreasw $
00006 //
00007 // Authors:  Carl Laird, Andreas Waechter     IBM    2004-08-13
00008 
00009 #ifndef __IPPROBINGMUORACLE_HPP__
00010 #define __IPPROBINGMUORACLE_HPP__
00011 
00012 #include "IpMuOracle.hpp"
00013 #include "IpPDSystemSolver.hpp"
00014 
00015 namespace Ipopt
00016 {
00017 
00021   class ProbingMuOracle : public MuOracle
00022   {
00023   public:
00027     ProbingMuOracle(const SmartPtr<PDSystemSolver>& pd_solver);
00029     virtual ~ProbingMuOracle();
00031 
00033     virtual bool InitializeImpl(const OptionsList& options,
00034                                 const std::string& prefix);
00035 
00040     virtual bool CalculateMu(Number mu_min, Number mu_max, Number& new_mu);
00041 
00044     static void RegisterOptions(SmartPtr<RegisteredOptions> roptions);
00046 
00047   private:
00056 
00058     ProbingMuOracle();
00060     ProbingMuOracle(const ProbingMuOracle&);
00061 
00063     void operator=(const ProbingMuOracle&);
00065 
00069     SmartPtr<PDSystemSolver> pd_solver_;
00070 
00074     Number CalculateAffineMu(Number alpha_primal,
00075                              Number alpha_dual,
00076                              const IteratesVector& step);
00077 
00081     Number sigma_max_;
00083   };
00084 
00085 } // namespace Ipopt
00086 
00087 #endif

Generated on Sun Nov 14 14:06:35 2010 for Coin-All by  doxygen 1.4.7