Array_of_Agent_for_double

Type: array

Each item of this array must be:

Type: object

Abstract representation of an individual that makes one trip per day.


Example:

{
    "id": 1,
    "mode_choice": {
        "type": "Logit",
        "value": {
            "mu": 2.0,
            "u": 0.5
        }
    },
    "modes": [
        {
            "type": "Constant",
            "value": 1.0
        },
        {
            "type": "Trip",
            "value": {
                "departure_time_model": {
                    "type": "ContinuousChoice",
                    "value": {
                        "choice_model": {
                            "type": "Logit",
                            "value": {
                                "mu": 1.0,
                                "u": 0.5
                            }
                        },
                        "period": [
                            0.0,
                            200.0
                        ]
                    }
                },
                "destination_schedule_utility": {
                    "type": "None"
                },
                "legs": [
                    {
                        "class": {
                            "type": "Road",
                            "value": {
                                "destination": 1,
                                "origin": 0,
                                "vehicle": 0
                            }
                        },
                        "schedule_utility": {
                            "type": "AlphaBetaGamma",
                            "value": {
                                "beta": 0.01,
                                "gamma": 0.04,
                                "t_star_high": 100.0,
                                "t_star_low": 100.0
                            }
                        },
                        "stopping_time": 600.0,
                        "travel_utility": {
                            "type": "Polynomial",
                            "value": {
                                "b": -0.02
                            }
                        }
                    }
                ],
                "origin_delay": 300.0,
                "origin_schedule_utility": {
                    "type": "None"
                },
                "pre_compute_route": true,
                "total_travel_utility": {
                    "type": "Polynomial",
                    "value": {
                        "c": 0.001
                    }
                }
            }
        }
    ]
}

Type: integerFormat: uint Default: 0

Id used when writing the results of the agents.

Value must be greater or equal to 0.0

Type: array

Modes accessible to the agent.

Must contain a minimum of 1 items

Each item of this array must be:

Type: object

Mode of transportation available to an agent.

Type: object

An activity (e.g., staying home, traveling) that always provide the same utility level.

Type: enum (of string)

Must be one of:

  • "Constant"

Type: number

Representation of a utility (or monetary) amount.

Type: object

A trip consisting in a sequence of legs (either on the road or virtual).

Type: enum (of string)

Must be one of:

  • "Trip"

Type: object

Representation of the mode of transportation for a trip with one or more legs, consisting in traveling on the road or virtually.

The trip is a sequence of legs, where each leg contains a travel part (either on the road, with a given origin, destination and vehicle; or virtually, using a given travel-time function) and a stopping part (with a fixed and given stopping time).

The destination of a leg does not have to be equal to the origin of the following leg, i.e., the agents are allowed to teleport from one node to another (and even change their vehicle).

The departure time from origin is the only choice variable (the departure time from any following leg is equal to the arrival time at the stopping point of the previous leg, plus the stopping time of the previous leg).

The route chosen for each (road) leg of the trip are the fastest route (in term of expected travel time), given the expected departure time from the origin of the leg.

The arrival time at destination is the arrival time at the stopping point of the last leg, plus the stopping time for this last leg.

The total trip utility is composed of:

  • A function of departure time from origin: origin_schedule_utility. - A function of total travel time of the trip (i.e., the sum of the travel time of each leg, excluding stopping time): total_travel_utility. - A function of arrival time at the stopping point for each leg: leg's schedule_utility. - A function of travel time for each leg (excluding stopping time): leg's travel_utility. - A function of arrival time at destination (which accounts for the stopping time of the last leg): destination_schedule_utility.

When the utility for a given component is not specified, it is assumed to be null.

In practice, one of total_travel_utility or legs' travel_utility is usually null but this is not enforced by the model.

Type: array

The legs of the trips.

The full trip consists realizing this legs one after the other.

Must contain a minimum of 1 items

Each item of this array must be:

Type: object

A leg of a trip.

Type: object

Type of the leg (road or virtual).

Type: object

A leg with travel on the road.

Type: enum (of string)

Must be one of:

  • "Road"

Type: object

A leg of a trip on the road network.

Type: integer

Origin node of the leg.

Value must be greater or equal to 0.0

Type: integer

Destination node of the leg.

Value must be greater or equal to 0.0

Type: integer

Vehicle used for the leg.

Value must be greater or equal to 0.0

Type: object

A virtual leg, with a fixed TTF, independent from the road network.

Type: enum (of string)

Must be one of:

  • "Virtual"

Type: object

Constant or piecewise-linear function.

Type: object

A piecewise-linear function.

Type: array

y values of the function.

Each item of this array must be:

Type: number

Representation of time duration or timestamp, expressed in seconds.

Type: number

Interval between two x values.

Type: number

A constant function.

Type: number Default: 0.0

Time spent at the stopping point of the leg, before starting the next leg (if any).

Type: object Default: {"type": "Polynomial", "value": {}}

Travel utility for this specific leg (a function of the travel time for this leg).


Examples:

{
    "type": "Polynomial",
    "value": {
        "b": -10.0
    }
}
{
    "type": "Polynomial",
    "value": {
        "b": -5.0,
        "c": -2.0
    }
}

Type: enum (of string)

Must be one of:

  • "Polynomial"

Type: object

A polynomial function of degree 4.

Constant, linear, quadratic and cubic functions are special cases.

Type: numberFormat: double

Coefficient of degree 0.

Type: numberFormat: double

Coefficient of degree 1.

Type: numberFormat: double

Coefficient of degree 2.

Type: numberFormat: double

Coefficient of degree 3.

Type: numberFormat: double

Coefficient of degree 4.

Type: object Default: {"type": "None"}

Schedule utility at the stopping point (a function of the arrival time at the stopping point).

Type: object

The schedule utility is always null.

Type: enum (of string)

Must be one of:

  • "None"
Type: object

The schedule utility is computed using the alpha-beta-gamma model.

There is a penalty beta for leaving / arriving early and a penalty gamma for leaving / arriving late.

Type: enum (of string)

Must be one of:

  • "AlphaBetaGamma"

Type: object

Compute the schedule-delay utility using Vickrey's alpha-beta-gamma model

Type: number

The earliest desired arrival (or departure) time.

Type: number

The latest desired arrival (or departure) time (must not be smaller than t_star_low).

Type: number

The penalty for early arrivals (or departures), in utility per second.

Type: number

The penalty for late arrivals (or departures), in utility per second.


Example:

{
    "type": "AlphaBetaGamma",
    "value": {
        "beta": 5.0,
        "gamma": 20.0,
        "t_star_high": 31350.0,
        "t_star_low": 27900.0
    }
}

Type: number Default: 0.0

Delay between the departure time of the trip and the start of the first leg.

Type: object

Model used for the departure-time choice.

Type: object

The departure time is always equal to the given value.

Type: enum (of string)

Must be one of:

  • "Constant"

Type: number

Representation of time duration or timestamp, expressed in seconds.

Type: object

The departure time is chosen among a finite number of values.

Type: enum (of string)

Must be one of:

  • "DiscreteChoice"

Type: object

Type: array

Values among which the departure time is chosen.

Each item of this array must be:

Type: number

Representation of time duration or timestamp, expressed in seconds.

Type: object

Discrete choice model.

Type: object

Choose the alternative with the largest utility.

Type: enum (of string)

Must be one of:

  • "Deterministic"

Type: object

Choose the alternative with the largest value.

Type: numberFormat: double

Uniform random number between 0.0 and 1.0 to choose the alternative in case of tie.

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

Type: array of number

Constants added to the value of each alternative.

The number of constants does not have to match the number of alternatives. If there are less constants than alternatives, then the constants are cycled over.

If None, no constant is added to the alternatives' value.

Each item of this array must be:

Type: object

Choose the alternative using Logit probabilities.

Type: enum (of string)

Must be one of:

  • "Logit"

Type: object

A discrete or continuous Logit model

Type: numberFormat: double

Uniform random number between 0.0 and 1.0 for inversion sampling.

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

Type: numberFormat: double

Variance of the error terms, must be positive.

Value must be greater or equal to 0.0001


Example:

{
    "type": "Deterministic",
    "value": {
        "constants": null,
        "u": 0.5
    }
}

Type: number Default: "0"

Offset time added to the chosen departure-time value (can be negative).

Type: object

The departure time is chosen according to a continuous choice model.

Type: enum (of string)

Must be one of:

  • "ContinuousChoice"

Type: object

Type: array

Interval in which the departure time is chosen.

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: object

Continuous choice model.

Type: enum (of string)

Must be one of:

  • "Logit"

Type: object

A discrete or continuous Logit model

