Kombinatorische Optimierung, Informatik

Neue Frage »

AndyFP Auf diesen Beitrag antworten »
Kombinatorische Optimierung, Informatik
Meine Frage:
Kombinatorische Optimierung, Informatik


Hallo Mathefreaks,

ich beschaeftige mich derzeit mit einem Optimierungsproblem. Eine Methode das globale Optimum zu finden ist Enumeration. Das

funktioniert mit kleineren n ganz gut, der Problemraum wird aber sehr schnell zu gross, wenn n steigt. Ich schraenke daher den

Problemraum mit Hilfe von Constraints ein. Die Werte sind in einer Matrix organisiert:


Ebene: 0 value -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 21

Ebene: 1 value -1 -1 -1 -1 4 -1 6 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1

Ebene: 2 value 0 -1 2 -1 4 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 15 -1 -1 -1 -1 -1 -1

Ebene: 3 value -1 -1 -1 -1 -1 5 6 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 18 -1 20 -1

Ebene: 4 value 0 -1 2 -1 4 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 15 -1 -1 -1 -1 -1 -1

Ebene: 5 value -1 -1 -1 -1 -1 5 6 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 18 -1 20 -1

Ebene: 6 value 0 -1 2 -1 4 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 15 -1 -1 -1 -1 -1 -1

Ebene: 7 value -1 -1 -1 -1 -1 5 6 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 18 -1 20 -1

Ebene: 8 value 0 -1 2 3 4 -1 -1 7 -1 9 10 11 12 13 -1 15 16 17 -1 19 -1 21

Ebene: 9 value -1 1 -1 -1 -1 5 6 -1 8 -1 -1 11 -1 13 14 -1 -1 17 18 -1 20 21

Ebene: 10 value 0 -1 2 3 4 -1 -1 7 -1 9 10 11 12 13 -1 15 16 17 -1 19 -1 21

Ebene: 11 value -1 1 -1 -1 -1 5 6 -1 8 -1 -1 11 -1 13 14 -1 -1 17 18 -1 20 21

Ebene: 12 value 0 -1 2 3 4 -1 -1 7 -1 9 10 11 12 13 -1 15 16 17 -1 19 -1 21

Ebene: 13 value -1 1 -1 -1 -1 5 6 -1 8 -1 -1 11 -1 13 14 -1 -1 17 18 -1 20 21

Ebene: 14 value 0 -1 2 3 4 -1 -1 7 -1 9 10 11 12 13 -1 15 16 17 -1 19 -1 21

Ebene: 15 value -1 1 -1 -1 -1 5 6 -1 8 -1 -1 11 -1 13 14 -1 -1 17 18 -1 20 21

Ebene: 16 value 0 -1 2 3 4 -1 -1 7 -1 9 10 11 12 13 -1 15 16 17 -1 19 -1 21

Ebene: 17 value -1 1 -1 -1 -1 5 6 -1 8 -1 -1 11 -1 13 14 -1 -1 17 18 -1 20 21

Ebene: 18 value 0 -1 2 3 4 -1 -1 7 -1 9 10 11 12 13 -1 15 16 17 -1 19 -1 21

Ebene: 19 value -1 1 -1 -1 -1 5 6 -1 8 -1 -1 11 -1 13 14 -1 -1 17 18 -1 20 21

Ebene: 20 value 0 -1 2 3 4 -1 -1 7 -1 9 10 11 12 13 -1 15 16 17 -1 19 -1 21

Ebene: 21 value -1 1 -1 -1 -1 5 6 -1 8 -1 -1 11 -1 13 14 -1 -1 17 18 -1 20 21


Die Ebene steht fuer die Tiefe des Baums, die enthaltenen Werte ergeben die Breite. -1 steht fuer einen ungueltigen Wert, die

anderen Werte bezeichnen eine gueltige Option. Obige Matrix ergibt einen Suchbaum, der wie folgt beginnt:

21

4 6

0 2 (4) 15 0 2 4 15

usw..

Im linken Zweig kommt die 4 ein 2tes Mal vor, dieser Knoten ist daher nicht mehr Bestandteil des Suchraums, da jeder Wert in

einem Zweig nur einmal vorkommen soll. Dieses Verfahren schraenkt den Suchraum von den urspruenglichen 22! Moeglichkeiten auf

eine unbekannte Groesse ein. Wenn man die Matrix genauer studiert, kann man erkennen, dass nur ein Teil der Kombinationen Zweige

bis zur letzten Ebene zulaesst, diese vollstaendingen Zweige beinhalten moegliche Loesungen des Optimierungsproblems. Meine Frage

lautet nun: gibt es eine Moeglichkeit die Anzahl moeglicher Loesungen zu berechnen?

Cheers,
Andy

Meine Ideen:
Ich habe noch keinen Ansatz fuer die Loesung dieser Frage, ausser der Enumeration. Enumeration ist aber keine Loesung, denn das Ermitteln der Anzahl moeglicher Loesungen wuerde dann genauso lange dauern wie die Loesung des Optimierungsproblems selbst. Ziel ist jedoch vor Ausfuehrung des Algorithmus angeben zu koennen wie lange die Berechnung dauern wird und ob eine Loesung ueberhaupt in angemessener Zeit berechenbar ist.
AndyFP Auf diesen Beitrag antworten »

Hallo zusammen,

habe ich die Frage falsch gestellt, oder hat tatsaechlich niemand einen Ansatz fuer dieses Problem? Wenn's keine Loesung gibt ist das uebrigens auch eine brauchbare Antwort.

Thanks,
Andy
René Gruber Auf diesen Beitrag antworten »

Zitat:
Original von AndyFP
habe ich die Frage falsch gestellt

Meiner Ansicht nach trifft es das so ziemlich (obwohl ich heute diesen Thread zum ersten Mal sehe, also vor einer Woche "verpasst" habe):

Vielleicht hättest du erstmal mit der exakten mathematischen Darstellung des eigentlichen Optimierungsproblem starten sollen, das hier

Zitat:
Original von AndyFP
ich beschaeftige mich derzeit mit einem Optimierungsproblem. Eine Methode das globale Optimum zu finden ist Enumeration.

finde ich jedenfalls unzureichend: Geht es um eine Zielfunktion mit und irgendeine endliche Menge, womöglich Teilmenge von oder , usw. ...

Stattdessen hast du dich gleich in technische Details der Lösungsfindung gestürzt - das ist total demotivierend, weil das ohne Kenntnis der Problemstellung kein Mensch schlüssig findet.
AndyFP Auf diesen Beitrag antworten »

OK, danke! Leider kriege ich keine exakte mathematische Beschreibung hin, aber ich versuchs mal so: Wieviele Kombinationsmoeglichkeiten gibt es, wenn ich die Werte n unterschiedlich langer Vektoren miteinander kombinieren will, so daß jeder Wert nur einmal in einer solchen Kombination vorkommt. Wenn alle Vektoren voll besetzt waeren (mit m moeglichen Werten), dann gaebe es ja m! Möglichkeiten, wenn m >= n ist oder n! Möglichkeiten, wenn m < n ist. Der gesuchte Wert sollte also deutlich kleiner sein, wenn die Vektoren nur wenige Werte enthalten. Die Frage ist nur, wie man das ausrechnen koennte (wenn ueberhaupt).

Andy


PS: eigentlich sind die Vektoren alle gleich lang, aber nur ein Teil der Werte ist gueltig.
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »