Clp trunk
ClpSimplexProgress Class Reference

For saving extra information to see if looping. More...

#include <ClpSolve.hpp>

Collaboration diagram for ClpSimplexProgress:

List of all members.

Public Member Functions

Constructors and destructor and copy
 ClpSimplexProgress ()
 Default constructor.
 ClpSimplexProgress (ClpSimplex *model)
 Constructor from model.
 ClpSimplexProgress (const ClpSimplexProgress &)
 Copy constructor.
ClpSimplexProgressoperator= (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 ()
void clearOddState ()
int oddState () const
int badTimes () const
 number of bad times
void clearBadTimes ()
int reallyBadTimes () const
 number of really bad times
void incrementReallyBadTimes ()
int timesFlagged () const
 number of times flagged
void clearTimesFlagged ()
void incrementTimesFlagged ()

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]
char way_ [CLP_CYCLE]
ClpSimplexmodel_
 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.

Detailed Description

For saving extra information to see if looping.

Definition at line 244 of file ClpSolve.hpp.


Constructor & Destructor Documentation

ClpSimplexProgress::ClpSimplexProgress ( )

Default constructor.

ClpSimplexProgress::ClpSimplexProgress ( ClpSimplex model)

Constructor from model.

ClpSimplexProgress::ClpSimplexProgress ( const ClpSimplexProgress )

Copy constructor.

ClpSimplexProgress::~ClpSimplexProgress ( )

Destructor.


Member Function Documentation

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 295 of file ClpSolve.hpp.

void ClpSimplexProgress::endOddState ( ) [inline]

Definition at line 298 of file ClpSolve.hpp.

void ClpSimplexProgress::clearOddState ( ) [inline]

Definition at line 301 of file ClpSolve.hpp.

int ClpSimplexProgress::oddState ( ) const [inline]

Definition at line 304 of file ClpSolve.hpp.

int ClpSimplexProgress::badTimes ( ) const [inline]

number of bad times

Definition at line 308 of file ClpSolve.hpp.

void ClpSimplexProgress::clearBadTimes ( ) [inline]

Definition at line 311 of file ClpSolve.hpp.

int ClpSimplexProgress::reallyBadTimes ( ) const [inline]

number of really bad times

Definition at line 315 of file ClpSolve.hpp.

void ClpSimplexProgress::incrementReallyBadTimes ( ) [inline]

Definition at line 318 of file ClpSolve.hpp.

int ClpSimplexProgress::timesFlagged ( ) const [inline]

number of times flagged

Definition at line 322 of file ClpSolve.hpp.

void ClpSimplexProgress::clearTimesFlagged ( ) [inline]

Definition at line 325 of file ClpSolve.hpp.

void ClpSimplexProgress::incrementTimesFlagged ( ) [inline]

Definition at line 328 of file ClpSolve.hpp.


Member Data Documentation

double ClpSimplexProgress::objective_[CLP_PROGRESS]

Objective values.

Definition at line 338 of file ClpSolve.hpp.

double ClpSimplexProgress::infeasibility_[CLP_PROGRESS]

Sum of infeasibilities for algorithm.

Definition at line 340 of file ClpSolve.hpp.

Sum of real primal infeasibilities for primal.

Definition at line 342 of file ClpSolve.hpp.

Initial weight for weights.

Definition at line 356 of file ClpSolve.hpp.

int ClpSimplexProgress::in_[CLP_CYCLE]

For cycle checking.

Definition at line 360 of file ClpSolve.hpp.

int ClpSimplexProgress::out_[CLP_CYCLE]

Definition at line 361 of file ClpSolve.hpp.

char ClpSimplexProgress::way_[CLP_CYCLE]

Definition at line 362 of file ClpSolve.hpp.

Pointer back to model so we can get information.

Definition at line 364 of file ClpSolve.hpp.

Number of infeasibilities.

Definition at line 366 of file ClpSolve.hpp.

Iteration number at which occurred.

Definition at line 368 of file ClpSolve.hpp.

Number of times checked (so won't stop too early)

Definition at line 376 of file ClpSolve.hpp.

Number of times it looked like loop.

Definition at line 378 of file ClpSolve.hpp.

Number really bad times.

Definition at line 380 of file ClpSolve.hpp.

Number of times no iterations as flagged.

Definition at line 382 of file ClpSolve.hpp.

If things are in an odd state.

Definition at line 384 of file ClpSolve.hpp.


The documentation for this class was generated from the following file:
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines