#include <iostream>
#include <cfloat>
#include "ClpModel.hpp"
#include "ClpMatrixBase.hpp"
#include "ClpSolve.hpp"
Include dependency graph for ClpSimplex.hpp:
This graph shows which files directly or indirectly include this file:
Go to the source code of this file.
Classes | |
class | ClpSimplex |
This solves LPs using the simplex method. More... | |
class | ClpSimplexProgress |
For saving extra information to see if looping. More... | |
status methods | |
#define | COIN_CBC_USING_CLP 0x01000000 |
For advanced options 1 - Don't keep changing infeasibility weight 2 - Keep nonLinearCost round solves 4 - Force outgoing variables to exact bound (primal) 8 - Safe to use dense initial factorization 16 -Just use basic variables for operation if column generation 32 -Clean up with primal before strong branching 64 -Treat problem as feasible until last minute (i.e. | |
Data | |
#define | CLP_PROGRESS 5 |
#define | CLP_CYCLE 12 |
Defines | |
#define | DEVEX_TRY_NORM 1.0e-4 |
#define | DEVEX_ADD_ONE 1.0 |
Functions | |
void | ClpSimplexUnitTest (const std::string &mpsDir, const std::string &netlibDir) |
A function that tests the methods in the ClpSimplex class. |
#define COIN_CBC_USING_CLP 0x01000000 |
For advanced options 1 - Don't keep changing infeasibility weight 2 - Keep nonLinearCost round solves 4 - Force outgoing variables to exact bound (primal) 8 - Safe to use dense initial factorization 16 -Just use basic variables for operation if column generation 32 -Clean up with primal before strong branching 64 -Treat problem as feasible until last minute (i.e.
minimize infeasibilities) 128 - Switch off all matrix sanity checks 256 - No row copy 512 - If not in values pass, solution guaranteed, skip as much as possible 1024 - In branch and bound 2048 - Don't bother to re-factorize if < 20 iterations 4096 - Skip some optimality checks 8192 - Do Primal when cleaning up primal 16384 - In fast dual (so we can switch off things) 32678 - called from Osi NOTE - many applications can call Clp but there may be some short cuts which are taken which are not guaranteed safe from all applications. Vetted applications will have a bit set and the code may test this At present I expect a few such applications - if too many I will have to re-think. It is up to application owner to change the code if she/he needs these short cuts. I will not debug unless in Coin repository. See COIN_CLP_VETTED comments. 0x01000000 is Cbc (and in branch and bound)
Definition at line 967 of file ClpSimplex.hpp.
#define CLP_PROGRESS 5 |
Definition at line 1369 of file ClpSimplex.hpp.
#define CLP_CYCLE 12 |
Definition at line 1377 of file ClpSimplex.hpp.
#define DEVEX_TRY_NORM 1.0e-4 |
Definition at line 1398 of file ClpSimplex.hpp.
#define DEVEX_ADD_ONE 1.0 |
Definition at line 1399 of file ClpSimplex.hpp.
void ClpSimplexUnitTest | ( | const std::string & | mpsDir, | |
const std::string & | netlibDir | |||
) |
A function that tests the methods in the ClpSimplex class.
The only reason for it not to be a member method is that this way it doesn't have to be compiled into the library. And that's a gain, because the library should be compiled with optimization on, but this method should be compiled with debugging.
It also does some testing of ClpFactorization class