Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Decision Support Systems (DSS)

Ähnliche Präsentationen


Präsentation zum Thema: "Decision Support Systems (DSS)"—  Präsentation transkript:

1 Decision Support Systems (DSS)
Termine und Inhalte Daten Grundlagen der DSS-Entwicklung DSS in der Einsatz- und Zeitplanung DSS in der Transportplanung und im Projektmanagement DSS in der Finanzplanung DSS für Wahlverfahren DSS in der Konfliktlösung DSS in der Strategieplanung DSS im Produktdesign und in der Marketingplanung Projekt (in 2-er Gruppen) Projekt mdl. Präsentation (mdl. Prüfung) Literatur Links

2 Grundlagen der DSS Entwicklung

3 Elemente der DSS Vorlesung
Allgemeine Beschreibung: Entwicklung interaktiver web-basierter Decision Support Systems unter Berücksichtigung von informationstechnischen, analytischen und kognitiven Anforderungen. Anwendungen beziehen sich auf aktuelle Themen wie interaktives Marketing, Investitionsmanagement, Social Choices, Gruppenentscheidungen, Business Intelligence, Advisory Systems, Konfliktanalysen, Logistik, Prozessoptimierung, räumliche Analysen, Policy Analysis etc. Der Kurs basiert auf aktiver Projektarbeit der Studierenden als zentraler Bestandteil. Grundkenntnisse: Grundkenntnisse in Lineare Algebra und Statistik, sowie Kenntnisse von MS Excel, Open Office Calc oder Google Spreadsheets. Lernziele: Kenntnis der wichtigsten Konzepte und Methoden intelligenter Systeme und Fähigkeit diese in praktische Decision Support Systems im Rahmen eines Projekts integrieren zu können. Zielgruppen: Empfohlen für Studierende aller MSc Studiengänge. Aufbau 1. Grundlagen DSS-Umgebungen/Beispiele Interface Design Mathematische Modellierung 2. Simulation Monte Carlo Discrete Event Bayes Spieltheorie Social Choice (LSA) DSS 3. Präferenzen Multiattribute Utility Theory Analytic Hierarchy Process Conjoint Analyse 4. Entscheiden Solver (Math. Optimierung) Lagrange Multiplier Multivariate Regression Induktive Statistik

4 Schwerpunkt der Vorlesung
DSS Architektur Decision Support System Datenbanken Graphik Multimedia web Virt. Realität Animation - Rationalität Subjektivität Künstl. Intell. Inferenzen Logik - Bewerten - Berechnen - Suchen - Optimieren Infobanken User Interface Modelle Algorithmen Wissensbanken Schwerpunkt der Vorlesung

5 Cycle of Decision Making by Herbert A. Simon
Problem 1. Intelligence 2. Design 3. Choice Define Problems : Actors Uncertainties Criteria Options Preferences Get data/info/know by: Survey Experiment Tests Design : Alternatives Formalize Problem Algorithms Make a decision by: Data analysis System optimization Optimization Simulation

6 Beispiele von DSS

7 Decision Support Systems
Problem Modellierung DSS Design User / Interface Datenbanken ? Logik Informationsbanken Wissensbanken Problem Strukturelles Modell Formales Modell Berechnungs- modell Verifizierung, Validierung Kalibrierung Die Schritte der Modellierung des Problems sind: Strukturelles Modell: Die Elemente und deren Wechselwirkungen (Abhängigkeiten, Einflüsse etc.) werden graphisch dargestellt. Formales Modell: Das visuell dargestellte Problem wird formal mit mathematischer Notation festgehalten. Berechnunsgmodell: Der Algorithmus oder die Berechnunsgart wird definiert. Verifizierung: Der Code wird hinsichtlich Logik überprüft. Validierung: Die Wirkungsweise des Modells wird an der Realität getestet. Kalibrierung: Das Modell wird so geändert, dass die Validierung zufriedenstellen wird. Die Elemente von Decision Support Systems: User: Menschlicher Entscheidungsträger, einzeln oder in Gruppen, kollaborierend oder in Konfliktsituationen, zentral oder dezentral, online oder remote etc. Interface: Schnittstelle zwischen Mensch und technischem System, über das Internet oder lokal, Aspekte von Multimedia und Interaktivität. Logik: Suchen, verarbeiten oder folgern mit und aus den verschiedenen Daten-, Informations- und Wissensbanken. Logische Schlüsse werden durch die sog. Inference-Engine gezogen. Datenbanken: Systematische Erfassung von binärer Werten. Informationsbanken: Systematische Erfassung von Fakten. Wissensbanken: Systematische Erfassung von Regeln (wenn, dann).

8 DSS Engineering Methodology
Decision Task Analysis Interessante Quellen für DSS Design sind: Siehe auch: Decision Support Tools, Artificial Intelligence, Business Intelligence, Management Information Systems, Führungsinformationssysteme, Data-Warehouse, Online Analytic Programming (OLAP) etc. Cambridge University: Modelling and Decision Support Tools Decision Support Resources IEEE Computational Intelligence Society Fachzeitschrift Decision Support Systems (Elsevier) Fachzeitschrift Group Decision and Negotiation (Springer) INFORMS Section on Group Decision and Negotiation Association for Information Systems: Spatial Decision Support Systems Clinical Decision Support Systems DSS-Lösungen: Cambridge University Decision Support Tools: Decision Analysis Society Task Requirements Change Request Requirements Engineering: User analysis Support analysis Decision model analysis Knowledge base analysis Data base analysis Unser interface analysis HW/SW analysis Usability analysis Prototyping DSS Requirements Change Request DSS Usage Change Request DSS Design: Decision and knowledge base model Unser interface modeling Data base modeling Designing DSS architecture User Evaluation Systems Engineering Decision Making Support Modell nach A. Gachet und P. Haettenschwiler, 2006 (in Intelligent Decision-Making Support Systems, J.N.D. Gupta et al., Springer, S. 110)

9 Entwicklungsumgebungen
Bsp. (not in Chrome) Bsp. xls Delphi Director SPSS VB .NET ASP .NET Java, C++ Bsp. htm

10 LiveCode Beispiel http://www.springanalytica.com/UNIZ/Sheep/test.html
on mouseDown global score repeat set location of me to the mouseLoc if the mouse is up then put item 1 of the location of me into x put item 2 of the location of me into y if x >= 150 and x <= 250 and y >= 160 and y <= 240 then set the visible of me to false put score + 1 into score put score into line 2 of field "Points" end if exit repeat else end repeat end mouseDown on mouseUp global score put 0 into score put 0 into line 2 of field "Points" put 1016 into i put 55 into s put 0 into k repeat five times set the location of image ID i to 30+k*s,30 put i+1 into i put k+1 into k end repeat end mouseUp on mouseUp put 0 into i put 1006 into x repeat five times set the visible of image ID (x+i) to true put i+1 into i end repeat end mouseUp Import images as „Controls“

11 Vom Modell zum Internet-DSS mit GAMS
“The General Algebraic Modeling System (GAMS) is specifically designed for modeling linear, nonlinear and mixed integer optimization problems. The system is especially useful with large, complex problems. GAMS is available for use on personal computers, workstations, mainframes and supercomputers. GAMS allows the user to concentrate on the modeling problem by making the setup simple.” GAMS

12 Vom Modell zum Internet-DSS mit Lindo/API

13 Vom Modell zum Internet-DSS mit IBM’s ILOG CPLEX Optimization Studio

14 Vom Modell zum Internet mit Excel
Excel Convertor

15 Vom Modell zum Internet mit R (1/2)
Installation of R: Installation of packages; select all of them (lasts up to 1h) Start R (double klick on the R-icon) 4. Start a new script (Ctrl-N) 5. Arrange windows vertically 6. Start working; type code, execute selected lines: (a) by clicking on Icon or (b): by “Ctrl-R” 7. Use Quick-R as totorial: 8. Start R-Commander: library(Rcmdr) 9. Once started, look also at: - R-Tutorial: - Revolution: - inside-R: - Tutorial: 10. Also, look at working environments: - Tinn-R: - R-Studio: 11. Check some classic books: - “R in Action”, R. Kabacoff (goes with Quick-R) - “R Cookbook”, P. Teetor # draw a simple curve curve(2*x^2+3*x+4, from=-2, to=2) # draw the curve # draw the logit curve curve(log(x/(1-x)),0,1,xlab="probability",ylab="logit") title("Probit function") abline(h=0) editor window execution window R-commander generates the code in the upper window and shows the output in the lower window. If code is selected in the upper window, it can be re-run by clicking on „Befehl ausführen“, just like in the editor window of R.

16 Vom Modell zum Internet mit R (2/2)
siehe: library(lpSolve) # Set up problem: maximize # x1 + 9 x2 + x3 subject to # x1 + 2 x2 + 3 x3 <= 9 # 3 x1 + 2 x2 + 2 x3 <= 15 # f.obj <- c(1, 9, 3) f.con <- matrix (c(1, 2, 3, 3, 2, 2), nrow=2, byrow=TRUE) f.dir <- c("<=", "<=") f.rhs <- c(9, 15) # Now run. lp ("max", f.obj, f.con, f.dir, f.rhs) ## The output is: Success: the objective function is 40.5 lp ("max", f.obj, f.con, f.dir, f.rhs)$solution ## The output is: [1] Create a user-friendly web interface for R scripts with package „Rwui“: siehe auch:

17 Entwicklungsumgebungen mit analytischen Algorithmen
Statistische Tools (R): Mathematische Optimierung: Frontline Solvers: (einsetzbar mit Visual Studio.NET, Visual Basic, Matalab, Java, C/C#/C++) Lindo Systems, Frontline Solvers, AIMMS (Modellierung, Database Links, Links zu Solvers, GUI, Deployment) MPL Modeling System: (einsetzbar mit Visual Basic, VBA, C/C++, Java, Delphi, plus popular Web-scripting languages) QMS: (läuft auf dem Internet für Studierende) Knitro: (einsetzbar mit Matlab, Mathematica, C/C++, Excel, Fortran, Java) Vanguard: Mathtools: Belief Nets and Influence Diagrams: Digital Analytics Association: Softwareübersicht: Vehicle Routing Simulation Linear Programming Statistical Analysis Decision Analysis Forecasting

18 Excel Webexport Bsp. htm Bsp. xls
Eine Excel-Datei kann in eine html-Datei mit Java-Skript automatisch umgewandelt werden (siehe Beispiel unten). Bsp. htm Bsp. xls

19 Übungsbeispiel von DSS
Link xls Link htm

20 Entscheidungsvariablen, Zielfunktion und Randbedingungen
Bsp. 1: Entscheide (resp. berechne), welche Zahl zu 3 hinzugezählt werden muss, damit man 10 erhält. Entscheidungsvariable: x Modell: 3 + x = 10 Zielwert: Summe der zwei Zahlen ist gleich 10 Lösung x = 7 Bsp. 2: Entscheide (resp. berechne), welche zwei ganze Zahlen zusammengezählt 10 ergeben und deren Differenz gleich 2 ist. Entscheidungsvariablen: x, y Modell: x + y = 10; x - y = 2 Ziel: Summe der zwei Zahlen ist gleich 10 Randbedingung: Differenz der beiden Zahlen ist gleich 2. Lösung x = 6, y = 4. Der „Solver“ im Excel sucht mit einem Algorithmus für x und y Werte, so dass das Ziel und die Randbedingung erfüllt sind. Matrizenschreibweise: A . X = b Ctrl+Shift+Enter

21 Optimierung mit binären Variablen in R
siehe Paket "lpSolve" lp (direction = "min", objective.in, const.mat, const.dir, const.rhs, transpose.constraints = TRUE, int.vec, presolve=0, compute.sens=0, binary.vec, all.int=FALSE, all.bin=FALSE, scale = 196, dense.const, num.bin.solns=1, use.rw=FALSE) # install and load package "lpSolve" # Set up problem: choose the two cheapest of 3 contracts # min: 1x1 + 9x2 + 3x3 (sum of costs of the three contracts) # s.t.: x1 + x2 + x3 = 2 (choose two out of three contracts) library(lpSolve) f.obj <- c(1, 9, 3) f.con <- matrix (c(1, 1, 1), nrow=1, byrow=TRUE) f.dir <- c("=") f.rhs <- c(2) f.bin <- c(1,1,1) f.tra <- TRUE f.int <- c() f.pre <- 0 f.com <- 0 f.bin <- c(1,2,3) # the vecror of indices of the variables that are binary: 1,2,3 lp ("min", f.obj, f.con, f.dir, f.rhs, f.tra, f.int, f.pre, f.com, f.bin) Output: Success: the objective function is 4 lp ("min", f.obj, f.con, f.dir, f.rhs, f.tra, f.int, f.pre, f.com, f.bin)$solution Output: [1] 1 0 1 Die Lösung ist, Vertrag 1 und 3 zu wählen, mit den totalen Kosten von 4.

22 Logistische Randbedingungen
Logistische Bedingungen xi = 1 bedeutet, dass ai gewählt wurde xi = 0 bedeutet, dass ai nicht gewählt wurde xi  {0,1} entweder a1 oder a2 höchstens einer der beiden (a1 oder a2) mindestens einer der beiden entweder beide oder keine wenn a1 dann auch a2 x1 + x2 = 1 x1 + x2 ≤ 1 x1 + x2  1 x1 - x2 = 0 x1 - x2 ≤ 0 Bsp.1: Von fünf Stellenbewerbern (zwei Ingenieure und drei Juristen) wähle mindestens ein Ingenieur und zwei Juristen. Wenn Jurist zwei gewählt wird, dann muss auch Jurist drei gewählt werden. Minimiere das totale Salär aller Angestellten. Bsp. 2: Es bewerben sich je drei Ingenieure, Juristen und Ökonomen. Es darf höchstens ein Ökonom angestellt werden. Wenn die zwei Juristen angestellt werden, dann müssen auch die beiden Ingenieure angestellt werden. Das totale Salär aller Angestellten soll minimiert werden.

23 Beispiel in LiveCode Entscheidungsproblem: Von fünf Bewerbern sollen jene zwei gewählt werden, die am wenigsten Salär verlangen. on mouseUp -- create a table with the following columns -- Salary, Field ID, Image ID, Decision (1/0) put 1024 into FldID put 1016 into PicID put "" into tabelle put 1 into i repeat five times put field ID FldID into item 1 of line i of tabelle put FldID into item 2 of line i of tabelle put PicID into item 3 of line i of tabelle put FldID+1 into FldID put PicID+1 into PicID put i+1 into i end repeat --answer tabelle sort lines of tabelle ascending numeric by item 1 of each -- move the two winners forward put "" into platz put field "Select" into t repeat t times put the location of image ID (item 3 of line i of tabelle) into platz set the location of image ID (item 3 of line i of tabelle) to item 1of platz,item 2 of platz+120 end mouseUp on mouseUp put 1016 into i put 0 into k put 55 into s repeat five times set the location of image ID i to 30+k*s,30 put i+1 into i put k+1 into k end repeat end mouseUp

24 Wähle Bewerber 2 und 4, was total 7 CHF kostet.
Beispiel in Excel Entscheidungsproblem: Von fünf Bewerbern sollen jene zwei gewählt werden, die am wenigsten Salär verlangen. Entscheidungsvariablen: xi = 1 falls Bewerber 1 gewählt wird und 0 sonst Kriterien: Si ist das Salär, dass Bewerber 1 verlangt Ziel: min Summe aller Produkte Si * xi Randbedingungen: Summe aller xi = 2 (es werden genau zwei gewählt) Beispiel: die fünf Saläre sind: 7, 5, 8, 2, 6 Ziel: Minimiere: 7x1 + 5x2 + 8x3 + 2x4 + 6x5 Rand-Bed.: x1 + x2 + x3 + x4 + x5 = 2 Wähle Bewerber 2 und 4, was total 7 CHF kostet.

25 DSS in der Einsatzplanung

26 Das Entscheidungsmodell: Ein Beispiel
Entscheidungsvariablen: Wie viele Mio. Fr. (xS) soll eine Gemeinde in das Sozialprogramm (S) und wie viele (xT) in das Transportprogramm (T) investieren (einsetzen)? Kriterien Anz. Arbeiter, die für jede Mio. anzustellen sind: for S and 1 for T. Anz. Computer, die für jede Mio. gebraucht werden: 1 for S and 3 for T. Profit für jede Mio.: for S and 2 for T. Zielfunktion Maximiere Profit: P*=max: 1xS + 2xT Randbedingungen Tot. Anz. anzustellender Arbeiter: A*= 32 4xS + 1xT Tot. Anz. zu kaufender Computer: C*= 23  1xS + 3xT Nie vergessen! xS  0; xT  0; xS xT 8 7 6 5 4 3 2 1 C xS = 6.64 xT = 5.45 P*=17.55 Achtung: Gerundete reelle Lösung ist oft nicht die optimale ganzzahlige Lösung! 4xS + 1xT  32 = A* 1xS + 3xT  23 = C* 1xS + 2xT = max = P* 1 3 1 2 32  23 max  = xs xt A x =mmult(A,x) A

27 Lösung mit Excel Solver
Falls Solver nicht installiert ist:

28 Lösung mit Open Office

29 Lösung mit Google Spreadsheets

30 Lösung mit R siehe: # Set up problem: maximize # 1x1 + 2x2 subject to # 4x1 + 1x2 <= 32 # 1x1 + 3x2 <= 23 library(lpSolve) f.obj <- c(1, 2) f.con <- matrix (c(4,1,1,3), nrow=2, byrow=TRUE) f.dir <- c("<=", "<=") f.rhs <- c(32,23) # # Now run. lp ("max", f.obj, f.con, f.dir, f.rhs) ## Output is: Success: the objective function is lp ("max", f.obj, f.con, f.dir, f.rhs)$solution ## Output is: [1]

31 Simplex Algorithmus Arbeiter: 32 4xS + 1xT Computer: 23  1xS + 3xT
Profit: max:1xS + 2xT Arbeiter: xS - 1xT  0 Computer: xS - 3xT  0 Profit: max: 1xS + 2xT Da beide Entscheidungsvariablen x1 (xS) und x2 (xT) frei sind, können wir auswählen welche der beiden wir zuerst austauschen wollen; wir wählen x1; diese Kolonne wird zur Pivotkolonne. Der charakteristische Quotient wird berechnet, indem man die Werte in der „1“-Kolonne mit den Werten in der Pivotkolonne dividiert. Die Zeile mit dem grössten charakteristischen Quotienten wird zur Pivotzeile. Somit ist der Wert „-4“ der Pivotwert. Das Tableau T1 wird folgendermassen berechnet: Der Pivotwert wird zum Reziproken Wert (1/Pivot). Die Werte in der Pivotkolonne werden durch den Pivot dividiert. Die Werte in der Pivotzeile werden durch den Pivot dividiert und mit -1 multipliziert. Für die restlichen Werte gilt: wik  wik – wip*wpk/p. Das Tableau T2 wird berechnet, indem im Tableau T1 mit dem letzten möglichen Pivot die analogen Berechnungen durchgeführt werden. Die Lösung x1 = 6.64, x2 = 5.45 und Profit = wird erhalten.

32 Modellierungs-Tricks
Mehrfache Ziele müssen gelten (keine Zielfunktion) Anstatt dass man eine Zielfunktion hat und mehrere Randbedingungen, will man alle Aspekte gleichzeitig berücksichtigen. Dafür definiert man Strafgewichte, wenn von einem Ziel zu viel oder zu wenig erreicht wird. Arbeiter: = 4xS + 1xT – xA+ Computer: 17 = 1xS + 3xT – xC+ Büros: = 1xS + 1xT – xB+ + xB- Min: 3xA++ 2xC++ 1xB+ + 3xB- xS xT Aspi-ration Straf-gewicht A 4 1  16 3 (+) C 3  17 2 (+) B = 10 1 (+) 3 (-) Arbeiter:  4xS + 1xT Computer: 17  1xS + 3xT Büros: = 1xS + 1xT xA+: Abweichung Anzahl Arbeiter über 16 xC+: Abweichung Anzahl Computer über 17 xB+: Abweichung Anzahl Büros über 10 xB-: Abweichung Anzahl Büros unter 10 Total haben wir 6 Entscheidungsvariablen: xS, xT, xA+, xC+, xB+, xB- Nur r Randbedingungen müssen gelten “oder” Randbedingungen Arbeiter: xS + 1xT 32 + M(1-yA) Computer: 1xS + 3xT  23 + M(yC -1) Profit: max:1xS + 2xT  yi = r 3x1 + 2x2 + 5x3 = 10 oder 15 3x1 + 2x2 + 5x3 = 10y1 + 15y2  yk = 1

33 Beispiel Problem: Wie viele Äpfel und Birnen soll ich kaufen, wenn die Summe aller Früchte 10 und die Differenz der Früchtesorten 2 sein soll? Lösung: Entscheidungsvariablen: A (Anzahl Äpfel), B (Anzahl Birnen) Zielfunktion: A+B = 10 (= B + A) Randbedingungen: A - B = 2 oder B - A = 2. Model: Die „oder“ Bedingung modellieren wir dadurch, dass wir verlangen, dass nur eine der zwei Randbedingungen gelten muss. Wir führen zwei binäre Entscheidungsvariablen und y ein, so dass x + y = 1 (d.h. eine der beiden ist 1 und die andere 0. Das mathematische Modell lautet nun so: Ziel: A+B=10 RB1: A(1-x) – B(1-x) - 2(1-x) = 0 RB2: B(1-y) – A(1-y) - 2(1-y) = 0 RB3: x+y=1 (wenn x=1 gilt die zweite RB, und wenn y=1 gilt die erste RB)

34 Generalized Reduced Gradient Method
Für nichtlineare Optimierungsprobleme gebraucht der Solver als Optimierungsalgorithmus die sog. Generalized Reduced Gradient Method (GRGM). Bei nichtlinearen Problemen muss dem Solver gesagt werden, dass es sich nicht um ein lineares Problem handelt, sonst löst der Solver ein falsches Problem. Der Solver kann auch über VBA durch klicken auf einen erstellten Knopf ausgelöst werden. GRGM Excel Beispiel GRGM Solver mit VBA

35 Interior Point Method Eine einfache Erklärung der Interior Point Method ist hier: Die Lösung wird iterativ berechnet. min: cTx s.d. Ax = b x ≥ 0 1: wähle einen x-Vektor als Startpunkt, der alle Randbedingungen erfüllt (z.B. xi = 0) 2: überprüfe ob der x-Vektor eine Lösung innnerhalb einer gewählten Genauigkeit ergibt. 3: falls ja, Lösung ist gefunden. Falls nicht, dann berechne die neue Richtung und den neue Schrittlänge. 4: bestimme den neuen x-Vektor und gehe zu Punkt 2.

36 Nicht-lineare Optimierung
Die Anfangswerte beeinflussen das Finden der „optimalen“ Lösung. mit x=0 und y=0 als Anfangswerte mit x=8 und y=0 als Anfangswerte x = 2.50 y = 0.60 z = 2.60 x = 8.78 y = 0.60 z = 7.63

37 Einsatzplanung von Personen: Scheduling

38 Optimierung einer Einsatzplanung
Problem: Wie viele Pfleger müssen angestellt werden, wenn die minimale Anzahl Pfleger pro Schicht eingehalten werden muss (links) und jeder Pfleger in zwei sich folgenden Schichten arbeiten muss. EV: xij (ganzzahlig): Anzahl Pfleger in Schicht Si und Sj Zielfunktion: min: x12+x23+x34+x45+x56 +x61 Schicht Nr. anwesende Pfleger benötigte Pfleger x61+x  x12+x  x23+x  x34+x  x45+x  x56+x  Andere Lösungen: 3/2/4/5/8/8 3/2/6/5/6/8 library(lpSolve) # Nurse scheduling problem # Set up cost matrix f.obj <- c(1,1,1,1,1,1) f.con <- matrix(c( 1,0,0,0,0,1, 1,1,0,0,0,0, 0,1,1,0,0,0, 0,0,1,1,0,0, 0,0,0,1,1,0, 0,0,0,0,1,1),nrow=6,ncol=6,byrow=TRUE) f.dir <- c(">=") f.rhs <- c(3,2,4,5,6,8) f.tra <- TRUE f.int <- c(1,2,3,4,5,6) # all variables are integers f.pre <- 0 f.com <- 0 f.bin <- c() lp ("min", f.obj, f.con, f.dir, f.rhs, f.tra, f.int, f.pre, f.com, f.bin) # Output: Success: the objective function is 15 lp ("min", f.obj, f.con, f.dir, f.rhs, f.tra, f.int, f.pre, f.com, f.bin)$solution # Output: [1]

39 Job Assignment Drei verschiedene Maschinen können drei verschiedene Arbeiten ausführen. Gesucht ist die Zuordnung je einer Maschine an je einer Arbeit, so dass die totalen Kosten minimiert werden. Maschinen Abeiten A B C I $11 $14 $ 6 II $ 8 $10 III $9 $12 $7 Zuordnungsalgorithmus Subtrahiere den kleinsten Wert in jeder Zeile von jedem Wert in dieser Zeile; subtrahiere dann den kleinsten Wert in jeder Spalte von jedem Wert in dieser Spalte. Zeichne die kleinste Anzahl vertiakler und horizontaler Linien, um alle Nullen in der Tabelle zu bedecken. Wenn die Anzahl Linien entweder gleich der Anzahl Zeilen oder gleich der Anzahl Spalten ist, dann ist eine optimale Zuordnung möglich (Schritt 4). Ansonsten: Subtrahiere den kleinsten Wert, der noch nicht bedeckt ist, von jedem anderen unbedeckten Wert. Addiere den gleichen Wrt zu jedem Wert, der auf dem Schnittpunkt von zwei Linien ist. Gehe zurück zu Schritt 2. Optimale Zuordnungen liegen immer bei Null-Werten in der Tabelle. Schritte 1a und 1b Schritt 2 Schritt 3 Maschinen Arbeiten A B C I 5 8 II 2 3 III Maschinen Arbeiten A B C I 5 6 II 3 III 2 Maschine Arbeit A B C I 5 6 II 3 III 2 Maschine Arbeit A B C I 3 4 II 5 III 1 kleinster ungedeckter Wert optimale Zuordnung

40 Job Assignment DSS mit LiveCode
on mouseUp put 1018 into i repeat 9 times set the backColor of field ID i to "white" put i+1 into i end repeat put "" into werte -- 1: 1 5 9 put 1018 into item 1 of line 1 of werte put 1022 into item 2 of line 1 of werte put 1026 into item 3 of line 1 of werte put field ID field ID field ID 1026 into item 4 of line 1 of werte -- 2: 1 6 8 put 1018 into item 1 of line 2 of werte put 1023 into item 2 of line 2 of werte put 1025 into item 3 of line 2 of werte put field ID field ID field ID 1025 into item 4 of line 2 of werte -- 3: 2 4 9 put 1019 into item 1 of line 3 of werte put 1021 into item 2 of line 3 of werte put 1026 into item 3 of line 3 of werte put field ID field ID field ID 1026 into item 4 of line 3 of werte -- 4: 2 6 7 put 1019 into item 1 of line 4 of werte put 1023 into item 2 of line 4 of werte put 1024 into item 3 of line 4 of werte put field ID field ID field ID 1024 into item 4 of line 4 of werte -- 5: 3 4 8 put 1020 into item 1 of line 5 of werte put 1021 into item 2 of line 5 of werte put 1025 into item 3 of line 5 of werte put field ID field ID field ID 1025 into item 4 of line 5 of werte -- 6: 3 5 7 put 1020 into item 1 of line 6 of werte put 1022 into item 2 of line 6 of werte put 1024 into item 3 of line 6 of werte put field ID field ID field ID 1024 into item 4 of line 6 of werte --answer werte sort lines of werte ascending numeric by item 4 of each lock screen set the backColor of field ID (item 1 of line 1 of werte) to "yellow" set the backColor of field ID (item 2 of line 1 of werte) to "yellow" set the backColor of field ID (item 3 of line 1 of werte) to "yellow" unlock screen end mouseUp Die ID der 9 Felder sind: Die 6 Lösungen sind: Lsg 1: Lsg 2: Lsg 3: Lsg 4: Lsg 5: Lsg 6:

41 Job Assignment DSS mit Excel

42 Job Assignment mit lpSolve in R
siehe: library(lpSolve) assign.costs <- matrix (c(11,14,6,8,10,11,9,12,7), 3, 3) lp.assign (assign.costs) lp.assign (assign.costs)$solution > assign.costs <- matrix (c(11,14,6,8,10,11,9,12,7), 3, 3) > lp.assign (assign.costs) Success: the objective function is 25 > lp.assign (assign.costs)$solution [,1] [,2] [,3] [1,] [2,] [3,]

43 Johnson‘s Zuordnungsverfahren
N jobs müssen sequentiell durch 2 Maschine Säge Bohrer Job A Job B Job C Jobs (N = 3) Johnson’s Zuordnungsverfahren Alle Jobs werden mit den Arbeitszeiten aufgelistet. Wähle den Job mit der kürzesten Aktivitätszeit. Wenn dieser sich auf die erste Maschine bezieht (Säge), dann ist der Job als erster dran; wenn mit der zweiten Maschine (Bohrer), dann ist er als letzter dran. Wenn ein Job zugeordnet ist wird er eliminiert von der Liste. Führe Schritte 2 bis 3 für die übrigen Jobs durch, und arbeite in das Zentrum der Zuordnungssequenz zu. Job Säge Bohrer A 5 2 B 3 6 C 8 4 D 10 7 E 12 Schritt 1 A Schritt 2 B A Schritt 3 B C A Schritt 4 B D C A Schritt 5 B E D C A Zeit => Säge B E D C A Bohrer Zeit => B E D C A Jobs erledigt => = Wartezeiten

44 DSS in der Transportplanung und im Projektmanagement

45 „In die Irre geleitet …“
Zürich – Alpthal 47 km, 59 Min., 46 km/h Zürich – Alpthal* 106 km, 111 Min., 54 km/h * mit Strassenangabe des Zielortes Sie folgen dem GPS wie Schafe Tagi, Neue Luzerner Zeitung, , S. 32 „GPS lotst Autofahrer an den Rand des Abgrunds auf eine 30 Meter hohe Klippe.“ „Ich lese Karten und plane im voraus. Dies ist viel genauer und zuverslässiger.“

46 Optimierung der Transportverteilung
12 14 20 16 8 10 k32 Problem: Gesucht ist der billigste Versand der produzierten Autos von den drei Stationen an die vier Destinationen, so dass alle in den drei Stationen produzierten Autos weggehen und alle vier Destinationen genau die bestellte Anzahl Autos erhalten. Achtung: wenn man die Randbedingung xij  0 weglässt, dann konvergiert die Lösung nicht!

47 Modellspezifikation in GAMS
to slide 34 Siehe: (Verpackzentren) New York (325) 2.5 Seattle (350) more details 1.7 Chicago (300) 1.8 2.5 San-Diego (600) 1.8 Topeka (275) 1.4

48 Lösung mit lpSolve in R New York (325) siehe: 2.5 Seattle (350) 1.7 Chicago (300) 1.8 2.5 San-Diego (600) 1.8 Topeka (275) 1.4 library(lpSolve) # Transportation problem, # Set up cost matrix cells <- c(2.5,1.7,1.8,0,2.5,1.8,1.4,0) rnames <- c("Seattle","San Diego") cnames <- c("New York","Chicago","Topeka","dummy") costs <- matrix(cells, nrow=2, ncol=4, byrow=TRUE, dimnames=list(rnames, cnames)) # Set up constraint signs and right-hand sides. row.signs <- rep ("<", 2) row.rhs <- c(350,600) col.signs <- rep (">", 4) col.rhs <- c(325,300,275,0) # Run lp.transport (costs, "min", row.signs, row.rhs, col.signs, col.rhs) lp.transport (costs, "min", row.signs, row.rhs, col.signs, col.rhs)$solution > costs New York Chicago Topeka dummy Seattle San Diego > row.signs <- rep ("<", 2) > row.rhs <- c(350,600) > col.signs <- rep (">", 4) > col.rhs <- c(325,300,275,0) > lp.transport (costs, "min", row.signs, row.rhs, col.signs, col.rhs) Success: the objective function is > lp.transport (costs, "min", row.signs, row.rhs, col.signs, col.rhs)$solution [,1] [,2] [,3] [,4] [1,] [2,] Die minimalen totalen Kosten (1‘707.50) sind gleich wie auf der letzten Seite (gerechnet mit Excel), aber die Zuordnung ist anders (es gibt mehrere optimale Lösungen!).

49 Schnellster Weg 2 5 4 1 6 3 7 Problem: Gesucht ist der schnellste Weg von San Francisco nach Kairo. Um den längsten Weg zu finden: max tot. Zeit Sumi xij  1  j, ij (höchstens ein Zufluss pro Stadt)

50 Travelling Salesperson Problem
2 5 4 1 6 3 7 Problem: Die Travelling Salesperson muss alle Städte genau einmal besuchen und wieder an den Ausgangspunkt zurück kommen. Bsp.:

51 Schnellster Weg (Inferenzmodelle)
Dijkstra Algorithmus: Gesucht ist der kürzeste Weg von S1 nach S7. S ist die Menge der „geschlossenen“ Städte, d.h. jene Städte, für die man den kürzesten Weg zu S1 bereits bestimmt hat. Schliesse Stadt 1 (S1): S1S. Schliesse Sk (SkS), so dass xik+L1k = minimal für alle k und SiS. Wenn Sk = S7 dann stopp, sonst zurück zu Punkt 2. Prolog domains town = symbol distance = integer predicates road(town, town, distance) route(town, town, distance) clauses road(San_Francisco, Paris, 3) road(San_Francisco, St_Louis, 4) ... route(Town1, Town2, Distance) :- road(Town1, Town2, Distance). road(Town1, X, Dist1), route(X, Town2, Dist2), Distance=Dist1+Dist2. weg(Ziel,Ziel,Zustandsliste):- write(Zustandsliste),nl /* Ziel erreicht, Abbruch der Rekursion und Ausgabe */ weg(Start,Ziel,Zustandsliste): /* Es gibt einen Weg vom Start zum Ziel, wenn ... */ operator(Op), /* ... es einen Operator gibt, ... */ anwendbar(Op,Start), /* ... der im Startzustand anwendbar ist, ... */ fuehrt_zu(Op,Start,Neu), /* ... von dort zu einem neuen Zustand fuehrt, ... */ not(member(Neu,Zustandsliste)), /* ... der noch nie da war (Verhinderung von Schleifen) ... */ zulaessig(Neu), /* ... und zulaessig ist, ... */ weg(Neu,Ziel,[Neu|Zustandsliste]). /* ... und es von dort einen Weg zum Ziel gibt. */

52 Schnellster Weg in LiveCode

53 2 5 1 3 4 6 7 1 2 3 4 4 5 4 6 5 6 7 R11 5 6 7 7 5 6 7 7 7 7 R3 R4 R7 R8 R9 R10 7 7 7 7 R1 R2 R5 R6

54 Schnellster Weg in LiveCode

55 Projektmanagement: Critical Path Method (CPM)
Activity (time) Description Immediate Predecessors A (2) Build internal components - B (3) Modify roof and floor C (2) Construct collection stack A D (4) Pour concrete and install frame A, B E (4) Build high-temperature burner C F (3) Install pollution control system G (5) Install air pollution device D, E H (2) Inspect and test F, G F A C E Start H B D G Latest Finish ES LS EF LF Earliest Finish Latest Start Earliest Start Activity Name Activity Duration Slack=0 Start A B C D F G H 13 2 15 8 5 4 10 3 7 E 1 Slack=6 Slack=1 1. Forward Calculation: 2. Backward Calculation: Critical path has 0 slack and is the slowest path from start to end.

56 DSS in der Finanzplanung

57 Optimierung von Investitionen

58 Optimierung eines Portfolio
Problem: Wie soll ein gegebenes Kapital (K=10‘000.-) auf (n=3) Aktien verteilt werden, so dass ein minimaler Gewinn (G=800.-) erzielt wird und die totale Variabilität künftiger Gewinne minimiert wird.

59 Projektfinanzierung Problem: Eine Firma will ein Projekt von 6 Mio. über 6 Jahre finanzieren, durch Kreditaufnahme bei 3 Banken. Die jährlichen Zinszahlungen sollten möglichst gleich sein (min. Co-Varianz) über die 6 Jahre und total nicht mehr als 4 Mio. betragen.

60 Decision Tree Actions (Aj) Events (Ei)
Cold weather p(E1) = x11 =$ x12 = $100 Warm weather p(E2) = x21 = $ x22 = $125 sell Drinks (A1) sell Hot Dogs (A2) Drinks Hot Dogs Cold wather Cold weather Warm weather x11 = $50 x21 = $200 x22 =$125 x12 = $100

61 Stochastische Optimierung
kaltes Wetter x11 = $50 Aktionen (Aj) Ereignisse (Ei) kaltes Wetter p(E1) = x11 =$ x12 = $100 warmes Wetter p(E2) =0.8 x21 = $ x22 = $125 verkaufe Getränke (A1) verkaufe Hot Dogs (A2) Getränke warmes Wetter x21 = $200 Hot Dogs x12 = $100 kaltes Wetter Opportunitätsverlust = höchst möglicher Wert für ein Ereignis i - Wert der Aktion j warmes Wetter x22 =$125 Aktionen (Aj) Ereignisse (Ei) kaltes Wetter (E1) x11 =$ x12 = $0 warmes Wetter (E2) x21 = $ x22 = $75 verkaufe Getränke (A1) verkaufe Hot Dogs (A2) Entscheidungskriterien Erwarteter monetärer Wert (EMW) Erwartungswert für Aktion Aj Erwarteter Opportunitätsverlust (EOV) Erwarteter Verlust für Aktion Aj Erwarteter Wert der perfekten Information (EWPI) Erwarteter Opportunitätsverlust der besten Entscheidung (für die Ereignisse) = Erwarteter Gewinn bei Sicherheit - Erwarteter Gewinn der besten Aktion Entscheidungskriterien EMW(A1)=0.2*50+0.8*200 =170; EMW(A2)=0.2* *125=120 max(EMW) = EMW(A1) = 170 EOV(A1)= 0.2*50+0.8*0 =10; EOV(A2)=0.2*0+0.8*75=60 min(EOV) = EOV(A1) = 10 EWPI = (0.2* *200) = 10 (Betrag, den man bereit ist zu bezahlen, um die Unisicherheit zu eliminieren.

62 Decision Tree Analysis
Suppose a firm is considering marketing a new product in Region 1 or Region 2. In Region 1, management believes there to be a 30% chance of making $4M profit if the product is launched and demand is high, but a 70% chance of incurring a $2M loss if demand is low. In Region 2, management believes there to be a 30% chance of making $3M profit if the product is launched and demand is high, but a 70% chance of incurring a $1M loss if demand is low. In what region should the new product be marketed? The cost of marketing the product is $0.1M. The relevant pay-off table (in terms of profit) is derived as follows: Using the criterion of maximizing expected profit: E(a1) = (0.3) ($4m) + (0.7) (–$2m) = –$0.20M E(a2) = (0.3) ($3m) + (0.7) (–$1m) = $0.20M Thus, the optimal solution is to market the product in Region 2. But the EVPI = [0.3(4) + (0.7) (–1)] – 0.2 = $0.3M Thus, if the cost of marketing the product is $0.1M, then it looks attractive to seek additional information as management is prepared to spend up to $0.3M for perfect information. From previous experience with the launching of other products, management assesses the following probabilities (conditional probabilities): P (favourable survey outcome/high demand) = 0.47 P (unfavourable survey outcome/high demand) = 0.53 P (favourable survey outcome/low demand) = 0.08 P (unfavourable survey outcome/low demand) = 0.92 The cost of the survey is $0.09M. With this information, we can determine the complete joint distribution of forecast and actual outcomes. Using the information from section we can now compute the conditional probabilities of the form P (actual result/test market result) from the definition of conditional probability, P(H| F) = P(H∩ F) / P(F) This can readily be calculated by substituting the values of the joint probabilities from the above table. The remaining three conditional probabilities are obtained similarly. It should be noted that these calculations are an application of Bayes’ Theorem. Hence, applying Bayes’ Theorem enables computation of posterior probabilities of the form: P (high demand | favourable survey outcome) = 0.141/0.197 = P (H/F) P (low demand | favourable survey outcome) = 0.056/0.197 = P (L/F) P (high demand | unfavourable survey outcome) = 0.159/0.803 = P (H/U) P (low demand | unfavourable survey outcome) = 0.644/0.803 = P (L/U) Decision Tree (next slide)

63 Start with Test Decision

64 (1) Expected value of additional
(survey) information (EVSI) = – 0.2 = 0.085 Expected payoff using additional (survey) information Expected payoff without additional (2) Expected net gain from sampling(ENGS) = EVSI – cost of survey = – 0.09 =

65 Introduction

66 A B C Monty Hall Paradoxon 2 Strategies: (1) Stay with A:
2. It is not behind B 1. I choose Door A 3. Should I switch to C? 2 Strategies: (1) Stay with A: p(Auto) = 1/3 (2) Switch to C: p(car) = p(not A) =2/3 Ein weiteres interessantes Paradoxon (oder Dilemma) ist das so genannte Monty Hall Paradoxon. Man nehme an, dass man bei einer Show drei Türen wählen kann, wobei man weiss, dass hinter genau einer Türe ein Auto ist und man das Auto gewinnt, wenn man die Türe erraten kann. Man weiss, dass der Hostmaster eine auffordert, sich für eine Türe zu entscheiden, diese aber noch nicht bekannt machen soll. Sobald man sich für eine Türe entschieden hat, öffnet der Showmaster eine Türe, welche natürlich das Auto nicht enthält. Soll man jetzt die ursprünglich gewählte Türe beibehalten oder eine andere wählen. Da man die Regel des Spiels in betracht ziehen muss (zuerst wähle ich, dann öffnet der Showmaster eine Türe, und dann kann ich mich neu besinnen), gibt es für mich zwei Strategien, nämlich meinen ursprünglichen Entscheid beizubehalten oder dann eben zu wechseln. Oft wird argumentiert, dass es nicht darauf ankommt, ob man wechselt, oder nicht, denn nachdem der Showmaster die Türe geöffnet hat, ist die Chance zu gewinnen

67 Stay with your initial choice?
A Strategic Decision Problem A strategic decision problem consists of at least one decision (stay with your choice after the show master opens the door, or switch to the other door) and at least one uncertain event (in your first pick you picked the car, or nothing) What is first pick? Since you stay with your initial choice, you win the car (p=1/3). car (p=1/3) yes not car (p=2/3) Since you stay with your initial choice, you do not win the car (p=2/3). Stay with your initial choice? Since you do not stay with your initial choice, you do not win the car (p=1/3). What is first pick? car (p=1/3) no Since you do not stay with your initial choice, you win the car (p=2/3). not car (p=2/3) Wenn man jedoch den Entscheidungsprozess als zwei Strategien betrachtet, dann wird klar, welche der beiden Strategien man wählen soll. Als erster wird das Auto hinter einer Türe platziert, danach wählt man eine Türe, dann öffnet der Showmaster eine Türe und schliesslich muss man sich entscheiden, ob man die ursprüngliche Wahl ändern will, oder nicht. Der Entscheidungsbaum oben zeigt alle möglichen Szenarien auf. Wenn man sich für ‘=N’ entscheidet, dann hat man 1/3 Wahrscheinlichkeit, dass man das Auto gewinnt. Wenn man sich jedoch für ‘N’ entscheidet, dann hat man 2/3 Wahrscheinlichkeit das Auto zu gewinnen. Somit sollte man sich entscheiden, die Wahl zu ändern. Expected gain of „staying“: 1/3 x car + 2/3 x 0 = 1/3 x car Expected gain of „switching“: 1/3 x 0 + 2/3 x car = 2/3 car Thus: you should adopt the „switch“ strategy!

68 Discrete Event and Continuous Simulation
Simulation Software Development Frameworks Simulation Software Übersicht Link zu Warteschlange Modellen Open Simulator OMNest Open Simulator OMNet Simwalk: Simulation für Personenbewegungen Arena Extend Simul8 Simulation Resources

69 Simulation: Bsp. Bankschalter-Prozess
(1) Schalterbeendung Zufalls- ereignisse Schalter-Abgang 1. Eintritt 4. Abgang Zwischen- ankunfts- zeit Wartet jamand? ja Starte Wartezeit des Schalters nein Nimm wartetende Person aus der Reihe Starte Schalterservice Schalter- verarbeitungs- zeit (2) Personenankunft Person kommt an 3. Schalter Wartet jamand? nein ja Person geht zum Schalter Person geht in die Reihe 2. Reihe l = Mittelwert der Ankunftsrate (Anzahl Personen pro Zeiteinheit) m = Mittelwert der Verarbeitungsrate (Anzahl Personen pro Zeiteinheit) Beachte: 1/l = Durchschnittliche Zwischenankunftszeit zwischen zwei Personen 1/m = Durchschnittliche Verarbeitungszeit des Schalters l und m sind Poisson verteilt und 1/l und 1/m sind exponentiell verteilt.

70 Stochastische Simulation
Wichtige Kenngrössen Durchschnittliche Wartezeit für einen Kunden: S6/SK = 56/20 = 2.8 Min. WS, dass ein K warten muss: SKwartend/SKunden = 13/20 WS, dass Server arbeitslos ist (Zeit, wo Server nicht arbeitet): S8/SZeit = 18/82 = 0.21 Durchschnittliche Bedienungszeit: S3/SKunden = 68/20 = 3.4 Min. Durchschnittliche Zwischenankunftszeit: S1/S(K-1) = 82/19 = 4.3 Min. („-1“ da K1 um t=0 ankommt) Durchschnittliche Wartezeit der wartenden: S6/SKwartend = 56/13 = 4.2 Min. Durchschnittliche Zeit Kunde verbringt im System: S7/SK = 124/20 = 6.2 Min. Kontrolle: „1“ + „4“ = „7“ d.h = 6.2  OK

71 Zufallszahlengenerierung mit EXCEL
Extras Analyse-Funktionen Zufallszahlengenerierung

72 Zufallszahlengenerierung mit EXCEL
Aufgabe: Man lasse EXCEL 600 x einen fairen Würfel würfeln, d.h. man generiere 600 Zufallswerte, die der „Würfel Verteilung“ entsprechen. Zufallszahlengenerierung Extras Analyse-Funktionen Werte WS Daten „Würfel Verteilung“

73 Poisson Verteilung Bei sehr grosser Grundgesamtheit n kann die Binomialverteilung durch die Poisson Verteilung approximiert (angenähert) werden. Mögliche Interpretation: p(x) ist die WS, dass x Unfälle pro Jahr geschehen, wenn im Schnitt l Unfälle pro Jahr geschehen (Annahme: Unfälle sind unabhängig). p(x) = e-l lx x! x l=1 l=2 l=10 =POISSONVERT(x,l,falsch) p(x) = wobei x = 0, 1, 2, ... e-l lx x! E(X) = l V(X) = l Beispiel: Im Jahresschnitt geschehen 2 Flugzeugabstürze; was ist die WS, dass nächstes Jahr 3 Abstürze geschehen? Lösung: p(3)=(e-223)/3! = 0.18 EXCEL =POISSON(3,2,FALSE) = 0.18

74 Generierung einer Poisson-Wahrscheinlichkeit
Falsch: F(x) Richtig: p(x)

75 Exponentielle Verteilung
ZV X ist exponentiell verteilt mit Parameter l: f(x) = le-lx wobei x  0 F(x) = 1 - e-lx E(X) = 1/l V(X) = 1/l2 Merke: Wenn Ereignisse gemäss einer Poisson Verteilung stattfinden (im Mittel l Ereignisse pro Jahr), dann ist die Zeit zwischen zwei Ereignissen exponentiell verteilt; d.h. ein Ereignis tritt im Schnitt alle 1/l Jahre ein! Dichtefunktion f(x) Wahrscheinlichkeitsfunktion F(x) Die Zeitspanne einer Maschine bis zur nächsten Reparatur ist exponentiell verteilt. Man erwartet, dass sie alle 3 Jahre repariert werden muss. Was ist die WS, dass die Maschine länger als erwartet hält? Lösung: Zwischenankunftszeiten sind exponentiell verteilt mit Paramter l. l = 1/3 (d.h. „1/3 Mal pro Jahr muss sie repariert werden“) WS dass Maschine länger als 3 Jahre ohne Reparatur auskommt: p(x > 3) = 1 – p(x  3) = 1 - (1 - e-1) = EXCEL: =1-EXPONDIST(3, ,TRUE)

76 Generierung von exponentiell verteilten Zwischenankunftszeiten
Exponentielle Wahrscheinlichkeitsfunktion F(x) F(x) = 1 – e-lx e-lx = 1 – F elx = 1/(1 – F) lx = ln(1/(1-F)) x = ln(1/(1-F))/l Für F generiere man eine Zufallszahl zwischen 0 und 1 EXCEL: =zufallszahl() X gesuchte zufällige Zwischenankunftszeit mit exponentieller Verteilung EXCEL: =LN(1/(1-ZUFALLSZAHL()))/3 Beachte: Die Anzahl Poisson-Ereignisse kann aus den Zwischenankunftszeiten abgeleitet werden. Ist z.B. die Zwischenankunftszeit 20 Minuten, dann bedeutet das, dass 3 Ereignisse pro Stunde geschehen (Poisson verteilt).

77 DSS für Wahlverfahren

78 Schlussbericht E-Voting Kt. ZH 2011

79 Aggregation mit Borda Count
3 Alternativen: A A2 A3 A1 > A2 A2 > A1 Decision situations where the decision makers have to select one alternative or rank all alternatives are called voting procedures. Fair voting procedures have been subject of debate and research for more than 200 years. Let's assume that the five decision makers (DM1,...,DM5) on the slide provide rankings for three decision options (A1, A1,A3). In 1770, the French mathematician Jean-Charles de Borda proposed to the Académie des Sciences de Paris a rule to aggregate n rankings into a single ranking. The rule, called the Borda count, has become a standard procedure for aggregating ranks. The rule is intuitive; it starts by adding up all ranks for each alternative. The alternative with the lowest sum is the best one - in the example above, it is alternative A1. If we eliminate the worst alternative, A3, and adjust the ranks so they now range from 1 to 2, we see that A2 is now preferred over A1. Deleting an alternative can thus lead to rank reversal - a phenomenon we already encountered for paired comparisons using a ratio scale. The Borda count might therefore lead to strategic voting by assigning to the most feared competitor the lowest rank although s/he would not deserve it. A fairer approach would be to have the decision makers vote again between the two most preferred candidates.

80 Aggregation mit Mehrheitsregel
3 Alternativen: A A2 A3 super gut OK gut OK super OK super gut Paradoxon: A1 > A2, A2 > A3 Aber: A1 < A3 In 1785, the Marquis de Condorcet criticized the Borda count and proposed an alternative procedure, called the Condorcet's method or majority rule. This rule says to rank Ai over Aj if the number of voters preferring Ai over Aj is larger than the number of voters preferring Aj over Ai. This relation, however, is not necessarily transitive, and can lead to circular ranking, called the Paradox of Condorcet. The example on the slide illustrates the Paradox of Condorcet. super > gut > OK

81 & Pareto Optimalität A2 > A1 A2 > A1 A1 > A2
N(A1)=0.6; N(A2)=0.2 N(A1)=0.3; N(A2)=0.8 N(A1)=0.7; N(A2)=0.8 N(A1)=0.1; N(A2)=0.1 0.5 0.8 0.2 E[u(A1)]=0.45 E[u(A2)]=0.50 E[N(A1)]=0.58 E[N(A2)]=0.66 A2 > A1 A2 > A1 N(A1)=0.65; N(A2)=0.5 N(A1)=0.20; N(A2)=0.45 & 0.65 0.35 E[N(A1)]=0.49 E[N(A2)]=0.48 Let's assume that two decision makers (woman, man) have assessed two alternatives (A1,A2) for two scenarios (S1,S2) with their corresponding probabilities (p1,p2). The decision makers' assessments, both the utilities and the probabilities, are aggregated to their group assessment, simply by taking the arithmetic averages. The two decision makers both prefer A2 over A1 but the aggregated values suggest the opposite. As we see, the aggregation of probabilities requires special attention. A1 > A2

82 Verschiedene Social Choice Methoden
7 Personen, 5 Alternativen Condorcet‘s Methode: Mehrheitsregel (keine Gewinnerin) Plurality Voting: wer hat am meisten 1. Plätze (Gewinnerin ist a) Borda Count: Summe der Punkte (Gewinnerin ist b) Hare System: sukzessives Streichen der Alternative mit den wenigsten 1. Rängen (zuerst d streichen, dann b und e, dann a und somit: die Gewinnerin ist c) Sequentielle paarweise Wahl mit fixer Liste: die Liste ist a, b, c, d, e, somit a gegen b, mit Mehrheitsregel gewinnt b und a fällt weg, dann b gegen c usw. Gewinnerin ist d) Dictatorship: eine Person wird als Diktator bestimmt und seine Liste ist bestimmend; wenn z.B. P7 der Diktator ist, dann: Gewinnerin ist e). Beispiel entnommen von (S. 8): Taylor A.D. and Pacelli A.M, Mathematics and Politics:Strategy, Voting, Power, and Proof. Springer, New York.

83 Axiome der Sozialentscheidung
Wenn mindestens 2 Personen die Priorität von 3 oder mehr Alternativen bewerten, dann gibt es kein Wahlverfahren, das allen vier Axiomen der Sozialentscheidung genügt: Transitivität: A1>A2, A2>A3  A1>A3. Pareto Optimalität: Falls für alle: A1>A2  Gruppe:A1>A2 Binäre Relevanz: Keine Umkehrung der Prioritäten. Kein Diktator: Aggregation  individuelle Bewertung. These kinds of shortcomings in group preference aggregation, or social choices, led K.J. Arrow [1951] to investigate the question of whether there exists a group preference aggregation method for ordinal preferences which complies with the following four social choice axioms: Transitivity: the aggregation procedure must produce a transitive group preference order for the alternatives being considered. Pareto optimality: If all decision makers prefer one alternative over the others, then the aggregated preferences must do the same. Binary relevance: The aggregated preference between two alternatives depends only on the decision makers' assessment of the preferences between these two alternatives and not on the other alternatives. This assumption of independence of irrelevant alternatives assures that rank reversal through deletion of an alternative is not possible. No dictatorship: There is no decision maker whose assessment becomes the overall group assessment. Arrow proved that if two or more decision makers have assessed three or more alternatives on an ordinal scale, there exists no aggregation procedure which simultaneously satisfies these four social choice axioms. This result is known as Arrow's impossibility theorem, which has been extensively discussed in the literature. Some additional conditions should be assumed. For example, all decision makers' assessments must be considered (nobody gets neglected) and any set of preference assessments by the decision makers must result in a group preference order. The Borda count complies with all of these conditions except the condition for binary relevance (rank reversal). Condorcet's method does not comply with transitivity.

84 Probleme mit Sitzzuteilungsverfahren
Ref. 1 Ref. 2 App. 1 App. 2 Wichtige Eigenschaften von Sitzzuteilungsverfahren: Monotonie: Kein Wahlkreis erhält weniger Sitze, als ein Wahlkreis mit kleinerer (oder gleicher) Anzahl Stimmenden. Quota: Die Sitzzuteilung unterscheidet sich höchstens um einen Sitz vom idealen Sitzwert (z.B. wenn 7.34 der ideale Sitzwert ist, dann soll die Anzahl Sitze im Wahlkreis 7 oder 8 sein). Population: Kein Wahlkreis sollte durch Zunahme von Stimmenden einen Sitz verlieren, während ein anderer Wahlkreis durch Abnahme von Stimmenden einen Sitz dazu gewinnt. Wichtige Sitzzuteilungsverfahren: Hamilton: Berechne den idealen Sitzwert als den prozentualen Sitzanspruch basierend auf der Anzahl Stimmberechtigten und runde alle Werte ab. Die verbleibende Anzahl Sitze wird schrittweise den Wahlkreisen mit dem grössten Nachkommawert verteilt bis alle Sitze vergeben sind. Jefferson: Wähle eine ganze Zahl D (Divisor) und dividiere die Anzahl Stimmberechtigte aller Wahlkreise durch D und runde ab zur nächsten ganzen Zahl. Verändere D solange, bis alle Sitze vergeben sind (Vorteil für grosse Wahlkreise). Adam: Gleich wie Jefferson, aber mit aufrunden (Vorteil für kleine Wahlkreise). Webster: Gleich wie Adam und Jefferson, aber „normale“ Rundung von Brüchen auf nächste ganze Zahlen. Huntington-Hill: Gleich wie Adam, aber das Auf- resp. Abrundungskriterium basiert auf dem geometrischen Mittel (z.B. 4.3 wird aufgerundet, da 4.3 < 20.5 (=4.47). (Achtung: die Divisormethoden erfüllen immer die Pop.-Eigenschaft aber nicht immer die Quota-Eig.)

85 Gesetz politischer Rechte im Kt. ZH
Gesetz über die politischen Rechte (vom 1. September 2003) Der Kantonsrat, nach Einsichtnahme in den Antrag des Regierungsrates vom 28. August2002 und in den Antrag der Kommission für Staat und Gemeinden vom 7. März 2003, beschliesst: § 88. Die Zahl der Personen, die in einem Wahlkreis wohnhaft sind, wird durch den Zuteilungs-Divisor geteilt und zur nächstgelegenen ganzen Zahl gerundet. Das Ergebnis bezeichnet die Zahl der Sitze, die im betreffenden Wahlkreis zu vergeben sind. Der Zuteilungs-Divisor wird so festgelegt, dass beim Verfahren nach Abs. 1 genau 180 Sitze vergeben werden. Der Kantonsrat nimmt die Sitzzuteilung vor jeder Wahl auf Antrag des Regierungsrates vor. § 103. Die Parteistimmenzahl einer Liste wird durch die Zahl der im betreffenden Wahlkreis zu vergebenden Sitze geteilt und zur nächstgelegenen ganzen Zahl gerundet. Das Ergebnis heisst Wählerzahl der Liste. In jeder Listengruppe werden die Wählerzahlen der Listen zusammengezählt. Die Summe wird durch den Kantons-Wahlschlüssel geteilt und zur nächstgelegenen ganzen Zahl gerundet. Das Ergebnis bezeichnet die Zahl der Sitze der betreffenden Listengruppe. Die Direktion legt den Kantons-Wahlschlüssel so fest, dass 180 Sitze vergeben werden, wenn gemäss Abs. 2 vorgegangen wird. § 104. Die Parteistimmenzahl einer Liste wird durch den Wahlkreis-Divisor und den Listengruppen-Divisor geteilt und zur nächstgelegenen ganzen Zahl gerundet. Das Ergebnis bezeichnet die Zahl der Sitze dieser Liste. Die Direktion legt für jeden Wahlkreis einen Wahlkreis-Divisor und für jede Listengruppe einen Listengruppen-Divisor so fest, dass bei einem Vorgehen nach Abs. 1 a)jeder Wahlkreis die ihm vom Kantonsrat zugewiesene Zahl von Sitzen erhält, b)jede Listengruppe die ihr gemäss Oberzuteilung zustehende Zahl von Sitzen erhält.

86 Das Wahlverfahren im Kanton Zürich
abgegebene Stimmenzahl Es sind total 15 (180) Kantonsratssitze zu vergeben. Gewählt wird in 3 (18) Wahlkreisen. Es treten 3 (ca. 11) Parteien (d.h. Listen) an. Die Sitze sollen folgendermassen an die Parteien in den 3 Wahlkreisen vergeben werden: Der Sitzanspruch der 3 Wahlkreise ist proportional zu der Bevölkerung in den 3 Wahlkreisen. Bsp. für Bevölkerung: WK1 (41500), WK2 (57200) and WK3 (61400). Der Sitzanspruch der Parteien ist proportional zu den Wählerstimmen der Parteien, wobei die Wählerstimme einer Partei in einem Wahlkreis berechnet wird als: Anzahl Parteistimmen in diesem Kreis dividiert durch den Sitzanspruch des Wahlkreises. Die Sitzverteilung der 3 Parteien in den 3 Wahlkreisen ist proportional zu den erhaltenen Stimmen. Gerundet muss so werden, dass die in (2) und (3) bestimmten Wahlkreisstimmen und die Parteistimmen Gültigkeit haben. – EV: sj (Anzahl Sitze für WK j). – bj: Bevölkerung in WK j. – B: Gesamtbevölkerung (78’300) – S: Gesamtzahl Sitze (15) – EV: si (Anzahl Sitze für Partei i). – wi: Anzahl Wählerstimmen für Partei i). – W: Gesamtzahl Wählerstimmen – S: Gesamtzahl Sitze (15) – EV: sij (Anzahl Sitze für Partei i in WK j) – wi: Anzahl Wählerstimmen für Partei i). – V: Gesamtzahl Stimmen – S: Gesamtzahl Sitze (15)

