Products Consultancy

OmniTRANS V6: Capacity restraint assignment for transit


Wednesday, June 8, 2011

Besides, OtTransit introduces capacity restraint assignment to take crowding into account. For situations where public transport and car system are competitive, this offers more insight in the choices that travellers make. This short article introduces the concept of capacity restraint assignment for public transport. More information can be found in the OmniTRANS manual.

 

The introduction of capacity restraint assignment for public transport has several advantages:

  • Better cost calculation for (crowded) service;
  • Better distribution of travellers over services;
  • Better cost values for use in modal split mode.

 

You can use this as follows. In your network, apart from specifying the frequency, you can also specify the capacity of a service by setting the 'seats' property. This can be different per time period. The crowding has effect on perceived travel time. The more travellers in a coach, the higher they perceive travel time.

 

The old function:

 

 

 

becomes:

 

 

 

where:

 

 

The crowding function is defined in the job and is a function of V/C ratio as shown in the graph below.

 

Default crowding function (OtTransit.crowdingFunction)

 

The first two points ([0.0,0.0] and [0.8,0.01]) indicate that there is almost no crowding effect. After reaching a VC-ratio of 0.8, the effect of crowding is increasing. The crowding function is defined as:

transit.crowdingFunction = [[0.0, 0.0], [0.8, 0.01], [1.0, 0.1],
 [2.0, 0.75], [10, 10]]

The assign method witht the belonging iterations are defined as:

transit.assignMethod = 'VolAvg'
transit.iterations = 5

An entire example job is shown below:

transit = OtTransit.new
transit.network = [30,10]
transit.load = [1,30,10,1,4,1]
transit.logitParameters = [0.26,0.13,0.13]
transit.assignMethod = 'VolAvg'
transit.iterations = 5
transit.crowdingFunction = [[0.0, 0.0], [0.8, 0.01], [1.0, 0.1],
 [2.0, 0.75], [10, 10]]
transit.execute 

Notice that the crowding function value is a multiplier for the travel time and not an absolute value.

 

To summarize the steps to take:

  1. Define seats;
  2. Add crowding function to job;
  3. Add iterations property to job;
  4. Add assignMethod property to job (set it to VolAvg).

 

The movie below shows an Volume Assignment with OtTransit in combination with crowding.