Clp trunk
|
00001 /* $Id$ */ 00002 // Copyright (C) 2004, International Business Machines 00003 // Corporation and others. All Rights Reserved. 00004 // This code is licensed under the terms of the Eclipse Public License (EPL). 00005 /* 00006 Authors 00007 00008 John Forrest 00009 00010 */ 00011 #ifndef ClpSimplexNonlinear_H 00012 #define ClpSimplexNonlinear_H 00013 00014 class ClpNonlinearInfo; 00015 class ClpQuadraticObjective; 00016 class ClpConstraint; 00017 00018 #include "ClpSimplexPrimal.hpp" 00019 00028 class ClpSimplexNonlinear : public ClpSimplexPrimal { 00029 00030 public: 00031 00038 00039 int primal(); 00045 int primalSLP(int numberPasses, double deltaTolerance); 00051 int primalSLP(int numberConstraints, ClpConstraint ** constraints, 00052 int numberPasses, double deltaTolerance); 00053 00059 void directionVector (CoinIndexedVector * longArray, 00060 CoinIndexedVector * spare1, CoinIndexedVector * spare2, 00061 int mode, 00062 double & normFlagged, double & normUnflagged, 00063 int & numberNonBasic); 00065 int whileIterating (int & pivotMode); 00078 int pivotColumn(CoinIndexedVector * longArray, 00079 CoinIndexedVector * rowArray, 00080 CoinIndexedVector * columnArray, 00081 CoinIndexedVector * spare, 00082 int & pivotMode, 00083 double & solutionError, 00084 double * array1); 00094 void statusOfProblemInPrimal(int & lastCleaned, int type, 00095 ClpSimplexProgress * progress, 00096 bool doFactorization, 00097 double & bestObjectiveWhenFlagged); 00110 int pivotNonlinearResult(); 00112 00113 }; 00114 #endif 00115