https://github.com/baldassarrefe/ambulance-planning

Online scheduling of multi ambulances in a city context, with travel distance and patient priority optimization

https://github.com/baldassarrefe/ambulance-planning

Science Score: 13.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (10.6%) to scientific vocabulary
Last synced: 9 months ago · JSON representation

Repository

Online scheduling of multi ambulances in a city context, with travel distance and patient priority optimization

Basic Info
  • Host: GitHub
  • Owner: baldassarreFe
  • Language: Java
  • Default Branch: master
  • Homepage:
  • Size: 614 KB
Statistics
  • Stars: 1
  • Watchers: 5
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created over 9 years ago · Last pushed over 9 years ago
Metadata Files
Readme

README.md

Ambulance Planning with Distance Optimization

Generating test cases

The Generator component can be run by the command line and takes as an argument the name of a .json file containing the parameters for the city to be generated. The following is a valid .json file:

```json { "nodes": 12, "roads": 30, "noise": 1, "demand": 50,

"ambulances": 5,
"hospitals": 2,

"patients": 2,
"severity1prob": 0.2,
"severity2prob": 0.5,
"severity3prob": 0.3,

"output": "test.pddl"

} ```

To launch the Generator run: java -jar Generator.jar ../input.json

This will generate a test.pddl file containing the description of the generated problem.

Running the planner

The Planner component can be run from the command line and takes as arguments the name of the pddl file describing the problem and the name of the Planner class to use. The following are valid invocations of the Planner:

java -jar Planner.jar test.pddl planner.HungarianPlanner java -jar Planner.jar test.pddl planner.PSOPlanner

This will initially print the description of the city and the initial state. Then will start interactive session that at every step allows the user to visualize the actions taken and decide whether to add new patients. An execution step in the plan will be presented like this: ``` Step: 0 Replanning... Ambulances: A0 @ N5 [] A1 @ N4 [] Patients: P0 (3) @ N2 P1 (3) @ N3 P2 (3) @ N1 Actions for A0 @ N5 [] move(A0 5 -> 4) move(A0 4 -> 1) pick(A0 P2 @ N1) move(A0 1 -> 0) drop(A0 P2 @ N0) Actions for A1 @ N4 [] move(A1 4 -> 1) move(A1 1 -> 0) move(A1 0 -> 3) pick(A1 P1 @ N3) move(A1 3 -> 0) drop(A1 P1 @ N0) Executing: move(A0 5 -> 4) Executing: move(A1 4 -> 1) Want to add a patient? (enter to continue, r for random, syntax: [node(0-7) severity(1-3)]* | r, ex: 5 3 7 1)

``` The Planner will terminate in a state such that all the patients have been brought to an hospital and all the ambulances have reached an location that offers optimal coverage. In other words, the Planner will terminate when there are no more actions to be performed.

All the information about the soved problem is stored on external files: * cityDump.txt contains a temporary representation of the adjacency matrix, to be used in conjunction with graph plotting tools to better visualize the problem, will be overwritten after each execution * <problem name>.<timestamp>.descr contains the full description of the problem solved, including the initial state and the patients that spawned later * <problem name>.<timestamp>.plan contains a step by step list of the actions performed

To bypass the interactivity feature and allow for the software to randomly spawn patients add two numeric arguments to the command line. The first representing the spawn probability of the patients and the second the maximum number of patients. java -jar Planner.jar test.pddl planner.HungarianPlanner 0.6 10

Owner

  • Name: Federico Baldassarre
  • Login: baldassarreFe
  • Kind: user
  • Location: Stockholm
  • Company: KTH

Passionate about AI, data science, and SW Engineering, BSc in Computer Engineering @unibo Bologna, MSc in Machine Learning + PhD candidate at @KTH Stockholm

GitHub Events

Total
Last Year

Issues and Pull Requests

Last synced: about 1 year ago

All Time
  • Total issues: 0
  • Total pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Total issue authors: 0
  • Total pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels