11 #ifndef ClpSimplexNonlinear_H 
   12 #define ClpSimplexNonlinear_H 
   14 class ClpNonlinearInfo;
 
   44      int primalSLP(
int numberPasses, 
double deltaTolerance,
 
   54                    int numberPasses, 
double deltaTolerance);
 
   64                            double & normFlagged, 
double & normUnflagged,
 
   65                            int & numberNonBasic);
 
   85                      double & solutionError,
 
   99                                   double & bestObjectiveWhenFlagged);
 
void directionVector(CoinIndexedVector *longArray, CoinIndexedVector *spare1, CoinIndexedVector *spare2, int mode, double &normFlagged, double &normUnflagged, int &numberNonBasic)
Creates direction vector. 
 
int primal()
Primal algorithms for reduced gradient At present we have two algorithms: 
 
int primalSLP(int numberPasses, double deltaTolerance, int otherOptions=0)
Primal algorithm for quadratic Using a semi-trust region approach as for pooling problem This is in b...
 
Constraint Abstract Base Class. 
 
For saving extra information to see if looping. 
 
int algorithm() const 
Current (or last) algorithm. 
 
Quadratic Objective Class. 
 
This solves non-linear LPs using the primal simplex method. 
 
CoinIndexedVector * columnArray(int index) const 
Useful column length arrays (0,1,2,3,4,5) 
 
ClpSimplexProgress * progress()
For dealing with all issues of cycling etc. 
 
int whileIterating(int &pivotMode)
Main part. 
 
void statusOfProblemInPrimal(int &lastCleaned, int type, ClpSimplexProgress *progress, bool doFactorization, double &bestObjectiveWhenFlagged)
Refactorizes if necessary Checks if finished. 
 
This solves LPs using the primal simplex method. 
 
int pivotColumn(CoinIndexedVector *longArray, CoinIndexedVector *rowArray, CoinIndexedVector *columnArray, CoinIndexedVector *spare, int &pivotMode, double &solutionError, double *array1)
longArray has direction pivotMode - 0 - use all dual infeasible variables 1 - largest dj while >= 10 ...
 
int pivotNonlinearResult()
Do last half of an iteration. 
 
CoinIndexedVector * rowArray(int index) const 
Useful row length arrays (0,1,2,3,4,5) 
 
int primalDualCuts(char *rowsIn, int startUp, int algorithm)
May use a cut approach for solving any LP.