Skip to content

IzyGolstein/Whoosh_Hackathon

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Optimal Electric Scooter Routing Project

Welcome to the Optimal Electric Scooter Routing Project! 🛴💨

In this project, we aimed to develop an innovative solution for finding the best routes for electric scooters. Our focus was on optimizing distance, road comfort, traffic, and parking spot tracking. Let's take a look at the key components of our project.

Project Overview

  1. Data Loading 📊:

    • We loaded geo-data from various sources, including the open-source library "osmnx" (OpenStreetMap), data provided by the organizers, and open sources of the government of Moscow (used API). This data included details about hexes, speed limit zones, parkings, forbidden zones, speed medians, scooters at parkings, routes hex, road index, clashes, and the quality of road surface.
  2. Data Preprocessing 🔄:

    • Our data preprocessing phase involved merging different datasets based on common column values. We combined information from hexes to create some visualizations.
  3. Graph Loading and Analysis 🚂:

    • To gain a deeper understanding of the road network, we created a graph from all our data. We needed this graph to realize our algorithm of building optimal/comfortable roads. Moscow_Graph
  4. Data Filling Algorithm using Decision Trees ⚙️:

    • In addition to route optimization, we developed an algorithm to fill missing data in our datasets using decision tree models. This algorithm builds nested deep trees to predict missing values based on available features. To illustrate the data filling process, here's a comparison of variables before and after filling, which ensured that our datasets were complete and ready for analysis:

    Before Filling

    drawing

    After Filling

    drawing
    !
  5. A* Algorithm for Route Optimization 🗺️:

    • The highlight of our project was the implementation of the A* algorithm for finding optimal routes for electric scooters. We considered factors such as distance, time, road conditions, traffic congestion, and the parking availability. Furthermore, we developed our own weighted features, including cumulative convenience. Our algorithm is based on Dijkstra’s algorithm, but it incorporates heuristics to improve the search. The main purpose is to minimize or maximize the desired target, such as road time, comfort, etc. The result of using the algorithm is presented below:

    Optimal Route

About

Optimal Electric Scooter Routing Hackathon Solution

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •