/build/buildd/clp-1.12.0/Clp/src/ClpSimplexNonlinear.hpp
Go to the documentation of this file.
00001 /* $Id: ClpSimplexNonlinear.hpp 1525 2010-02-26 17:27:59Z mjs $ */
00002 // Copyright (C) 2004, International Business Machines
00003 // Corporation and others.  All Rights Reserved.
00004 
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