#include <ClpSimplexNonlinear.hpp>
Inheritance diagram for ClpSimplexNonlinear:
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. |
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.
|
A reduced gradient method.
|
|
Primal algorithm for quadratic Using a semi-trust region approach as for pooling problem This is in because I have it lying around.
|
|
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 |
|
Main part.
|
|
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
|
|
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
|
|
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) |