00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef ClpSimplexNonlinear_H
00011 #define ClpSimplexNonlinear_H
00012
00013 class ClpNonlinearInfo;
00014 class ClpQuadraticObjective;
00015 class ClpConstraint;
00016
00017 #include "ClpSimplexPrimal.hpp"
00018
00027 class ClpSimplexNonlinear : public ClpSimplexPrimal {
00028
00029 public:
00030
00037
00038 int primal();
00044 int primalSLP(int numberPasses, double deltaTolerance);
00050 int primalSLP(int numberConstraints, ClpConstraint ** constraints,
00051 int numberPasses, double deltaTolerance);
00052
00058 void directionVector (CoinIndexedVector * longArray,
00059 CoinIndexedVector * spare1, CoinIndexedVector * spare2,
00060 int mode,
00061 double & normFlagged,double & normUnflagged,
00062 int & numberNonBasic);
00064 int whileIterating (int & pivotMode);
00077 int pivotColumn(CoinIndexedVector * longArray,
00078 CoinIndexedVector * rowArray,
00079 CoinIndexedVector * columnArray,
00080 CoinIndexedVector * spare,
00081 int & pivotMode,
00082 double & solutionError,
00083 double * array1);
00093 void statusOfProblemInPrimal(int & lastCleaned, int type,
00094 ClpSimplexProgress * progress,
00095 bool doFactorization,
00096 double & bestObjectiveWhenFlagged);
00109 int pivotNonlinearResult();
00111
00112 };
00113 #endif
00114