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);
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.