Clp 1.17.6

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- File List
- File Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ClpSimplexNonlinear.hpp
Go to the documentation of this file.
1 /* $Id: ClpSimplexNonlinear.hpp 2385 2019-01-06 19:43:06Z unxusr $ */
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;
15 class ClpQuadraticObjective;
16 class ClpConstraint;
17
18 #include "ClpSimplexPrimal.hpp"
19
28 class ClpSimplexNonlinear : public ClpSimplexPrimal {
29
30 public:
37 int primal();
43 int primalSLP(int numberPasses, double deltaTolerance,
44 int otherOptions = 0);
46 int primalDualCuts(char *rowsIn, int startUp, int algorithm);
52 int primalSLP(int numberConstraints, ClpConstraint **constraints,
53 int numberPasses, double deltaTolerance);
54
60 void directionVector(CoinIndexedVector *longArray,
61 CoinIndexedVector *spare1, CoinIndexedVector *spare2,
62 int mode,
63 double &normFlagged, double &normUnflagged,
64 int &numberNonBasic);
66 int whileIterating(int &pivotMode);
79 int pivotColumn(CoinIndexedVector *longArray,
80 CoinIndexedVector *rowArray,
81 CoinIndexedVector *columnArray,
82 CoinIndexedVector *spare,
83 int &pivotMode,
84 double &solutionError,
85 double *array1);
95 void statusOfProblemInPrimal(int &lastCleaned, int type,
96 ClpSimplexProgress *progress,
97 bool doFactorization,
98 double &bestObjectiveWhenFlagged);
111 int pivotNonlinearResult();
113 };
114 #endif
115
116 /* vi: softtabstop=2 shiftwidth=2 expandtab tabstop=2
117 */
ClpSimplexNonlinear::pivotNonlinearResult
int pivotNonlinearResult()
Do last half of an iteration.
ClpSimplexNonlinear::statusOfProblemInPrimal
void statusOfProblemInPrimal(int &lastCleaned, int type, ClpSimplexProgress *progress, bool doFactorization, double &bestObjectiveWhenFlagged)
Refactorizes if necessary Checks if finished.
ClpSimplexNonlinear::directionVector
void directionVector(CoinIndexedVector *longArray, CoinIndexedVector *spare1, CoinIndexedVector *spare2, int mode, double &normFlagged, double &normUnflagged, int &numberNonBasic)
Creates direction vector.
ClpQuadraticObjective
Quadratic Objective Class.
Definition: ClpQuadraticObjective.hpp:18
ClpConstraint
Constraint Abstract Base Class.
Definition: ClpConstraint.hpp:18
ClpSimplexProgress
For saving extra information to see if looping.
Definition: ClpSolve.hpp:310
ClpSimplexNonlinear::primal
int primal()
Primal algorithms for reduced gradient At present we have two algorithms:
CoinIndexedVector
Indexed Vector.
Definition: CoinIndexedVector.hpp:104
ClpSimplex::algorithm
int algorithm() const
Current (or last) algorithm.
Definition: ClpSimplex.hpp:720
ClpSimplex::columnArray
CoinIndexedVector * columnArray(int index) const
Useful column length arrays (0,1,2,3,4,5)
Definition: ClpSimplex.hpp:820
ClpSimplexNonlinear::whileIterating
int whileIterating(int &pivotMode)
Main part.
ClpSimplex::progress
ClpSimplexProgress * progress()
For dealing with all issues of cycling etc.
Definition: ClpSimplex.hpp:1571
ClpSimplexNonlinear::primalSLP
int primalSLP(int numberPasses, double deltaTolerance, int otherOptions=0)
Primal algorithm for quadratic Using a semi-trust region approach as for pooling problem This is in b...
ClpSimplex::rowArray
CoinIndexedVector * rowArray(int index) const
Useful row length arrays (0,1,2,3,4,5)
Definition: ClpSimplex.hpp:815
ClpSimplexNonlinear::pivotColumn
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 &gt;= 10 ...
ClpSimplexPrimal.hpp
ClpSimplexNonlinear::primalDualCuts
int primalDualCuts(char *rowsIn, int startUp, int algorithm)
May use a cut approach for solving any LP.
ClpSimplexPrimal
This solves LPs using the primal simplex method.
Definition: ClpSimplexPrimal.hpp:23
ClpSimplexNonlinear
This solves non-linear LPs using the primal simplex method.
Definition: ClpSimplexNonlinear.hpp:28