Skip to main content

Agent-based fleet simulator to test strategies

Project description

SimFleet

https://img.shields.io/pypi/v/simfleet.svg Python Versions Languages Code Size MIT License Downloads Documentation Status https://img.shields.io/pypi/format/simfleet.svg

SimFleet is a multi-agent simulation platform for the orchestration and execution of transportation services. All actors of a transportation system are represented by agents whose behaviours define the operation of the service and its internal communication, enabling users to configure and test their own agent strategies. This platform facilitates the study of mobility in realistic scenarios without the need for physical testing.

SimFleet includes predefined agent classes that represent the core components of any transportation service: Customers, Transports, Fleet Managers, and Stations.

  • Customer Agents: People or goods that require transportation.

  • Transport Agents: Vehicles that provide displacement services to Customers.

  • FleetManager Agents: Service provider that manages a fleet of Transports.

  • Station Agents: Locations representing transportation infrastructure, such as bus stops or charging stations.

These agents can be extended and customized to represent a specific transportation mode. Currently, the platform provides two predefined transportation services: Taxi/Electric Taxi service, and Urban Bus. These systems count with their own implementation of Transport and Customer agents, as well as the necessary infrastructure: Electric Charging Stations and Bus Stops. Using the predefined agents, SimFleet users may easily create and execute their own simulation scenarios.

As for advanced users, however, the extension of predefined agents is encouraged to develop new agent types. SimFleet’s architecture, based on modularity, simplifies the implementation of custom agents and agent behaviours tailored to the user’s specific needs.

Features

  • Open Fleets simulator

  • Strategy pattern

  • Continuous simulator

  • Load scenarios

  • Multi-agent system built with SPADE

  • XMPP communications

Credits

This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.

History

2.0.1 (2025-01-28)

  • Minor bug fixes

  • Updated documentation

2.0.0 (2025-01-23)

  • New brand release

  • Upgraded to SPADE 4

  • Full code refactor

  • New class hierarchy

  • New documentation

1.0.3 (2022-12-13)

  • Update third-party libs

1.0.2 (2021-02-14)

  • Fixed bug with Vuex version

1.0.1 (2019-11-07)

  • SPADE and pandas version upgraded.

  • Stop simulation fixed.

  • Aesthetic changes.

  • Minor bug fixes.

  • Updated documentation.

1.0.0 (2019-11-05)

  • Moved from a taxi simulator to a generic fleet simulator.

  • Updated documentation.

  • Added support for different cities.

  • Directory agent now sends all the info.

  • Fixed bug of staying the corresponding time in the station when charging.

  • Changed logger to loguru library.

  • Removed fuel from transport popup, now is current_autonomy/max_autonomy.

  • Concurrent charging in stations now allowed through TimeoutBehavior.

  • Custom icons added.

  • Removed agents introduction from GUI.

  • Added specific parameters in scenario file (now config file).

  • CLI simplified.

  • Changed cli to config file.

  • Control of free places and status for StationAgent.

  • Fuel refill behavior between TransportAgent and StationAgent.

  • Refactoring from passenger to Customer

  • Refactoring from taxi to Transport

  • Refactoring from coordinator to fleet manager

0.4.1 (2019-01-07)

  • Fixed bug when checking if the simulation is finished.

0.4.0 (2018-10-25)

  • Improved the concurrent creation of agents.

  • Added stop and clear buttons to the interface.

  • Added download button for getting results in excel and json formats.

  • Documentation updated.

0.3.0 (2018-10-01)

  • Migrated to SPADE 3.

  • Documentation highly improved.

  • Helper functions added and refined.

  • Javascript framework included: VueJS

  • Routes centralized with a Route agent.

  • UI improved.

0.2 (2017-11-15)

  • Added scenario loading feature.

0.1.3 (2017-11-15)

  • Fixed minor bugs.

0.1.1 (2017-11-14)

  • Added documentation.

0.1.0 (2017-11-03)

  • First release on PyPI.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page