Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
120to124
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
120to124
120to124
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Entfernungsmatrix programmieren

Entfernungsmatrix programmieren
27.05.2002 09:54:51
Witali

Können Sie mir helfen, Entfernungsmatrix in Excel (VBA) zu programmieren.
Zwei quadratische Matrizen C = (Cij) und B = (Bij) werden verknüpft und
entsteht Matrix A = (Aij) mit den Elementen:

Aij = min{Ci1+B1j; Ci2+B2j; …; Cin+Bnj}

Ich kann leider nicht diesen Algorithmus in VBA programmieren.
Ich möchte gern ein Makro haben, so dass ich das für Matrizen mit
verschiedenen Dimensionen anwenden kann.

Witali



4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Entfernungsmatrix programmieren
27.05.2002 18:00:26
Hans W. Hofmann
Hallo Witali,

das könnte etwa so aussehen:
Sub mMin()
Dim i As Integer, j As Integer, k As Integer, s As Single
Set A = Sheets(3).Range("A1:Z26")
Set b = Sheets(2).Range("A1:Z26")
Set C = Sheets(1).Range("A1:Z26")
For i = 1 To 26
For j = 1 To 26
s = 99999999
For k = 1 To 26
If A(i, k) + b(k, j) < s Then s = A(i, k) + b(k, j)
Next
C(i, j) = s
Next
Next
End Sub
Verrätst Du mir im Gehenzug etwas zu dem Sachproblem, das dahinter steht?

Gruß HW

Re: Entfernungsmatrix programmieren
27.05.2002 20:43:52
Witali
Vielen Dank für Ihre Hilfe.

Es geht darum, dass aus der Bewertungsmatrix mit Hilfe einer speziellen Matrixoperation
(Aij = min{Ci1+B1j; Ci2+B2j; …; Cin+Bnj}) eine Entfernungsmatrix berechnet wird. Es wird so lange multipliziert, bis eine Matrix mit kürzester Entfernung für jeden Knoten entsteht.
Es wird nur scheitern, wenn die Bewertungsmatrix Zykel negativer Länge hat.

Aus Ihrer Lösung kann man erkennen, dass es sich nur um eine bestimmte Dimension handelt. Kann man es so programmieren, dass die Dimension vom Benutzer zu variieren ist?

Im voraus bedanke ich mich für Ihre Mühe.

Witali

Anzeige
Re: Entfernungsmatrix programmieren
28.05.2002 08:26:33
Hans W. Hofmann
Hat Deine Aufgabe etwas mit dem Traveling Salesmann Problem zu tun?
Die Anpassung auf beliebige Dimmensionen wirst Du schon selber machen müssen, da Du zur Datenstruktur nix verlauten lässt. Außerdem will ich es mir mit HWH nicht verderben.

Gruß HW

Re: Entfernungsmatrix programmieren
28.05.2002 21:51:32
Witali
Hallo!

Es hat nicht mit dem Traveling Salesmann Problem zu tun. Ich mache das im Rahmen eines Projektes zur Graphentheorie in der FH.

Noch mal danke für Ihre Hilfe.

Witali

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige