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
00016 #include "ClpSimplexPrimal.hpp"
00017
00026 class ClpSimplexNonlinear : public ClpSimplexPrimal {
00027
00028 public:
00029
00036
00037 int primal();
00043 int primalSLP(int numberPasses, double deltaTolerance);
00044
00049 void directionVector (CoinIndexedVector * longArray,
00050 CoinIndexedVector * spare1, CoinIndexedVector * spare2,
00051 int mode,
00052 double & normFlagged,
00053 int & numberNonBasic);
00055 int whileIterating (int & pivotMode);
00068 int pivotColumn(CoinIndexedVector * longArray,
00069 CoinIndexedVector * rowArray,
00070 CoinIndexedVector * columnArray,
00071 CoinIndexedVector * spare,
00072 int & pivotMode,
00073 double & nullError);
00083 void statusOfProblemInPrimal(int & lastCleaned, int type,
00084 ClpSimplexProgress * progress,
00085 bool doFactorization,
00086 double & bestObjectiveWhenFlagged);
00099 int pivotNonlinearResult();
00101
00102 };
00103 #endif
00104