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 208 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 259 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 261 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 263 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 265 of file ClpSolve.hpp.
int ClpSimplexProgress::badTimes | ( | ) | const [inline] |
number of bad times
Definition at line 268 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 270 of file ClpSolve.hpp.
int ClpSimplexProgress::reallyBadTimes | ( | ) | const [inline] |
number of really bad times
Definition at line 273 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 275 of file ClpSolve.hpp.
int ClpSimplexProgress::timesFlagged | ( | ) | const [inline] |
number of times flagged
Definition at line 278 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 280 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 282 of file ClpSolve.hpp.
double ClpSimplexProgress::objective_[CLP_PROGRESS] |
Objective values.
Definition at line 291 of file ClpSolve.hpp.
double ClpSimplexProgress::infeasibility_[CLP_PROGRESS] |
Sum of infeasibilities for algorithm.
Definition at line 293 of file ClpSolve.hpp.
double ClpSimplexProgress::realInfeasibility_[CLP_PROGRESS] |
Sum of real primal infeasibilities for primal.
Definition at line 295 of file ClpSolve.hpp.
Initial weight for weights.
Definition at line 309 of file ClpSolve.hpp.
int ClpSimplexProgress::in_[CLP_CYCLE] |
For cycle checking.
Definition at line 313 of file ClpSolve.hpp.
int ClpSimplexProgress::out_[CLP_CYCLE] |
Objective values.
Definition at line 314 of file ClpSolve.hpp.
char ClpSimplexProgress::way_[CLP_CYCLE] |
Objective values.
Definition at line 315 of file ClpSolve.hpp.
Pointer back to model so we can get information.
Definition at line 317 of file ClpSolve.hpp.
int ClpSimplexProgress::numberInfeasibilities_[CLP_PROGRESS] |
Number of infeasibilities.
Definition at line 319 of file ClpSolve.hpp.
int ClpSimplexProgress::iterationNumber_[CLP_PROGRESS] |
Iteration number at which occurred.
Definition at line 321 of file ClpSolve.hpp.
Number of times checked (so won't stop too early).
Definition at line 329 of file ClpSolve.hpp.
Number of times it looked like loop.
Definition at line 331 of file ClpSolve.hpp.
Number really bad times.
Definition at line 333 of file ClpSolve.hpp.
Number of times no iterations as flagged.
Definition at line 335 of file ClpSolve.hpp.
If things are in an odd state.
Definition at line 337 of file ClpSolve.hpp.