actiTopp is a model to generate week activity schedules. The implementation is developed at the Institute for Transport Studies at the Karlsruhe Institute of Technology. actiTopp is part of our travel demand model mobiTopp but can also be used separately.
More information about the model itself can be found here.
actiTopp is a Kotlin-based activity scheduling model that generates weekly activity patterns for individuals based on their demographic characteristics. The model uses a multi-step approach to:
- Generate a week routine with the number of days for different activity types
- Create a mobility structure with specific activities assigned to days
- Allocate time budgets for different activities
- Generate detailed mobility plans with activity timing and durations
The project is organized into the following main packages:
- enums: Contains enumeration classes for activity types, area types, employment status, and gender
- changes: Handles modifications to activity patterns
- mobilityplan: Manages the creation and manipulation of mobility plans
- mobilitystructure: Defines structures for representing mobility patterns
- modernization: Contains classes for the modernized version of the model
- plandurations: Handles the planning of activity durations
- steps: Defines the sequential steps in the activity generation process
- timebudgets: Manages time allocation for different activities
- tourstarttimes: Handles the determination of when tours start
- weekroutine: Manages weekly routines of activities
To start using actiTopp, ExampleActiTopp shows how a person is created and how a week activity schedule can be generated or how multiple persons can be created using a CSVInputReader.
The following input variables for actiTopp are expected in the following order and using the following coding:
- Indexnumber for a person, freely selectable
- number of children 0-10 years old in the household
- number of children under 18 in the household
- age of the person in years
- main occupation status of the person Coding: 1 - full-time occupied 2 - half-time occupied 3 - not occupied 4 - student (school or university) 5 - worker in vocational program 6 - housewife, househusband 7 - retired person / pensioner
- gender type Coding: 1 - male 2 - female
- Area type Coding: 1 - rural 2 - provincial 3 - cityoutskirt 4 - metropolitan 5 - conurbation
- number of cars in the household
- commuting distance to work in kilometers (0 if non existing)
- commuting distance to school/university in kilometers (0 if non existing)
The actiTopp model follows these general steps:
- Person and Household Creation: Create person and household objects with demographic attributes
- Week Routine Generation: Determine the number of days for different activity types
- Mobility Structure Creation: Assign specific activities to days
- Time Budget Allocation: Determine time budgets for different activities
- Mobility Plan Generation: Create detailed plans with activity timing and durations
- ActitoppPerson: Represents a person with demographic attributes
- ActiToppHousehold: Represents a household with attributes and members
- WeekRoutine: Represents a weekly pattern of activities
- MobilityStructure: Represents a structure of mobility patterns
- TimeBudgets: Manages time allocation for different activities
- MobilityPlan: Represents a detailed plan of activities and trips