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). | |
int | numberInfeasibilities (int back=1) const |
Returns number of primal infeasibilities (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 261 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).
int ClpSimplexProgress::numberInfeasibilities | ( | int | back = 1 |
) | const |
Returns number of primal infeasibilities (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 314 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 317 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 320 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 323 of file ClpSolve.hpp.
int ClpSimplexProgress::badTimes | ( | ) | const [inline] |
number of bad times
Definition at line 327 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 330 of file ClpSolve.hpp.
int ClpSimplexProgress::reallyBadTimes | ( | ) | const [inline] |
number of really bad times
Definition at line 334 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 337 of file ClpSolve.hpp.
int ClpSimplexProgress::timesFlagged | ( | ) | const [inline] |
number of times flagged
Definition at line 341 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 344 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 347 of file ClpSolve.hpp.
double ClpSimplexProgress::objective_[CLP_PROGRESS] |
Objective values.
Definition at line 357 of file ClpSolve.hpp.
double ClpSimplexProgress::infeasibility_[CLP_PROGRESS] |
Sum of infeasibilities for algorithm.
Definition at line 359 of file ClpSolve.hpp.
double ClpSimplexProgress::realInfeasibility_[CLP_PROGRESS] |
Sum of real primal infeasibilities for primal.
Definition at line 361 of file ClpSolve.hpp.
Initial weight for weights.
Definition at line 375 of file ClpSolve.hpp.
int ClpSimplexProgress::in_[CLP_CYCLE] |
For cycle checking.
Definition at line 379 of file ClpSolve.hpp.
int ClpSimplexProgress::out_[CLP_CYCLE] |
Objective values.
Definition at line 380 of file ClpSolve.hpp.
char ClpSimplexProgress::way_[CLP_CYCLE] |
Objective values.
Definition at line 381 of file ClpSolve.hpp.
Pointer back to model so we can get information.
Definition at line 383 of file ClpSolve.hpp.
int ClpSimplexProgress::numberInfeasibilities_[CLP_PROGRESS] |
Number of infeasibilities.
Definition at line 385 of file ClpSolve.hpp.
int ClpSimplexProgress::iterationNumber_[CLP_PROGRESS] |
Iteration number at which occurred.
Definition at line 387 of file ClpSolve.hpp.
Number of times checked (so won't stop too early).
Definition at line 395 of file ClpSolve.hpp.
Number of times it looked like loop.
Definition at line 397 of file ClpSolve.hpp.
Number really bad times.
Definition at line 399 of file ClpSolve.hpp.
Number of times no iterations as flagged.
Definition at line 401 of file ClpSolve.hpp.
If things are in an odd state.
Definition at line 403 of file ClpSolve.hpp.