Visiting all simulation cases is not always possible (and you probably do not want that as there can be exponentially many).
For example:
After 1 time unit we have 1 choice with 2 options -- overall 2 cases.
After 2 time units: 2 distinct choices -- overall 4 cases.
After 10 time units: 10 choices -- 1024 cases, need at least 1024 runs to visit and evaluate them all.
And so on, which is unsustainable.
In such cases we estimate the number of cases and limit the number of choices by limiting the run duration in the query (also known as "online setup", where only a local strategy is synthesized at a time).
In addition, if we can make an assumption that variable `i` has no influence over the result, then we can limit the visibility of the state to just location (and ignore the value of `i`), like:
strategy S = minE(cost)[<=limit] { P.location } -> {} : time>=limit
then Uppaal will treat all those choices as one and will not require that many runs.
On the other hand, if variable `i` (or something else not mentioned in the visible part of state) does have influence on the result, then the learned strategy might not be as good, or maybe good enough. It is all about finding a good enough abstraction.
Best regards,
Marius
cordialement SAMAYE Ismael