![Page 1: Computergestützte Marketingplanung Implementation des Analytic Hierarchy Process als Java Applet David Divisek und Robin MeyersiekKarlsruhe, 23.Mai 2001](https://reader036.vdocuments.mx/reader036/viewer/2022062512/55204d8149795902118d3d87/html5/thumbnails/1.jpg)
Computergestützte Marketingplanung
Implementation des Analytic Hierarchy Process
als Java Applet
David Divisek und Robin Meyersiek Karlsruhe, 23.Mai 2001
![Page 2: Computergestützte Marketingplanung Implementation des Analytic Hierarchy Process als Java Applet David Divisek und Robin MeyersiekKarlsruhe, 23.Mai 2001](https://reader036.vdocuments.mx/reader036/viewer/2022062512/55204d8149795902118d3d87/html5/thumbnails/2.jpg)
2
Inhalt des Vortrages
1. Der Analytic Hierarchy Process (AHP)1. Die Vorgehensweise
2. Vortragbegleitendes Beispiel
2. Bisherige Implementationen1. JavaAHP
2. Web-Hipre
3. Expert-Choice
3. Unsere Implementation: AHP for JAVA1. Design und Datenstruktur
2. Vor- und Nachteile
3. Erweiterungsmöglichkeiten
4. Fazit
ahp4java
![Page 3: Computergestützte Marketingplanung Implementation des Analytic Hierarchy Process als Java Applet David Divisek und Robin MeyersiekKarlsruhe, 23.Mai 2001](https://reader036.vdocuments.mx/reader036/viewer/2022062512/55204d8149795902118d3d87/html5/thumbnails/3.jpg)
3
Der AHP unterstützt die Entscheidungsfindung bei komplexen Problemen durch hierarchische Strukturierung von Kriterien und Reduzierung auf paarweise Vergleiche
1. Auflistung aller in Frage kommenden Alternativen2. Strukturierung der möglichen Einflussfaktoren in eine Hierarchie von
Kriterien3. Bestimmung von subjektiven Bewertungen der relativen Wichtigkeit
aller Kriterien bzw. Alternativen durch paarweise Vergleiche auf einer Skala von 1 (gleich wichtig) bis 9 (Absolut wichtiger)
4. Errechnung von Gewichten aus den Paarweisen Vergleichen und Überprüfung auf Konsistenz
5. Bestimmung der besten Alternative anhand der so errechneten Gewichte
6. Analyse des Ergebnisses
Die Vorgehensweise
![Page 4: Computergestützte Marketingplanung Implementation des Analytic Hierarchy Process als Java Applet David Divisek und Robin MeyersiekKarlsruhe, 23.Mai 2001](https://reader036.vdocuments.mx/reader036/viewer/2022062512/55204d8149795902118d3d87/html5/thumbnails/4.jpg)
4
Beispiel: Die Entscheidung über den Kauf eines von drei Computern anhand von drei Kriterien
Goal HW SW VS Gewicht
HW 1 1/8 1/3 0,0820
SW 8 1 3 0,6816
VS 3 1/3 1 0,2364
HW Dell HP IBM Gewicht
Dell 1 3 9 0,6583
HP 1/3 1 6 0,2819
IBM 1/9 1/6 1 0,0598
Dell0,6583*0,082 +
0,0874*0,6816 + 0,4967*0,2364 =
23,0%
SW Dell HP IBM Gewicht
Dell 1 ½ 1/8 0,0874
HP 2 1 1/5 0,1622
IBM 8 5 1 0,7504
VS Dell HP IBM Gewicht
Dell 1 1 6 0,4967
HP 1 1 3 0,3967
IBM 1/6 1/3 1 0,1066
HP2,3%
+ 11,0%+ 9,4%= 22,7%
IBM0,5%
+ 51,1%+ 2,5%
= 54,1%
Kriterien
Alternativen
Ziel
5,4% 5,9% 11,7%
1.2. 3.
Quelle: In Anlehnung an GAUL (1999) S. AH9
![Page 5: Computergestützte Marketingplanung Implementation des Analytic Hierarchy Process als Java Applet David Divisek und Robin MeyersiekKarlsruhe, 23.Mai 2001](https://reader036.vdocuments.mx/reader036/viewer/2022062512/55204d8149795902118d3d87/html5/thumbnails/5.jpg)
5
Zwei Applets und ein Professionelles Software Packet wurden im Vorfeld untersucht
Kommerzielle Decision Support Software von Expert Choice
EC wurde 1983 von Professor Ernest H. Foreman und Dr. Saaty (Entwickelte den AHP-Algorithmus in den 70er Jahren)
Professional Version: $1,195 (Einzelplatzversion)Enterprise Version: $198,995 (20 Builders, 150 Participants)
Designed von Raimo P. Hämäläinen und Programmiert von Jyri Mustajoki für das Systems Analysis Laboratory, Helsinki University of Technology, 1998
Web-HIPRE unterstützt neben AHP auch noch weitere Gewichtungsmethoden
Web-HIPRE ist eine Internet Version der HIPRE 3+ software zur analytischen Strukturierung von Entscheidungsproblemen, multikriterielle Bewertung and Priorisierung
Entwickelt von Xuan Zhu, Jon Willis und Luis Laredo für CSIRO (Commonwealth Scientific and Industrial Research Organisation), Australia
![Page 6: Computergestützte Marketingplanung Implementation des Analytic Hierarchy Process als Java Applet David Divisek und Robin MeyersiekKarlsruhe, 23.Mai 2001](https://reader036.vdocuments.mx/reader036/viewer/2022062512/55204d8149795902118d3d87/html5/thumbnails/6.jpg)
6
Das Anlegen der Kriterienhierarchie und der Alternativenlisteist bei den beiden Applets recht ähnlich
Auf einer Art Zeichenbrett werden die Knoten und Kanten der Kriterienhierarchie und Alternativen einzeln in Ebenenen angeordnet
Auch die Alternativen werden eingezeichnet
Kleine Symbole geben die Bewertungsmethode an
![Page 7: Computergestützte Marketingplanung Implementation des Analytic Hierarchy Process als Java Applet David Divisek und Robin MeyersiekKarlsruhe, 23.Mai 2001](https://reader036.vdocuments.mx/reader036/viewer/2022062512/55204d8149795902118d3d87/html5/thumbnails/7.jpg)
7
Expert Choice unterteilt die Oberfläche in eine Kriterienhierarchie und eine Alternativenliste
Kriterien:Sind die Vergleichsdaten noch nicht eingegeben, haben die Knoten des Baumes einen roten Punkt. Nach der Dateneingabe gibt der Füllgrad die Gewichtung, die auch in Klammern steht, des Kriteriums an.
Alternativen:Für das aktuell gewählte Kriterium wird graphisch und numerisch die Gewichtung angegeben
![Page 8: Computergestützte Marketingplanung Implementation des Analytic Hierarchy Process als Java Applet David Divisek und Robin MeyersiekKarlsruhe, 23.Mai 2001](https://reader036.vdocuments.mx/reader036/viewer/2022062512/55204d8149795902118d3d87/html5/thumbnails/8.jpg)
8
JavaAHP hat drei Möglichkeiten zurEingabe der Paarweisen Vergleiche*
* Die Eingabe der Gewichtungen mit der SMARTER-Technik ist ebenfalls möglich. Siehe Folie ...andere Methoden (II)
1. Verbal Assessment
Zwei Alternativen bzw. Kriterien werden bezüglich eines Oberkriteriums mit den Schlüsselwörtern importance, preference und likelihood grobabgegrenztund danachnoch verfei-nert.
2. Direkteingabe
3. Questionairemit Skala
Konsistenzund Gewichte werden gleichzeitig angezeigt
Verbale Anzeige
![Page 9: Computergestützte Marketingplanung Implementation des Analytic Hierarchy Process als Java Applet David Divisek und Robin MeyersiekKarlsruhe, 23.Mai 2001](https://reader036.vdocuments.mx/reader036/viewer/2022062512/55204d8149795902118d3d87/html5/thumbnails/9.jpg)
9
Die Eingabe nach AHP bei Web-Hipre bietet ähnliche Möglichkeiten
1. Direkteingabe(mit einer Nachkommastelle)
2. Schieberegler
3. Verbal
Konsistenzindex und Gewichte werden gleichzeitig angezeigt
Transformiert die Gewichte
![Page 10: Computergestützte Marketingplanung Implementation des Analytic Hierarchy Process als Java Applet David Divisek und Robin MeyersiekKarlsruhe, 23.Mai 2001](https://reader036.vdocuments.mx/reader036/viewer/2022062512/55204d8149795902118d3d87/html5/thumbnails/10.jpg)
10
Expert Choice verfügt über vier Verfahren zur Eingabe der Paarweisen Vergleiche
1. Schieberegler mit numerischer Skala
Gewichte werden graphisch, Konsistenzindex wird numerisch
2. Schieberegler mit verbaler Skala
3. Graphisch mit Balken und Kuchendiagramm(ziehen am Balken ergibt Vergleichswert)
4. Direkteingabe in die Matrix
![Page 11: Computergestützte Marketingplanung Implementation des Analytic Hierarchy Process als Java Applet David Divisek und Robin MeyersiekKarlsruhe, 23.Mai 2001](https://reader036.vdocuments.mx/reader036/viewer/2022062512/55204d8149795902118d3d87/html5/thumbnails/11.jpg)
11
Bei Web-Hipre kann der Beitrag einzelner Kriterien graphisch aufgegliedert werden
Goal Auswahl des übergeordneten Kriteriums, für das die zusammen-gesetzten Gewichtungen berechnet werden
Bars Auswahl der
Ebene, deren Elemente durch
die Säulen dargestellt
werden sollen
Segments Wahl der Hierarchieebene, die festlegt, wie die Säulen der zusammengesetzten Gewichte in Segmente unterteilt werden. Zeigt den relativen Beitrag der Elemente dieser Ebene zu dem Gesamtgewicht, repräsentiert durch die ganze Säule
Zeigt die Werte statt
der Säulen an
![Page 12: Computergestützte Marketingplanung Implementation des Analytic Hierarchy Process als Java Applet David Divisek und Robin MeyersiekKarlsruhe, 23.Mai 2001](https://reader036.vdocuments.mx/reader036/viewer/2022062512/55204d8149795902118d3d87/html5/thumbnails/12.jpg)
12
Die Sensitivitätsanalyse veranschaulicht kritische Gewichtungen
Sensitivity Analysis
Hier lässt sich die Auswirkung einer Gewichtsänderung eines Kriteriums auf die Bewertung der Alternativen nachvollziehen
Altes Gewicht
Unterkriterium
Kriterium
Neues Gewicht
Bewertung der Alternativen mit neuem Gewicht
![Page 13: Computergestützte Marketingplanung Implementation des Analytic Hierarchy Process als Java Applet David Divisek und Robin MeyersiekKarlsruhe, 23.Mai 2001](https://reader036.vdocuments.mx/reader036/viewer/2022062512/55204d8149795902118d3d87/html5/thumbnails/13.jpg)
13
Die Ergebnisanalyse bietet vier weitere Möglichkeiten
4. Head to Head Sensitivity3. Gradient Sensitivity
1. Performance Sensitivity 2. 2D-Plot
![Page 14: Computergestützte Marketingplanung Implementation des Analytic Hierarchy Process als Java Applet David Divisek und Robin MeyersiekKarlsruhe, 23.Mai 2001](https://reader036.vdocuments.mx/reader036/viewer/2022062512/55204d8149795902118d3d87/html5/thumbnails/14.jpg)
14
Neben vielen Ähnlichkeiten gibt es auch Unterschiede
Typ Applet Applet Windows
Preis Kostenlos Kostenlos >$1000
Gruppen-entscheidungen
-
Schwächen
Anlegen der Hierarchie
Editieren der Knoten
Die vielen Fenster sind verwirrend
Besonderheiten ReportViele
Gewichtungs-methoden
Viele Analyse-möglichkeiten
![Page 15: Computergestützte Marketingplanung Implementation des Analytic Hierarchy Process als Java Applet David Divisek und Robin MeyersiekKarlsruhe, 23.Mai 2001](https://reader036.vdocuments.mx/reader036/viewer/2022062512/55204d8149795902118d3d87/html5/thumbnails/15.jpg)
15
Zur Implementierung wurde ausschließlich auf frei verfügbare Tools zurückgegriffen
Die Entwicklungstools• Sun Microsystems Java™ 2 SDK, Standard Edition. v 1.3 (SDK)• Borland Jbuilder 4.0 Foundation• Microsoft Internet Explorer 5.5• Netscape Navigator 6.0
Das Programm• 8 Klassen mit 15 internen Klassen • Ca. 1200 Zeilen Code
davon „nur“ 50 Zeilen für die wichtigen AHP-Methoden:– berechneConsistency()– berechneGewichtsvektor()– berechneErgebnis()
![Page 16: Computergestützte Marketingplanung Implementation des Analytic Hierarchy Process als Java Applet David Divisek und Robin MeyersiekKarlsruhe, 23.Mai 2001](https://reader036.vdocuments.mx/reader036/viewer/2022062512/55204d8149795902118d3d87/html5/thumbnails/16.jpg)
16
Bei der Benutzeroberfläche stand Übersichtlichkeitund intuitive Bedienbarkeit im Fordergrund
Die GUI
Kriterien-hierarchie
Vergleichs-matrix
Vergleichs-eingabe
Alternativen und aktuelle
Bewertung
![Page 17: Computergestützte Marketingplanung Implementation des Analytic Hierarchy Process als Java Applet David Divisek und Robin MeyersiekKarlsruhe, 23.Mai 2001](https://reader036.vdocuments.mx/reader036/viewer/2022062512/55204d8149795902118d3d87/html5/thumbnails/17.jpg)
17
Die Vergleichsmatrix dient der schnellen und einfachen Eingabe der Paarweisen Vergleiche
ÜbergeordnetesKriterium
Aktueller Konsistenzindex
Verbale Gewichtung
Schiebereglerund Knöpfe
zur Bewertung
AktuellerGewichtsvektor
Die Vergleichsmatrix
![Page 18: Computergestützte Marketingplanung Implementation des Analytic Hierarchy Process als Java Applet David Divisek und Robin MeyersiekKarlsruhe, 23.Mai 2001](https://reader036.vdocuments.mx/reader036/viewer/2022062512/55204d8149795902118d3d87/html5/thumbnails/18.jpg)
18
Für die interne Datenstruktur wurde auf Standarddatenstrukturen zurückgegriffen
DIE DATENSTRUKTUR
Die Kriterien Hierarchie
• Dynamischer Baum• Das Baummodel basiert auf
dem DefaultTreeModel• Die einzelnen Knoten sind
vom Typ DefaultMutableTreeNode und haben als UserObject Instanzen der Klasse Kriterium
Die Alternativen
• Dynamische Tabelle• Array, das zur Laufzeit
vergrößert und verkleinert werden kann
• Enthält auch die Bewertung der Alternativen durch den AHP
![Page 19: Computergestützte Marketingplanung Implementation des Analytic Hierarchy Process als Java Applet David Divisek und Robin MeyersiekKarlsruhe, 23.Mai 2001](https://reader036.vdocuments.mx/reader036/viewer/2022062512/55204d8149795902118d3d87/html5/thumbnails/19.jpg)
19
Die Klasse Kriterium enthält die Vergleichsdaten und Methoden zur Berechnung
VARIABLEN
• vergleichsMatrixZweidimensionales quadratisches Array das zur Laufzeit vergrößert und verkleinert werden kann
• gewichtsVektorEindimensionales Array das den Gewichtsvektor der Vergleichsmatrix enthält
METHODEN
• berechne_GewichtsvektorErrechnet den Gewichtsvektor der vergleichsMatrix
• berechne_CIBerrechnet den Consistency Index und das Consistency Ratio der Vergleichsmatrix
• berechne_ErgebnisTraversiert den Baum um die Alternativengewichte zu errechnen
![Page 20: Computergestützte Marketingplanung Implementation des Analytic Hierarchy Process als Java Applet David Divisek und Robin MeyersiekKarlsruhe, 23.Mai 2001](https://reader036.vdocuments.mx/reader036/viewer/2022062512/55204d8149795902118d3d87/html5/thumbnails/20.jpg)
20
Die Methoden berechne_Gewichtsvektor und berechne_Consistency sind simple for-Schleifen
public void berechne_Gewichtsvektor() {
for (int i = 0; i < matrixSize; i++)
for (int j = 0; j < matrixSize; j++)
spaltenSumme[j] = spaltenSumme[j] + vglMatrix[i][j]; //berechne Spaltensumme
for (int i = 0; i < matrixSize; i++)
for (int j = 0; j < matrixSize; j++)
gewichtsVektor[i] = gewichtsVektor[i] + (vglMatrix[i][j] / (spaltenSumme[j] * matrixSize));
}
public void berechne_Consistency() {
for (int i = 0; i < matrixSize; i++)
for (int j = 0; j < matrixSize; j++)
hilfsVektor[i] = hilfsVektor[i] + (gewichtsVektor[j] * vglMatrix[i][j]);
for (int i = 0; i < matrixSize; i++)
mittelWert = mittelWert + (hilfsVektor[i] / (gewichtsVektor[i] * matrixSize));
consistencyIndex = (mittelWert - matrixSize) / (matrixSize - 1);
consistencyRatio = consistencyIndex / randomConsistency[matrixSize];
}
![Page 21: Computergestützte Marketingplanung Implementation des Analytic Hierarchy Process als Java Applet David Divisek und Robin MeyersiekKarlsruhe, 23.Mai 2001](https://reader036.vdocuments.mx/reader036/viewer/2022062512/55204d8149795902118d3d87/html5/thumbnails/21.jpg)
21
Die Methode berechne_Ergebnis traversiert denKriterienbaum von jedem Blatt zur Wurzel
public void berechne_Ergebnis() {
DefaultMutableTreeNode meinKnoten = treePanel.rootNode;
int anzahlBlaetter = meinKnoten.getLeafCount();
for (int i = 0; i < altAnzahl; i++) { //für alle Alternativen
huepfKnoten = meinKnoten.getFirstLeaf(); //beginne mit einem Blatt
for (int j = 0; j < anzahlBlaetter; j++) { //für alle Blätter
pufferKnoten = huepfKnoten;
produkt = 1.0;
produkt = produkt * ((Kriterium)huepfKnoten.getUserObject()).gewichtsVektor[i];
while (huepfKnoten.getParent() != null) {
vaterKnoten = (DefaultMutableTreeNode)huepfKnoten.getParent();
int childIndex = treePanel.treeModel.getIndexOfChild(vaterKnoten, huepfKnoten);
produkt = produkt * ((Kriterium)vaterKnoten.getUserObject()).gewichtsVektor[childIndex];
huepfKnoten = vaterKnoten; }
alternativenWert[i] = alternativenWert[i] + produkt;
if (pufferKnoten.getNextLeaf() != null) huepfKnoten = pufferKnoten.getNextLeaf();
} } }
![Page 22: Computergestützte Marketingplanung Implementation des Analytic Hierarchy Process als Java Applet David Divisek und Robin MeyersiekKarlsruhe, 23.Mai 2001](https://reader036.vdocuments.mx/reader036/viewer/2022062512/55204d8149795902118d3d87/html5/thumbnails/22.jpg)
22
Die Hauptprogrammierarbeit lag beim Designder GUI und der Implementierung der Listener
Die Imple-
mentation
diverser Listener
führt eine Datenänderung,
hier zum Beispiel eine
Änderung eines Paarweisen
Vergleiches zu einer
sofortigen Aktualisierung aller
Gewichtsvektoren,
Konsistenzindizes und der
Alternativengewichte.
jTableMatrixEditierbar
?
Wert übergeben
jSliderScale
Wert übergeben
jTableAlternative
Wert übergeben
Wert übergeben
jLabelConsistency Wert übergeben
berechne_ Gewichtsvektor
berechne_ Ergebnis
berechne_ Consistency
Zelle wird
markiert
Slider wird
verändert
![Page 23: Computergestützte Marketingplanung Implementation des Analytic Hierarchy Process als Java Applet David Divisek und Robin MeyersiekKarlsruhe, 23.Mai 2001](https://reader036.vdocuments.mx/reader036/viewer/2022062512/55204d8149795902118d3d87/html5/thumbnails/23.jpg)
23
Bei der Implementierung aufgetretene Probleme:
MS Windows 2000 Professional und seine Probleme mit Java!
Wie greift man auf die Vergleichsmatrix einzelner Kriterien in einem Baum zu?
Wie traversiert man einen Baum von den Blättern zur Wurzel?
Bei der Erstellung der Vergleichsmatrizen muss sowohl auf den DynamicTree als auch auf die Alternativen Tabelle zurückgegriffen werden.
Wie informiert man die einzelnen Klassen von den aktuellen Zuständen (Selektionen) in den anderen Klassen?
Wie bekommt man einen graphischen Balken in eine Tabellenzelle?
Wie vergrößert bzw. verkleinert man Arrays zur Laufzeit?
Wie bringt man einem Slider bei, eine Nichtlineare Skala zu verwenden?
![Page 24: Computergestützte Marketingplanung Implementation des Analytic Hierarchy Process als Java Applet David Divisek und Robin MeyersiekKarlsruhe, 23.Mai 2001](https://reader036.vdocuments.mx/reader036/viewer/2022062512/55204d8149795902118d3d87/html5/thumbnails/24.jpg)
24
Vor- und Nachteile von AHP for Java
VORTEILE
• Übersichtlichkeit:Alles auf einen Blick
• Schnelles Feedback:Echtzeitberechnung
• Plattformunabhängig durch JAVA• Web-basiert• Keine Größenbeschränkung:
Kriterienhierarchiegröße und Alternativenanzahl nur Speicherabhängig (Einzige Einschränkung: Random Consistency bei großen Matrizen)
• Kostenlos
NACHTEILE
• Keine Sensitivitätsanalyse• Keine
Gruppenentscheidungen• Abspeichern nicht möglich
![Page 25: Computergestützte Marketingplanung Implementation des Analytic Hierarchy Process als Java Applet David Divisek und Robin MeyersiekKarlsruhe, 23.Mai 2001](https://reader036.vdocuments.mx/reader036/viewer/2022062512/55204d8149795902118d3d87/html5/thumbnails/25.jpg)
25
Sensitivtätsanalyse
Wie ändert sich die Vorteilhaftigkeit einer Alternative bei Änderung eines Paarweisen Vergleiches
Ansatzpunkte zur Erweiterung von AHP for Java
Vorteilhaftigkeit
Hardware
Software
Service
Gruppenentscheidungen
Über das Internet können mehrere Experten an der Entscheidung teilnehmen und Ihre Vergleichsbewertung eingeben:
• Für jedes Kriterium ein Experte
• Mittelwertbildung von mehreren Einzelbewertungen
GUI
• Laden und Speichern von Entscheidungen
• Weitere Eingabemöglich-keiten
• Weitere Ausgabemöglich-keiten
![Page 26: Computergestützte Marketingplanung Implementation des Analytic Hierarchy Process als Java Applet David Divisek und Robin MeyersiekKarlsruhe, 23.Mai 2001](https://reader036.vdocuments.mx/reader036/viewer/2022062512/55204d8149795902118d3d87/html5/thumbnails/26.jpg)
26
AHP for Java erlaubt es das AHP-Verfahrenschnell und anschaulich zu demonstrieren
WIE WURDE DAS ZIEL ERREICHT?
• Produktidee– Einfaches und übersichtliches AHP-Applet für Online Skripte
• Marktbeobachtung– Welche Programme gibt es bereits am Markt?– Gibt es eine Marktnische?
• Produktgestaltung– Verwende so weit es geht vorhandene Komponenten– Keep it simple – Make it work– Make it look nice
• Verkaufsgespräch