Dieses Repository enthält den Quellcode und die Evaluationsdateien für die Bachelorarbeit "AGAT: Ein heuristischer Algorithmus zur präferenzbasierten Gruppenbildung mit fester Gruppengrösse" von Patrick Rüegsegger.
Der hier präsentierte AGAT-Algorithmus ist ein heuristischer Lösungsansatz, der agglomeratives hierarchisches Clustering (AHC) für eine initiale Cluster-Bildung nutzt. Da AHC allein keine festen Gruppengrössen garantiert, wird der Algorithmus durch zwei neu entwickelte Reparaturmethoden ("merge" und "break") ergänzt, um diese strikte Anforderung zu erfüllen. Ein Präferenzmodell erlaubt dabei die Abgleichung sowohl auf Ähnlichkeit (homogene Kriterien) als auch auf Unterschiedlichkeit (heterogene Kriterien) der Gruppenmitglieder.
- Installieren Sie Python 3.12.6
- Klonen Sie das Git-Repository
git clone https://github.com/SEG-UNIBE/AGAT.git cd AGAT
- Installieren Sie die Dependencies:
pip install -r requirements.txt
Zur eigener Gruppenbildung können Sie den AGAT-Prototyp mit der grafischen Benutzeroberfläche starten, indem Sie die main.py
ausführen:
python src/main.py
Wählen Sie anschliessend die .csv
und .json
Input-Dateien aus, die Sie für die Gruppenbildung benutzen möchten. Im Ordner /examples
existieren bereits welche, die direkt genutzt oder angepasst werden können.
Nachdem Sie die Gruppenbildung ausgeführt haben, können Sie das Resultat als .json
-Datei abspeichern.
Das Skript evaluation.py
führt die komplette Evaluation durch, wie sie in der Thesis beschrieben ist.
Achtung: Die vollständige Ausführung des Skripts dauert mehrere Stunden oder sogar wenigen Tagen (je nach Rechenleistung).
python evaluation/evaluations.py
Das Skript speichert die Ergebnisse standardmässig als results.csv
im selben Verzeichnis.
Informationen zur Zitation dieser Arbeit finden Sie in der CITATION.cff
-Datei.