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 252 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 303 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 306 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 309 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 312 of file ClpSolve.hpp.
int ClpSimplexProgress::badTimes | ( | ) | const [inline] |
number of bad times
Definition at line 316 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 319 of file ClpSolve.hpp.
int ClpSimplexProgress::reallyBadTimes | ( | ) | const [inline] |
number of really bad times
Definition at line 323 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 326 of file ClpSolve.hpp.
int ClpSimplexProgress::timesFlagged | ( | ) | const [inline] |
number of times flagged
Definition at line 330 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 333 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 336 of file ClpSolve.hpp.
double ClpSimplexProgress::objective_[CLP_PROGRESS] |
Objective values.
Definition at line 346 of file ClpSolve.hpp.
double ClpSimplexProgress::infeasibility_[CLP_PROGRESS] |
Sum of infeasibilities for algorithm.
Definition at line 348 of file ClpSolve.hpp.
double ClpSimplexProgress::realInfeasibility_[CLP_PROGRESS] |
Sum of real primal infeasibilities for primal.
Definition at line 350 of file ClpSolve.hpp.
Initial weight for weights.
Definition at line 364 of file ClpSolve.hpp.
int ClpSimplexProgress::in_[CLP_CYCLE] |
For cycle checking.
Definition at line 368 of file ClpSolve.hpp.
int ClpSimplexProgress::out_[CLP_CYCLE] |
Objective values.
Definition at line 369 of file ClpSolve.hpp.
char ClpSimplexProgress::way_[CLP_CYCLE] |
Objective values.
Definition at line 370 of file ClpSolve.hpp.
Pointer back to model so we can get information.
Definition at line 372 of file ClpSolve.hpp.
int ClpSimplexProgress::numberInfeasibilities_[CLP_PROGRESS] |
Number of infeasibilities.
Definition at line 374 of file ClpSolve.hpp.
int ClpSimplexProgress::iterationNumber_[CLP_PROGRESS] |
Iteration number at which occurred.
Definition at line 376 of file ClpSolve.hpp.
Number of times checked (so won't stop too early).
Definition at line 384 of file ClpSolve.hpp.
Number of times it looked like loop.
Definition at line 386 of file ClpSolve.hpp.
Number really bad times.
Definition at line 388 of file ClpSolve.hpp.
Number of times no iterations as flagged.
Definition at line 390 of file ClpSolve.hpp.
If things are in an odd state.
Definition at line 392 of file ClpSolve.hpp.