11 #ifndef ClpSimplexNonlinear_H
12 #define ClpSimplexNonlinear_H
14 class ClpNonlinearInfo;
43 int primalSLP(
int numberPasses,
double deltaTolerance,
44 int otherOptions = 0);
53 int numberPasses,
double deltaTolerance);
63 double &normFlagged,
double &normUnflagged,
84 double &solutionError,
98 double &bestObjectiveWhenFlagged);
int pivotNonlinearResult()
Do last half of an iteration.
void statusOfProblemInPrimal(int &lastCleaned, int type, ClpSimplexProgress *progress, bool doFactorization, double &bestObjectiveWhenFlagged)
Refactorizes if necessary Checks if finished.
void directionVector(CoinIndexedVector *longArray, CoinIndexedVector *spare1, CoinIndexedVector *spare2, int mode, double &normFlagged, double &normUnflagged, int &numberNonBasic)
Creates direction vector.
Quadratic Objective Class.
Constraint Abstract Base Class.
For saving extra information to see if looping.
int primal()
Primal algorithms for reduced gradient At present we have two algorithms:
int algorithm() const
Current (or last) algorithm.
CoinIndexedVector * columnArray(int index) const
Useful column length arrays (0,1,2,3,4,5)
int whileIterating(int &pivotMode)
Main part.
ClpSimplexProgress * progress()
For dealing with all issues of cycling etc.
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...
CoinIndexedVector * rowArray(int index) const
Useful row length arrays (0,1,2,3,4,5)
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 primalDualCuts(char *rowsIn, int startUp, int algorithm)
May use a cut approach for solving any LP.
This solves LPs using the primal simplex method.
This solves non-linear LPs using the primal simplex method.