Clp  1.15.10
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
ClpSimplexNonlinear.hpp
Go to the documentation of this file.
1 /* $Id: ClpSimplexNonlinear.hpp 1665 2011-01-04 17:55:54Z lou $ */
2 // Copyright (C) 2004, International Business Machines
3 // Corporation and others. All Rights Reserved.
4 // This code is licensed under the terms of the Eclipse Public License (EPL).
5 /*
6  Authors
7 
8  John Forrest
9 
10  */
11 #ifndef ClpSimplexNonlinear_H
12 #define ClpSimplexNonlinear_H
13 
14 class ClpNonlinearInfo;
16 class ClpConstraint;
17 
18 #include "ClpSimplexPrimal.hpp"
19 
29 
30 public:
31 
38  int primal();
45  int primalSLP(int numberPasses, double deltaTolerance);
51  int primalSLP(int numberConstraints, ClpConstraint ** constraints,
52  int numberPasses, double deltaTolerance);
53 
59  void directionVector (CoinIndexedVector * longArray,
60  CoinIndexedVector * spare1, CoinIndexedVector * spare2,
61  int mode,
62  double & normFlagged, double & normUnflagged,
63  int & numberNonBasic);
65  int whileIterating (int & pivotMode);
78  int pivotColumn(CoinIndexedVector * longArray,
79  CoinIndexedVector * rowArray,
80  CoinIndexedVector * columnArray,
81  CoinIndexedVector * spare,
82  int & pivotMode,
83  double & solutionError,
84  double * array1);
94  void statusOfProblemInPrimal(int & lastCleaned, int type,
96  bool doFactorization,
97  double & bestObjectiveWhenFlagged);
110  int pivotNonlinearResult();
112 
113 };
114 #endif
115 
int pivotNonlinearResult()
Do last half of an iteration.
void statusOfProblemInPrimal(int &lastCleaned, int type, ClpSimplexProgress *progress, bool doFactorization, double &bestObjectiveWhenFlagged)
Refactorizes if necessary Checks if finished.
void directionVector(CoinIndexedVector *longArray, CoinIndexedVector *spare1, CoinIndexedVector *spare2, int mode, double &normFlagged, double &normUnflagged, int &numberNonBasic)
Creates direction vector.
Quadratic Objective Class.
Constraint Abstract Base Class.
For saving extra information to see if looping.
Definition: ClpSolve.hpp:252
int primalSLP(int numberPasses, double deltaTolerance)
Primal algorithm for quadratic Using a semi-trust region approach as for pooling problem This is in b...
int primal()
Primal algorithms for reduced gradient At present we have two algorithms:
CoinIndexedVector * columnArray(int index) const
Useful column length arrays (0,1,2,3,4,5)
Definition: ClpSimplex.hpp:706
int whileIterating(int &pivotMode)
Main part.
ClpSimplexProgress * progress()
For dealing with all issues of cycling etc.
CoinIndexedVector * rowArray(int index) const
Useful row length arrays (0,1,2,3,4,5)
Definition: ClpSimplex.hpp:702
int pivotColumn(CoinIndexedVector *longArray, CoinIndexedVector *rowArray, CoinIndexedVector *columnArray, CoinIndexedVector *spare, int &pivotMode, double &solutionError, double *array1)
longArray has direction pivotMode - 0 - use all dual infeasible variables 1 - largest dj while >= 10 ...
This solves LPs using the primal simplex method.
This solves non-linear LPs using the primal simplex method.