AnyLogic
Expand
Font size

Phase 4. Adding ticket vending machines

At the moment all the passengers in our model enter the subway entrance building, then pass through the fare gates and go to the trains. So we assume that all passengers have bought their tickets in advance. Actually this can be hardly true. Some people may enter the station with the tickets being purchased in advance. But a lot of people buy tickets just when they enter the subway station.

There can be different ticket vending facilities in the station. Small subway entrances may provide only ticket vending machines, big and spacious stations also have ticket offices.

Let’s expand our model by adding ticket vending machines first. Having built such a model, we want to know the number of machines we need to satisfy the passenger needs and we can also find the optimal location for the machines to minimize the passenger flows intersections and crowds.

Like fare gates, ticket vending machines can be also naturally represented as Services with Lines.

Draw ticket vending machines

  1. Drag the  Service With Lines element from the Space Markup section of the  Pedestrian Library palette into the graphical editor.
  2. Rotate the service shapes and place them near the wall as shown in the figure below:

  3. Open the services properties and configure this group of services.
  4. This time our services are not linear, but point. Pedestrian just reaches the service point and stays there for service delay time. So leave the Type of service set to Point.
  5. Name the services ticketMachines.
  6. Increase the Number of services to 7. Symmetrically, change the N of queues also to 7.

Now we want to route some passengers directly to fare gates, and some — to get serviced at the ticket vending machines.

Modify the model flowchart

  1. Insert the  PedSelectOutput block between inflowSource and atFareGates blocks. The block will be automatically connected when you place in on the connector. This block separates passenger flows. We need this block to route non-ticketed passengers to ticket vending machines while other ones — straight to the fare gates.  PedSelectOutput block is a decision making block of the  Pedestrian Library. Pedestrians arriving at the  PedSelectOutput block are forwarded along one of its output ports depending on the specified ratios.
  2. Add one more  PedService block. This block will simulate how passengers are serviced at ticket vending machines. Place it between the second out port of  PedSelectOutput and the existing  PedService block (atFareGates).
  3. Connect the blocks as shown in the figure (this will require drawing two new connectors between the second out port of  PedSelectOutput and atFareGates blocks).

  4. Configure the  PedSelectOutput block. Name the block routePassengers. Specify 0.9 as Probability 1 (the ratio for flow going directly to fare gates), and 0.1 as the Probability 2 (ratio for the flow going to ticket vending machines correspondingly. In this flowchart we assume that the number of passengers that have already bought their tickets is actually significantly higher. Set Probability 3, 4, 5 to 0.
  5. Configure the just added  PedService block. Rename the block to atTVM.
  6. Choose  ticketMachines (the name of our Service with Lines markup shape) as the Services.
  7. Change the Delay time. Write there: triangular(7, 12, 40) and choose seconds from the drop-down list of units.
    We assume that service time is triangularly distributed with minimum value of 7 seconds, average value of 12, and maximum value of 40 seconds.

Let’s run the model and observe its behavior. Some passengers first go to the ticket vending machines to buy a ticket and only then pass through fare gates.

Demo model: Subway Entrance Hall Open the model page in AnyLogic Cloud. There you can run the model or download it (by clicking Model source files).
How can we improve this article?