Decision Support

A JavaFX application leveraging graph theory to calculate and optimise the assignment between hosts and visitors during language stays.

JAVAJAVAFX

Available on GitHub ↗

Testable web version below ↓

Gallery image
Gallery image
Gallery image
Gallery image

This project is a desktop application with a JavaFX graphical interface, designed to automate the organisation of language stays. The system imports participant data in CSV format and finds the best possible matches between host families and visitors to ensure an optimal stay.

The core decision logic is based on modelling data as graphs. The algorithm cross-references strict criteria, such as dietary requirements or allergies, with softer preferences like hobbies, gender or age difference. Each detected incompatibility adds a specific weight to the edge connecting two profiles, allowing the relevance of a pairing to be quantified mathematically.

Once the weighted graph is established, the application uses a greedy algorithm to traverse the connections and extract the most optimised pairs, minimising overall conflicts. The generated results can then be easily exported as a CSV file for use by the stay organisers.

Edi Hamiti