Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

/home/coinadmin/Update/COIN/Clp/include/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 
00024 class ClpPredictorCorrector : public ClpInterior {
00025 
00026 public:
00027 
00037   int solve();
00039 
00042 
00043   //phase  - 0 predictor
00044   //         1 corrector
00045   //         2 primal dual
00046   double findStepLength( int phase);
00048   double findDirectionVector(const int phase);
00050   int createSolution();
00052   //phase 0=as is , 1 = after predictor , 2 after corrector
00053   double complementarityGap(int & numberComplementarityPairs,int & numberComplementarityItems,
00054                             const int phase);
00056   //phase 0=affine , 1 = corrector , 2 = primal-dual
00057   void setupForSolve(const int phase);
00059   void solveSystem(double * region1, double * region2,
00060                    const double * region1In, const double * region2In,
00061                    const double * saveRegion1, const double * saveRegion2,
00062                    bool gentleRefine);
00064   bool checkGoodMove(const bool doCorrector,double & bestNextGap,
00065                      bool allowIncreasingGap);
00067   bool checkGoodMove2(double move,double & bestNextGap,
00068                       bool allowIncreasingGap);
00070   //returns number fixed
00071   int updateSolution(double nextGap);
00073   double affineProduct();
00075   void debugMove(int phase,double primalStep, double dualStep);
00077 
00078 };
00079 #endif

Generated on Fri Aug 6 02:01:32 2004 by doxygen1.3-rc2