Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound 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 Methods

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 02:01:37 2004 by doxygen1.3-rc2