Output statistics

Output files provide statistics about the results of the solver or simulator for a specific problem. This page details the fields in the output file statistics object for solver and simulation output files.

Solver output file statistics

Below is an example of output statistics for a solver result.

{
"statistics": {
"bounds": {
"lower": 0,
"upper": 15281
},
"search": {
"generated": 51257,
"filtered": 28076,
"expanded": 23181,
"reduced": 0,
"restricted": 18838,
"deferred": 4343,
"explored": 22979,
"solutions": 9
},
"time": {
"elapsed": "64.30884ms",
"start": "2021-03-02T22:29:11.853297-05:00"
},
"value": 15281
}
}

The first field under the statistics are the upper and lower bounds. In cases where our solver is maximizing or minimizing an objective, Hop continously updates the upper and lower bounds after generating a new state.

If the bounds are the same in value that means Hop has mathematically proven optimality of its best solution. When those are not the same value, Hop terminated early while searching the state space proving optimality. In that case, Hop will return the best found to date, but hasn't explored enough states to prove that it is the mathematical optimal. You can read more about the Bounds method here.

In the search object, you'll notice that there are values for generated, expanded, deferred, reduced, explored, and filtered.

Hop's search mechanism is a state exploration. Hop projects states forward from the root state to determine what decisions you should make. Every transition in that search produces a new state which Hop then explores.

Generated states are all the states Hop has created.

Filtered states are those that have been removed from the search because they have been bounded out. Hop has determined that it cannot, from a particular set of decisions, produce a solution that will be better than the best one it has found so far.

Expanded states are all the states that are not Filtered.

Reduced states are states that have been removed from the search because a Reducer was able to determine that there are states that strictly dominate them.

Deferred states are states saved for later exploration if there's time. This is how Hop manages explosion of the state space. Hop won't explore every state sequentially. It will try to explore the most fruitful ones first and defer the others for later exploration if there's time.

Restricted states are the states that have not been deferred, but instead will be investigated immediately.

Explored states are all states Hop has fully explored. Those states are not able to produce more child states.

Each of these categories contain both feasible and infeasible states.