Hallo,
Regeln habe ich rausgeworfen, TRichEdit habe ich wohl nicht.
Mir schmierte das Programm unter Lazarus ab natürlich ohne Fehlermeldung(, und tschüß ), wenn ich am SpinEdit die Matrix vergrößerte, aber ich habe es dann doch zügig gefunden. Es ist ja nur eine kleine Sache, Ausgabe wurde zu früh aufgerufen.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21:
| procedure TRRP.SpinEditNChange(Sender: TObject); var K,Z,S:Integer; begin if SpinEditN.Text='' then SpinEditN.Text:='3'; N:=SpinEditN.Value; SetLength(Tabelle,N+1,N+1); for Z:=1 to N do for S:=1 to N do Tabelle[Z,S]:=0; FeldA.ColCount:=N+1; FeldA.RowCount:=N+1; Ausgabe; for K:=1 to N do begin FeldA.Cells[K,0]:=' '+IntToStr(K); FeldA.Cells[0,K]:=' '+IntToStr(K); FeldA.ColWidths[0]:=30; end; end; |
An Beispiel 2 sieht man, das Permutation etwas günstigere Werte erzeugt.
Müller - Merbach 2810€/ Permutation 2500€ und nur immer den kürzesten 3000€
Dummerweise ergab sich bei einer Zufallsmatrix 10x10 Das Müller-Merbach schlechter als Minimum-suche war.
Da Minimumsuche so sehr schnell ist, könnte man das ja auch rechnen und dann auswählen.
Gruß Horst