Computergestützte Marketingplanung Implementation des Analytic Hierarchy Process als Java Applet...

26
Computergestützte Marketingplanung Implementation des Analytic Hierarchy Process als Java Applet David Divisek und Robin Meyersiek Karlsruhe, 23.Mai 2001

Transcript of Computergestützte Marketingplanung Implementation des Analytic Hierarchy Process als Java Applet...

Page 1: Computergestützte Marketingplanung Implementation des Analytic Hierarchy Process als Java Applet David Divisek und Robin MeyersiekKarlsruhe, 23.Mai 2001.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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