Skip to content

Latest commit

 

History

History
33 lines (28 loc) · 1.33 KB

README.md

File metadata and controls

33 lines (28 loc) · 1.33 KB

Information system of graph, actors, allocations of actors on the graph, generates an optimal allocation, evaluates its metrics, finds shortest path for an actor from one vertex to another

Functions

  • generate an optimal allocation of actors on the graph
  • evaluate metrics of the allocation
  • find shortest path for an actor from one vertex to another
  • extract active allocations
  • extract all, by id, create, update, delete by id actors, vertices, edges, allocations
  • provide REST API for the functions

Optimisation

Optimisation consists of two phases: evaluate vertex rank for actor based on Dijkstra algorithm to find shortest path using function of speed, speed limit, distance and vertex rank, create stable matches using Gale-Shapley algorithm to solve stable marriage/matching problem between actors and vertices according to their mutual ranks

OptimisationService

Database

database diagram
SQLite database schema

Technologies and tools

  • Java 8
  • Spring framework (Boot, Web/MVC, Test, Actuator, slf4j/logback)
  • Spring Data and JDBC with Apache DBCP (in different branches)
  • SQLite
  • Maven
  • Git
  • IntelliJ IDEA
  • Insomnia REST Client
  • Java Visual VM (profiler)