Turnier Matrix erstellen < Sonstiges < Hochschule < Mathe < Vorhilfe
|
Status: |
(Frage) überfällig | Datum: | 20:36 Do 04.12.2014 | Autor: | TeamBob |
Aufgabe | Hallo
Ich soll eine mathemtische Vorschrift / Formel etc. aufschreiben, welche es ermöglicht, das eine n x n diagonale smmetrische Matrix erzeugt wird. Diese soll abbilden welcher Spieler in welcher Runde gehen wem antritt. Also Sprich die Zeilen und Spalten sind die jweiligen Spieler und die Zahlen in der Matrix zeigen die jeweilige Runde an, in der die Spieler gegeneinander antreten. Es geht dabei um jeder gegen jeden, wo jeder nur 1x gegen einen anderen spielt.
Das ganze musss nicht unbedingt mit einer Formel gelöst werden, aber irgendwie ein mathemtisches Modell oder ähnlich. |
Ich habe die Lösung in der Programmiersprache CPLEX bekommen, aber kann es nicht recht lösen. Also irgendwie muss die formel angegeben, das in der ersten Runde Spieler 1 gegen Spieler 2 spielt usw.
Dies sollte dann einen Matrix erzeugen, aber wie bereits gesagt komm ich nicht weiter.
Hoffe ihr könnt mir helfen ist sehr wichtig,
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 22:33 Do 04.12.2014 | Autor: | Fulla |
Hallo TeamBob,
dafür muss man doch wissen, wer wann gegen wen antritt.
Die "Vorschrift" lautet dann die entsprechenden Rundenzahlen in die zwei passenden Felder einzutragen.
Wenn also in Runde 1 Spieler 1 gegen Spieler 2 antritt, setzt man [mm]a_{12}=a_{21}=1[/mm], wobei [mm]a_{ij}[/mm] die Einträge der Spielmatrix [mm]A[/mm] sind.
Treten in Runde 2 Spieler 3 und 4 an, ist [mm]a_{34}=a_{43}=2[/mm] usw.
Oder verstehe ich das falsch?
Lieben Gruß,
Fulla
|
|
|
|
|
Status: |
(Frage) überfällig | Datum: | 10:51 Sa 06.12.2014 | Autor: | TeamBob |
Hallo
Ja also die Lösung in OPL Cplex lautet wie folgt:
range X=0..4;
range Y=0..4;
range Z=0..5;
dvar int P[X,Y] in Z;
dvar int V[X,Y] in Z;
subject to
{
forall(x in X)
allDifferent(all(y in Y) P[x,y]);
forall(a in X , i in Y) {
P[a,a]==0;
P[a,i]==P[i,a];
V[a,i]==V[i,a];
};
forall(ordered a,b in X , c,d in Y : (c>a) && (d>b)) {
(P[a,c]==P[b,d])=>(V[a,c]!=V[b,d]);
};
};
die ergibt dann einen Plan in einer matrix wo in jeder Zeile und Spalte die Spieler stehen und in der Matrix die Runde wo sie gegeneinander antreten. Ich bin mir nicht sicher ob man in einen mathematischen Modell im Vorfeld Annahmen treffen muss oder Vorgaben, aber es soll möglich sein ein modell aufzustellen, was so einen Plan erstellt.
Komme da nicht weiter und es ist sehr wichtig.
Hoffe sehr einen kann mir helfen.
Danke
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 11:20 Mo 08.12.2014 | Autor: | matux |
$MATUXTEXT(ueberfaellige_frage)
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 21:20 Sa 06.12.2014 | Autor: | matux |
$MATUXTEXT(ueberfaellige_frage)
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 16:10 So 07.12.2014 | Autor: | TeamBob |
Hallo
Hat keiner eine Idee zu der Problemstellung?
P:S:Hatte außversehen die Fälligkeit bei der Frage falsch eingestellt.
|
|
|
|