Cgl 0.60.2

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | List of all members
ClpSolve Class Reference

This is a very simple class to guide algorithms. More...

`#include <ClpSolve.hpp>`

## Public Types
enum | SolveType { useDual = 0, usePrimal, usePrimalorSprint, useBarrier, useBarrierNoCross, automatic, tryDantzigWolfe, tryBenders, notImplemented }
| enums for solve function More...
enum | PresolveType { presolveOn = 0, presolveOff, presolveNumber, presolveNumberCost }

## Public Member Functions
Constructors and destructor and copy
| ClpSolve ()
| Default constructor. More...
| ClpSolve (SolveType method, PresolveType presolveType, int numberPasses, int options[6], int extraInfo[6], int independentOptions[3])
| Constructor when you really know what you are doing. More...
void | generateCpp (FILE *fp)
| Generates code for above constructor. More...
| ClpSolve (const ClpSolve &)
| Copy constructor. More...
ClpSolve & | operator= (const ClpSolve &rhs)
| Assignment operator. This copies the data. More...
| ~ClpSolve ()
| Destructor. More...
Functions most useful to user
void | setSpecialOption (int which, int value, int extraInfo=-1)
| Special options - bits 0 4 - use crash (default allslack in dual, idiot in primal) 8 - all slack basis in primal 2 16 - switch off interrupt handling 3 32 - do not try and make plus minus one matrix 64 - do not use sprint even if problem looks good. More...
int | getSpecialOption (int which) const
void | setSolveType (SolveType method, int extraInfo=-1)
| Solve types. More...
SolveType | getSolveType ()
void | setPresolveType (PresolveType amount, int extraInfo=-1)
PresolveType | getPresolveType ()
int | getPresolvePasses () const
int | getExtraInfo (int which) const
| Extra info for idiot (or sprint) More...
void | setInfeasibleReturn (bool trueFalse)
| Say to return at once if infeasible, default is to solve. More...
bool | infeasibleReturn () const
bool | doDual () const
| Whether we want to do dual part of presolve. More...
void | setDoDual (bool doDual_)
bool | doSingleton () const
| Whether we want to do singleton part of presolve. More...
void | setDoSingleton (bool doSingleton_)
bool | doDoubleton () const
| Whether we want to do doubleton part of presolve. More...
void | setDoDoubleton (bool doDoubleton_)
bool | doTripleton () const
| Whether we want to do tripleton part of presolve. More...
void | setDoTripleton (bool doTripleton_)
bool | doTighten () const
| Whether we want to do tighten part of presolve. More...
void | setDoTighten (bool doTighten_)
bool | doForcing () const
| Whether we want to do forcing part of presolve. More...
void | setDoForcing (bool doForcing_)
bool | doImpliedFree () const
| Whether we want to do impliedfree part of presolve. More...
void | setDoImpliedFree (bool doImpliedfree)
bool | doDupcol () const
| Whether we want to do dupcol part of presolve. More...
void | setDoDupcol (bool doDupcol_)
bool | doDuprow () const
| Whether we want to do duprow part of presolve. More...
void | setDoDuprow (bool doDuprow_)
bool | doSingletonColumn () const
| Whether we want to do singleton column part of presolve. More...
void | setDoSingletonColumn (bool doSingleton_)
bool | doKillSmall () const
| Whether we want to kill small substitutions. More...
void | setDoKillSmall (bool doKill)
int | presolveActions () const
| Set whole group. More...
void | setPresolveActions (int action)
int | substitution () const
| Largest column for substitution (normally 3) More...
void | setSubstitution (int value)
void | setIndependentOption (int type, int value)
int | independentOption (int type) const

## Private Attributes
data.
SolveType | method_
| Solve type. More...
PresolveType | presolveType_
| Presolve type. More...
int | numberPasses_
| Amount of presolve. More...
int | options_ [7]
| Options - last is switch for OsiClp. More...
int | extraInfo_ [7]
| Extra information. More...
int | independentOptions_ [3]
| Extra algorithm dependent options 0 - if set return from clpsolve if infeasible 1 - To be copied over to presolve options 2 - max substitution level If Dantzig Wolfe/benders 0 is number blocks, 2 is #passes (notional) More...

## Detailed Description

This is a very simple class to guide algorithms.

It is used to tidy up passing parameters to initialSolve and maybe for output from that

Definition at line 20 of file ClpSolve.hpp.

## Member Enumeration Documentation

enum ClpSolve::SolveType

enums for solve function

