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




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.
Testable web version
Although it is a native desktop application, the application can be tested directly in the browser thanks to JPro ↗.

