Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Vollständige Enumeration

Forumthread: Vollständige Enumeration

Vollständige Enumeration
Matthias
Hallo Experten,
ich benötige Euren Rat.
Zur Berechnung eines kürzeste Wege Problems möchte ich eine bestehende Matrix auswerten.
Hierzu sollen alle möglichen Wege berechnet werden um letztlich den kürzesten Weg zu bestimmen.
Zum Beispiel habe ich die Matrix:
A B C D
A 0 16 16 18
B 7 0 12 15
C 3 8 0 8
D 9 7 6 0
Ich möchte nun, dass mittels VBA alle Möglichen Wegkombinationen durchgespielt werden, also:
Weg: ABCD = 36
ABDC = 37
ACBD = 39
usw..
Ich kann mir vorstellen, dass soetwas mit mehreren Schleifen realisierbar ist, allerdings fehlt mir der Denkanstoß dazu, wie diese Schleifen aufgebaut sein müssten.
Ich habe auch schon im Internet von er Enum()-Funktion gelesen, aber damit habe ich noch nie gearbeitet und weiß nicht wie diese anzuwenden geht.
Ich hoffe, Ihr könnt mir weiterhelfen und Denkanstöße geben.
Vielen Dank im Voraus!
Mfg
Matthias
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
Travelling Salesman Problem
28.05.2010 12:27:23
WF
Hi,
da hatten wir vor 10 Jahren in einem anderen Forum ewig dran geknackt.
Ich hatte zwar ne Solver-Lösung gefunden - die funktionierte aber nur manchmal.
Die VBA-cracks haben auch irgendwann gepaßt.
Bin mal gespannt, was so kommt.
WF
AW: Travelling Salesman Problem
28.05.2010 12:35:23
Matthias
Hi WF,
wie ich sehe bin ich nicht der einzige Mensch, der sich daran den Kopf zerbricht.
Ich habe auch versucht mit dem Solver eine Lösung zu finden, aber mein Problem ist teilweise zu groß für den Solver.
Ich bin also ebenfalls gespannt, ob es eine Lösung geben wird.
Viele Grüße
Matthias
Anzeige
am Thema vorbei oder Denkanstoß...
28.05.2010 22:59:20
silex1
Hi,
sah in diesen Beitrag und fragte mich, ob dies nicht mittels Hilfspalten zu lösen wäre. Gut, es ist nur ein Bsp.!
Also, wenn es am Thema vorbei geht, sagst mir bitte!
 ABCDEFG
1 ABCD DCBA
2A0161618  
3B701215  
4C3808  
5D9760  
6       
7Hilfstabelle 
8ABDCABDC37 
9ACDBACDB31 
10ACBDACBD39 
11ADBCADBC37 
29DCABDCAB25 
30DCBADCBA21 

ZelleFormel
B8=TEIL($A8;SPALTE()-1;1)
F8=INDEX($A$1:$E$5;VERGLEICH(B8;$A$1:$A$5;0);VERGLEICH(C8;$A$1:$E$1;0))+INDEX($A$1:$E$5;VERGLEICH(C8;$A$1:$A$5;0);VERGLEICH(D8;$A$1:$E$1;0))+INDEX($A$1:$E$5;VERGLEICH(D8;$A$1:$A$5;0);VERGLEICH(E8;$A$1:$E$1;0))
G1=INDEX($A$8:$A$30;VERGLEICH(MIN($F$8:$F$30);$F$8:$F$31;0))
Diese Tabelle wurde mit Tab2Html (v2.4.1) erstellt. ©Gerd alias Bamberg

VG, Rene
Anzeige
AW: am Thema vorbei oder Denkanstoß...
28.05.2010 23:21:21
Matthias
Hi Rene,
deine Lösung geht auf jeden Fall in die richtige Richtung.
Interessant wäre nun noch zu wissen, wie du auf die Spalten A8-A30 gekommen bist. (Ich nehme an, du hast dir nicht die Mühe gemacht und die Kombinationen mit der Hand aufgeschrieben).
Vielen Dank für diesen Threat!
MfG
Matthias
Anzeige
AW: A8:A30
29.05.2010 00:35:56
Matthias
Vielen Dank Udo!
Sieht richtig gut aus. Mal sehen, ob ich meine Enumeration doch noch irgendwie hinbekomme!
Grüße aus München
Anzeige
"Holzhammer-Methode"
29.05.2010 10:30:33
WF
Hi,
alle Möglichkeiten ausprobieren: das dauert bei 4 Orten drei Millisekunden - bei 16 Orten 20 Jahre.
siehe:
http://www-i1.informatik.rwth-aachen.de/~algorithmus/algo40.php
Vor 20 Jahren war der Mauerfall.
WF
Anzeige
ich war es nicht!;-)
29.05.2010 11:07:48
silex1
Hallo WF,
Vor 20 Jahren war der Mauerfall.
Ich war es nicht!
Danke für den Link.
Damit werden Reisen ab 12 Orten schlicht weg verboten! :-))
VG, Rene
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige