Intra-Household AV Assignment#

The intra-household autonomous vehicle (AV) assignment model in POLARIS optimally schedules the use of shared autonomous vehicles among household members over the course of a simulated day. The model formulates the problem as a Mixed-Integer Program (MIP) solved using the Gurobi optimizer.

The figure below provides a conceptual overview of the problem: household members’ activity timelines are fed into the optimizer, which produces an optimal AV dispatch plan that minimizes total household transportation cost.

Intra-Household AV Assignment Concept

Problem Description#

In a household with one or more autonomous vehicles and multiple members, each with a daily activity schedule, the question is: how should the AVs be dispatched to serve each member’s travel needs while minimizing total household transportation cost?

The model considers:

  • Activity schedules: Each household member has a sequence of activities with start times, durations, and locations. Start times and durations have flexibility bounds (low, moderate, high) that allow the optimizer to shift activities within acceptable ranges.

  • Vehicle trips: An AV can drive a household member from one activity to the next, then reposition (empty) to serve another member, park at the activity location, or return home.

  • Ride-sharing: Two household members may share a ride in the same AV if their activity times and locations are compatible.

  • Taxi/TNC fallback: If no household AV is available, a member can use a taxi or TNC service at a higher cost.

  • Zero-occupancy vehicle (ZOV) trips: Empty AV repositioning trips between serving different household members incur a ZOV tax.

Mathematical Formulation#

The MIP includes the following decision variables:

  • Binary trip variables: For each vehicle, each pair of activity endpoints (start/end of activities across all household members), a binary variable indicates whether the AV makes that trip.

  • Continuous schedule variables: Start time, end time, and duration of each activity, bounded by the flexibility constraints.

Objective Function#

The objective minimizes the total household transportation cost:

\[\min \sum \left( C_{AV}^{fixed} \cdot \mathbf{1}_{AV\ used} + C_{parking} \cdot t_{park} + C_{energy} \cdot t_{travel} + C_{taxi} \cdot t_{taxi} + C_{ZOV} \cdot t_{ZOV} + C_{VOT} \cdot |\Delta_{schedule}| \right)\]

where:

Cost Component

Description

$C_{AV}^{fixed}$

Fixed cost per AV deployed for the day

$C_{parking}$

Hourly parking cost at non-home activity locations

$C_{energy}$

Hourly AV energy/operating cost

$C_{taxi}$

Fixed + per-hour cost for taxi/TNC trips

$C_{ZOV}$

Fixed + per-hour tax on empty AV repositioning

$C_{VOT}$

Value of time applied to schedule deviations

Key Constraints#

  1. Pickup and drop-off: Every inter-activity trip must be served by exactly one mode (one AV or a taxi).

  2. Same-vehicle consistency: The vehicle that picks up a person must be the same one that drops them off.

  3. Flow conservation: If an AV enters the system (leaves home), it must eventually return.

  4. Temporal feasibility: Travel time between two activities must fit within the activity schedule, respecting flexibility bounds.

  5. No loops: A vehicle cannot make a round-trip between two activity endpoints in the same direction.

Configuration#

The model is configured via a JSON file referenced by intrahousehold_vehicle_sharing_model_file in the scenario. Key parameters include:

{
    "IHVS_MINIMUM_ACTIVITY_DURATION": 15.0,
    "IHVS_FLEXIBILITY_START_LOW": 5.0,
    "IHVS_FLEXIBILITY_START_MEDIUM": 15.0,
    "IHVS_FLEXIBILITY_START_HIGH": 30.0,
    "IHVS_FLEXIBILITY_DURATION_LOW": 5.0,
    "IHVS_FLEXIBILITY_DURATION_MEDIUM": 15.0,
    "IHVS_FLEXIBILITY_DURATION_HIGH": 30.0,
    "IHVS_COST_AV_FIXED": 10.0,
    "IHVS_COST_PARKING_PER_HOUR": 5.0,
    "IHVS_COST_AV_ENERGY_PER_HOUR": 2.0,
    "IHVS_COST_VALUE_OF_TIME_PER_HOUR": 15.0,
    "IHVS_COST_TAXI_FIXED": 5.0,
    "IHVS_COST_TAXI_PER_HOUR": 30.0,
    "IHVS_COST_ZOV_TAX_PER_HOUR": 10.0,
    "IHVS_COST_ZOV_TAX_FIXED": 2.0,
    "IHVS_GUROBI_MIPGAP": 0.20,
    "IHVS_GUROBI_TIMEOUT": 10.0,
    "IHVS_GUROBI_THREAD": 1.0
}

Note
This model requires the Gurobi optimizer to be installed and licensed. When Gurobi is not available, a null implementation is used and all vehicles are assigned conventionally.

Outputs#

When visualization output is enabled in the configuration, the model writes per-household output files:

  • Activities file: Original and optimized start/end times for each person’s activities.

  • Trips file: All AV and taxi trips with vehicle IDs, origin/destination activities, and ZOV flags.

  • LP file: The full Gurobi model in LP format for debugging.

References#

  • The intra-household vehicle sharing formulation extends concepts from household activity scheduling and vehicle routing optimization.