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
00050 void directionVector (CoinIndexedVector * longArray,
00051 CoinIndexedVector * spare1, CoinIndexedVector * spare2,
00052 int mode,
00053 double & normFlagged,double & normUnflagged,
00054 int & numberNonBasic);
00056 int whileIterating (int & pivotMode);
00069 int pivotColumn(CoinIndexedVector * longArray,
00070 CoinIndexedVector * rowArray,
00071 CoinIndexedVector * columnArray,
00072 CoinIndexedVector * spare,
00073 int & pivotMode,
00074 double & solutionError,
00075 double * array1);
00085 void statusOfProblemInPrimal(int & lastCleaned, int type,
00086 ClpSimplexProgress * progress,
00087 bool doFactorization,
00088 double & bestObjectiveWhenFlagged);
00101 int pivotNonlinearResult();
00103
00104 };
00105 #endif
00106