-
Notifications
You must be signed in to change notification settings - Fork 1
Description
A map is represented by a rectangular grid of m x n points (A,B) located at integer coordinates. H (C) of these points are selected as hubs --cities of greater importance, and their position (x,y) is selected (D).
Every time a new package shipment is started
For each new package, an ID i is selected (E). The source and destination are selected as follows:
-
A source for this package is selected by first choosing a hub (F), and then selecting an (x,y) coordinate relative to the hub (G).
-
For the destination, a decision is made as to whether the package is to be shipped near or far (H).
- If near, a destination is picked relative to the same hub as the source, with the exception of the source (J).
- If far, another hub is first selected (with the exception of the source's hub, I), and an (x,y) coordinate is selected with respect to that hub (J).
At each time step of the simulation
A number of new shipments to be started is selected (K). These shipments are instantiated as explained above.
Then, for each active shipment:
- A decision is made whether the shipment will move in this simulation step (L).
- If so, a next position among its immediate neighboring (x,y) coordinates is selected (M). The package is moved to that cell.
- Any package that reaches its destination is considered handled, and is removed from the set of active shipments.
Structure
This problem contains 13 degrees of freedom, which can be symbolized by pickers:
A. Size of the grid (x axis) [integer]
B. Size of the grid (y axis) [integer]
C. Selection of the number of hubs [integer]
D. Selection of the (x,y) position of a hub [(integer,integer)]
E. Selection of the package's ID [string]
F. Source hub selection [hub]
G. (x,y) selection with respect to first hub [(integer,integer)]
H. Near/far destination [Boolean]
I. Destination hub selection [hub]
J. (x,y) selection with respect to destination hub [(integer,integer)]
K. Number of new active shipments at each time step [integer]
L. Decision on whether a package moves in a simulation step [Boolean]
M. Selection of the next coordinate for a package [(integer,integer)]