87 Berechnung der Sitzverteilung

88 Gerechte Verteilung (Fair Division)
App. 1 Gegeben sind Gegenstände (z.B. Haus, Auto) und/oder Mengen (z.B. Geld, Schulden), die auf eine gegebene Anzahl Personen (z.B. Erbgemeinschaft) möglichst gerecht verteilt werden soll. Grundsätzlich könnte man alles monetarisieren, z.B. indem man alles verkauft und den Ertrag aufteilt. Jedoch werten die verschiedenen Personen die Gegenstände und Mengen unterschiedlich. Definitionen: (1) Eine Verteilung der Werte auf n Personen ist proportional, wenn jede aufgrund der eigenen Bewertung mindestens 1/n erhält. (2) Eine Verteilung ist neidlos, wenn keine Person den Anteil einer anderen Person als wertvoller einstuft, als den eigenen Anteil. (3) eine Verteilung ist gleichwertig, wenn jede Person den gleichen prozentualen Anteil erhält aus eigener Sicht. (4) Eine Verteilung ist effizient, wenn es keine andere Verteilung gibt, die für alle Personen mindestens gleichwertig ist und für mindestens eine Person bessert ist (Pareto optimal). Bsp.: zwei Personen teilen sich einen rechteckigen und heterogenen Kuchen (z.B. die Dekoration ist ungleichmässig verteilt) unter sich auf. Eine Person nimmt zwei Messer in die Hand und hält sie parallel über den Kuchen. Das linke Messer am linken Rand und das rechte Messer (aus ihrer Sicht) in der „Mitte“, so dass sie die linke und rechte Seite als gleichwertig betrachtet. Nun bewegt sie gleichzeitig die beiden Messer von links nach rechts über den Kuchen, bis die andere Person „stopp“ ruft (d.h. für sie ist was zwischen den Messern ist gleichwertig mit dem, was ausserhalb der Messer ist).

