• Main Page
  • Classes
  • Files
  • File List
  • File Members

/build/buildd/clp-1.11.1/Clp/src/ClpPredictorCorrector.hpp

Go to the documentation of this file.
00001 /* $Id: ClpPredictorCorrector.hpp 1458 2009-11-05 12:34:07Z forrest $ */
00002 // Copyright (C) 2003, International Business Machines
00003 // Corporation and others.  All Rights Reserved.
00004 
00005 /* 
00006    Authors
00007    
00008    John Forrest
00009 
00010  */
00011 #ifndef ClpPredictorCorrector_H
00012 #define ClpPredictorCorrector_H
00013 
00014 #include "ClpInterior.hpp"
00015 
00037 class ClpPredictorCorrector : public ClpInterior {
00038 
00039 public:
00040 
00050   int solve();
00052 
00055 
00056   //phase  - 0 predictor
00057   //         1 corrector
00058   //         2 primal dual
00059   CoinWorkDouble findStepLength( int phase);
00061   CoinWorkDouble findDirectionVector(const int phase);
00063   int createSolution();
00065   //phase 0=as is , 1 = after predictor , 2 after corrector
00066   CoinWorkDouble complementarityGap(int & numberComplementarityPairs,int & numberComplementarityItems,
00067                             const int phase);
00069   //phase 0=affine , 1 = corrector , 2 = primal-dual
00070   void setupForSolve(const int phase);
00072   void solveSystem(CoinWorkDouble * region1, CoinWorkDouble * region2,
00073                    const CoinWorkDouble * region1In, const CoinWorkDouble * region2In,
00074                    const CoinWorkDouble * saveRegion1, const CoinWorkDouble * saveRegion2,
00075                    bool gentleRefine);
00077   bool checkGoodMove(const bool doCorrector,CoinWorkDouble & bestNextGap,
00078                      bool allowIncreasingGap);
00080   bool checkGoodMove2(CoinWorkDouble move,CoinWorkDouble & bestNextGap,
00081                       bool allowIncreasingGap);
00083   //returns number fixed
00084   int updateSolution(CoinWorkDouble nextGap);
00086   CoinWorkDouble affineProduct();
00088   void debugMove(int phase,CoinWorkDouble primalStep, CoinWorkDouble dualStep);
00090 
00091 };
00092 #endif

Generated on Fri Aug 20 2010 06:29:28 by  doxygen 1.7.1