The explanation endpoint returns the score and the constraints that are violated in the current solution. It can give the insights into why a solve was like it is.

NameTypeDescription
scoreScoreScore
conflictsConflictConflicts
unresolvedUnresolvedUnresolved constraints

Example:

explanation
{
  "score": {
    "hardScore": 0,
    "mediumScore": -25200,
    "softScore": -6924,
    "feasible": true
  },
  "unresolved": [
    {
      "constraint": "JOB_DAY_INDEX",
      "score": "-7soft"
    },
    {
      "constraint": "TRAVEL_TIME",
      "score": "-6917soft"
    },
    {
      "constraint": "UNUSED_RESOURCES",
      "score": "-25200medium"
    }
  ]
}

Unresolved

NameTypeDescription
constraintstringRouting constraint name
scorestringscore of this constraint

Conflict

NameTypeDescription
constraintRoutingConstraintRouting constraint name
scorestringscore of this constraint
jobstringjob name in this conflict
resourcestringresource name in this conflict
tagstringtag name in this conflict

Constraint

NameDescriptionImpact
UNUSED_RESOURCESThere are resources that are not used.medium
JOB_DAY_INDEXThe job is not planned on the day it should be planned.soft
TRAVEL_TIMEThe travel time is too long.soft
JOB_TIME_WINDOWThe job is not planned in the time window.soft
JOB_SKILLSThe job is not planned on a resource that has the required skills.soft
PRIORITYA priority job that should be in the planningsoft

Explains the conflicts of a certain routing solution and the unresolved constraints.