89 Adjusted Winner Procedure
Zwei Personen müssen sich sechs Gegenstände aufteilen, für die sie unterschiedliche Gewichtungen haben: Zweistufiger Verteilungsprozess: Initialverteilung Jede Person erhält den Gegenstand, den sie höher gewichtet (bei gleicher Gewichtung wählt zuerst jene Person, die weniger Gegenstände hat): P1 erhält Haus und Hund. P2 erhält Geld, Piano, TV und Auto. P1 hat 60 Punkte und P2 75. P2 ist die vorläufige Gewinnerin. Anpassungen Gegenstände oder Teile davon müssen von P2 zu P1 ausgetauscht werden, bis beide gleich viele Punkte haben. Dies erfolgt in der Reihenfolge der kleinsten „Ratio“, d.h. zuerst das Geld (falls das Gut nicht teilbar ist, müsste man es verkaufen und dann das Geld aufteilen). P1 erhält einen x-tel vom Geld, so dass: 60+20x=50+25(1-x) und somit 45x=15 resp. x=1/3, d.h. P1 erhält von P2 1/3 des Geldes. Das Verfahren ist „gleichwertig“, „effizient“ und „neidlos“, denn beide erhalten aus ihrer Sicht die gleichen Werte, nämlich Punkte.

90 Anwendung: Mittlerer Osten
Massound T.G., „Fair Division, Adjusted Winner Procedure (AW), and the Israeli-Palestinian Conflict .” Journal of Conflict Resolution June 44: Palästinenser und Israeli streiten sich über folgende Themen: West Bank: Verschiedene Teile der WB sind von Israeli bewohnt, die ihre Siedlungen nicht verlassen wollen. Ost-Jerusalem: Nach dem Sechstagekrieg in 1967 hat Israel die Kontrolle über die gesamte Stadt Jerusalem übernommen (ein grosser Teil der Bevölkerung in Ost-Jerusalem sind Palästinenser und beide Parteien bezeichnen Ost Jerusalem als zentralen Teil ihrer Souveränität. Palästinensische Flüchtlinge: Israel anerkennt nicht, dass die Staatsgründung in 1948 und die Ereignisse in 1967 eine Versetzung von palästinensischen Siedlungen und Menschen zur Folge hatte. Die Palästinenser drängen darauf, dass Israel das „Recht der Flüchtlinge heimzukehren“ anerkennt und diese sowie die sie beherbergenden arabischen Staaten kompensiert. Palästinensische Souveränität: Israel anerkennt Palästina nicht als souveränen Staat. Sicherheit: Auf beiden Seiten bestehen (Anschläge, Grenzkontrolle, Sicherheit in Jerusalem). Mittels Expertenbefragungen kommt Massoud zu folgenden annähernden Prioritäten: Initialverteilungen (siehe gelbe und blauen Farben): Israel (I) erhält die West Bank, Ost-Jerusalem und die Sicherheit und Palästina (P) die Flüchtlinge und die Souveränität. Anpassungen: I gibt Teile der WB an P ab: 51+22x=42+21(1-x) somit: 43x=12 resp. x=12/43; d.h. Israel gibt rund 2/7 der West Bank an die Palästinenser.

91 DSS in der Konfliktlösung

92 Strategischer Konflikt
Zwei Mitarbeiter wissen, dass der Chef ihnen je 60.- Fr. Lohnerhöhung geben möchte. Die zwei möchten aber je 80.- Fr. mehr Lohn. Sie sprechen separat und unabhängig beim Chef vor. Fragt nur einer für 80.-, dann bekommt er sie, der andere aber nur noch 20.- Fragen beide (unabhängig voneinander), dann bekommt jeder 40.- Fr. Wie sollen sich die zwei verhalten?

93 Konfliktmatrix Frage für 80.- Fr. Ja Nein 40.- 80.- Ja 40.- 20.-
Ja Nein Frage für 80.- Fr. Individuelle Rationalität: 2 x Ja System-Optimum: 2 x Nein

94 Null-Summe, reine Strategie
Die Werte in den Zellen sind die Gewinne, welche die Frau erhält respektive die Verluste, welche der Mann erfährt (Null-Summen Konflikt: was die Frau gewinnt ist was der Mann verliert). Min in Zeile = Max in Spalte

95 Null-Summe, gemischte Strategie als Entscheidungsproblem
Gleichgewicht: Jeder bekommt gleich viel, unabhängig vom anderen (sog. „Security Level“): Frau: 6p + 4(1-p) = 3p + 5(1-p)  p = 1/4 Mann: 6q + 3(1-q) = 4q + 5(1-q)  q = 1/2 Jeder bekommt: E[N(Frau)] = - E[N(Mann)] = 61/21/4 + 31/21/4 + 41/23/4 + 51/23/4 = 4.5 „Security Level“ (n*) als mathematische Optimierung E[N(Frau)]: 6p1 + 4p2  n* und 3p1 + 5p2  n* setzte: xi = pi/n*, wodurch: x1 + x2 = 1/n* Somit folgt: min: x1 + x2; s.d.: 6x1 + 4x2  1 und 3x1 + 5x2  1 E[N(Mann)]: 6q1 + 3q2  n* und 4q1 + 5q2  n* Somit folgt: min: x1 + x2; s.d.: 6x1 + 3x2  1 und 4x1 + 5x2  1 1/n 95 95

96 Lösung von Konflikten Lea Jan q% 100-q% p% 100-p%
Der erwartete Nutzen (n) der beiden ist: nLea=100pq+300p(1-q)+0(1-p)q+200(1-p)(1-q) nJan=100pq+0p(1-q)+300(1-p)q+200(1-p)(1-q) Investition A Investition B q% q% Jan Invesitionen A B p% 100-p% Lea 100 300 A B p% geht zu A und 100-p% zu B q% geht zu A und 100-q% zu B 100 Investitionen Lea Jan 200 Lea‘s Nutzen hängt von Lea‘s p und Jan‘s q ab! Jan‘s Nutzen hängt von Jan‘s q und Lea‘s p ab! 300 200 Lea Invesitionen A B Jan A B Investitionen genügend sehr gut schlecht gut Annahme: Beide Akteure können ihre Investitionen ausschliesslich entweder in A oder B tätigen (d.h. p und q = 0 oder 100%). Wenn Lea annimmt, dass Jan alles in A investiert, dann sollte sie auch alles in A investieren („genügend“ > „schlecht“). Wenn sie annimmt, dass Jan alles in B investiert, dann sollte sie auch alles in A investieren. Somit sollte Lea, unabhängig von Jan, immer alles in A investieren. Die analogen Überlegungen für Jan führen zum Schluss, dass auch er, unabhängig von Lea, alles in A investieren sollte. Somit führt die individuelle Rationalität dazu, dass alles in A investiert werden müsste. Das Systemoptimum wäre aber, wenn beide alles in B investieren würden. Diese Lösung ist aber nicht stabil, denn wenn einer vom anderen weiss, dass er/sie alles in B investiert, dann ist er/sie versucht, alles in A zu investieren, denn das führt zum gewünschten individuellen Optimum.

97 Dynamische Plots für virtuelle Verhandlungen
Auswahl einer Ausgangsverteilung für p und q Akteure verändern abwechselnd p oder q Verzichtet Gegenpartei auf Reaktion? nein ja Gleichgewicht ist erreicht! web

98 Sicherheits-Niveau als Entscheidungsproblem
Neue numerische Verteilung: alles zu A alles zu B q1 q2=(1- q1) p1 0,0 300,100 p2=(1- p1) 100,300 200,200 Lea Sicherheits-Niveau (SN): Garantiertes Minimum bei unabhängigen Entscheiden 0p1+100p2  u* und 300p1+200p2  u* Substitution: x1= p1/u* und x2= p2/u* 0x1+100x2  1 und 300x1+200x2  1 x1+x2: min 0q1+300q2  u* und 100q1+200q2  u* Substitution: x1= q1/u* und x2= q2/u* 0x1+300x2  1 und 100x1+200x2  1 Jan 98 98

99 Gleichgewichtszustände als Entscheidungsproblem
alles zu A alles zu B q1 q2=(1- q1) p1 0,0 300,100 p2=(1- p1) 100,300 200,200 Nashpunkt Nashgleichgewicht Sicherheitsniveau Lea Jan 300 200 100 Definition Nash-Gleichgewicht: Keiner der beiden Akteure kann (im nächsten Zug) seine eigene Position verbessern, ohne die Hilfe des anderen. Nash-Gleichgewicht (NG): 1-Bewegungs-Horizont 0q + 300(1-q) = 100q + 200(1-q)  q = 1/2; nNG = 150 0p + 300(1-p) = 100p + 200(1-p)  p = 1/2; nNG = 150 Nash-Punkt (NP): min: (nL - nNG)  (nJ – nNG) nL = nJ = 200 99 99

100 Der Wert der Kommunikation
alles zu A alles zu B q1 q2=(1- q1) p1 300,200 0,0 p2=(1- p1) 200,300 Nash Point Security Level = Nash Equilibrium Unabhängige Entscheide: uTM= uUM =300pq+200(1-p)(1-q) Perfekt korellierte Entscheide: uTM= uUM =300k+200(1-k)

101 Konfliktlösung in der Planung
Quartierplanung Die Themen Wirtschaft Leben Arbeit Die Akteure Gemeinde Bevölkerung Unternehmen Konsumenten Konfliktpotentiale Asymmetrische Interessen Asymmetrische Macht Unklare “win-win Situationen Misstrauen

102 Schrittweise Annäherung an das Gleichgewicht
Bewertung von Kontrolle und Interesse Identifikation von Verhandlungspotential Gemeinde Bevölkerung Unternehmen Konsumenten Wirtsch. Leben Arbeit Gemeinde Bevölkerung Unternehmen Konsumenten Wirtsch. Leben Arbeit Bilaterale Verhandlung zu zwei Themen

103 Linear System of Actions
Web (not in Chrome)

104 DSS in der Strategieplanung

105 Beispiel Smartvote 1. Eigenes Profil definieren 3. Wahlbarometer
2. Resultat web

106 Spidernetz Normalisierung: xi – xs xb - xs yi =
xi : zu transformierender Wert xs : schlechtester Wert xb : bester Wert yi : transformierter Wert Normalisierte Werte (je weiter draussen, desto besser) Abb. 8: Normierte Werte für 10 Personen (Reihe 1 bis 10).

107 Analytischer Hierarchieprozess
Gesucht ist eine Funktion, die jeder Alternative (d.h. Entscheidungsoption) einen Wert zuordnet, so dass beliebteren Alternativen höhere Werte zugeordnet werden. Die Funktion soll additiv sein hinsichtlich der Kriterien, d.h. man setzt präferentielle Unabhängigkeit der Kriterien voraus. u(Ai) = wPwAi,P + wMwAi,M + wUwAi,U Wohnung Preis Zimmer Lage Die paarweise Bewertung der Alternativen erfolgt zuerst für jedes Kriterium einzeln. Daraus erfolgen Gewichte für die Alternativen und zwar pro Kriterium. Mit der parweisen Bewertung der Kriterien kann man das gewichtete Mittel der Alternativen berechnen. A1 A2 A3 A4 A1 A2 A3 A4 A1 A2 A3 A4

108 Paarweise Bewertung Bewertungsskala 2 3 6
Präferenzbewertung Preis Zimmer Lage 2 3 6 Axiom: Reziproke Symmetrie, k12 = 1/ k21 Inkonsistenzen zugelassen: k13  k12  k23 Bewertungsskala kij = 9: extreme Priorität von ei über ej kij = 7: starke Priorität von ei über ej kij = 5: wesentliche Priorität von ei über ej kij = 3: moderate Priorität von ei über ej kij = 1: gleiche Priorität von ei über ej kij = 1/3: moderate Inferiorität von ei über ej kij = 1/5: wesentliche Inferiorität von ei über ej kij = 1/7: starke Inferiorität von ei über ej kij = 1/9: extreme Inferiorität von ei über ej ei ej kij web

109 Auflösung von Inkonsistenzen
Die Berechnung der Prioritäten resp. die Auflösung der Inkonsistenzen hinsichtlich der transitiven Multiplikation geschieht mit der Lösung des Eigenwertproblems. Der gesuchte Gewichtsvektor ist der Eigenvektor, der zum grössten Eigenwert der Matrix A gehört. Mit dem grössten Eigenwert lmax kann man den Konsistenzindex CI berechnen. Die Inkonsistenz CR wird benutzt um die Zulässigkeit der Bewertung zu entscheiden. CR sollte kleiner als ca. 10% sein; falls nicht, müsste die Bewertung wiederholt werden. Numerisch kann der Eigenvektor auch berechnet werden, indem man die Matrix A mit einer grossen Potenz exponentiert resp. mit einem approximativen Verfahren, wo der Random Index (RI) aus der Tabelle unten herausgelesen wird. A×w = lmax×w (lmax-m) __________________ m-1 CI = CR = CI/RI A A: 1. average 2. mmult(A;w)/wi approximative numerical approach: 4. CR = (l – 3) (2 x RI3) 3. l = average(wi)

110 Nutzwertfunktion u(Ai) Wir möchten eine Nutzwertfunktion, u:
so dass für 2 Alternativen A1 und A2: A1 ist A2 bevorzugt  E[u(A1)] > E[u(A2)] Beispiel: - A1: Gewinn mit p=0.5, Gewinn mit p=0.5 - A2: 90.- Gewinn mit p=0.5, 0.- Gewinn mit p=0.5 - E[(A1)]=150.- > E[(A2)]=45 - u(200.-)=1, u(100.-)=0.8, u(90.-)=0.4, u(0.-)=0. - E[u(A1)]=0.9 < E[u(A2)]=0.2 Nutzwertfunktion für 3 Kriterien A ist bewertet mit 3 Kriterien (Risiko, Kosten, Profit); z.B., A=(0.6,25,134) Gewünscht ist eine lineare Nutzwertfunktion u(e1,e2,e3) = k1u1(e1) + k2u2(e2) + k3u3(e3) u1(e1): Komponenten- Nutzwertfunktion k1: Skalierkonstanten (Gewicht) u(0.6,25,134)= k1u1(0.6) + k2u2(25) + k3u3(134) Präferentielle Unabhängigkeit Risiko ist präferentiell unaghängig (PU) von den Kosten: (0.6,$5) > (0.4,$5)  (0.6,$100) > (0.4,$100) Kosten sind PU vom Risiko: (0.1,$4) > (0.1,$8)  (0.9,$4) > (0.9,$8) Gegenseitige PU wenn Risiko PU von Kosten und Kosten PU vom Risiko Gegenseitige PU ist Voraussetzung für eine lineare Nutzwertfunktion!

111 Form der normativen Präferenzfunktion
u(e1,e2,e3) = k1u1(e1) + k2u2(e2) + k3u3(e3) B steht für bester Wert (z.B. kleinste Kosten) W steht für schlechtester Wert (grösste Kosten) u(B)=1, u(W)=0, k1 + k2 + k3 = 1 u(B,B,B)=1, u(W,W,W)=0 W B e2 u2 1 W B e1 u1 W B e3 u3 Interpretation der Komponentenfunktion $ (Kosten) u 1 .5 2 3 Erwartete $: p$0+(1-p)$100 = $50  p=0.5 (1) Risiko meidend: p > 0.5, kein Gambler (2) Risiko neutral: p=0.5 (3) Risiko suchend: p < 0.5, Gambler

112 Bewertung der Komponenten Funktion
$ (Kosten) u 1 .5 Was ist z.B. u($50)=? Für welches p, ist: [$0 mit p und $100 mit 1-p] indifferent zu $50 mit Sicherheit? Wir wissen: u($0)=1, u($100)=0 E[u(1)] = E[u(2)] pu($0)+(1-p)u($100) = u($50) p1+(1-p)u0 = u($50)  u($50) = p indifferent $0 $100 p (1-p) Lotterie $50 1.0 Sicherheitswert Analyst: “Wären Sie indifferent zwischen der Lotterie und dem Sicherheitswert, für p=0.5?” Entscheidungsträger: “Nein, für p=0.5 würde ich eher $50 bezahlen, als $100 zu riskieren.” Analyst: “Dann machen wir die Lotterie attraktiever. Wären Sie indifferent zwischen den zwei für p=0.8?” Entscheidungsträger : “Jetzt würde ich die Lotterie nehmen.” Analyst: “OK, wieviel wären Sie bereit, p zu reduzieren?” Entscheidungsträger : “Zu p=0.75, nicht tiefer.” Analyst: “Dies bedeuted, dass Ihr Nutzen $50 zu bezahlen 0.75 ist.”

113 Bewertung der Skalierungskonstanten
k1: Für welches p ist: [(B,B,B) mit p und (W,W,W) mit (1-p)] indifferent mit garantiertem (B,W,W)? pu(B,B,B)+(1-p)u(W,W,W) = u(B,W,W) u(B,W,W) = k1u1(B)+k2u2(W)+ k3u3(W) = k1 p1+(1-p)0 = k1  k1=p k2: Für welches p ist: [(B,B,B) mit p und (W,W,W) mit (1-p)] indifferent zu garantiertem (W,B,W)? k2=p k3: Analog wie für k1 und k2.

114 Psychologische Aspekte
Paradoxon von Allais $0m $5m L1 L2 1.0 $1m 0.9 0.1 L3 L4 $1m $5m $0m u($0)=0 u($5)=1 u($1)=? 0.89 0.10 0.01 $0m $1m 0.89 0.11 L3 > L4 Hoffnung $5 (max) zu bekommen L1 > L2 Angst $0 (nichts) zu bekomment L3 > L4 Hoffnung $5 (max) zu bekommen 1u(1) > 0.89u(1)+0.11 u(1) > 0.1/0.11 0.11 > 0.11u(1) u(1) < 0.1/0.11 L1 > L2 or L2 > L1 ?

115 t-Test (mM  mF) Geschl. Salär t t
1-Faktor Hypothese (kategorische Werte (M/F) und kontinuier-liche Werte (Fr.) Geschl. (M/F) Salär (Fr.) Frage: „Hängt das Salär vom Geschlecht ab?“ Z.B. „Männer (mM) verdienen im Schnitt mehr, als Frauen (mF).“ H: mM > mF. t-Test 1-Faktor Varianzanalyse (ANOVA) p = 15.4% p = 5% t t = t = 1.89 t = 1.097 p = 2.5% p = 2.5% t Der p-Wert ist grösser als 5%; somit schliessen wir, dass das Geschlecht keinen Einfluss hat auf das Salär. t = t = t = 2.36

116 Chi2-Test (pM  pF) Geschl. Salär
1-Faktor Hypothese (beide kategorische Werte: M/F und h/t) Frage: „Hängt das Salär vom Geschlecht ab.“ Z.B. „Überproportionale viele Männer (pM) haben hohe Saläre als Frauen (pF).“ H: pM > pF. Chi-2-Test Geschl. (M/F) Salär (hoch/tief) Verteilung Die beobachteten Werte (rote Zahlen in der gelben Kontingenztabelle) unterscheiden sich signifikant von den erwarteten* Werten (blaue Zahlen in der blauen Tabelle). Somit ist das Salär vom Geschlecht abhängig. Mit der Aussage „Das Salär ist vom Geschlecht abhängig“ irrt man sich zu 0.16%, was eine sehr kleine Irrtumswahrscheinlichkeit (resp. Signifikanzniveau) ist. * „erwartet“ im Sinne, dass Geschlecht keinen Einfluss auf Salär hat.

117 DSS im Produktdesign und in der Marketingplanung

118 Optimierung einer Mischung
Problem: Wie soll ein Kraftfutter von G = 8‘000 kg Kilogramm aus vier Mischungen zusammengesetzt werden, so dass das Kraftfutter mindestens 20% Mais, 15% Korn und 15% Mineralien enthält. 1600 = 20% von 8000

119 Was gefällt den Kunden? Bewertung
Produkte bestehen aus vielen Faktoren, mit unterschiedlichen Ausprägungen Beispiel: Faktor 1: Verpackung (A, B, C) Faktor 2: Marke (Cif, Ajax, Lemon) Faktor 3: Preis ( , , ) Faktor 4: Test (ja, nein) Faktor 5: Garantie (ja, nein) Anzahl der möglichen Offerten-Variationen: 108=3x3x3x2x2 Nur 18 müssen bewertet werden! Faktoren Modell Beispiel Präferenz eines Produkts = 4.8 – 4.5(A) + 3.5(B) – 1.5(I) – 2.0(II) + 7.7(11.95 Fr.)+4.83(13.95 Fr.) + 1.5(getestet) + 4.5(Garantie) 4.8 +3.5 - 2.0 + 0 +4.5 10.8 Konstante Verpackung Marke Preis Test Garantie B II 15.95 nein ja Geschätzter Rang: 18 – 10.8 = 7.2 web

120 Warum 18 anstatt 108 Produkte?
Die Wahl der Kombinationen ist von der sog. “Conjoint-Analyse” abgeleitet. Oft wird der sog. “Orthogonale Design” angewendet, in der Annahme, dass die Faktoren keine Interaktion (resp. keine Korrelation) haben. Addelman, S. “Orthogonal Main Effect Plans for Asymmetrical Factorial Experiments,” Technometrics, Vol. 4, 1962, Seiten gibt folgende Tabelle an: weitere Angaben Plan Anzahl Kombinationen Kombinationen der Faktorenausprägungen, die berücksichtigt werden können 1 8 4, 3, 27 2 9 34, 24 3 16 45, 35, 215 4 18 37, 27 5 25 56, 46, 36, 26 6 27 9, 8, 7, 6, 5, 4, 313, 213 7 32 49, 39, 231 Beispiel: Plan 6 erfordert 27 Kombinationen von Produkten. Diese können bestehen aus einem Faktor mit 4 bis zu 9 Ausprägungen (z.B. ein Reinigungsmittel mit 9 verschiedenen Preisen) oder bis zu 13 Faktoren mit jeweils bis zu 2 oder 3 Ausprägungen. Unser Beispiel besteht aus 5 Faktoren mit je bis zu 3 Ausprägungen (35); somit eignet sich Plan 4 (37) mit bis zu 7 Faktoren mit bis zu 3 Ausprägungen; die benötigte Anzahl Kombinationen ist 18. Der Exponent entspricht der Anzahl Faktoren und die Basis der Anzahl Ausprägungen pro Faktor

121 Umsetzung von Plan 4 Man überprüfe mit der Korrelations-funktion, dass alle 14 Faktoren untereinander nicht korrelieren (entspricht dem orthogonalen Design). Wir wählen die ersten drei gelben Kolonnen für die 3x3x3 Faktoren Pack, Marke und Preis und die ersten zwei blauen Kolonnen für die 2x2 Faktoren Test und Garantie

122 Regressionsmodell

123 Interpretation Präferenz = 4.8 – 4.5(A) + 3.5(B) – 1.5(I) – 2.0(II)
+ 7.7(11.95 Fr.)+4.8(13.95 Fr.) + 1.5(getestet) + 4.5(Garantie) Verpackung C erzielt einen 4.5 mal höheren Rang als A und 3.5 mal tieferen Rang als B Marke III erzielt einen 1.5 mal höheren Rang als Marke I und einen 2 mal höheren Rang als Marke II Ein Preis von erzielt einen 7.7 mal höheren Rang als und einen 4.8 mal höheren Rang als 13.95 Ein getestetes Produkt erzielt einen 1.5 mal höheren Rang als ein ungetestetes Eine Garantie erzielt einen 4.5 mal höheren Rang als keine Garantie Verpackung > Preis > Garantie > Marke > Test Eine Preiserhöhung um 2.-, von zu 13.95, entspricht einer Rangreduktion von ( = 2.87); d.h. Rangreduktion von 1 entspricht 2/2.87 = 0.7 Fr. Ein Wechsel von Verpackung B zu C (Rangreduktion von 3.5) entspricht einer Preiserhöhung von Fr. auf Fr. (um 3.5x0.7 = 2.45 Fr.) Wenn wir eine Garantie einführen (Rangsteigerung = 4.5), können wir den Preis von Fr. auf erhöhen (Rangsteigerung um 4.5x0.7 = 3.15 Fr. mehr) Der Vorteil von Marke I gegenüber Marke II (Rangsteigerung = 0.5) hat den gleichen Effekt wie eine Preissenkung von auf (Senkung um 0.5x0.7=0.35 Fr.) Faktor Streuung Rang Verpackung 3.5 – (-4.5) = 8 1 Marke 0 – (-2) = 2 4 Preis 7.67 – 0 = 7.67 2 Test 1.5 – 0 = 1.5 5 Garantie 4.5 – 0 = 4.5 3

124 Präferenz innerhalb der Faktoren

125 Berechnung des Marktanteils
Einfluss der Produktveränderung auf den Marktanteil Herleitung eines Präferenzmodells für jedes Marktsegment Bestimmung des aktuellen Marktanteils von zu untersuchenden Produkten Berechnung des erwarteten Marktanteils des Produktes Pi für alle Segmente: Berechnung des totalen Marktanteil jedes Produkts über alle Segmente: Gewichtete Summe mit Anzahl Kunden pro Segment Berechnung des Wertes a, so dass die Quadratsumme der Abweichungen von geschätztem und wahrem Marktanteil minimiert wird Beispiel: Heutiger Marktanteil von 3 Produkten ist 30%, 50% und 20%; vorhergesagter Marktanteil ist 34%, 48% und 17% mit a=2.08. Veränderung der Produkteigenschaften im Modell eingeben Beispiel: Produkt 1 (MA: 34%) Verpackung A Marke I 11.95 Fr. Nicht getestet Keine Garantie Produkt 2 (MA: 48%) Verpackung B Marke II 13.95 Fr. Getestet Produkt 3 (MA: 17%) Verpackung C Marke III 15.95 Fr. Garantie Produkt 1 (MA: 52%) Veränderung von Produkt 1 durch Test und Garantie erhöht seinen Marktanteil um 18%

126 Berechnung der Regression als Entscheidungsproblem
Gesucht sind die Entscheidungsvariablen a und b, so dass die Summe der Quadratabweichungen zwischen „beobachteten“ Salären (Si) und den mit dem linearen Modell berechneten „vorhergesagten“ Salären (Si = axAi + b), minimal wird: a b --> veränderbare Zellen (S5 – axA5 + b)2 A5 S5 --> min. Summe der quadratischen Abweichungen zwischen beobachteten Werten und vorhergesagten Werten 126

127 Numerische Regression für Ranking
Achtung: Bei n >= 10 wird die Determinante 0 und somit die nxn Matrix XTX nicht mehr invertierbar!

128 Matrix Operations (Lingo Code)
on Mmult -- matrix multiplication global A,B,Z -- Z = A * B --put field "matrix" into A --put field "MatrixXX" into B put "" into Z put the number of lines of A into ma put the number of items in line 1 of A into na put the number of lines of B into mb put the number of items in line 1 of B into nb if na <> mb then alert "The matrices have the wrong sizes" exit end if set the floatPrecision to 8 repeat with i=1 to ma repeat with j=1 to nb put 0 into sum repeat with k=1 to na put sum + (item k of line i of A) * (item j of line k of B) into sum end repeat put sum into item j of line i of Z end on MTransp -- transposes matrix A into T global A,T put "" into T put the number of lines of A into m put the number of items of line 1 of A into n repeat with i=1 to m repeat with j=1 to n put item j of line i of A into item i of line j of T

129 Matrix Operations (Lingo Code)
on Minverse global A,E -- A is the matrix to be inverted and E is the inverse put the number of lines of A into m put the number of items in line 1 of A into n if m<>n then alert "The matrix is not quadratic" exit end if -- generate matrix E put "" into E repeat with i=1 to n times repeat with j=1 to n times if i=j then put 1 into item j of line i of E else put 0 into item j of line i of E end repeat set the floatPrecision to 8 -- make all values to 0 in lower triangle of matrix A into and perform same operations on E repeat with i=1 to n-1 repeat with j=i to n-1 put (item i of line j+1 of A)/(item i of line i of A) into pivot repeat with k=1 to n put (item k of line j+1 of A) - pivot * (item k of line i of A) into item k of line j+1 of A put (item k of line j+1 of E) - pivot * (item k of line i of E) into item k of line j+1 of E -- divide lowest row by its element in position n,n put item n of line n of A into pivot put (item k of line n of A) / pivot into item k of line n of A put (item k of line n of E) / pivot into item k of line n of E Austauschverfahren zur Berechnung der Inversen einer Matrix -- make all values to 0 in upper triangle of matrix A into and perform same operations on E repeat with i=n down to 2 repeat with j=i down to 2 put (item i of line j-1 of A)/(item i of line i of A) into pivot repeat with k=1 to n put (item k of line j-1 of A) - pivot * (item k of line i of A) into item k of line j-1 of A put (item k of line j-1 of E) - pivot * (item k of line i of E) into item k of line j-1 of E end repeat -- divide each row by its element in position i,i put item i of line i of A into pivot put (item k of line i of A) / pivot into item k of line i of A put (item k of line i of E) / pivot into item k of line i of E -- divide top row by its element in position n,n put item 1 of line 1 of A into pivot put (item k of line 1 of A) / pivot into item k of line 1 of A put (item k of line 1 of E) / pivot into item k of line 1 of E end

130 Projektbeschreibung

131 Projektbeschreibung DSS
1. Aufgabe Zwei Studierende bilden ein Projektteam. Das Projekt wird in EXCEL, Open Office oder RunRev (LiveCode) erstellt. Es soll ein Decision Support System (DSS) erstellt werden, welches eine zu definierenden Person in einer Organisation in einem zu definierenden Entscheidungs-Prozess unterstützt. 2. Elemente und Benotung (%) Konzept DSS (5%): Beschreiben Sie die Funktion und Architektur des DSS (Input, Output, Interface, Architektur, Datenbanken, Analysemodule, Dateneinfluss von anderen Systemen, Datenabfluss an welche andere Systeme, Instandhaltung, Wartung, Weiterentwicklung etc.). Konzept Organisation (5%): Beschreiben Sie die organisatorische Einbettung des DSS (wen soll es unterstützen, für welche Aufgaben / Entscheide, in welcher Situation, wie oft soll es benützt werden etc.). Analytik (45%): Beschreiben Sie die mathematisch-analytischen Entscheidungsmodelle Ihres DSS (mit Formeln, wie im Skript). Prototyp (45%): Entwickeln Sie einen Prototyp ohne Makros, der möglichst benutzerfreundlich ist. 3. Abgabe / Prüfung am letzten Tag Abgabe von DSS.xls (oder Open Office oder RunRev) und DSS.doc (oder DSS.pdf) an „giampiero<at>beroggi.net“ als zip-Datei (max. 1 MB) bis spätestens am 30. mai 2013. DSS.doc: Beschrieb der Funktion und der Funktionsweise des DSS, sowie der Formeln. Beschrieb einer Anwendung mit einem hypothetischen Fall. mdl. Prüfung: Vorstellung des Systems und des Falls am letzten Tag mit Diskussion. 4. Hinweise Wählen Sie einige der in der Vorlesung besprochenen Konzepte (siehe Folien). Kombinieren Sie diese zu einer „Gesamtgeschichte“. Integrieren Sie die funktionierenden Beispiele der Vorlesung in Ihr DSS. Machen Sie eigene Anpassungen, damit Ihr eigener Beitrag ersichtlich wird.

132 Literatur Cliff T. Ragsdale, Managerial Decision Modeling. Thomson. James R. Evans and David L. Olson, Statistics, Data Analysis, and Decision Modeling. Prentice Hall. Wayne L. Winston, Financial Models using Simulation and Optimization. Palisade. Wayne L. Winston, Financial Models using Simulation and Optimization II. Palisade. Richard Bronson, Theory and Problems of Operations Research. Schaum‘s Outline Series. Sam L. Savage, Decision Making with Insight. Thomson. Jatinder N.D. Gupta et al. (eds.), Intelligent Decision-Making Support Systems. Springer. Ruhul A. Sarker and Charles S. Newton, Optimization Modelling – A Practical Approach. CRC Press. Giampiero E.G. Beroggi, Decision Modeling in Policy Management – An Introduction to the Analytic Concepts. Springer. Giampiero E.G. Beroggi, Designing and Evaluating E-Management Decision Tools – The Integration of Decision and Negotiation Models into Internet-Multimedia Technologies. Springer.


Herunterladen ppt "Decision Support Systems (DSS)"

Ähnliche Präsentationen


Google-Anzeigen