Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members

ClpSimplexNonlinear Class Reference

This solves non-linear LPs using the primal simplex method. More...

#include <ClpSimplexNonlinear.hpp>

Inheritance diagram for ClpSimplexNonlinear:

ClpSimplexPrimal ClpSimplex ClpModel List of all members.

Public Member Functions

Description of algorithm
int primal ()
 A reduced gradient method.

int primalSLP (int numberPasses, double deltaTolerance)
 Primal algorithm for quadratic Using a semi-trust region approach as for pooling problem This is in because I have it lying around.

void directionVector (CoinIndexedVector *longArray, CoinIndexedVector *spare1, CoinIndexedVector *spare2, int mode, double &normFlagged, int &numberNonBasic)
 Creates direction vector.

int whileIterating (int &pivotMode)
 Main part.

int pivotColumn (CoinIndexedVector *longArray, CoinIndexedVector *rowArray, CoinIndexedVector *columnArray, CoinIndexedVector *spare, int &pivotMode, double &nullError)
 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

void statusOfProblemInPrimal (int &lastCleaned, int type, ClpSimplexProgress *progress, bool doFactorization, double &bestObjectiveWhenFlagged)
 Refactorizes if necessary Checks if finished.

int pivotNonlinearResult ()
 Do last half of an iteration.


Detailed Description

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

Definition at line 26 of file ClpSimplexNonlinear.hpp.


Member Function Documentation

int ClpSimplexNonlinear::primal  ) 
 

A reduced gradient method.

int ClpSimplexNonlinear::primalSLP int  numberPasses,
double  deltaTolerance
 

Primal algorithm for quadratic Using a semi-trust region approach as for pooling problem This is in because I have it lying around.

void ClpSimplexNonlinear::directionVector CoinIndexedVector *  longArray,
CoinIndexedVector *  spare1,
CoinIndexedVector *  spare2,
int  mode,
double &  normFlagged,
int &  numberNonBasic
 

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. If mode is nonzero then just largest dj

int ClpSimplexNonlinear::whileIterating int &  pivotMode  ) 
 

Main part.

int ClpSimplexNonlinear::pivotColumn CoinIndexedVector *  longArray,
CoinIndexedVector *  rowArray,
CoinIndexedVector *  columnArray,
CoinIndexedVector *  spare,
int &  pivotMode,
double &  nullError
 

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

void ClpSimplexNonlinear::statusOfProblemInPrimal int &  lastCleaned,
int  type,
ClpSimplexProgress progress,
bool  doFactorization,
double &  bestObjectiveWhenFlagged
 

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

int ClpSimplexNonlinear::pivotNonlinearResult  ) 
 

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)


The documentation for this class was generated from the following file:
Generated on Fri Aug 6 11:42:59 2004 by doxygen 1.3.5