Parameters_for_double

Type: object

Set of parameters used to control how a Simulation is run.


Example:

{
    "init_iteration_counter": 1,
    "learning_model": {
        "type": "Exponential",
        "value": {
            "alpha": 0.9
        }
    },
    "nb_threads": 8,
    "network": {
        "road_network": {
            "algorithm_type": "Best",
            "approximation_bound": 1.0,
            "contraction": {
                "complexity_quotient_weight": 2.0,
                "edge_quotient_weight": 2.0,
                "hierarchy_depth_weight": 1.0,
                "thin_profile_interval_hop_limit": 16,
                "unpacked_edges_quotient_weight": 1.0
            },
            "max_pending_duration": 30.0,
            "recording_interval": 300.0,
            "spillback": true
        }
    },
    "period": [
        21600.0,
        43200.0
    ],
    "random_seed": 13081996,
    "stopping_criteria": [
        {
            "type": "MaxIteration",
            "value": 100
        },
        {
            "type": "DepartureTime",
            "value": [
                2.0,
                3600.0
            ]
        }
    ],
    "update_ratio": 1.0
}

Type: array

Time interval used to restrict the travel-time functions of the edges.

The departure-time intervals of the agents must be included in this interval.

Agents can still travel on the network when the period is exceeded but the edges' travel times are no longer recorded. The departure time chosen by any agent must be such that the expected arrival time is earlier than the end of the period.

Must contain a minimum of 2 items

Must contain a maximum of 2 items

Each item of this array must be:

Type: number

Representation of time duration or timestamp, expressed in seconds.

Type: integerFormat: uint32 Default: 1

Initial iteration counter to use for the simulation.

This is useful when running a simulation "step-by-step" (i.e., the input is modified partially from one iteration to another) so that, for example, the coefficients for the learning model are correctly computed.

Value must be greater or equal to 1.0

Type: object

Set of parameters for the network.

Type: object

Parameters specific to the road network.

Type: object Default: {"complexity_quotient_weight": 2.0, "edge_quotient_weight": 2.0, "hierarchy_depth_weight": 1.0, "thin_profile_interval_hop_limit": 16, "unpacked_edges_quotient_weight": 1.0}

Parameters controlling how a hierarchy overlay is built from a road network graph.

Type: numberFormat: double

Type: numberFormat: double

Type: integerFormat: uint8

Value must be greater or equal to 0.0

Type: number

Time interval for which travel times are recorded at the edge level during the simulation.

Type: number Default: "0"

Approximation bound in seconds, used to simplify the travel-time functions when the difference between the maximum and the minimum travel time is smaller than this bound.

Type: boolean Default: true

If true the total headways of vehicles on each edge of the road network is limited by the total length of the edges.

Type: number

Maximum amount of time a vehicle can be pending to enter the next edge.

Type: object Default: "Best"

Algorithm type to use when computing the origin-destination travel-time functions. Possible values are: "Best" (default), "Intersect" and "TCH".

Intersect is recommanded when the number of unique origins and destinations represent a relatively small part of the total number of nodes in the graph.

Type: enum (of string)

Try to guess which algorithm will be the fastest.

Must be one of:

  • "Best"
Type: enum (of string)

Time-dependent contraction hierarchies (TCH): long pre-processing time, fast queries.

Must be one of:

  • "TCH"
Type: enum (of string)

Many-to-many TCH: Longest pre-processing time, fastest queries.

Must be one of:

  • "Intersect"

Type: object

Learning model used to update the values between two iterations.

Type: object

Exponential learning model.

Type: enum (of string)

Must be one of:

  • "Exponential"

Type: object

An exponential learning model.

The average value at iteration T, x_T, is a mean of the update values y_t at each iteration t, where the coefficient of the update value y_t is (1 - alpha) * alpha^(T - t) / (1 - alpha^T).

When T is large, the exponential learning model is such that x_{t+1} = alpha * x_t + (1 - alpha) * y_{t+1}

Type: numberFormat: double

Weight of the old value, between 0 and 1.

Value must be greater or equal to 0.0 and lesser or equal to 1.0

Type: object

Linear learning model: x_{t+1} = (t / (t + 1)) * x_t + (1 / (t + 1)) * y

Type: enum (of string)

Must be one of:

  • "Linear"
Type: object

Genetic learning model: x_{t+1} = (x_t^t * y)^(1 / (t + 1))

Type: enum (of string)

Must be one of:

  • "Genetic"
Type: object

Quadratic learning model: x_{t+1} = (w / (w + 1)) * x_t + (1 / (w + 1)) * y where w = t^(1/2)

Type: enum (of string)

Must be one of:

  • "Quadratic"

Type: array

Set of stopping criteria used to decide when the iterative process should stop.

Each item of this array must be:

Type: object

Criterion that is used to check if a simulation must be stopped.

Type: object

Stop when the number of iterations has reached a given value.

Type: enum (of string)

Must be one of:

  • "MaxIteration"

Type: integerFormat: uint32

Value must be greater or equal to 0.0

Type: object

Stop when the mean departure-time shift from one iteration to another is below a threshold value.

The first value represents the threshold value. The second value represents the backup value to use when an agent switch from a mode to another mode.

Type: enum (of string)

Must be one of:

  • "DepartureTime"

Type: array

Must contain a minimum of 2 items

Must contain a maximum of 2 items

Tuple Validation

Item at 1 must be:
Type: number

Representation of time duration or timestamp, expressed in seconds.

Item at 2 must be:
Type: number

Representation of time duration or timestamp, expressed in seconds.

Type: numberFormat: double Default: 1.0

Share of agents that can update their pre-day choices at each iteration.

Value must be greater or equal to 0.0 and lesser or equal to 1.0

Type: integerFormat: uint64 Default: null

Random seed used for all the draws.

If null, the seed is generated by entropy.

Value must be greater or equal to 0.0

Type: integerFormat: uint Default: 0

Number of threads to use for parallel tasks.

Default (0) is to use all the threads of the CPU.

Value must be greater or equal to 0.0