The algorithm contains the following steps.
From this description it follows that GTU generation is highly flexible, as many aspects are delegated to interchangeable components.
A first approach to generate platoons is to use Markov chains as described in section Markov chain for GTU types. With high correlation, GTUs of a specific type are likely to follow one another. But there is no guarantee over platoon lengths or time between platoons.
To gain control of vehicle generation regarding platoon lengths the class Platoons can be used. This occurs in five steps per position where such platoons are generated:
Platoonsobject is created coupled to a position. To generate GTU characteristics either a
LaneBasedGTUCharacteristicsGeneratoror, in case demand is based on an OD matrix, a
addPlatoon(…). This method defines the start and end time. If origin, destination and category are fixed for GTUs that are consecutively created in step 3, the method
fixInfo(…)can be used once for such a group.
addGtu(…)which defines the arrival time, and optionally the origin, destination and category.
start(…)will start the chain of generation events.
It should be noted that this algorithm disables the vehicle generator that is coupled to a Platoons during each platoon, but only pertaining to lanes that are included in the position. This means that the overall demand pattern is affected. One could compensate for this by manually adjusting the demand pattern, or adding a negative number of trips in an OD matrix. The easiest way, however, is to use the method
compensate(…) of the
Platoons class. This can be done after steps 1 – 4 of the above procedure and before the vehicle generators are created (e.g. before an OD matrix is created and used to create vehicle generators). Demand compensation is applied per group g (
Applying this factor on the demand of g ensures that together with the platoons, the same total number of vehicles is generated.