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