Enumerator
useDual |
usePrimal |
usePrimalorSprint |
useBarrier |
useBarrierNoCross |
automatic |
tryDantzigWolfe |
tryBenders |
notImplemented |

Definition at line 24 of file ClpSolve.hpp.

enum ClpSolve::PresolveType

Enumerator
presolveOn |
presolveOff |
presolveNumber |
presolveNumberCost |

Definition at line 35 of file ClpSolve.hpp.

## Constructor & Destructor Documentation

ClpSolve::ClpSolve | ( |  | ) |

Default constructor.

ClpSolve::ClpSolve | ( | SolveType | method,
|  | PresolveType | presolveType,
|  | int | numberPasses,
|  | int | options[6],
|  | int | extraInfo[6],
|  | int | independentOptions[3]
| ) |  |

Constructor when you really know what you are doing.

ClpSolve::ClpSolve | ( | const ClpSolve & |  | ) |

Copy constructor.

ClpSolve::~ClpSolve | ( |  | ) |

Destructor.

## Member Function Documentation

void ClpSolve::generateCpp | ( | FILE * | fp | ) |

Generates code for above constructor.

ClpSolve& ClpSolve::operator= | ( | const ClpSolve & | rhs | ) |

Assignment operator. This copies the data.

void ClpSolve::setSpecialOption | ( | int | which,
|  | int | value,
|  | int | extraInfo = `-1`
| ) |  |

Special options - bits 0 4 - use crash (default allslack in dual, idiot in primal) 8 - all slack basis in primal 2 16 - switch off interrupt handling 3 32 - do not try and make plus minus one matrix 64 - do not use sprint even if problem looks good.

which translation is: which: 0 - startup in Dual (nothing if basis exists).: 0 - no basis 1 - crash 2 - use initiative about idiot! but no crash 1 - startup in Primal (nothing if basis exists): 0 - use initiative 1 - use crash 2 - use idiot and look at further info 3 - use sprint and look at further info 4 - use all slack 5 - use initiative but no idiot 6 - use initiative but no sprint 7 - use initiative but no crash 8 - do allslack or idiot 9 - do allslack or sprint 10 - slp before 11 - no nothing and primal(0) 2 - interrupt handling - 0 yes, 1 no (for threadsafe) 3 - whether to make +- 1matrix - 0 yes, 1 no 4 - for barrier 0 - dense cholesky 1 - Wssmp allowing some long columns 2 - Wssmp not allowing long columns 3 - Wssmp using KKT 4 - Using Florida ordering 8 - bit set to do scaling 16 - set to be aggressive with gamma/delta? 32 - Use KKT 5 - for presolve 1 - switch off dual stuff 6 - extra switches

int ClpSolve::getSpecialOption | ( | int | which | ) | const

void ClpSolve::setSolveType | ( | SolveType | method,
|  | int | extraInfo = `-1`
| ) |  |

Solve types.

SolveType ClpSolve::getSolveType | ( |  | ) |

void ClpSolve::setPresolveType | ( | PresolveType | amount,
|  | int | extraInfo = `-1`
| ) |  |

PresolveType ClpSolve::getPresolveType | ( |  | ) |

int ClpSolve::getPresolvePasses | ( |  | ) | const

int ClpSolve::getExtraInfo | ( | int | which | ) | const

Extra info for idiot (or sprint)

void ClpSolve::setInfeasibleReturn | ( | bool | trueFalse | ) |

Say to return at once if infeasible, default is to solve.

bool ClpSolve::infeasibleReturn | ( |  | ) | const
| inline

Definition at line 120 of file ClpSolve.hpp.

bool ClpSolve::doDual | ( |  | ) | const
| inline

Whether we want to do dual part of presolve.

Definition at line 125 of file ClpSolve.hpp.

void ClpSolve::setDoDual | ( | bool | doDual_ | ) |
| inline

Definition at line 129 of file ClpSolve.hpp.

bool ClpSolve::doSingleton | ( |  | ) | const
| inline

Whether we want to do singleton part of presolve.

Definition at line 137 of file ClpSolve.hpp.

void ClpSolve::setDoSingleton | ( | bool | doSingleton_ | ) |
| inline

Definition at line 141 of file ClpSolve.hpp.

bool ClpSolve::doDoubleton | ( |  | ) | const
| inline

Whether we want to do doubleton part of presolve.

Definition at line 149 of file ClpSolve.hpp.

void ClpSolve::setDoDoubleton | ( | bool | doDoubleton_ | ) |
| inline

Definition at line 153 of file ClpSolve.hpp.

