Hallo,
ich programmiere ein Lehrveranstaltungs-Anmeldesystem für eine Universität. Der Student hat die Möglichkeit 3 LV aus einem Bereich auszuwählen, von denen er dann zu einer zugeteilt wird.
Dabei speichere ich in einer Datenbank ua. folgende Felder:
Praeferenz1 = Die erste Wahl des Studenten
Praeferenz2 = Die zweite Wahl
Praeferenz3 = Die dritte Wahl
Zugewiesen = Die LV, die gleich nach der Anmeldung aufgrund verschiedener Kriterien zugeteilt wird. (entweder 1, 2 oder 3)
Wegen des Designs des übrigen Anmeldemechanismus kann es vorkommen, ... Das Problem ist schwer in Worte zu fassen. Ein Beispiel:
	
Beiden Studenten wurde also die zweite Wahl zugeteilt. Würde man nur die Zuweisung von ihnen tauschen wären sie aber beide glücklicher, weil sie nun beide ihre 1. Wahl besuchen könnten, ohne dass Platzprobleme bei einer LV entstehen würden.
Ich möchte nun, nachdem die Anmeldungsfrist abgeschlossen ist, mit einem PHP-Skript über alle Anmeldedaten drüberfahren, alle solche Konstellationen herausfiltern und die Zuweisungen solange tauschen bis ein Optimum erreicht ist, also es nicht mehr möglich ist durch das Tauschen von Zuweisungen einem Studenten in eine höhere Präferenz zuzuweisen.
Dabei muss natürlich 1. mit 2., 2. mit 3. und 1. mit 3. Präferenz geprüft werden.
Ja, mein Problem: Ich habe keinen Schimmer für einen (schnellen) Lösungsansatz.
Bin für jede Idee dankbar!
					ich programmiere ein Lehrveranstaltungs-Anmeldesystem für eine Universität. Der Student hat die Möglichkeit 3 LV aus einem Bereich auszuwählen, von denen er dann zu einer zugeteilt wird.
Dabei speichere ich in einer Datenbank ua. folgende Felder:
Praeferenz1 = Die erste Wahl des Studenten
Praeferenz2 = Die zweite Wahl
Praeferenz3 = Die dritte Wahl
Zugewiesen = Die LV, die gleich nach der Anmeldung aufgrund verschiedener Kriterien zugeteilt wird. (entweder 1, 2 oder 3)
Wegen des Designs des übrigen Anmeldemechanismus kann es vorkommen, ... Das Problem ist schwer in Worte zu fassen. Ein Beispiel:
PHP Code:
	
	
Student Praeferenz1      Praeferenz2       Praeferenz3       Zugewiesen  
Max          15               20               22               20    
Moritz       20               15               19               15 
Ich möchte nun, nachdem die Anmeldungsfrist abgeschlossen ist, mit einem PHP-Skript über alle Anmeldedaten drüberfahren, alle solche Konstellationen herausfiltern und die Zuweisungen solange tauschen bis ein Optimum erreicht ist, also es nicht mehr möglich ist durch das Tauschen von Zuweisungen einem Studenten in eine höhere Präferenz zuzuweisen.
Dabei muss natürlich 1. mit 2., 2. mit 3. und 1. mit 3. Präferenz geprüft werden.
Ja, mein Problem: Ich habe keinen Schimmer für einen (schnellen) Lösungsansatz.
Bin für jede Idee dankbar!
 
          


 Moderator
 Moderator
Comment