Loading...
Searching...
No Matches
ClpSimplexNonlinear.hpp
Go to the documentation of this file.
/* $Id$ */
// 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"
class ClpSimplexNonlinear : public ClpSimplexPrimal {
public:
int primal();
int primalSLP(int numberPasses, double deltaTolerance,
int otherOptions = 0);
int primalDualCuts(char *rowsIn, int startUp, int algorithm);
int primalSLP(int numberConstraints, ClpConstraint **constraints,
int numberPasses, double deltaTolerance);
void directionVector(CoinIndexedVector *longArray,
CoinIndexedVector *spare1, CoinIndexedVector *spare2,
int mode,
double &normFlagged, double &normUnflagged,
int &numberNonBasic);
int whileIterating(int &pivotMode);
int pivotColumn(CoinIndexedVector *longArray,
CoinIndexedVector *rowArray,
CoinIndexedVector *columnArray,
CoinIndexedVector *spare,
int &pivotMode,
double &solutionError,
double *array1);
void statusOfProblemInPrimal(int &lastCleaned, int type,
ClpSimplexProgress *progress,
bool doFactorization,
double &bestObjectiveWhenFlagged);
int pivotNonlinearResult();
};
#endif
/* vi: softtabstop=2 shiftwidth=2 expandtab tabstop=2
*/
type
CbcOrClpParameterType type() const
type
Definition CbcOrClpParam.hpp:462
ClpSimplexPrimal.hpp
ClpConstraint
Constraint Abstract Base Class.
Definition ClpConstraint.hpp:18
ClpQuadraticObjective
Quadratic Objective Class.
Definition ClpQuadraticObjective.hpp:18
ClpSimplexNonlinear
This solves non-linear LPs using the primal simplex method.
Definition ClpSimplexNonlinear.hpp:28
ClpSimplexNonlinear::statusOfProblemInPrimal
void statusOfProblemInPrimal(int &lastCleaned, int type, ClpSimplexProgress *progress, bool doFactorization, double &bestObjectiveWhenFlagged)
Refactorizes if necessary Checks if finished.
ClpSimplexNonlinear::primalDualCuts
int primalDualCuts(char *rowsIn, int startUp, int algorithm)
May use a cut approach for solving any LP.
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...
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 >= 10 ...
ClpSimplexNonlinear::primal
int primal()
Primal algorithms for reduced gradient At present we have two algorithms:
ClpSimplexNonlinear::whileIterating
int whileIterating(int &pivotMode)
Main part.
ClpSimplexNonlinear::pivotNonlinearResult
int pivotNonlinearResult()
Do last half of an iteration.
ClpSimplexNonlinear::directionVector
void directionVector(CoinIndexedVector *longArray, CoinIndexedVector *spare1, CoinIndexedVector *spare2, int mode, double &normFlagged, double &normUnflagged, int &numberNonBasic)
Creates direction vector.
ClpSimplexNonlinear::primalSLP
int primalSLP(int numberConstraints, ClpConstraint **constraints, int numberPasses, double deltaTolerance)
Primal algorithm for nonlinear constraints Using a semi-trust region approach as for pooling problem ...
ClpSimplexPrimal
This solves LPs using the primal simplex method.
Definition ClpSimplexPrimal.hpp:23
ClpSimplexProgress
For saving extra information to see if looping.
Definition ClpSolve.hpp:310
ClpSimplex::algorithm
int algorithm() const
Current (or last) algorithm.
Definition ClpSimplex.hpp:720
ClpSimplex::rowArray
CoinIndexedVector * rowArray(int index) const
Useful row length arrays (0,1,2,3,4,5).
Definition ClpSimplex.hpp:815
ClpSimplex::columnArray
CoinIndexedVector * columnArray(int index) const
Useful column length arrays (0,1,2,3,4,5).
Definition ClpSimplex.hpp:820
ClpSimplex::progress
ClpSimplexProgress * progress()
For dealing with all issues of cycling etc.
Definition ClpSimplex.hpp:1571