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

ClpPredictorCorrector Class Reference

This solves LPs using the predictor-corrector method. More...

#include <ClpPredictorCorrector.hpp>

Inheritance diagram for ClpPredictorCorrector:

ClpInterior ClpModel List of all members.

Public Methods

Description of algorithm
int solve ()
 Primal Dual Predictor Corrector algorithm.

Functions used in algorithm
double findStepLength (int phase)
 findStepLength.

double findDirectionVector (const int phase)
 findDirectionVector.

int createSolution ()
 createSolution. Creates solution from scratch (- code if no memory)

double complementarityGap (int &numberComplementarityPairs, int &numberComplementarityItems, const int phase)
 complementarityGap. Computes gap

void setupForSolve (const int phase)
 setupForSolve.

void solveSystem (double *region1, double *region2, const double *region1In, const double *region2In, const double *saveRegion1, const double *saveRegion2, bool gentleRefine)
 Does solve.

bool checkGoodMove (const bool doCorrector, double &bestNextGap, bool allowIncreasingGap)
 sees if looks plausible change in complementarity

bool checkGoodMove2 (double move, double &bestNextGap, bool allowIncreasingGap)
 : checks for one step size

int updateSolution (double nextGap)
 updateSolution. Updates solution at end of iteration

double affineProduct ()
 Save info on products of affine deltaT*deltaW and deltaS*deltaZ.

void debugMove (int phase, double primalStep, double dualStep)
 See exactly what would happen given current deltas.


Detailed Description

This solves LPs using the predictor-corrector method.

It is rather basic as Interior point is not my speciality

It inherits from ClpInterior. It has no data of its own and is never created - only cast from a ClpInterior object at algorithm time.

Definition at line 24 of file ClpPredictorCorrector.hpp.


Member Function Documentation

int ClpPredictorCorrector::solve  
 

Primal Dual Predictor Corrector algorithm.

Method

Big TODO

double ClpPredictorCorrector::findStepLength int    phase
 

findStepLength.

double ClpPredictorCorrector::findDirectionVector const int    phase
 

findDirectionVector.

int ClpPredictorCorrector::createSolution  
 

createSolution. Creates solution from scratch (- code if no memory)

double ClpPredictorCorrector::complementarityGap int &    numberComplementarityPairs,
int &    numberComplementarityItems,
const int    phase
 

complementarityGap. Computes gap

void ClpPredictorCorrector::setupForSolve const int    phase
 

setupForSolve.

void ClpPredictorCorrector::solveSystem double *    region1,
double *    region2,
const double *    region1In,
const double *    region2In,
const double *    saveRegion1,
const double *    saveRegion2,
bool    gentleRefine
 

Does solve.

region1 is for deltaX (columns+rows), region2 for deltaPi (rows)

bool ClpPredictorCorrector::checkGoodMove const bool    doCorrector,
double &    bestNextGap,
bool    allowIncreasingGap
 

sees if looks plausible change in complementarity

bool ClpPredictorCorrector::checkGoodMove2 double    move,
double &    bestNextGap,
bool    allowIncreasingGap
 

: checks for one step size

int ClpPredictorCorrector::updateSolution double    nextGap
 

updateSolution. Updates solution at end of iteration

double ClpPredictorCorrector::affineProduct  
 

Save info on products of affine deltaT*deltaW and deltaS*deltaZ.

void ClpPredictorCorrector::debugMove int    phase,
double    primalStep,
double    dualStep
 

See exactly what would happen given current deltas.


The documentation for this class was generated from the following file:
Generated on Fri Aug 6 02:01:36 2004 by doxygen1.3-rc2