/home/coin/SVN-release/CoinAll-1.1.0/Clp/src/ClpPredictorCorrector.hpp

Go to the documentation of this file.
00001 // Copyright (C) 2003, International Business Machines
00002 // Corporation and others.  All Rights Reserved.
00003 
00004 /* 
00005    Authors
00006    
00007    John Forrest
00008 
00009  */
00010 #ifndef ClpPredictorCorrector_H
00011 #define ClpPredictorCorrector_H
00012 
00013 #include "ClpInterior.hpp"
00014 
00036 class ClpPredictorCorrector : public ClpInterior {
00037 
00038 public:
00039 
00049   int solve();
00051 
00054 
00055   //phase  - 0 predictor
00056   //         1 corrector
00057   //         2 primal dual
00058   double findStepLength( int phase);
00060   double findDirectionVector(const int phase);
00062   int createSolution();
00064   //phase 0=as is , 1 = after predictor , 2 after corrector
00065   double complementarityGap(int & numberComplementarityPairs,int & numberComplementarityItems,
00066                             const int phase);
00068   //phase 0=affine , 1 = corrector , 2 = primal-dual
00069   void setupForSolve(const int phase);
00071   void solveSystem(double * region1, double * region2,
00072                    const double * region1In, const double * region2In,
00073                    const double * saveRegion1, const double * saveRegion2,
00074                    bool gentleRefine);
00076   bool checkGoodMove(const bool doCorrector,double & bestNextGap,
00077                      bool allowIncreasingGap);
00079   bool checkGoodMove2(double move,double & bestNextGap,
00080                       bool allowIncreasingGap);
00082   //returns number fixed
00083   int updateSolution(double nextGap);
00085   double affineProduct();
00087   void debugMove(int phase,double primalStep, double dualStep);
00089 
00090 };
00091 #endif

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