For saving extra information to see if looping. More...
#include <ClpSolve.hpp>
Public Member Functions | |
Constructors and destructor and copy | |
ClpSimplexProgress () | |
Default constructor. | |
ClpSimplexProgress (ClpSimplex *model) | |
Constructor from model. | |
ClpSimplexProgress (const ClpSimplexProgress &) | |
Copy constructor. | |
ClpSimplexProgress & | operator= (const ClpSimplexProgress &rhs) |
Assignment operator. This copies the data. | |
~ClpSimplexProgress () | |
Destructor. | |
void | reset () |
Resets as much as possible. | |
void | fillFromModel (ClpSimplex *model) |
Fill from model. | |
Check progress | |
int | looping () |
Returns -1 if okay, -n+1 (n number of times bad) if bad but action taken, >=0 if give up and use as problem status. | |
void | startCheck () |
Start check at beginning of whileIterating. | |
int | cycle (int in, int out, int wayIn, int wayOut) |
Returns cycle length in whileIterating. | |
double | lastObjective (int back=1) const |
Returns previous objective (if -1) - current if (0). | |
void | setInfeasibility (double value) |
Set real primal infeasibility and move back. | |
double | lastInfeasibility (int back=1) const |
Returns real primal infeasibility (if -1) - current if (0). | |
void | modifyObjective (double value) |
Modify objective e.g. if dual infeasible in dual. | |
int | lastIterationNumber (int back=1) const |
Returns previous iteration number (if -1) - current if (0). | |
void | clearIterationNumbers () |
clears all iteration numbers (to switch off panic) | |
void | newOddState () |
Odd state. | |
void | endOddState () |
Returns -1 if okay, -n+1 (n number of times bad) if bad but action taken, >=0 if give up and use as problem status. | |
void | clearOddState () |
Returns -1 if okay, -n+1 (n number of times bad) if bad but action taken, >=0 if give up and use as problem status. | |
int | oddState () const |
Returns -1 if okay, -n+1 (n number of times bad) if bad but action taken, >=0 if give up and use as problem status. | |
int | badTimes () const |
number of bad times | |
void | clearBadTimes () |
Returns -1 if okay, -n+1 (n number of times bad) if bad but action taken, >=0 if give up and use as problem status. | |
int | reallyBadTimes () const |
number of really bad times | |
void | incrementReallyBadTimes () |
Returns -1 if okay, -n+1 (n number of times bad) if bad but action taken, >=0 if give up and use as problem status. | |
int | timesFlagged () const |
number of times flagged | |
void | clearTimesFlagged () |
Returns -1 if okay, -n+1 (n number of times bad) if bad but action taken, >=0 if give up and use as problem status. | |
void | incrementTimesFlagged () |
Returns -1 if okay, -n+1 (n number of times bad) if bad but action taken, >=0 if give up and use as problem status. | |
Public Attributes | |
Data | |
double | objective_ [CLP_PROGRESS] |
Objective values. | |
double | infeasibility_ [CLP_PROGRESS] |
Sum of infeasibilities for algorithm. | |
double | realInfeasibility_ [CLP_PROGRESS] |
Sum of real primal infeasibilities for primal. | |
double | initialWeight_ |
Initial weight for weights. | |
int | in_ [CLP_CYCLE] |
For cycle checking. | |
int | out_ [CLP_CYCLE] |
Objective values. | |
char | way_ [CLP_CYCLE] |
Objective values. | |
ClpSimplex * | model_ |
Pointer back to model so we can get information. | |
int | numberInfeasibilities_ [CLP_PROGRESS] |
Number of infeasibilities. | |
int | iterationNumber_ [CLP_PROGRESS] |
Iteration number at which occurred. | |
int | numberTimes_ |
Number of times checked (so won't stop too early). | |
int | numberBadTimes_ |
Number of times it looked like loop. | |
int | numberReallyBadTimes_ |
Number really bad times. | |
int | numberTimesFlagged_ |
Number of times no iterations as flagged. | |
int | oddState_ |
If things are in an odd state. |
For saving extra information to see if looping.
Definition at line 209 of file ClpSolve.hpp.
ClpSimplexProgress::ClpSimplexProgress | ( | ) |
Default constructor.
ClpSimplexProgress::ClpSimplexProgress | ( | ClpSimplex * | model | ) |
Constructor from model.
ClpSimplexProgress::ClpSimplexProgress | ( | const ClpSimplexProgress & | ) |
Copy constructor.
ClpSimplexProgress::~ClpSimplexProgress | ( | ) |
Destructor.
ClpSimplexProgress& ClpSimplexProgress::operator= | ( | const ClpSimplexProgress & | rhs | ) |
Assignment operator. This copies the data.
void ClpSimplexProgress::reset | ( | ) |
Resets as much as possible.
void ClpSimplexProgress::fillFromModel | ( | ClpSimplex * | model | ) |
Fill from model.
int ClpSimplexProgress::looping | ( | ) |
Returns -1 if okay, -n+1 (n number of times bad) if bad but action taken, >=0 if give up and use as problem status.
void ClpSimplexProgress::startCheck | ( | ) |
Start check at beginning of whileIterating.
int ClpSimplexProgress::cycle | ( | int | in, | |
int | out, | |||
int | wayIn, | |||
int | wayOut | |||
) |
Returns cycle length in whileIterating.
double ClpSimplexProgress::lastObjective | ( | int | back = 1 |
) | const |
Returns previous objective (if -1) - current if (0).
void ClpSimplexProgress::setInfeasibility | ( | double | value | ) |
Set real primal infeasibility and move back.
double ClpSimplexProgress::lastInfeasibility | ( | int | back = 1 |
) | const |
Returns real primal infeasibility (if -1) - current if (0).
void ClpSimplexProgress::modifyObjective | ( | double | value | ) |
Modify objective e.g. if dual infeasible in dual.
int ClpSimplexProgress::lastIterationNumber | ( | int | back = 1 |
) | const |
Returns previous iteration number (if -1) - current if (0).
void ClpSimplexProgress::clearIterationNumbers | ( | ) |
clears all iteration numbers (to switch off panic)
void ClpSimplexProgress::newOddState | ( | ) | [inline] |
Odd state.
Definition at line 260 of file ClpSolve.hpp.
void ClpSimplexProgress::endOddState | ( | ) | [inline] |
Returns -1 if okay, -n+1 (n number of times bad) if bad but action taken, >=0 if give up and use as problem status.
Definition at line 262 of file ClpSolve.hpp.
void ClpSimplexProgress::clearOddState | ( | ) | [inline] |
Returns -1 if okay, -n+1 (n number of times bad) if bad but action taken, >=0 if give up and use as problem status.
Definition at line 264 of file ClpSolve.hpp.
int ClpSimplexProgress::oddState | ( | ) | const [inline] |
Returns -1 if okay, -n+1 (n number of times bad) if bad but action taken, >=0 if give up and use as problem status.
Definition at line 266 of file ClpSolve.hpp.
int ClpSimplexProgress::badTimes | ( | ) | const [inline] |
number of bad times
Definition at line 269 of file ClpSolve.hpp.
void ClpSimplexProgress::clearBadTimes | ( | ) | [inline] |
Returns -1 if okay, -n+1 (n number of times bad) if bad but action taken, >=0 if give up and use as problem status.
Definition at line 271 of file ClpSolve.hpp.
int ClpSimplexProgress::reallyBadTimes | ( | ) | const [inline] |
number of really bad times
Definition at line 274 of file ClpSolve.hpp.
void ClpSimplexProgress::incrementReallyBadTimes | ( | ) | [inline] |
Returns -1 if okay, -n+1 (n number of times bad) if bad but action taken, >=0 if give up and use as problem status.
Definition at line 276 of file ClpSolve.hpp.
int ClpSimplexProgress::timesFlagged | ( | ) | const [inline] |
number of times flagged
Definition at line 279 of file ClpSolve.hpp.
void ClpSimplexProgress::clearTimesFlagged | ( | ) | [inline] |
Returns -1 if okay, -n+1 (n number of times bad) if bad but action taken, >=0 if give up and use as problem status.
Definition at line 281 of file ClpSolve.hpp.
void ClpSimplexProgress::incrementTimesFlagged | ( | ) | [inline] |
Returns -1 if okay, -n+1 (n number of times bad) if bad but action taken, >=0 if give up and use as problem status.
Definition at line 283 of file ClpSolve.hpp.
double ClpSimplexProgress::objective_[CLP_PROGRESS] |
Objective values.
Definition at line 292 of file ClpSolve.hpp.
double ClpSimplexProgress::infeasibility_[CLP_PROGRESS] |
Sum of infeasibilities for algorithm.
Definition at line 294 of file ClpSolve.hpp.
double ClpSimplexProgress::realInfeasibility_[CLP_PROGRESS] |
Sum of real primal infeasibilities for primal.
Definition at line 296 of file ClpSolve.hpp.
Initial weight for weights.
Definition at line 310 of file ClpSolve.hpp.
int ClpSimplexProgress::in_[CLP_CYCLE] |
For cycle checking.
Definition at line 314 of file ClpSolve.hpp.
int ClpSimplexProgress::out_[CLP_CYCLE] |
Objective values.
Definition at line 315 of file ClpSolve.hpp.
char ClpSimplexProgress::way_[CLP_CYCLE] |
Objective values.
Definition at line 316 of file ClpSolve.hpp.
Pointer back to model so we can get information.
Definition at line 318 of file ClpSolve.hpp.
int ClpSimplexProgress::numberInfeasibilities_[CLP_PROGRESS] |
Number of infeasibilities.
Definition at line 320 of file ClpSolve.hpp.
int ClpSimplexProgress::iterationNumber_[CLP_PROGRESS] |
Iteration number at which occurred.
Definition at line 322 of file ClpSolve.hpp.
Number of times checked (so won't stop too early).
Definition at line 330 of file ClpSolve.hpp.
Number of times it looked like loop.
Definition at line 332 of file ClpSolve.hpp.
Number really bad times.
Definition at line 334 of file ClpSolve.hpp.
Number of times no iterations as flagged.
Definition at line 336 of file ClpSolve.hpp.
If things are in an odd state.
Definition at line 338 of file ClpSolve.hpp.