Type: numberFormat: double

Uniform random number between 0.0 and 1.0 for inversion sampling.

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

Type: numberFormat: double

Variance of the error terms, must be positive.

Value must be greater or equal to 0.0001

Type: object Default: {"type": "Polynomial", "value": {}}

Total travel utility of the trip (a function of the total travel time of the trip).


Examples:

{
    "type": "Polynomial",
    "value": {
        "b": -10.0
    }
}
{
    "type": "Polynomial",
    "value": {
        "b": -5.0,
        "c": -2.0
    }
}

Type: enum (of string)

Must be one of:

  • "Polynomial"

Type: object

A polynomial function of degree 4.

Constant, linear, quadratic and cubic functions are special cases.

Type: numberFormat: double

Coefficient of degree 0.

Type: numberFormat: double

Coefficient of degree 1.

Type: numberFormat: double

Coefficient of degree 2.

Type: numberFormat: double

Coefficient of degree 3.

Type: numberFormat: double

Coefficient of degree 4.

Type: object Default: {"type": "None"}

Schedule utility at origin of the trip (a function of the departure time from origin).

Type: object

The schedule utility is always null.

Type: enum (of string)

Must be one of:

  • "None"
Type: object

The schedule utility is computed using the alpha-beta-gamma model.

There is a penalty beta for leaving / arriving early and a penalty gamma for leaving / arriving late.

Type: enum (of string)

Must be one of:

  • "AlphaBetaGamma"

Type: object

Compute the schedule-delay utility using Vickrey's alpha-beta-gamma model

Type: number

The earliest desired arrival (or departure) time.

Type: number

The latest desired arrival (or departure) time (must not be smaller than t_star_low).

Type: number

The penalty for early arrivals (or departures), in utility per second.

Type: number

The penalty for late arrivals (or departures), in utility per second.


Example:

{
    "type": "AlphaBetaGamma",
    "value": {
        "beta": 5.0,
        "gamma": 20.0,
        "t_star_high": 31350.0,
        "t_star_low": 27900.0
    }
}

Type: object Default: {"type": "None"}

Schedule utility at destination of the trip (a function of the arrival time at destination).

Type: object

The schedule utility is always null.

Type: enum (of string)

Must be one of:

  • "None"
Type: object

The schedule utility is computed using the alpha-beta-gamma model.

There is a penalty beta for leaving / arriving early and a penalty gamma for leaving / arriving late.

Type: enum (of string)

Must be one of:

  • "AlphaBetaGamma"

Type: object

Compute the schedule-delay utility using Vickrey's alpha-beta-gamma model

Type: number

The earliest desired arrival (or departure) time.

Type: number

The latest desired arrival (or departure) time (must not be smaller than t_star_low).

Type: number

The penalty for early arrivals (or departures), in utility per second.

Type: number

The penalty for late arrivals (or departures), in utility per second.


Example:

{
    "type": "AlphaBetaGamma",
    "value": {
        "beta": 5.0,
        "gamma": 20.0,
        "t_star_high": 31350.0,
        "t_star_low": 27900.0
    }
}

Type: boolean Default: true

If true, the routes of the trip are computed during the pre-day model (faster). If false, they are computed during the within-day model (which means that the route for second and after legs is computed using the actual departure time, not the predicted one)..

Type: object Default: null

Choice model used for mode choice.

When not specified, the first mode is always chosen.

Type: object

Choose the alternative with the largest utility.

Type: enum (of string)

Must be one of:

  • "Deterministic"

Type: object

Choose the alternative with the largest value.

Type: numberFormat: double

Uniform random number between 0.0 and 1.0 to choose the alternative in case of tie.

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

Type: array of number

Constants added to the value of each alternative.

The number of constants does not have to match the number of alternatives. If there are less constants than alternatives, then the constants are cycled over.

If None, no constant is added to the alternatives' value.

Each item of this array must be:

Type: numberFormat: double
Type: object

Choose the alternative using Logit probabilities.

Type: enum (of string)

Must be one of:

  • "Logit"

Type: object

A discrete or continuous Logit model

Type: numberFormat: double

Uniform random number between 0.0 and 1.0 for inversion sampling.

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

Type: numberFormat: double

Variance of the error terms, must be positive.

Value must be greater or equal to 0.0001


Example:

{
    "type": "Deterministic",
    "value": {
        "constants": null,
        "u": 0.5
    }
}