bool ClpSolve::doTripleton | ( |  | ) | const
| inline

Whether we want to do tripleton part of presolve.

Definition at line 161 of file ClpSolve.hpp.

void ClpSolve::setDoTripleton | ( | bool | doTripleton_ | ) |
| inline

Definition at line 165 of file ClpSolve.hpp.

bool ClpSolve::doTighten | ( |  | ) | const
| inline

Whether we want to do tighten part of presolve.

Definition at line 173 of file ClpSolve.hpp.

void ClpSolve::setDoTighten | ( | bool | doTighten_ | ) |
| inline

Definition at line 177 of file ClpSolve.hpp.

bool ClpSolve::doForcing | ( |  | ) | const
| inline

Whether we want to do forcing part of presolve.

Definition at line 185 of file ClpSolve.hpp.

void ClpSolve::setDoForcing | ( | bool | doForcing_ | ) |
| inline

Definition at line 189 of file ClpSolve.hpp.

bool ClpSolve::doImpliedFree | ( |  | ) | const
| inline

Whether we want to do impliedfree part of presolve.

Definition at line 197 of file ClpSolve.hpp.

void ClpSolve::setDoImpliedFree | ( | bool | doImpliedfree | ) |
| inline

Definition at line 201 of file ClpSolve.hpp.

bool ClpSolve::doDupcol | ( |  | ) | const
| inline

Whether we want to do dupcol part of presolve.

Definition at line 209 of file ClpSolve.hpp.

void ClpSolve::setDoDupcol | ( | bool | doDupcol_ | ) |
| inline

Definition at line 213 of file ClpSolve.hpp.

bool ClpSolve::doDuprow | ( |  | ) | const
| inline

Whether we want to do duprow part of presolve.

Definition at line 221 of file ClpSolve.hpp.

void ClpSolve::setDoDuprow | ( | bool | doDuprow_ | ) |
| inline

Definition at line 225 of file ClpSolve.hpp.

bool ClpSolve::doSingletonColumn | ( |  | ) | const
| inline

Whether we want to do singleton column part of presolve.

Definition at line 233 of file ClpSolve.hpp.

void ClpSolve::setDoSingletonColumn | ( | bool | doSingleton_ | ) |
| inline

Definition at line 237 of file ClpSolve.hpp.

bool ClpSolve::doKillSmall | ( |  | ) | const
| inline

Whether we want to kill small substitutions.

Definition at line 245 of file ClpSolve.hpp.

void ClpSolve::setDoKillSmall | ( | bool | doKill | ) |
| inline

Definition at line 249 of file ClpSolve.hpp.

int ClpSolve::presolveActions | ( |  | ) | const
| inline

Set whole group.

Definition at line 257 of file ClpSolve.hpp.

void ClpSolve::setPresolveActions | ( | int | action | ) |
| inline

Definition at line 261 of file ClpSolve.hpp.

int ClpSolve::substitution | ( |  | ) | const
| inline

Largest column for substitution (normally 3)

Definition at line 266 of file ClpSolve.hpp.

void ClpSolve::setSubstitution | ( | int | value | ) |
| inline

Definition at line 270 of file ClpSolve.hpp.

void ClpSolve::setIndependentOption | ( | int | type,
|  | int | value
| ) |  |
| inline

Definition at line 274 of file ClpSolve.hpp.

int ClpSolve::independentOption | ( | int | type | ) | const
| inline

Definition at line 278 of file ClpSolve.hpp.

## Member Data Documentation

SolveType ClpSolve::method_
| private

Solve type.

Definition at line 290 of file ClpSolve.hpp.

PresolveType ClpSolve::presolveType_
| private

Presolve type.

Definition at line 292 of file ClpSolve.hpp.

int ClpSolve::numberPasses_
| private

Amount of presolve.

Definition at line 294 of file ClpSolve.hpp.

int ClpSolve::options_[7]
| private

Options - last is switch for OsiClp.

Definition at line 296 of file ClpSolve.hpp.

int ClpSolve::extraInfo_[7]
| private

Extra information.

Definition at line 298 of file ClpSolve.hpp.

int ClpSolve::independentOptions_[3]
| private

Extra algorithm dependent options 0 - if set return from clpsolve if infeasible 1 - To be copied over to presolve options 2 - max substitution level If Dantzig Wolfe/benders 0 is number blocks, 2 is #passes (notional)

Definition at line 305 of file ClpSolve.hpp.

The documentation for this class was generated from the following file:

- /tmp/Cgl-0.60.2/Clp/src/ClpSolve.hpp