solver  1.0
Public Member Functions | Private Member Functions | Private Attributes | List of all members
SolutionChecker Class Reference

An instance of this class is devoted to the solution checking. More...

#include <SolutionChecker.h>

+ Collaboration diagram for SolutionChecker:

Public Member Functions

 SolutionChecker (const RoboticLine &l, const PrecalculatedMapping &m, const Solution &sol)
 Initialization of the solution checker.
 
bool checkAll ()
 It calls the private member methods to verify the solution. More...
 
std::vector< std::string > errorMessages () const
 It returns error message(s) describing why the solution is invalid.
 

Private Member Functions

void checkCriterion ()
 Checks the calculation of the criterion.
 
void checkProductionCycleTime ()
 Checks whether the robot, i.e. production, cycle time is met.
 
void checkStaticActivities ()
 Checks durations of static activities.
 
void checkDynamicActivities ()
 Checks durations of dynamic activities.
 
void checkScheduleContinuity ()
 Checks whether each robot path is closed and hamiltonian (each static activity is visited just once).
 
void checkGlobalConstraints ()
 Verifies that time lags and spatial compatibility are not violated.
 
void checkCollisionZones ()
 Verifies that a collision does not occur in the solution.
 
std::array< uint32_t, 2 > extractModes (Activity *a1, Activity *a2) const
 Auxiliary method that extracts selected modes (location/movement identifications) for activities a1 and a2, respectively.
 

Private Attributes

RoboticLine mLine
 The data structure of the robotic cell for which the solution is verified.
 
Solution mSolution
 The solution to be checked.
 
PrecalculatedMapping mMapping
 Precalculated mapping constructed for the robotic cell.
 
std::vector< std::string > mErrorMsg
 Error messages describing the reasons why the solution is invalid.
 

Detailed Description

An instance of this class is devoted to the solution checking.

SolutionChecker verifies whether a given solution is valid, or in other words, it checks whether the solution is feasible if it was declared to be feasible or optimal. It comprises verification of the time, spatial, and energy aspects.

See also
InstancesChecker

Definition at line 43 of file SolutionChecker.h.

Member Function Documentation

bool SolutionChecker::checkAll ( )

It calls the private member methods to verify the solution.

Returns
True if the solution is valid, otherwise false.
Note
If false is returned then there is a high probability that a used optimization algorithm is flawed.

Definition at line 31 of file SolutionChecker.cpp.


The documentation for this class was generated from the following files: