School Project

Decision Support

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

Capture d'écran du projet

Objective

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.

Capture d'écran du projet

Modeling

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.

Capture d'écran du projet

Resolution

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.