Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

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

Ähnliche Präsentationen


Präsentation zum Thema: "Computergestützte Marketingplanung Implementation des Analytic Hierarchy Process als Java Applet David Divisek und Robin MeyersiekKarlsruhe, 23.Mai 2001."—  Präsentation transkript:

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

2 2 Inhalt des Vortrages 1.Der Analytic Hierarchy Process (AHP) 1.Die Vorgehensweise 2.Vortragbegleitendes Beispiel 2.Bisherige Implementationen 1.JavaAHP 2.Web-Hipre 3.Expert-Choice 3.Unsere Implementation: AHP for JAVA 1.Design und Datenstruktur 2.Vor- und Nachteile 3.Erweiterungsmöglichkeiten 4.Fazit ahp4java

3 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 Alternativen 2.Strukturierung der möglichen Einflussfaktoren in eine Hierarchie von Kriterien 3.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

4 4 Beispiel: Die Entscheidung über den Kauf eines von drei Computern anhand von drei Kriterien GoalHWSWVSGewicht HW11/81/30,0820 SW8130,6816 VS31/310,2364 HWDellHPIB M Gewicht Dell1390,6583 HP1/3160,2819 IBM1/91/610,0598 Dell 0,6583*0, ,0874*0, ,4967*0,2364 = 23,0% SWDellHPIB M Gewicht Dell1½1/80,0874 HP211/50,1622 IBM8510,7504 VSDellHPIB M Gewicht Dell1160,4967 HP1130,3967 IBM1/61/310,1066 HP 2,3% + 11,0% + 9,4% = 22,7% IBM 0,5% + 51,1% + 2,5% = 54,1% Kriterien Alternativen Ziel 5,4% 5,9% 11,7% Quelle: In Anlehnung an GAUL (1999) S. AH9

5 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

6 6 Das Anlegen der Kriterienhierarchie und der Alternativenliste ist 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

7 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

8 8 JavaAHP hat drei Möglichkeiten zur Eingabe der Paarweisen Vergleiche* * Die Eingabe der Gewichtungen mit der SMARTER-Technik ist ebenfalls möglich. Siehe Folie...andere Methoden (II)...andere Methoden (II) 1. Verbal Assessment Zwei Alternativen bzw. Kriterien werden bezüglich eines Oberkriteriums mit den Schlüsselwörtern importance, preference und likelihood grob abgegrenzt und danach noch verfei- nert. 2. Direkteingabe 3. Questionaire mit Skala Konsistenz und Gewichte werden gleichzeitig angezeigt Verbale Anzeige

9 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

10 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

11 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

12 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

13 13 Die Ergebnisanalyse bietet vier weitere Möglichkeiten 4. Head to Head Sensitivity 3. Gradient Sensitivity 1. Performance Sensitivity2. 2D-Plot

14 14 Neben vielen Ähnlichkeiten gibt es auch Unterschiede TypApplet Windows PreisKostenlos >$1000 Gruppen- entscheidungen - Schwächen Anlegen der Hierarchie Editieren der Knoten Die vielen Fenster sind verwirrend BesonderheitenReport Viele Gewichtungs- methoden Viele Analyse- möglichkeiten

15 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 Zeilen Code davon nur 50 Zeilen für die wichtigen AHP-Methoden: –berechneConsistency() –berechneGewichtsvektor() –berechneErgebnis()

16 16 Bei der Benutzeroberfläche stand Übersichtlichkeit und intuitive Bedienbarkeit im Fordergrund Die GUI Kriterien- hierarchie Vergleichs- matrix Vergleichs- eingabe Alternativen und aktuelle Bewertung

17 17 Die Vergleichsmatrix dient der schnellen und einfachen Eingabe der Paarweisen Vergleiche Übergeordnetes Kriterium Aktueller Konsistenzindex Verbale Gewichtung Schieberegler und Knöpfe zur Bewertung Aktueller Gewichtsvektor Die Vergleichsmatrix

18 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

19 19 Die Klasse Kriterium enthält die Vergleichsdaten und Methoden zur Berechnung VARIABLEN vergleichsMatrix Zweidimensionales quadratisches Array das zur Laufzeit vergrößert und verkleinert werden kann gewichtsVektor Eindimensionales Array das den Gewichtsvektor der Vergleichsmatrix enthält METHODEN berechne_Gewichtsvektor Errechnet den Gewichtsvektor der vergleichsMatrix berechne_CI Berrechnet den Consistency Index und das Consistency Ratio der Vergleichsmatrix berechne_Ergebnis Traversiert den Baum um die Alternativengewichte zu errechnen

20 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]; }

21 21 Die Methode berechne_Ergebnis traversiert den Kriterienbaum 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(); } } }

22 22 Die Hauptprogrammierarbeit lag beim Design der 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. jTableMatrix Editierbar ? Wert übergeben jSliderScale Wert übergeben jTableAlternative Wert übergeben jLabelConsistency Wert übergeben berechne_ Gewichtsvektor berechne_ Ergebnis berechne_ Consistency Zelle wird markiert Slider wird verändert

23 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?

24 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

25 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

26 26 AHP for Java erlaubt es das AHP-Verfahren schnell 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

27 27 Das Berechnen der Gewichte und des Consistency Ratio geschieht nach der vereinfachten Methode GoalHWSWVS HW11/81/3 SW813 VS31/ /2413/3 1. Spaltensummen 2. Matrixelemente durch Spaltensumme teilen AHWSWVS (1/n)* HW1/123/351/130,082 SW2/324/359/130,6816 VS1/48/353/130, Zeilenmittelwerte Gewichts- vektor w 4. Ausgangsmatrix A mit Ge- wichtsvektor w multiplizieren Aw 0,246 2,0468 0, Mittelwert der Quo- tienten aus Aw und w Consistency Index: Consitency Ratio: Matrix konsistent genug * RC: Random Consitency Index


Herunterladen ppt "Computergestützte Marketingplanung Implementation des Analytic Hierarchy Process als Java Applet David Divisek und Robin MeyersiekKarlsruhe, 23.Mai 2001."

Ähnliche Präsentationen


Google-Anzeigen