summaryrefslogtreecommitdiff
path: root/build/Bonmin/include/coin/ClpSimplexNonlinear.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'build/Bonmin/include/coin/ClpSimplexNonlinear.hpp')
-rw-r--r--build/Bonmin/include/coin/ClpSimplexNonlinear.hpp117
1 files changed, 0 insertions, 117 deletions
diff --git a/build/Bonmin/include/coin/ClpSimplexNonlinear.hpp b/build/Bonmin/include/coin/ClpSimplexNonlinear.hpp
deleted file mode 100644
index 6c1088b..0000000
--- a/build/Bonmin/include/coin/ClpSimplexNonlinear.hpp
+++ /dev/null
@@ -1,117 +0,0 @@
-/* $Id: ClpSimplexNonlinear.hpp 2025 2014-03-19 12:49:55Z forrest $ */
-// Copyright (C) 2004, International Business Machines
-// Corporation and others. All Rights Reserved.
-// This code is licensed under the terms of the Eclipse Public License (EPL).
-/*
- Authors
-
- John Forrest
-
- */
-#ifndef ClpSimplexNonlinear_H
-#define ClpSimplexNonlinear_H
-
-class ClpNonlinearInfo;
-class ClpQuadraticObjective;
-class ClpConstraint;
-
-#include "ClpSimplexPrimal.hpp"
-
-/** This solves non-linear LPs using the primal simplex method
-
- It inherits from ClpSimplexPrimal. It has no data of its own and
- is never created - only cast from a ClpSimplexPrimal object at algorithm time.
- If needed create new class and pass around
-
-*/
-
-class ClpSimplexNonlinear : public ClpSimplexPrimal {
-
-public:
-
- /**@name Description of algorithm */
- //@{
- /** Primal algorithms for reduced gradient
- At present we have two algorithms:
-
- */
- /// A reduced gradient method.
- int primal();
- /** Primal algorithm for quadratic
- Using a semi-trust region approach as for pooling problem
- This is in because I have it lying around
- */
- int primalSLP(int numberPasses, double deltaTolerance,
- int otherOptions=0);
- /// May use a cut approach for solving any LP
- int primalDualCuts(char * rowsIn, int startUp, int algorithm);
- /** Primal algorithm for nonlinear constraints
- Using a semi-trust region approach as for pooling problem
- This is in because I have it lying around
-
- */
- int primalSLP(int numberConstraints, ClpConstraint ** constraints,
- int numberPasses, double deltaTolerance);
-
- /** Creates direction vector. note longArray is long enough
- for rows and columns. If numberNonBasic 0 then is updated
- otherwise mode is ignored and those are used.
- Norms are only for those > 1.0e3*dualTolerance
- If mode is nonzero then just largest dj */
- void directionVector (CoinIndexedVector * longArray,
- CoinIndexedVector * spare1, CoinIndexedVector * spare2,
- int mode,
- double & normFlagged, double & normUnflagged,
- int & numberNonBasic);
- /// Main part.
- int whileIterating (int & pivotMode);
- /**
- longArray has direction
- pivotMode -
- 0 - use all dual infeasible variables
- 1 - largest dj
- while >= 10 trying startup phase
- Returns 0 - can do normal iteration (basis change)
- 1 - no basis change
- 2 - if wants singleton
- 3 - if time to re-factorize
- If sequenceIn_ >=0 then that will be incoming variable
- */
- int pivotColumn(CoinIndexedVector * longArray,
- CoinIndexedVector * rowArray,
- CoinIndexedVector * columnArray,
- CoinIndexedVector * spare,
- int & pivotMode,
- double & solutionError,
- double * array1);
- /** Refactorizes if necessary
- Checks if finished. Updates status.
- lastCleaned refers to iteration at which some objective/feasibility
- cleaning too place.
-
- type - 0 initial so set up save arrays etc
- - 1 normal -if good update save
- - 2 restoring from saved
- */
- void statusOfProblemInPrimal(int & lastCleaned, int type,
- ClpSimplexProgress * progress,
- bool doFactorization,
- double & bestObjectiveWhenFlagged);
- /** Do last half of an iteration.
- Return codes
- Reasons to come out normal mode
- -1 normal
- -2 factorize now - good iteration
- -3 slight inaccuracy - refactorize - iteration done
- -4 inaccuracy - refactorize - no iteration
- -5 something flagged - go round again
- +2 looks unbounded
- +3 max iterations (iteration done)
-
- */
- int pivotNonlinearResult();
- //@}
-
-};
-#endif
-