Decision Support Systems 2015 Universität zu Köln Prof. Dr. Giampiero Beroggi

Größe: px
Ab Seite anzeigen:

Download "Decision Support Systems 2015 Universität zu Köln Prof. Dr. Giampiero Beroggi"

Transkript

1 Decision Support Systems 2015 Universität zu Köln Prof. Dr. Giampiero Beroggi Folien herunterladen: LiveCode installieren (community edition): 1

2 Zeiten & Arbeitsformen Vorlesung & Übungen Projektstart alle Kapitel: 1&2 3&4 5&6 nur Projekt Teams A nur Projekt Teams B Anmeldung der Gruppen für das Projekt an mit folgenden Angaben: Adresse der Gruppe - Anzahl Studierende in der Gruppe - Gewünschte Team-Gruppe: «nur A», «nur B» oder «beide möglich» 2

3 Leistungsnachweis Projekt: 2 bis 4 Studierende erstellen ein DSS als App in LiveCode. Dimension des Stacks: max (Breite) x max. 600 (Höhe). Bewertung: Usability (50%): Zweckmässigkeit, Funktionalität, Layout, Interaktivität, Animation etc. Technische Lösung (50%): Berechnungen, Algorithmen, Handler, Funktionen etc. Abgabe: 1 LiveCode Stack pro Gruppe mit auf einer Karte (ev. «Card 1» oder mit Link auf die entsprechende Karte) mit folgender Information: Name, Matrikel-Nr, aller Gruppenmitglieder. Achtung: Ab 3 Personen pro Gruppe muss angegeben werden, wer was gemacht hat (individuelle Bewertung: 50% individuelle Note, 50% Gruppendurchschnittsnote). Kurze Beschreibung der App mit «Walk-Through» Beispiel. Kurz-Beschreibung der 2 Bewertungspunkte (Usability & Technische Lösung). Wichtig: App darf keine externen Links (z.b. Internet) oder Daten beinhalten; auch keine Sub- Stacks, keine Externals etc. Images müssen via «Import als Control» integriert werden. Abgabe: Eine Datei «*.livecode», spätestens bis 20. Juni 2015 an: Motto: «Zeigen, was man kann!» (und nicht was man machen wollte, aber nicht konnte). 3

4 1. Grundlagen der DSS Entwicklung Ziel: - Installation und Vertrautheit mit LiveCode - Erste eigene Apps erstellen - Gruppenbildung für das Projekt 4

5 App Downloads 5

6 DSS worum es (z.t.) auch geht 26. März März 2013, Spiegel Online 27. März 2013, Prof. Emin Gün Sirer, Cornell University 6

7 Unsere Programmier-Sprache Language Count JavaScript 2414 Python 1355 Java 1317 Ruby 1044 SQL 936 PHP 882 Bash 871 C# 814 Delphi 803 C 692 C Go 566 Clojure 504 Haskell 452 Scala 449 Objective-C 375 Swift 343 LiveCode 280 CoffeeScript 262 F# 246 Erlang 207 Rust 176 R 163 Sass 154 Perl 152 Groovy 151 Lua 143 ColdFusion 128 Less 116 Elixir 116 Haxe 104 PowerShell 102 Lisp 98 Pascal 89 ActionScript 82 7

8 Unsere Entwicklungsumgebung 8

9 LiveCode Beispiel 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 if 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 mouseup LiveCode shortcuts: 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 mouseup Import images as Controls 9

10 Unsere Entwicklungsumgebung 10

11 Standalone-App 11

12 LiveCode Ressourcen Bücher (siehe z.b. Amazon) - Externals in Pascal: 12

13 Beispiel in LiveCode field A field C on mouseup put field "A" into x put field "C" into y put y-x into field "B" end mouseup on mouseenter set the cursor to hand lock cursor end mouseenter on mouseleave unlock cursor end mouseleave 13

14 Grundsätzliches 14

15 Handler-Struktur in LiveCode Wichtige Shortcurts: - Code zu Kommentar: - Bereich auswählen und Ctrl+ resp. Ctrl- - Am Anfang des Bereichs /* am Ende */ - Concat in Code: & - Return in Code: Return oder cr - Code Zeile umbrechen: \ Grundsätzlich mit Handler und globalen Variablen, als mit Funktionen arbeiten! «on xyz» «function()» oder «command xyz» und «send», «call», «value» oder «dispatch», siehe: 15

16 Send und Global Variables Bei vielen «gleichen» Objekten nur kurze Handler (z.b. zur Identifikation) in die Objekte und die grossen Händler auf die Karte oder den Stack. 16

17 Entwicklungsumgebung LiveCode on mouseup answer the selectedtext of field "SL_Field" end mouseup on mouseup answer item 2 of line 2 of field "S_Field" end mouseup on menupick pitemname switch pitemname end switch answer "Sie haben "&pitemname&" gewählt" end menupick on mouseup -- zuerst Scrollbar zw 0 und 10 setzen put the thumbposition of scrollbar "Progress Scrollbar" into x if x >= the endvalue of scrollbar "Progress Scrollbar" then put 0 into x else add 1 to x -- oder: put x+1 into x end if set the thumbposition of scrollbar "Progress Scrollbar" to x end mouseup Run Mode Edit Mode on mouseup answer "You selected" && the short name of target with "Okay" end mouseup on mouseup if the highlight of me is true then answer "Ein" if the highlight of me is false then answer "Aus" end mouseup on menupick x switch x end switch answer "Sie haben "&x&" gewählt" end menupick on menupick x global x switch x end switch --answer x if x is "Seite 1" then answer "x1" -- z.b: go to cd 1 if x is "Seite 2" then answer "x2" -- z.b: go to cd 2 if x is "Seite 3" then answer "x3" -- z.b: go to cd 3 end menupick on mouseup answer the thumbposition of me on mouseup end mouseup put "" Into field "A" set the itemdel to Space ask "Geben Sie zwei Zahlen ein (getrennt durch Zwischenrau), z.b.: 3 4" put it into x put item 1 of x into a put item 2 of x into b set the itemdel to Tab put a into item 1 of line 1 of field "A" put b into item 2 of line 1 of field "A" end mouseup Data Grids: 17

18 Data Grids Für Images in Data Grids: --> download sample stack 18

19 LiveCode Rechner 19

20 Zeichnen in LiveCode - Images as png or gif support «transparen»; but jpeg does not - set the blendlevel of image to 50 0 is no blend 20

21 Animationen Drive: on mouseup put the points of graphic "Fahr" into tpointlist answer tpointlist move button "Car" to the points of graphic "Fahr" in 10 seconds end mouseup Move Red & Bue: on mouseup set the movespeed to slow --set the lockmoves to true move button "Auto" relative 100,100 without waiting move button "Bauto" relative 100,0 without waiting move button "Auto" relative -50,-50 without waiting move button "Bauto" relative -100,0 without waiting --set the lockmoves to false end mouseup 21

22 Visual Effects Bei Übergängen von einer Karte zur anderen, oder bei einem Refresh, das eingebunden ist in «lock screen» und «unlock screen», kann man die Übergänge mit visual effects animieren. Beispiel: on mouseup visual effect dissolve go to card 2 end mouseup Zulässige visual effects: dissolve checkerboard venetian blinds iris close or iris open zoom close, zoom in, zoom open, or zoom out barn door close or barn door open scroll up, scroll down, scroll right, or scroll left wipe up, wipe down, wipe right, or wipe left push up, push down, push right, or push left reveal up, reveal down, reveal right, or reveal left shrink to bottom, shrink to center, or shrink to top stretch from bottom, stretch from center, or stretch from top Auch möglich ist: hide field 1 with visual effect dissolve 22

23 Graphiken 23

24 Copy-Paste Objekte via Code 24

25 Dynamisches Spiel on mousedown global q -- indicates the quadrant (I, II, III, or IV) put 2 into q put 0&return&0 into field "Score" set location of button "Puck" to 100+random(100),100+random(100) repeat while the mousev > Top of button "Feld" and the mousev < Bottom of button "Feld" set location of button "Links" to item 1 of location of button "Links"&","&the mousev set location of button "Rechts" to item 1 of location of button "Rechts"&","&the mousev send slapshot to button "Puck" if the mouse is up then exit repeat else end if end mousedown on slapshot -- move the puck by one step in a 45 degree angle if q=1 then move me from location of me to x+1,y-1 else if q=2 then move me from location of me to x+1,y+1 else if q=3 then move me from location of me to x-1,y+1 else -- q=4 move me from location of me to x-1,y-1 end if -- bounce the puck if it hits the walls of the field if Bottom of me = Bottom of button "Feld" then else if Top of me = Top of button "Feld" then else if Left of me = Left of button "Feld" then else if Right of me = Right of button "Feld" then end if -- check if we have a save on the left -- check if we have a save on the right end slapshot 25

26 on slapshot global q -- indicates the quadrant (I, II, III, or IV) put (thumbposition of scrollbar "velo")*50 into v set the movespeed to v -- the movespeed is between 0 and put item 1 of location of me into x put item 2 of location of me into y -- move the puck by s step in a 45 degree angle put 5 into s if q=1 then move me from location of me to x+s,y-s else if q=2 then move me from location of me to x+s,y+s else if q=3 then move me from location of me to x-s,y+s else -- q=4 move me from location of me to x-s,y-s end if -- check if puck hits a walls, to bounce the puck within the field if Bottom of me > Bottom of button "Feld" then if q=2 then put 1 into q else if q=3 then put 4 into q end if else if Top of me < Top of button "Feld" then if q=1 then put 2 into q else if q=4 then put 3 into q end if else if Left of me < Left of button "Feld" then put line 2 of field score + 1 into line 2 of field score -- we have a miss if q=3 then put 2 into q else if q=4 then put 1 into q end if else if Right of me > Right of button "Feld" then put line 2 of field score + 1 into line 2 of field score -- we have a miss if q=1 then put 4 into q else if q=2 then put 3 into q end if end if -- check if we have a save on the left if loc of me is within rectangle of button "Links" and y > Top of button "Links" and y < Bottom of button "Links" then --if Left of me = Right of button "Links" and y > Top of button "Links" and y < Bottom of button "Links" then put line 1 of field score + 1 into line 1 of field score -- we have a save if q=3 then put 2 into q else if q=4 then put 1 into q end if end if -- check if we have a save on the right if loc of me is within rectangle of button "Rechts" and y > Top of button "Rechts" and y < Bottom of button "Rechts" then --if Right of me = Left of button "Rechts" and y > Top of button "Rechts" and y < Bottom of button "Rechts" then put line 1 of field score + 1 into line 1 of field score -- we have a save if q=1 then put 4 into q else if q=2 then put 3 into q end if end if end slapshot 26

27 Funktionen in LiveCode Einfache Funktion: Rekursive Funktion: 27

28 Matrix-Rechnung in LiveCode on mouseup set the itemdelimiter to tab put field "A" into A put field "B" into B put "" into C put madd(a,b) into C put C into field "C" end mouseup on mouseup set the itemdelimiter to tab put field "A" into A put field "B" into B put "" into C put mmult(a,b) into C put C into field "C" end mouseup on mouseup set the itemdelimiter to tab put field "A" into A put field "B" into B put "" into C put mtrans(a) into C put C into field "C" end mouseup on mouseup set the itemdelimiter to Tab put "" into C put field "A" into A put minv(a) into C put C into field "C" end mouseup Bei numerischen Berechnungen mit Feldern: - Set the itemdel to Tab (default ist Komma) - Set the numberformat to «0.00» (für 2 Kommastellen) 28

29 Funktionen im Stack Skript 1/2 function mtrans A -- returns B=AT set the itemdel to Tab put "" into B repeat with i=1 to the number of lines of A repeat with j=1 to the number of items of line 1 of A put item i of line j of A into item j of line i of B return B end mtrans function madd A,B -- returns C=A+B set the itemdel to Tab put "" into C repeat with i=1 to the number of lines of A repeat with j=1 to the number of items of line 1 of A put item j of line i of A + item j of line i of B into item j of line i of C return C end madd function mmult A,B -- returns C=A*B set the itemdel to Tab put "" into C repeat with i=1 to the number of lines of A repeat with j=1 to the number of items of line 1 of A repeat with k=1 to the number of items of line 1 of B put (item j of line i of A) * (item k of line j of B) + (item k of line i of C) into item k of line i of C return C end mmult 29

30 Funktionen im Stack Skript 2/2 function minv X -- retuns B=X^-1 put the number of lines of X into m set the itemdel to Tab -- generate Array A put "" into A repeat with i=1 to m repeat with j=1 to m put item j of line i of X into A[i,j] -- generate matrix E put "" into E repeat with i=1 to m repeat with j=1 to m if i=j then put 1 into E[i,j] else put 0 into E[i,j] end if -- make all values to 0 in lower triangle of matrix A into and perform same operations on E repeat with i=1 to m-1 repeat with j=i to m-1 put A[j+1,i] / A[i,i] into pivot repeat with k=1 to m put A[j+1,k] - pivot * A[i,k] into A[j+1,k] put E[j+1,k] - pivot * E[i,k] into E[j+1,k] -- divide lowest row by its element in position n,n put A[m,m] into pivot repeat with k=1 to m put A[m,k] / pivot into A[m,k] put E[m,k] / pivot into E[m,k] -- make all values to 0 in upper triangle of matrix A into and perform same operations on E repeat with i=m down to 2 repeat with j=i down to 2 put A[j-1,i] / A[i,i] into pivot repeat with k=1 to m put A[j-1,k] - pivot * A[i,k] into A[j-1,k] put E[j-1,k] - pivot * E[i,k] into E[j-1,k] -- divide each row by its element in position i,i put A[i,i] into pivot repeat with k=1 to m put A[i,k] / pivot into A[i,k] put E[i,k] / pivot into E[i,k] -- divide top row by its element in position n,n put A[1,1] into pivot repeat with k=1 to m put A[1,k] / pivot into A[1,k] put E[1,k] / pivot into E[1,k] --answer E -- End invert A -- generate variable set the itemdel to Tab put "" into B repeat with i=1 to m repeat with j=1 to m put E[i,j] into item j of line i of B return B end minv 30

31 Monty Hall Problem 31

32 Versenden von s in LiveCode 32

33 Formular für externe Mitarbeitende 1/2 on mouseup ask file "Speichere Datei..." with type "Text Datei txt TXT" -- zeigt nur Dateien mit *.txt an put it into datei open file datei for write -- "for write" means that it will replace the content read from file datei at 1 until EOF ask "Was möchten Sie speichern?" write it to file datei close file datei end mouseup on mouseup answer file "Öffne Datei..." with type "Text Datei txt TXT" -- zeigt nur Dateien mit *.txt an put it into datei open file datei read from file datei at 1 until EOF close file datei answer it end mouseup on mouseup answer printer open printing print card into 20,20,579,345 close printing end mouseup on mouseup put URL "http://service2.allianz-suisse.ch/suisse/other/hyporates_de.htm" into antw if antw is "" then put "Achtung: Sie sind nicht mit dem Internet verbunden!" into field "Datum" exit mouseup else put antw into field "Zinssätze" put the system date into field "Datum" end if put the number of lines of antw into n put "" into resultat put "" into field "dati" repeat with i=1 to n if line i of antw contains "tablegreycontent right" then put line i of antw into gefunden delete char 1 to 39 of gefunden put char 1 to 4 of gefunden into gefneu put gefneu into line (the number of lines of resultat)+1 of resultat end if put resultat into field "dati" put line 1 of resultat into field "zwei" put line 2 of resultat into field "drei" put line 3 of resultat into field "vier" put line 4 of resultat into field "funf" put line 5 of resultat into field "sechs" put line 6 of resultat into field "sieb" put line 7 of resultat into field "acht" put line 8 of resultat into field "neun" put line 9 of resultat into field "zehn" put line 10 of resultat into field "funfzeh" end mouseup 33

34 Formular für externe Mitarbeitende 2/2 on rawkeyup put field "v" - field "w" into field "a" end rawkeyup 34

35 API und WebServices https://sites.google.com/a/pgcps.org/livecode/home/accessing-the-internet put field "Address1" into theaddress1 put field "Address2" into theaddress2 put field "Address3" into theaddress3 put field "Address4" into theaddress4 replace space with "+" in theaddress1 replace space with "+" in theaddress2 replace space with "+" in theaddress3 replace space with "+" in theaddress4 /* Get Geo Info for Address 1 */ put "http://maps.googleapis.com/maps/api/geocode/xml?address=<addgeo1>&sensor=false" into theurl1 replace "<addgeo1>" with urlencode(theaddress1) in theurl1 put URL theurl1 into returneddata1 replace space with empty in returneddata1 put lineoffset("<lat>",returneddata1) into lat1 put lineoffset("<lng>",returneddata1) into lng1 35

36 Embedded Web 36

37 Responsive Design

38 2. DSS in der Finanzplanung Ziel: - DSS Modelle in der Finanzplanung - Monte-Carlo Simulation - Optimierungsmodelle - Stochastische Simulation 38

39 Aktienkurse online lesen mit LiveCode on mouseup put the long date into field "Datum" set the itemdel to Tab put "" into Kurse put url "http://quote.yahoo.com/d/quotes.csv?s=goog&f=p" into Google -- Google put url "http://quote.yahoo.com/d/quotes.csv?s=ubs&f=p" into UBS -- UBS put url "http://quote.yahoo.com/d/quotes.csv?s=ncz&f=p" into Allianz -- Allianz put "Google"&Tab&Google into line 1 of Kurse put "UBS"&Tab&UBS into line 2 of Kurse put "Allianz"&Tab&Allianz into line 3 of Kurse if UBS = "" then answer "Sie sind nicht online" else put Kurse into field "Kurse" end if end mouseup 39

40 Rentenrechnung Grundlagen Eine Rente (annuity) ist eine Folge von n konstanten Zahlungen vom Betrag r (sog. Rentenraten), die in gleichen Zeitabständen (sog. Rentenperioden bzw. Ratenperioden) aufeinander folgen. Die Anzahl der Ratenperiode wird die Laufzeit n genannt. Bei vorgegebenem Anfangskapital R 0, fester Verzinsung von i und eine rnachschüssigen Rente r mit einer Laufzeit von n Jahren ergibt sich ein Endkapital R n von (mit q = 1+i): Diese Gleichung lässt sich für die vier Variablen R n, R 0, n und r in geschlossener Form darstellen: Der Zins i kann nicht in geschlossener Form dargestellt werden und muss deshalb mit dem Newton-Verfahren approximiert werden. Man wähle einen sinnvollen Startwert q 0 und führe einige Berechnungen für q 1, q 2, q 3, durch. Man überprüfe ein numerisches Beispiel mit den Funktionen BW für K 0, ZW für K N, ZZR für n und RMZ für r q q r R q R n n n q q r R q R n n n q q r R q R R n n ln : 1 1 ln n n n q q q R R r ) ( 1) ( 1) ( 1) ( ) '( ) ( Newton - Verfahren an : wendet man das 0 1) ( 1) ( 1) ( ) ( mit n n n n n n n k k k k k n n n k nrq q nr q R n R q r q q R q R q q f q f q q q r q q R q R q f

41 Rentenrechner in LiveCode on mouseup put field "Ro" into Ro put field "R" into R put field "n" into n put field "i"/100 into i put field "Rn" into Rn --answer Ro&&R&&n&&i&&Rn -- Calc i with Newton approach put 0.5 into i -- first approximation value put i+1 into q put "" into tabelle repeat 100 times put q - (Rn*(q-1)-Ro*(q^n)*(q-1)-R*(q^n-1))/(Rn- (n+1)*ro*q^n+n*ro*q^(n-1)-n*r*q^(n-1)) into q --put q into line (the number of lines of tabelle)+1 of tabelle --answer tabelle --answer 100*(q-1) put round(100*(q-1)) into field "i" end mouseup 41

42 Monte Carlo Simulation in LiveCode on mouseup set the itemdel to Tab set the numberformat to "0.00" put "" into field "Rente" put field "Bereich" into Bereich put item 1 of line 1 of Bereich into B1 put item 2 of line 1 of Bereich into B2 put item 1 of line 2 of Bereich into Z1 put item 2 of line 2 of Bereich into Z2 put item 1 of line 3 of Bereich into L1 put item 2 of line 3 of Bereich into L2 put item 1 of line 4 of Bereich into R1 put item 2 of line 4 of Bereich into R2 -- random(22) generates a random number between 1 and 22 ask "Wie viele Simuluationen?" put it into n put "" into K repeat with i=1 to n put random(b2-b1+1)+b1-1 into B put (random(z2*100-z1*100+1)+z1*100-1)/100 into Z put random(l2-l1+1)+l1-1 into L put random(r2-r1+1)+r1-1 into R put B*(1+Z)^L + R*(((1+Z)^L-1)/(Z)) into line i of K -- Kaptial nach n Jahren answer K put "" Into s repeat with i=1 to n put line 1 of K + s into s put s/n into Mittel answer "Mittleres Kn ist: "&Mittel end mouseup 42

43 Portfolio Evaluation 1/5 =SUMME(C3:D3*$C$2:$D$2) da es Vektoren sind, mit Control+Shift+Enter eingeben In diesem Kapitel besprechen wir verschiedene Berechnungsmethoden zur Bewertung eines Portfolios. Dabei geht es um Laufzeitenerträgen (Holding Period Returns), Korrelation zwischen Wertpapieren im Portfolio, Aktienauswahlverfahren für das Portfolio, sowie weitere Berechnungen wie die Korrelation. Wie bei der Risikoanalyse ist es auch hier so, dass man bessere Aussagen machen kann, je mehr Daten man beizieht (drei bis fünf Jahre). Für unsere modellhaften Berechnungen werden wir uns auch hier auf einen kleineren Datensatz beschränken müssen (z.b. ein Jahr). Auch hier wird kritisch sein, was man als Benchmark beizieht, d.h. was man als Markt- Portfolio wählt. Wichtig ist, dass der Benchmark repräsentativ für das zu untersuchende Portfolio ist. Rechts ist ein numerisches Beispiel gegeben mit zwei Aktien (A1 und A2). Die Formeln sind die gleichen, wie bei der Berechnung der Risikoanalyse. 43

44 Portfolio Evaluation 2/5 Wie erweitern das Portfolio mit einer zusätzlichen Aktie, die wir zwischen den ersten beiden setzen. Die Berechnungen werden analog ausgeführt. Zusätzlich haben wir für die drei Aktien die Sharpe Ratio berechnet als: Sharpe Ratio = Average / St. Dev. Als nächstes möchten wir herausfinden, wie viel Prozent der Aktien wir kaufen sollten. Momentan ist die Verteilung Prozent. Ist dies aber die optimale Verteilung? Das hängt natürlich davon ab, was wir optimieren (maximieren oder minimieren) möchten. Z.B. wir könnten die Risiken minimieren oder den Ertrag maximieren wollen. 44

45 Portfolio Evaluation 3/5 Nehmen wir an, dass wir die optimale Verteilung der Aktien innerhalb des Portfolios suchen, so dass die Risiken minimiert werden. Als Mass für das Risiko nehmen wir die Kovarianz. Unter Datenanalyse finden wir die Funktion Kovarianz. Wir berechnen die Kovarianz für die drei Aktien. 45

46 Portfolio Evaluation 4/5 Die berechneten numerischen Werte in der 3x3 Tabelle enthalten Formeln. Deshalb kopieren wir sie mit Inhalte einfügen und Werte in eine neue 3x3 Tabelle (Matrix). Das Gesamtrisiko ist das Matrizen-Produkt X T x KV x X, wobei X der Gewichstvektor ist, KV die Kovarianzmatrix ist und T für transponiert (umgekippt) steht. Mit der Excel-Funktion MTRANS transponieren wird den Gewichtsvektor und mit der Excel-Funktion MMULT berechnen wir die zwei Multiplikationen (Beachte: anstelle von = muss man bei Matrizen Ctrl+Shift+Enter eingeben). Das Produkt X T x KV x X ist eine 1x1 Tabelle, resp. ein einziger Wert, nämlich das Gesamtrisiko, das wir minimieren wollen. Gegeben sind N Beobachtungen und k Variablen. Die Kovarianz (der Stichprobe) zwischen den Variablen j und k berechnet sich wie folgt (für die KV der Population dividiere nur durch N): 46

47 Portfolio Evaluation 5/5 Unser mathematisches Optimierungsproblem lautet nun wie folgt: 1. Minimiere das Gesamtrisiko X T x KV x X 2. Durch Veränderung der drei Gewichte als Entscheidungsvariablen: x 1, x 2, x 3 3. So dass die drei Gewichte positive Zahlen zwischen 0 und 1 sind: 0 x i 1 4. So dass die Summe der drei Gewichte gleich 1 ist: x 1 + x 2 + x 3 = 1 Dieses mathematische Problem kann mit Excel mit dem Solver gelöst werden. Die Lösung lautet: Um das Gesamtrisiko minimal zu halten, investiere man 0% in A1, 50% in A2 und 50% in A3. 47

48 Portfolio Evaluation 1/2 on mouseup put "" into field "Daten" set the itemdel to Tab open file "C:\Excel.txt" read from file "C:\Excel.txt" at 1 until EOF close file "C:\Excel.txt" put it into field "Daten" end mouseup on mouseup global KV,V set the itemdel to Tab set the numberformat to " " put field "Daten" into A put the number of lines of A into N put the number of items of line 1 of A into V -- Anzahl Variablen -- Berechne alle Mittlwerte put "" into MW -- Mittelwerte repeat with i=1 to V repeat with j=1 to N put item i of line j of A + item i of line 1 of MW into item i of line 1 of MW put item i of line 1 of MW / N into item i of line 1 of MW answer MW -- Berechne die Kovarianz-Matrix KV put "" into KV repeat with j=1 to V -- für Var1 repeat with k=1 to V-- für Var2 repeat with i=1 to N put (item j of line i of A - item j of line 1 of MW)*(item k of line i of A - item k of line 1 of MW) +item k of line j of KV into item k of line j of KV put item k of line j of KV / N into item k of line j of KV answer KV end mouseup 48

49 Portfolio Evaluation 2/2 on mouseup global KV,V set the itemdelimiter to tab set the numberformat to " " repeat with i=1 to V put item i of field "Gewicht" / 100 into item i of line 1 of X put "" into C put mmult(x,kv) into C --answer C repeat with i=1 to V put item i of line 1 of X into item 1 of line i of XT put mmult(c,xt) into D answer D end mouseup? 49

50 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 50

51 Stoppuhr in LiveCode Problem: Stoppuhr absorbiert gesamten Prozessor! 51

52 Andere Stoppuhr in LiveCode Problem: Stoppuhr absorbiert nicht mehr gesamten Prozessor! «Hello» Button kann aufgerufen werden, während Stoppuhr läuft. Stoppuhr kann nur noch durch Deaktivierung des Kästchens gestoppt werden. 52

53 Simulation: Bsp. Bankschalter-Prozess (1) Schalterbeendung Schalter-Abgang Zufallsereignisse Zwischenankunftszeit Starte Wartezeit des Schalters nein Wartet jamand? ja Nimm wartetende Person aus der Reihe 1. Eintritt Schalterverarbeitungszeit 4. Abgang (2) Personenankunft Person kommt an Starte Schalterservice nein Wartet jamand? ja 2. Reihe 3. Schalter Person geht zum Schalter Person geht in die 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. Durchschnittliche Wartezeit Durchschnittliche WS dass Schalter leer ist : : W l m( m l) Durchschnittliche Anzahl in Schlange: 1 Zeit im System : W m l l Durchschnittliche Anzahl im System : L m l P 1 l m Prozent Beschäftigung des Schalters: 0 q 2 l Lq m( m l) l m 53

54 Stochastische Simulation Zufall 2(i-1)+1(i) Zufall max(2(i),4(i-1)) 5(i)-2(i) 5(i)+3(i) 4(i)-2(i) 5(i)-4(i-1) Zeit, die Zeitpunkt Zeit Zeit Kunde Kunde Zeit seit der Kunde des Kunde Zeit verbringt Wartezeit letzter Ankunfts- am Schalter Schalter- wartet in Schalter im Schalter- Ankunft zeit verbringt anfangs Reihe endet System person Wichtige Kenngrössen 1. Durchschnittliche Wartezeit für einen Kunden: S6/SK = 56/20 = 2.8 Min. 2. WS, dass ein K warten muss: SK wartend /SKunden 13/20 3. WS, dass Server arbeitslos ist (Zeit, wo Server nicht arbeitet): S8/SZeit = 18/82 = Durchschnittliche Bedienungszeit: S3/SKunden = 68/20 = 3.4 Min. 5. Durchschnittliche Zwischenankunftszeit: S1/S(K-1) = 82/19 = 4.3 Min. ( -1 da K 1 um t=0 ankommt) 6. Durchschnittliche Wartezeit der wartenden: S6/SK wartend = 56/13 = 4.2 Min. 7. Durchschnittliche Zeit Kunde verbringt im System: S7/SK = 124/20 = 6.2 Min. 8. Kontrolle: = 7 d.h = 6.2 OK 54

55 Zufallszahlengenerierung mit EXCEL Extras Analyse-Funktionen Zufallszahlengenerierung 55

56 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. Werte WS Daten Extras Analyse-Funktionen Zufallszahlengenerierung Würfel Verteilung 56

57 Poisson Verteilung Bei sehr grosser Grundgesamtheit n kann die Binomialverteilung durch die Poisson Verteilung approximiert (angenähert) werden. p(x) = e-l l x x! =POISSONVERT(x,l,falsch) 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). l1 l2 l10 e p(x) = -l l x wobei x = 0, 1, 2,... x! E(X) = l V(X) = l x Beispiel: Im Jahresschnitt geschehen 2 Flugzeugabstürze; was ist die WS, dass nächstes Jahr 3 Abstürze geschehen? Lösung: p(3)=(e )/3! = 0.18 EXCEL =POISSON(3,2,FALSE) =

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

59 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/l 2 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) 59

60 Generierung von exponentiell verteilten Zwischenankunftszeiten F(x) = 1 e- lx e- lx = 1 F e lx = 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() Exponentielle Wahrscheinlichkeitsfunktion F(x) 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). 60

61 Simulation in LiveCode on mouseup -- =LN(1/(1-ZUFALLSZAHL()))/$N$5 put field "runs" into r put field "arrival" into a put field "service" into s put "" into t -- table with values -- generate line 1 of t put "1" into item 1 of line 1 of t put "" into item 2 of line 1 of t put "0" into item 3 of line 1 of t put round(ln(1/(1-random(1000)/1000))/s,2) into item 4 of line 1 of t put "0" into item 5 of line 1 of t put "0" into item 6 of line 1 of t put item 4 of of line 1 of t into item 7 of line 1 of t put item 4 of of line 1 of t into item 8 of line 1 of t put "0" into item 9 of line 1 of t put "0" into item 10 of line 1 of t put "0" into item 11 of line 1 of t -- generate all remaining lines of t put 2 into i repeat r-1 times put i into item 1 of line i of t put round(ln(1/(1-random(1000)/1000))/a,2) into item 2 of line i of t put item 2 of line i of t + item 3 of line i-1 of t into item 3 of line i of t put round(ln(1/(1-random(1000)/1000))/s,2) into item 4 of line i of t put max(item 3 of line i of t,item 7 of line i-1 of t) into item 5 of line i of t put item 5 of line i of t - item 3 of line i of t into item 6 of line i of t put item 4 of of line i of t + item 5 of line i of t into item 7 of line i of t put item 7 of line i of t - item 3 of line i of t into item 8 of line i of t put item 5 of line i of t - item 7 of line i-1 of t into item 9 of line i of t if item 6 of line i of t > 0 then put "1" into item 10 of line i of t else put "0" into item 10 of line i of t end if put 0 into anzahl put 2 into j repeat i-2 times if item 5 of line j of t > item 3 of line i of t then put anzahl + item 10 of line j of t into anzahl end if put j+1 into j put anzahl into item 11 of line i of t -- make graphical effects wait 1 second if item 10 of line i of t = 1 then set visible of button "work" to true set width of button "schlange" to 20*item 11 of line i of t set left of button "schlange" to 100 else set visible of button "work" to false end if put i+1 into i set visible of button "work" to true set width of button "schlange" to 20 set left of button "schlange" to 100 put t into field "lsg" end mouseup 61

62 3. DSS in der Einsatzplanung Ziel: - Zuordnungsmodelle - Simplex-Algorithmus - Einsatzplanung - Zuordnungsverfahren 62

63 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 --answer tabelle sort lines of tabelle ascending numeric by item 1 of each --answer tabelle -- move the two winners forward put 1 into i 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 put i+1 into i 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 mouseup 63

64 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. 64

65 Das Entscheidungsmodell: Ein Beispiel Entscheidungsvariablen: Wie viele Mio. Fr. (x S ) soll eine Gemeinde in das Sozialprogramm (S) und wie viele (x T ) in das Transportprogramm (T) investieren (einsetzen)? Kriterien Anz. Arbeiter, die für jede Mio. anzustellen sind: 4 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.: 1 for S and 2 for T. Zielfunktion Maximiere Profit: Randbedingungen P*=max: 1x S + 2x T Tot. Anz. anzustellender Arbeiter: A*= 32 4x S + 1x T Nie vergessen! Tot. Anz. zu kaufender Computer: C*= 23 1x S + 3x T x S 0; x T 0; x T A x S = 6.64 x T = 5.45 P*=17.55 C x S 4x S + 1x T 32 = A* 1x S + 3x T 23 = C* 1x S + 2x T = max = P* x 5.45 : x 6 : x s x = t Achtung: Gerundete reelle Lösung ist oft nicht die optimale ganzzahlige Lösung! max x 0 : A x =mmult(a,x) 65

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

67 Simplex Algorithmus Arbeiter: 32 4x S + 1x T Computer: 23 1x S + 3x T Profit: max:1x S + 2x T Arbeiter: 32-4x S - 1x T 0 Computer: 23-1x S - 3x T 0 Profit: max: 1x S + 2x T T0 x1=0 x2=0 1 0 e max 0 e max e x T1 e1=0 x2=0 1 frei x e max max e T2 e1=0 e2=0 1 frei x frei x max e Da beide Entscheidungsvariablen x 1 (x S ) und x 2 (x T ) frei sind, können wir auswählen welche der beiden wir zuerst austauschen wollen; wir wählen x 1 ; 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 negativen 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: w ik w ik w ip *w pk /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 x 1 = 6.64, x 2 = 5.45 und Profit = wird erhalten. 67

68 Simplex in LiveCode 68

69 Simplex in LiveCode on mouseup -- Feld A must be so, that the coefficients are negative and the constraints are on the right -- and positive. The constraints are 1x + 2y <= The first row becomes: " " -- The goal function is max 1x + 3y and is entered as the last row as: "1 3 0" -- see p. 37 Lin. Alg. put field "A" into A set the itemdel to Tab put the number of lines of A into m put the number of items of line 1 of A into n -- mit r = Anzahl x-variablen und s = Anzahl y-variablen gibt es r-tief-s verschiedene Schemata -- somit muss man höchstens so viele AT-Schritte machen, S. 35 Lin. Alg. put n-2 into r put m-1 into s put fact(r+s,2) into schemata repeat schemata times -- finde den ersten positiven Wert in Row m put 0 into pcol -- pivot column repeat with j=2 to n-1 if item j of line m of A > 0 then --answer item j of line m of A put j into pcol -- this is the pivot column put n-1 into j -- we must end the loop end if if pcol=0 then answer "There is no item in z with > 0; i.e., we are done" exit mouseup end if -- XXXXXX Anfang des AT-Schritts XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX -- berechne char Quotienten und wähle unter den negativen den grössten davon put into klein put "" into quo repeat with i=2 to m-1 put item n of line i of A / item pcol of line i of A into quo put quo into item n+1 of line i of A if quo < 0 and quo > klein then put quo into klein put i into prow -- this is the pivot row end if --answer A --answer pcol&&prow -- AT-Schritt, S. 8 Lin. Alg tausche Bezeichnungen aus put "" into B put A into B put item 1 of line prow of A into item pcol of line 1 of B put item pcol of line 1 of A into item 1 of line prow of B --answer B pivot geht in reziprokem Wert über put item pcol of line prow of A into pivot put 1 / pivot into item pcol of line prow of B --answer B Elemente der pivot Col werden durch pivot dividiert repeat with i=2 to m if i <> prow then put item pcol of line i of A / pivot into item pcol of line i of B --answer B Elemente der pivot Row werden durch -pivot dividiert repeat with i=2 to n if i <> pcol then put -1* item i of line prow of A / pivot into item i of line prow of B --answer B übrige Elemente, siehe S. 8 Lin. Alg. repeat with i=2 to m repeat with j=2 to n if i <> prow and j <> pcol then put item j of line i of A + item j of line prow of B * item pcol of line i of A into item j of line i of B put "" into field "B" put B into field "B" put "" into A put B into A --answer "pivot"&&"prow"&&prow&&"pcol"&&pcol -- XXXXXX Ende des AT-Schritts XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX end mouseup function factorial n if n = 1 then return 1 else return n * factorial(n-1) end factorial function fact n,k return factorial(n)/(factorial(k) * factorial(n-k)) end fact 69

70 Optimierung einer Einsatzplanung Schicht Nr. Zeit benötigte Pfleger 1 00:00-04: :00-08: :00-12: :00-16: :00-20: :00-24:00 8 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: x ij (ganzzahlig): Anzahl Pfleger in Schicht S i und S j Zielfunktion: min: x 12 +x 23 +x 34 +x 45 +x 56 +x 61 Schicht Nr. anwesende Pfleger 1 x 61 +x x 12 +x x 23 +x x 34 +x x 45 +x x 56 +x x12 3 S x23 2 S x34 4 S x 0 x45 5 S x56 6 S x61 8 S = 15 N benötigte Pfleger 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]

71 Einsatzplanung mit LiveCode Nurse Scheduling.xlsx Algorithmus: 1. Man geben als Startwerte für die xij alles 0 ein. 2. Dann erhöhe man die x-werte einzeln bis die Randbedingungen erfüllt sind. 3. Sobald alle RB erfüllt sind, reduziere man jene x-werte, die die RB nicht tangieren. 4. Das Verfahren endet, sobald sich keine x-werte mehr verändern lassen. 71

72 Einsatzplanung Skript (1/2) 1. Bsp. on mouseup set the itemdel to Tab put "" into A put "" into X put "" into B put 1&Tab&0&Tab&0&Tab&0&Tab&0&Tab&1&return\ &1&Tab&1&Tab&0&Tab&0&Tab&0&Tab&0&return\ &0&Tab&1&Tab&1&Tab&0&Tab&0&Tab&0&return\ &0&Tab&0&Tab&1&Tab&1&Tab&0&Tab&0&return\ &0&Tab&0&Tab&0&Tab&1&Tab&1&Tab&0&return\ &0&Tab&0&Tab&0&Tab&0&Tab&1&Tab&1&return\ &1&Tab&1&Tab&1&Tab&1&Tab&1&Tab&1 into A put 0&return&0&return&0&return&0&return&0&return&0 into X put A into field "A" put X into field "X" put "" into field "B" -- enter the constraints in K put "" into K put 3&return&2&return&4&return&5&return&6&return&8&return&0 into K put K into field "K" end mouseup 2. Assign on mouseup put field "A" into A put field "X" into X put field "K" into K put mmult(a,x) into B put B into field "B" repeat with i=1 to the number of lines of X if item 1 of line i of B < item 1 of line i of K then put item 1 of line i of X + 1 into item 1 of line i of X put mmult(a,x) into B end if put X into field "X" put B into field "B" end mouseup 72

73 Einsatzplanung Skript (2/2) 3. Reduce on mouseup put field "A" into A put field "X" into X put field "K" into K put mmult(a,x) into B put B into field "B" repeat with i=1 to the number of lines of X if item 1 of line i of B > item 1 of line i of K and item 1 of line i of X > 0 then put item 1 of line i of X - 1 into item 1 of line i of X put mmult(a,x) into C -- check if any of the constraints is now violated; if yes, then change it back to +1 put 0 into test repeat with j=1 to the number of lines of K if item 1 of line j of C < item 1 of line j of K then put test + 1 into test if test > 0 then put item 1 of line i of X + 1 into item 1 of line i of X end if put mmult(a,x) into B end if put X into field "X" put B into field "B" end mouseup 73

74 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 $11 III $9 $12 $7 Zuordnungsalgorithmus 1 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. 2 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: 3 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 Maschinen Arbeiten A B C Maschine Arbeit A B C Maschine Arbeit A B C I II III I II III I II III I II III kleinster ungedeckter Wert optimale Zuordnung 74

75 Job Assignment mit LiveCode Die ID der 9 Felder sind: Die 6 Lösungen sind: Lsg 1: Lsg 2: Lsg 3: Lsg 4: Lsg 5: Lsg 6: on mouseup put 1018 into i repeat 9 times set the backcolor of field ID i to "white" put i+1 into i put "" into werte -- 1: 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: 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: 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: 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: 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: 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 --answer werte 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 75

76 Job Assignment mit Excel 76

77 Johnson s Zuordnungsverfahren n jobs müssen sequentiell durch 2 Maschine Jobs (n = 3) Job A Job B Job C Säge Bohrer Johnson s Zuordnungsverfahren Alle Jobs werden mit den Arbeitszeiten aufgelistet. 1. 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. 2. Wenn ein Job zugeordnet ist wird er eliminiert von der Liste. 3. 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 7 12 Schritt 1 Schritt 2 Schritt 3 Schritt 4 Schritt 5 A B A B C A B D C A B E D C A Zeit => Säge Bohrer Zeit => B E D C A B E D C A Jobs erledigt => B E D C A = Wartezeiten 77

78 Johnson in LiveCode on mouseup set the itemdel to Tab put field "A" into x repeat with i=1 to 6 if item 2 of line i of x > item 3 of line i of x then put item 3 of line i of x into item 4 of line i of x put "H" into item 5 of line i of x else put item 2 of line i of x into item 4 of line i of x put "V" into item 5 of line i of x end if answer x sort lines of x ascending numeric by item 4 of each answer x put "" into vorne put "" into hinten repeat with i=1 to 6 if item 5 of line i of x = "V" then put vorne&return&line i of x into vorne else put line i of x&return&hinten into hinten end if answer vorne answer hinten end mouseup 78

79 4. DSS in der Transportplanung Ziel: - Transportverteilung - Schnellster Weg - Dijkstra Algorithmus 79

80 Optimierung der Transportverteilung D 1 : 10 D 2 : 9 EV : x k ij ij ZF : min. tot. Kosten : k 32 (ganzzahlig) : Anzahl Autos von : Kosten um ein Auto von S RB :alle Autos müssen weg: alle bestellten Autos kommen an : keine negative Lösung: x 4 j1 i1 nach D 0 S 1 : 12 S 2 : 15 S 3 : 18 zu bringen Achtung: wenn man die Randbedingung x ij 0 weglässt, dann konvergiert die Lösung nicht! 3 k ij i x 4 j1 ij ij x ij j s i S nach D 3 i i1 x ij d j j D 3 : 14 D 4 : 12 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. mit Simplex x11 12 S x13 15 S x21 18 S x 0 x22 = 10 D x24 9 D x32 14 D x33 12 D x C 80

81 Schnellster Weg EV : x x t ij ij 1 ij wenn VerbindungTeil des schnellsten Wegs ist, sonst 0 : Zeit von Ort ZF : min. tot. Zeit : RB : Weg von (binär): Verbindungvon Ort O O nach O 1 i 7 O - O : t ij j1 i1 i1 j x x ij ik 7 j1 x kj nach O 1für k 1 1für k 7 0 sonst Um den längsten Weg zu finden: - max tot. Zeit - Sum i x ij 1 j, ij (höchstens ein Zufluss pro Stadt) i j Problem: Gesucht ist der schnellste Weg von San Francisco nach Kairo x12-1 C x13 0 C x14 0 C x24 0 C x 0 x25 = 0 C x34 0 C x36 1 C x45 6 C 0 x46 0 x47 1 x57 0 x67 81

82 Weg auswählen in LiveCode 82

83 R R3 R4 7 7 R7 R8 R9 R10 R1 R2 R5 R6 83

84 Schnellster Weg in LiveCode 84

85 Dijkstra mit LiveCode on mouseup put field "Links" into strecken put field "From" into von put field "Dest" into nach put "" into C -- set of closed nodes put field "Cities" into O -- set of open nodes -- find "von" in O and move it to C; i.e. close it repeat with i=1 to the number of items of line 1 of O if von = line i of O then put line i of O&","&0 into swap delete line i of O put swap into line 1 of C end if repeat while O <> "" -- find all ajacent nodes of closed nodes put "" into G -- liste der neuen potentiellen Zeilen in C put 1 into i repeat the number of lines of C times -- go through C and take each closed node i (the closed nodes are at the second to last item of each row), the last item is the total distance put 1 into j repeat the number of lines of strecken times -- with this closed node i go through all links and find pairs i,j if item (the number of items of line i of C - 1) of line i of C = item 1 of line j of strecken then -- a link with i,x has been found (x is item 2 of line j of strecken) put item 2 of line j of strecken into x put 0 into k -- to check if the node x is open repeat with k = 1 to the number of lines of O -- check if node x is open if line k of O = x then -- an adjacent node to a closed node has been found put line i of C into found put item 3 of line j of strecken + item (the number of items in line 1 of found) of line 1 of found into item (the number of items in line 1 of found) of line 1 of found -- add up the distance put item (the number of items in line 1 of found) of line 1 of found into wert delete item (the number of items in line 1 of found) of line 1 of found put found&","&item 2 of line j of strecken&","&wert into found put found into line (the number of lines of G) + 1 of G end if end if put j+1 into j put i+1 into i -- take out of G (the found adjacent links) the one with the shortest distance and append it to C, then delete x from O sort lines of G ascending numeric by last item of each --answer "Found"&return&G put line 1 of G into newpath put newpath into line (the number of lines of C + 1) of C put item (the number of items of line 1 of newpath -1) of line 1 of newpath into newnode put 1 into i repeat the number of lines of O if line i of O = newnode then delete line i of O put i+1 into i if newnode = nach then answer "Der Schnellste Weg von "&von&" nach "&nach&" ist: "&newpath exit mouseup end if answer "Closed"&return&C end mouseup 85

86 Binäre Optimierung Man generiere alle Variationen von binären Variablen. Bei n binären Variablen gibt es 2^n Variationen. Mit den LiveCode Funktionen «multiplymatrix» und «transpose» kann man A.x = y berechnen. Zuerst werden die Lsg. bestimmt, die die Randbedingungen erfülllen. Von denen wird jene ausgewählt, welche die Zielfunktion optimiert. on mouseup set the itemdel to Tab put field "Anz_x" into n -- generate vector 1xn with all "0" put "" into basis -- matrix with all 2^n combinations repeat with i=1 to n put 0 into item i of line 1 of basis -- generate 2^n x n matrix with all 0 put "" into varia repeat with i=1 to 2^n put basis into line i of varia -- answer varia -- generate all 2^n variations repeat with z=1 to 2^n repeat with s=1 to n if aufrund(z/(2^(s-1))) mod 2 = 0 then put 1 into item s of line z of varia --answer varia put "" into field "Variations" put varia into field "Variations" end mouseup function aufrund x if x = round(x,0) then put x into res else put trunc(x)+1 into res return res end aufrund 86

87 5. DSS in der Strategieplanung Ziel: - Normierung von Messungen - Entscheiden bei Unsicherheit - Nutzwertanalyse - Statistische Tests - Conjoint Analyse 87

88 Spidernetz Normalisierung: y i = x i x s x b - x s x i : zu transformierender Wert x s : schlechtester Wert x b : bester Wert y i : transformierter Wert Normalisierte Werte (je weiter draussen, desto besser) Alter 1.00 Alter Note Sem. Salär Alter Note Sem. Salär B S Salär Note Reihe1 Reihe2 Reihe3 Reihe4 Reihe5 Reihe6 Reihe7 Reihe8 Reihe9 Reihe10 Streichung von dominierten Alternativen! Sem. Abb. 8: Normierte Werte für 10 Personen (Reihe 1 bis 10). 88

89 Erwartungswert Der Erwartungswert (EW) eines Ereignisraums ist das mit den EWS gewichtete Mittel aller Ereignisse. Bsp.: Der EW eines Würfels ist: 1/6 x 1 + 1/6 x /6 x 6 = 3.5. Bsp.: Beim Wurf einer fairen Münze (50-50 Kopf oder Zahl) erhält man $100 wenn Kopf erscheint und $0 wenn Zahl erscheint. Der erwartete monetäre Wert (EMW) ist: 0.5 x $ x $0 = $50. Erwarteter Monetärer Wert (EMW) = Sum (monetary payoffs of events) (probabilities of the events) Anzahl Szenarien EMW j = N i = 1 X ij P i EMW j = erwarteter Wert der Aktion j X i,j = Nutzen der Aktion j und Szenario i P i = Wahrscheindlichkeit, das Szenario i eintritt 89

90 Entscheiden bei Unsicherheit (Lotto) 7 Lotterie (6 aus 49) Anzahl Kombinationen (d.h. unterschiedlich ausgefüllte Lotteriescheine): !/ 43! 49! 49 6! (49 6)! 6! 6 WS, die richtige Kombination zu erraten: 6 1 Binomial- 49 koeffizient Der Erwartungswert des Lottos ist mit WS 7.15*10-8 (Kehrwert des Binomial- Koeffizienten ca. 10 Mio zu gewinnen, resp mit 1-WS nichts. Dies ergibt 72 Cents. Demgegenüber steht der Verlust des Kaufs eines Lottoscheins, das 5 ist. on mouseup ask "Geben Sie n und x, getrennt durch Komma ein" answer binkoeff(item 1 of it, item 2 of it) end mouseup function fakultät k if k=1 then return 1 else return k*fakultät(k-1) end fakultät function binkoeff n,x return fakultät(n)/(fakultät(n-x)*fakultät(x)) end binkoeff 90

91 Urnenmodell mit Zurücklegen 7 Lotterie (6 aus 49) N: Anzahl Kugel M: Anzahl rote Kugeln n: Anzahl gezogene Kugeln x: Anzahl rote Kugeln, von den n gezogenen Kugeln WS eine rote zu ziehen: p = M/N WS, x rote zu ziehen bei n Zügen: 49 6 p x (1 p) nx on mouseup ask "Geben Sie x, n und p getrennt durch Kommas ein" put item 1 of it into x put item 2 of it into n put item 3 of it into p answer binkoeff(n,x)*p^x*(1-p)^(n-x) end mouseup function fakultät k if k=1 then return 1 else return k*fakultät(k-1) end fakultät function binkoeff n,x return fakultät(n)/(fakultät(n-x)*fakultät(x)) end binkoeff 91

92 Urnenmodell ohne Zurücklegen 7 Lotterie (6 aus 49) N: Anzahl Kugel M: Anzahl rote Kugeln n: Anzahl gezogene Kugeln x: Anzahl rote Kugeln, von den n gezogenen Kugeln WS eine rote zu ziehen: nicht constant! WS genau x richtige im Lotto: M x N M n x N M 6 x x on mouseup ask "Geben Sie x, M, n, N getrennt durch Kommas ein" put item 1 of it into x put item 2 of it into M put item 3 of it into n put item 4 of it into NN answer binkoeff(m,x)*binkoeff((nn-m),(n-x))/binkoeff(nn,m) end mouseup function fakultät k if k=1 then return 1 else return k*fakultät(k-1) end fakultät function binkoeff n,x return fakultät(n)/(fakultät(n-x)*fakultät(x)) end binkoeff 92

93 Nutzwertfunktion Wir möchten eine Nutzwertfunktion, u: so dass für 2 Alternativen A 1 und A 2 : u(a i ) A 1 ist A 2 bevorzugt E[u(A 1 )] > E[u(A 2 )] Beispiel: - A 1 : Gewinn mit p=0.5, Gewinn mit p=0.5 - A 2 : 90.- Gewinn mit p=0.5, 0.- Gewinn mit p=0.5 - E[(A 1 )]=150.- > E[(A 2 )]=45 - u(200.-)=1, u(100.-)=0.8, u(90.-)=0.4, u(0.-)=0. - E[u(A 1 )]=0.9 > E[u(A 2 )]=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(e 1,e 2,e 3 ) = k 1 u 1 (e 1 ) + k 2 u 2 (e 2 ) + k 3 u 3 (e 3 ) u 1 (e 1 ): Komponenten- Nutzwertfunktion k 1 : Skalierkonstanten (Gewicht) u(0.6,25,134)= k 1 u 1 (0.6) + k 2 u 2 (25) + k 3 u 3 (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! 93

94 Form der normativen Präferenzfunktion u(e 1,e 2,e 3 ) = k 1 u 1 (e 1 ) + k 2 u 2 (e 2 ) + k 3 u 3 (e 3 ) u u W B e 1 W B e 2 u W B e 3 B steht für bester Wert (z.b. kleinste Kosten) W steht für schlechtester Wert (grösstekosten) u(b)=1, u(w)=0, k 1 + k 2 + k 3 = 1 u(b,b,b)=1, u(w,w,w)=0 Interpretation der Komponentenfunktion u $ (Kosten) 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 94

95 Bewertung der Komponenten Funktion u $ (Kosten) 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)] pu($0)+(1-p)u($100) = u($50) p1+(1-p)u0 = u($50) u($50) = p Lotterie p (1-p) $0 $100 indifferent Sicherheitswert 1.0 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. $50 95

96 Bewertung der Skalierungskonstanten k 1 : Für welches p ist: [(B,B,B) mit p und (W,W,W) mit (1-p)] indifferent mit garantiertem (B,W,W)? pu(b,b,b)+(1-p)u(w,w,w) = u(b,w,w) u(b,w,w) = k 1 u 1 (B)+k 2 u 2 (W)+ k 3 u 3 (W) = k 1 p1+(1-p)0 = k 1 k 1 =p k 2 : Für welches p ist: [(B,B,B) mit p und (W,W,W) mit (1-p)] indifferent zu garantiertem (W,B,W)? k 2 =p k 3 : Analog wie für k 1 und k 2. u i e e x x i B e e x W x W 96

97 Nutzen-Funktionen in LiveCode on mouseup put "" into field "Ein" put "" into field "Norm" put "" into A put "A"&Tab&1200&Tab&90&Tab&3 into line 1 of A put "B"&Tab&900&Tab&80&Tab&2 into line 2 of A put "C"&Tab&1100&Tab&100&Tab&4 into line 3 of A put "D"&Tab&1500&Tab&60&Tab&1 into line 4 of A put A into field "Ein" end mouseup 97

98 Nutzen-Funktionen in LiveCode on mouseup set the itemdel to Tab set the numberformat to "0.00" put field "Ein" into A put A into X put field "Best" into B put the number of items of line 1 of B into n put the number of lines of X into m put "" into MaxMin -- 2-zeiliger Vektor mit "best" oben und "schlechtest" unten -- Berechne MaxMin repeat with j=2 to n -- für alle Kriterien if item j of B = "max" then sort lines of X descending numeric by item j of each put item j of line 1 of X into item j of line 1 of MaxMin sort lines of X ascending numeric by item j of each put item j of line 1 of X into item j of line 2 of MaxMin else if item j of B = "min" then sort lines of X ascending numeric by item j of each put item j of line 1 of X into item j of line 1 of MaxMin sort lines of X descending numeric by item j of each put item j of line 1 of X into item j of line 2 of MaxMin end if --answer MaxMin -- Berechne normalized values put "" into Norm put A into Norm repeat with i=1 to m repeat with j=2 to n put item j of line i of A into xi put item j of line 1 of MaxMin into Bi put item j of line 2 of MaxMin into Si put (xi-si)/(bi-si) into ni put ni into item j of line i of Norm --answer Norm put Norm into field "Norm" -- Determine untility functions set the numberformat to "0" put "" into WS repeat with i=2 to n -- für alle Kriterien ask "Für welche WS (in %) ist Ihnen mit je 50% "&item i of line 1 of MaxMin&" oder "&\ item i of line 2 of MaxMin&" vs mit Sicherheit "&((item i of line 1 of MaxMin)+(item i of line 2 of MaxMin))/2&" gleichwertig?" put it into item i of line 1 of WS --answer WS -- die WS, die der DM angegeben hat -- Berechne die Rho-Werte mit den normalisierten Werten set the numberformat to "0.0000" put "" into rhoval repeat with i=2 to n -- für alle Kriterien put 1 into Be put 0 into Sl put 0.5 into Mi put (item i of line 1 of WS)/100 into usoll put -10 into rho put 1000 into delta put "" into rhobest --put "" Into Ergebnis --********* --put 1 into k --********* repeat 2000 times put (exp(mi*rho)-exp(sl*rho))/(exp(be*rho)-exp(sl*rho)) into uhaben put abs(uhaben - usoll) into d if d < delta then put d into delta put rho into rhobest end if --put k&&be&&sl&&mi&&rho&&rhobest&&uhaben&&usoll&&d&&delta into line k of Ergebnis --********* --put k+1 into k --********* put rho+0.01 into rho --answer Ergebnis --********* put rhobest into item i of line 1 of rhoval put "Rho" into item 1 of line 1 of rhoval put rhoval into field "Rho" --answer rhoval --answer Norm --exit mouseup -- Berechne normalisierte Nutzenwerte put Norm into Nutz -- mxn Matrix mit normalisierten Nutzenwerten repeat with j=2 to n put item j of line 1 of rhoval into rho -- kleinen Wert addieren, damit für p=50% rho nicht genau 0 wird --answer rho repeat with i=1 to m put item j of line i of Norm into nu put (exp(nu*rho)-exp(0*rho))/(exp(1*rho)-exp(0*rho)) into item j of line i of Nutz --answer Nutz put "" into field "Nutz" put Nutz into field "Nutz" 98

99 Nutzen-Funktionen in LiveCode -- Frage WS für Skalierungskonstanten (ki): n = k1*n1+k2*n2+k3*n3 put "" into SK repeat with j=2 to n --ask "Für welche WS ist Ihnen die bestmögliche Alternativee mit WS und die schlechtestmögliche Alternative mit (1-WS) gleichwerting mit der garantierten Alternative mit bestem Wert für Kriterium"&&i&&"(in Prozent)?" set numberformat to "0" ask "Skalierungskonstante "&j-1 set numberformat to "0.000" put it/100 into item j of line 1 of SK put "" into field "SK" put "SK" into item 1 of line 1 of SK put SK into field "SK" end mouseup 99

100 Testen von 1-Faktor Hypothesen Alter hat Einfluss auf Salär (Alter und Salär sind abhängig) Alter hat keinen Einfluss auf Salär (Alter und Salär sind unabhängig) Alter (jung/alt) Salär (hoch/tief) Alter (jung/alt) Salär (hoch/tief) Salär: kategorisch Alter: kategorisch zum Fisher-Test Anteile H mit hohem T Salär jung % % alt % 80.00% 80.00% 60.00% 40.00% 40.00% 20.00% 0.00% jung alt Anteile H mit hohem T Salär jung % alt % % 76.00% 80.00% 80.00% 60.00% 40.00% 20.00% 0.00% jung alt Salär: kontinuierlich Alter: kategorisch zum t-test HDurchschnittssalär T jung alt jung alt HDurchschnittssalär T jung alt jung alt Salär: kontinuierlich Alter: kontinuierlich zur Regression Salär Alter Salär Alter 100

101 Fisher Test für Kontingenztabellen Was ist die WS, dass weniger als 5 alte hohes Salär haben, wenn von 50 Personen 25 alt sind? Lsg. Hypergemetrische Verteilung. Die WS, dass weniger als 5 von 25 Alten ein hohes Salär hat ist 0.18%. Somit besteht eine signifikante Abhängigkeit zw. Alter und Salär: d.h. Junge haben signifikant mehr gut verdienende, als Alte. 101

102 t Alter t-test (m G m S ) 1-Faktor Hypothese (kategorische Werte (M/F) und kontinuierliche Werte (Fr.) Salär J 80 J 120 J 132 J 145 J 210 A 75 A 95 A 105 A 126 A 150 nm n m x y ; s s 2 2 ( n 1) sx ( m 1) s n m 2 p = 2.5% 2 y Alter (jung/alt) p = 15.4% t =0 t = 1.89 t = t = t =0 t = 2.36 p = 5% p = 2.5% t t Salär (Fr.) Frage: Hängt das Salär vom Alter ab? Z.B. Junge verdienen im Schnitt mehr, als Alte. H: m M > m F. t-test 1-Faktor Varianzanalyse (ANOVA) F M Mittelwert Varianz Beobachtungen 5 5 Hypothetische Differenz der Mittelwerte 0 Freiheitsgrade (df) 7 t-statistik P(T<=t) einseitig Kritischer t-wert bei einseitigem t-test P(T<=t) zweiseitig Kritischer t-wert bei zweiseitigem t-test Der p-wert ist grösser als 5%; somit schliessen wir, dass das Alter keinen Einfluss hat auf das Salär. 102

103 t-test mit LiveCode (1/2) on mouseup global FG, t put field "X" into X put field "Y" into Y put the number of lines of X into m put the number of lines of Y into n put m+n-2 into FG -- compute mx und my set the numberformat to "0.00" put "" into mx repeat with i=1 to m put item 1 of line i of X + mx into mx put mx/m into mx put "" into my repeat with i=1 to n put item 1 of line i of Y + my into my put my/n into my -- compute sx und sy put "" into sx repeat with i=1 to m put (item 1 of line i of X - mx)^2 + sx into sx put (sx/(m-1))^0.5 into sx put "" into sy repeat with i=1 to n put (item 1 of line i of Y -my)^2 + sy into sy put (sy/(n-1))^0.5 into sy -- compute s und t put ((n-1)*sx^2+(m-1)*sy^2)/(n+m-2) into s put (n*m/(n+m))^0.5*(mx-my)/s^0.5 into t -- write results into field "Lsg" put "" into Lsg put "m"&tab&m into line 1 of Lsg put "n"&tab&n into line 2 of Lsg put "mx"&tab&mx into line 3 of Lsg put "my"&tab&my into line 4 of Lsg put "sx"&tab&sx into line 5 of Lsg put "sy"&tab&sy into line 6 of Lsg put "s^2"&tab&s into line 7 of Lsg put "t"&tab&t into line 8 of Lsg put Lsg into field "Lsg" end mouseup 103

104 t-test mit LiveCode (2/2) 2. p mit t von oben on mouseup /* approximate p-values with procedure from The National Bureau of Standards (NBS) see Excel calculations an control result with Excel-Function: =1-T.VERT(t;FG;WAHR) */ global FG, t if t<1 then put FG into s put 1 into r put 1/t^2 into z put 2/9/s into j put 2/9/r into k put ABS((1-k)*z^(1/3)-1+j)/((k*z^(2/3)+j)^0.5) into x1 put x1*(1+0.08*x1^4/r^3) into x2 put 0.25*( *x *x2^ *x2^ *x2^4)^(-4) into p1 put 0.5-p1 into p end if if t>=1 then put 1 into s put FG into r put t^2 into z put 2/9/s into j put 2/9/r into k put ABS((1-k)*z^(1/3)-1+j)/((k*z^(2/3)+j)^0.5) into x1 put x1*(1+0.08*x1^4/r^3) into x2 put 0.25*( *x *x2^ *x2^ *x2^4)^(-4) into p1 put p1 into p end if set the numberformat to "0.00" put "" into field "pwert" put "p"&tab&p*100&"%" into line 9 of field "Lsg" end mouseup 104

105 1-Faktor Regressionsanalyse (b 0 0, b 1 0) 1-Faktor Hypothese (beide kontinuierliche Werte: Jahre, Fr.) Alter (Jahre) Salär (CHF) Frage: Hängt das Salär vom Alter ab? Z.B. Je älter man ist, desto mehr verdient man: positive Korrelation (r AS ). H: AS > 0. Korrelationsanalyse, Kurvenanpassung 1-Faktor Regressionsanalyse Salär = b 1 Alter + b 0 Name Alter Gesch. Note Sem. Fach Branche Pos. Salär 7 25 M 6 6 IW Bank SB F 5 5 SW Salär Bank und SB Alter M IW Indus SB M SW Bank SB F 5 8 IW Vers SB M 5 7 IW Vers SB F IW Indus Ka F 4 8 SW Indus Ka M SW Bank Ka F 4 9 SW Vers Ka 210 Salär y = 8.62x R 2 = Alter AUSGABE: ZUSAMMENFASSUNG Regressions-Statistik Multipler Korrelationskoeffizient Bestimmtheitsmaß R2 Adjustiertes Bestimmtheitsmaß Standardfehler Beobachtungen 10 ANOVA Freiheitsgrade (df) Quadratsummen Mittlere (SS) Quadratsumme Prüfgröße (MS) (F) F krit Regression Residue Gesamt Um die Signifikanz der Koeffizienten a und b zu testen, muss man die Regressionsanalyse durchführen. Offenbar sind die beiden Koeffizienten signifikant, denn beide p- Werte sind kleiner als 5%. Wir akzeptieren die Hypothese, dass das Salär vom Alter abhängig ist. Koeffizienten Standardfehler t-statistik P-Wert Untere 95%Obere 95%Untere 95.0%Obere 95.0% Schnittpunkt (Parameter b) Alter (Parameter a) Salär = 8.62xAlter

106 1-Faktor Regressionsanalyse Zusammenhang zwischen der Steigung a und dem Korrelationskoeffizienten r y b y = ax + b dx a = dy dx dy x Regressionslinie: y = ax + b a = r s y / s x r: Regressionskoeffizient s x : Standardabweichung der x Werte s y : Standardabweichung der y Werte b = m y a m x m x : Mittelwert der x Werte m y : Mittelwert der y Werte 106

107 2-Faktor Regressionsanalyse 2-Faktor Hypothese (alles kontinuierliche Werte) Salär = b 1 Alter + b 2 Note + b 0 Alter (Jahre) Note (1-6) Salär (Fr.) Gleiches Vorgehen im EXCEL, wie mit einem Faktor, mit dem Unterschied, dass es zwei x- Variablen (Alter und Note) hat. Gesucht wird das Modell, welches maximales adjustiertes Bestimmtheitsmass (adj. R 2 ) hat und alle Koeffizienten signifikant sind (p <= 5%). Mit beiden Variablen ist das Regressionsmodell nicht zulässig, da der p-wert des Schnittpunktes nicht signifikant ist. Da nur der Koeffizient des Schnittpunkts nicht signifikant ist, kann man in EXCEL den Schnittpunkt = 0 festlegen; Alter und Note sind signifikant und somit wird adj. R 2 = Alter und Note haben grosse Korrelation; das Modell hat somit eine grosse Multikollinearität. Es müsste deshalb untersucht werden, ob nur das Alter als unabhängige Variable genommen werden sollte. Mit nur dem Alter als unabhängige Variable erhält man adj. R 2 = Das Salär hängt vom Alter und von der Note ab? Z.B. Je älter man ist und je besser die Note, desto mehr verdient man (Salär ist lineare Funktion von A und N: S = k 1 xa + k 2 xn + k 3 ). H: k 1 > 0, k 2 > 0, k 3 > 0. 2-Faktor Regressionsanalyse Alter Note Salär Alter 1 Note Salär AUSGABE: ZUSAMMENFASSUNG Regressions-Statistik Multipler Korrelationskoeffizient Bestimmtheitsmaß Adjustiertes Bestimmtheitsmaß Standardfehler Beobachtungen 10 Salär = 7.33xAlter 16.41xNote ANOVA Freiheitsgrade (df) Quadratsummen (SS) Mittlere Quadratsumme (MS) Prüfgröße (F) F krit Regression Residue Gesamt Koeffizienten Standardfehler t-statistik P-Wert Untere 95% Obere 95% Untere 95.0% Schnittpunkt Alter Note

108 Numerische Berechnung der Regression Y b b x... b x Y b b x i 0 0 b ( X T 1 1 X ) 1 1 i1 Y1. n Y Y i. Y n 1 x11.. X 1 xi xn 1 Y Xb 1 b1.. 1 n1, i und b b i.. n bn. x1 j. x1 p.... ( n( p1)). xij. x ip..... xnj. x np X... b x T Y n n n in i ( p1) 1 Alter Salär Salär Salär und Alter y = x Alter Alter Salär XT.X= X = 1 26 Y = (XT.X)^-1= XT= (XT.X)^-1. XT = mal Y = b =

109 Conjoint-Analyse: Was gefällt den Kunden? 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 Bewertung Nr. Pack Marke Preis Test Garantie Rang 1 A I nein nein 13 2 A II nein ja 11 3 A III ja nein 17 4 B I ja ja 2 5 B II nein nein 14 6 B III nein nein 3 7 C I nein ja 12 8 C II ja nein 7 9 C III nein nein 9 10 A I ja nein A II nein ja 8 12 A III nein nein B I nein nein 4 14 B II ja nein 6 15 B III nein ja 5 16 C I nein nein C II nein nein C III ja ja 1 Nur 18 müssen bewertet werden! Faktoren Modell Beispiel web Konstante Verpackung Marke Preis Test Garantie Präferenz eines Produkts = (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) B II nein ja Geschätzter Rang: =

110 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: Plan Anzahl Kombinationen 1 8 4, 3, , , 3 5, , 2 7 Kombinationen der Faktorenausprägungen, die berücksichtigt werden können , 4 6, 3 6, , 8, 7, 6, 5, 4, 3 13, , 3 9, 2 31 Der Exponent entspricht der Anzahl Faktoren und die Basis der Anzahl Ausprägungen pro Faktor 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 (3 5 ); somit eignet sich Plan 4 (3 7 ) mit bis zu 7 Faktoren mit bis zu 3 Ausprägungen; die benötigte Anzahl Kombinationen ist

111 Umsetzung von Plan 4 Faktor Auspr. Bedeutung Pack 0 Pack A Pack 1 Pack B Pack 2 Pack C Marke 0 Marke I Marke 1 Marke II Marke 2 Marke III Preis Preis Preis Test 0 ja Test 1 nein Garan 0 ja Garan 1 nein Nr. Pack Marke Preis Test Garantie Rang 1 A I nein nein 13 2 A II nein ja 11 3 A III ja nein 17 4 B I ja ja 2 5 B II nein nein 14 6 B III nein nein 3 7 C I nein ja 12 8 C II ja nein 7 9 C III nein nein 9 10 A I ja nein A II nein ja 8 12 A III nein nein B I nein nein 4 14 B II ja nein 6 15 B III nein ja 5 16 C I nein nein C II nein nein C III ja ja 1 Plan 4 für 3^7 und 2^7 für 3^7 (mit 0/1/2) für 2^7 (mit 0/1) ja ja ja ja ja 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 Man überprüfe mit der Korrelationsfunktion, dass alle 14 Faktoren untereinander nicht korrelieren (entspricht dem orthogonalen Design). Für bis zu 4 Faktoren mit je 3 Levels nur die ersten 9 Zeilen nehmen. 111

112 Regressionsmodell Var Pack A Pack B MarkI MarkII Test Gara Rang InvR AUSGABE: ZUSAMMENFASSUNG Regressions-Statistik Multipler Korrelationskoeffizient Bestimmtheitsmaß Adjustiertes Bestimmtheitsmaß Standardfehler Beobachtungen ANOVA Freiheitsgrade Quadratsummen (df) Mittlere (SS) Quadratsumme Prüfgröße (MS) (F) F krit Regression E Residue Gesamt KoeffizientenStandardfehler t-statistik P-Wert Untere 95% Obere 95% Untere 95.0% Schnittpunkt E Pack A E Pack B MarkI MarkII E E Test Gara E

113 Interpretation Präferenz = (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 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 Faktor Streuung Rang Verpackung 3.5 (-4.5) = 8 1 Marke 0 (-2) = 2 4 Preis = Test = Garantie = 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.) 113

114 Berechnung der Regression als Entscheidungsproblem Alter Salär Salär Salär und Alter y = x Gesucht sind die Entscheidungsvariablen a und b, so dass die Summe der Quadratabweichungen zwischen beobachteten Salären (S i ) und den mit dem linearen Modell berechneten vorhergesagten Salären (S i = axa i + b), minimal wird: A 5 S 5 a b Alter Salär Alter --> veränderbare Zellen (S 5 axa 5 + b) 2 min : 10 i1 ( S a A b) --> min. Summe der quadratischen Abweichungen zwischen beobachteten Werten und vorhergesagten Werten i i 2 Y b b x... b x Y b b x... b x i i1 Y1 1 b1... n1 n1 ( Y Y i, i und b b i... Y n n bn 1 x11. x1 j. x1 p ( n( p1)) X 1 xi 1. xij. x ip xn 1. xnj. x np Y Xb T 1 b ( X X ) X T Y n n n in i p1) 1 Alter Salär XT.X= X = 1 26 Y = (XT.X)^-1= XT= (XT.X)^-1. XT = mal Y = b =

115 Numerische Regression für Ranking Var Pack A Pack B MarkI MarkII Test Gara Rang InvR Achtung: Bei n >= 10 wird die Determinante 0 und somit die nxn Matrix X T X nicht mehr invertierbar! 115

116 Matrix Operations in LiveCode (1/3) Matrix Multiplication on mouseup -- matrix multiplication global A,B,Z -- Z = A * B set the itemdelimiter to comma put "" into A put "" into B put field "A" into A put field "B" 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 --answer A --answer B if na <> mb then answer "The matrices have the wrong sizes" exit mouseup end if Matrix Tranpose on mouseup -- transposes matrix A into T global A,T set the itemdelimiter to comma --put field "matrix" into A put "" into T put field "A" into A put field "B" into B 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 answer T end mouseup -- set the floatprecision to 8 repeat with i=1 to ma repeat with j=1 to nb put 0 into mysum repeat with k=1 to na put mysum + (item k of line i of A) * (item j of line k of B) into mysum put mysum into item j of line i of Z --answer ""&Z put Z into field "C" end mouseup 116

117 Matrix Operations in LiveCode (2/3) on mouseup global A,E -- A is the matrix to be inverted and E is the inverse set the itemdelimiter to comma put field "A" into A put field "B" into B 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 answer "The matrix is not quadratic" exit mouseup 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 if Austauschverfahren zur Berechnung der Inversen einer Matrix set the numberformat to "# " -- Use the numberformat property to specify the results of numeric calculations -- 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 repeat with k=1 to n 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 -- 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 -- divide each row by its element in position i,i put item i of line i of A into pivot repeat with k=1 to n 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 repeat with k=1 to n 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 put E into field "B" end mouseup 117

118 Matrix Operations in LiveCode (3/3) 118

119 6. DSS für Gruppenentscheidungen und Konfliktlösung Ziel: - Gruppenentscheidungen - Faire Verteilverfahren - Konfliktlösung - Spiel-Theorie 119

120 Aggregation mit Borda Count 3 Alternativen: A1 A2 A A1 > A2 A2 > A

121 Aggregation mit Mehrheitsregel 3 Alternativen: A1 A2 A3 Paradoxon: A1 > A2, A2 > A3 Aber: A1 < A3 super gut OK gut OK super OK super gut super > gut > OK

122 Gerechte Verteilung (Fair Division) 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). App

123 Adjusted Winner Procedure Zwei Personen müssen sich sechs Gegenstände aufteilen, für die sie unterschiedliche Gewichtungen haben: Zweistufiger Verteilungsprozess: 1. 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. 2. 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. Pers 1 Gegenst Pers 2 Ratio 35 Haus Geld Piano TV Hund 10 5 Auto

124 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: 1. West Bank: Verschiedene Teile der WB sind von Israeli bewohnt, die ihre Siedlungen nicht verlassen wollen. 2. 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. 3. 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. 4. Palästinensische Souveränität: Israel anerkennt Palästina nicht als souveränen Staat. 5. Sicherheit: Auf beiden Seiten bestehen (Anschläge, Grenzkontrolle, Sicherheit in Jerusalem). Mittels Expertenbefragungen kommt Massoud zu folgenden annähernden Prioritäten: Israel Thema Palestina Ratio 22 West Bank Ost-Jerusalem Flüchtlinge Souveränität Sicherheit 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. 2. Anpassungen: I gibt Teile der WB an P ab: 42+21x=51+22(1-x) somit: 43x=31 resp. x=31/43; d.h. Israel gibt rund 5/7 der West Bank an die Palästinenser. 124

125 Strategischer Konflikt Zwei Mitarbeiter wissen, dass der Chef ihnen je 60.- Lohnerhöhung geben möchte. Die zwei möchten aber je 80.- 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.- Wie sollen sich die zwei verhalten? 125

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

127 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). S1 S2 S3 Z Z Z Z S1 S2 Z4 6 5 S2 Z4 5 S1 S2 S3 Z Z Z S1 S2 Z1 5 4 Z2 4 5 Z4 6 5 Min in Zeile = Max in Spalte 127

128 Null-Summe, gemischte Strategie als Entscheidungsproblem S1 S2 q 1-q Z1 p 6 3 Z2 1-p 4 5 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)] = 61/21/4 + 31/21/4 + 41/23/4 + 51/23/4 = 4.5 x1 x2 p min x1 x2 p min 1/n Security Level (n*) als mathematische Optimierung E[N(Frau)]: 6p 1 + 4p 2 n* und 3p 1 + 5p 2 n* setzte: x i = p i /n*, wodurch: x 1 + x 2 = 1/n* Somit folgt: min: x 1 + x 2 ; s.d.: 6x 1 + 4x 2 1 und 3x 1 + 5x 2 1 E[N(Mann)]: 6q 1 + 3q 2 n* und 4q 1 + 5q 2 n* setzte: x i = p i /n*, wodurch: x 1 + x 2 = 1/n* Somit folgt: min: x 1 + x 2 ; s.d.: 6x 1 + 3x 2 1 und 4x 1 + 5x

129 Investitionen Investitionen Lösung von Konflikten Investition A Investition B Der erwartete Nutzen (n) der beiden ist: n Lea =100pq+300p(1-q)+0(1-p)q+200(1-p)(1-q) n Jan =100pq+0p(1-q)+300(1-p)q+200(1-p)(1-q) p% 100-p% q% 100-q% Lea Jan A Invesitionen B p% geht zu A und 100-p% zu B q% geht zu A und 100-q% zu B A Lea Jan 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! B Lea A B Jan Invesitionen A B genügend sehr gut genügend schlecht schlecht gut sehr gut 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. 129

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

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

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

p^db=`oj===pìééçêíáåñçêã~íáçå=

p^db=`oj===pìééçêíáåñçêã~íáçå= p^db=`oj===pìééçêíáåñçêã~íáçå= Error: "Could not connect to the SQL Server Instance" or "Failed to open a connection to the database." When you attempt to launch ACT! by Sage or ACT by Sage Premium for

Mehr

USB Treiber updaten unter Windows 7/Vista

USB Treiber updaten unter Windows 7/Vista USB Treiber updaten unter Windows 7/Vista Hinweis: Für den Downloader ist momentan keine 64 Bit Version erhältlich. Der Downloader ist nur kompatibel mit 32 Bit Versionen von Windows 7/Vista. Für den Einsatz

Mehr

1. General information... 2 2. Login... 2 3. Home... 3 4. Current applications... 3

1. General information... 2 2. Login... 2 3. Home... 3 4. Current applications... 3 User Manual for Marketing Authorisation and Lifecycle Management of Medicines Inhalt: User Manual for Marketing Authorisation and Lifecycle Management of Medicines... 1 1. General information... 2 2. Login...

Mehr

Exercise (Part XI) Anastasia Mochalova, Lehrstuhl für ABWL und Wirtschaftsinformatik, Kath. Universität Eichstätt-Ingolstadt 1

Exercise (Part XI) Anastasia Mochalova, Lehrstuhl für ABWL und Wirtschaftsinformatik, Kath. Universität Eichstätt-Ingolstadt 1 Exercise (Part XI) Notes: The exercise is based on Microsoft Dynamics CRM Online. For all screenshots: Copyright Microsoft Corporation. The sign ## is you personal number to be used in all exercises. All

Mehr

If you have any issue logging in, please Contact us Haben Sie Probleme bei der Anmeldung, kontaktieren Sie uns bitte 1

If you have any issue logging in, please Contact us Haben Sie Probleme bei der Anmeldung, kontaktieren Sie uns bitte 1 Existing Members Log-in Anmeldung bestehender Mitglieder Enter Email address: E-Mail-Adresse eingeben: Submit Abschicken Enter password: Kennwort eingeben: Remember me on this computer Meine Daten auf

Mehr

KURZANLEITUNG. Firmware-Upgrade: Wie geht das eigentlich?

KURZANLEITUNG. Firmware-Upgrade: Wie geht das eigentlich? KURZANLEITUNG Firmware-Upgrade: Wie geht das eigentlich? Die Firmware ist eine Software, die auf der IP-Kamera installiert ist und alle Funktionen des Gerätes steuert. Nach dem Firmware-Update stehen Ihnen

Mehr

Vorlesung Algorithmische Geometrie. Streckenschnitte. Martin Nöllenburg 19.04.2011

Vorlesung Algorithmische Geometrie. Streckenschnitte. Martin Nöllenburg 19.04.2011 Vorlesung Algorithmische Geometrie LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 19.04.2011 Überlagern von Kartenebenen Beispiel: Gegeben zwei

Mehr

Anleitung zur Schnellinstallation TFM-560X YO.13

Anleitung zur Schnellinstallation TFM-560X YO.13 Anleitung zur Schnellinstallation TFM-560X YO.13 Table of Contents Deutsch 1 1. Bevor Sie anfangen 1 2. Installation 2 Troubleshooting 6 Version 06.08.2011 1. Bevor Sie anfangen Packungsinhalt ŸTFM-560X

Mehr

Exercise (Part II) Anastasia Mochalova, Lehrstuhl für ABWL und Wirtschaftsinformatik, Kath. Universität Eichstätt-Ingolstadt 1

Exercise (Part II) Anastasia Mochalova, Lehrstuhl für ABWL und Wirtschaftsinformatik, Kath. Universität Eichstätt-Ingolstadt 1 Exercise (Part II) Notes: The exercise is based on Microsoft Dynamics CRM Online. For all screenshots: Copyright Microsoft Corporation. The sign ## is you personal number to be used in all exercises. All

Mehr

Aber genau deshalb möchte ich Ihre Aufmehrsamkeit darauf lenken und Sie dazu animieren, der Eventualität durch geeignete Gegenmaßnahmen zu begegnen.

Aber genau deshalb möchte ich Ihre Aufmehrsamkeit darauf lenken und Sie dazu animieren, der Eventualität durch geeignete Gegenmaßnahmen zu begegnen. NetWorker - Allgemein Tip 618, Seite 1/5 Das Desaster Recovery (mmrecov) ist evtl. nicht mehr möglich, wenn der Boostrap Save Set auf einem AFTD Volume auf einem (Data Domain) CIFS Share gespeichert ist!

Mehr

Abteilung Internationales CampusCenter

Abteilung Internationales CampusCenter Abteilung Internationales CampusCenter Instructions for the STiNE Online Enrollment Application for Exchange Students 1. Please go to www.uni-hamburg.de/online-bewerbung and click on Bewerberaccount anlegen

Mehr

Automatisierte Akzeptanztests für ios-apps. Sven Günther it-agile GmbH

Automatisierte Akzeptanztests für ios-apps. Sven Günther it-agile GmbH Automatisierte Akzeptanztests für ios-apps Sven Günther it-agile GmbH Wer entwickelt native Apps? Wer testet die Apps selbst? Wer hat externe Testdienstleister? Wer hat Unit-Tests? Wer hat Akzeptanztests?

Mehr

Exercise (Part I) Anastasia Mochalova, Lehrstuhl für ABWL und Wirtschaftsinformatik, Kath. Universität Eichstätt-Ingolstadt 1

Exercise (Part I) Anastasia Mochalova, Lehrstuhl für ABWL und Wirtschaftsinformatik, Kath. Universität Eichstätt-Ingolstadt 1 Exercise (Part I) Notes: The exercise is based on Microsoft Dynamics CRM Online. For all screenshots: Copyright Microsoft Corporation. The sign ## is you personal number to be used in all exercises. All

Mehr

Ingenics Project Portal

Ingenics Project Portal Version: 00; Status: E Seite: 1/6 This document is drawn to show the functions of the project portal developed by Ingenics AG. To use the portal enter the following URL in your Browser: https://projectportal.ingenics.de

Mehr

$ % + 0 sonst. " p für X =1 $

$ % + 0 sonst.  p für X =1 $ 31 617 Spezielle Verteilungen 6171 Bernoulli Verteilung Wir beschreiben zunächst drei diskrete Verteilungen und beginnen mit einem Zufallsexperiment, indem wir uns für das Eintreffen eines bestimmten Ereignisses

Mehr

Lesen Sie die Bedienungs-, Wartungs- und Sicherheitsanleitungen des mit REMUC zu steuernden Gerätes

Lesen Sie die Bedienungs-, Wartungs- und Sicherheitsanleitungen des mit REMUC zu steuernden Gerätes KURZANLEITUNG VORAUSSETZUNGEN Lesen Sie die Bedienungs-, Wartungs- und Sicherheitsanleitungen des mit REMUC zu steuernden Gerätes Überprüfen Sie, dass eine funktionsfähige SIM-Karte mit Datenpaket im REMUC-

Mehr

OPERATIONS-RESEARCH (OR)

OPERATIONS-RESEARCH (OR) OPERATIONS-RESEARCH (OR) Man versteht darunter die Anwendung mathematischer Methoden und Modelle zur Vorbereitung optimaler Entscheidungen bei einem Unternehmen. Andere deutsche und englische Bezeichnungen:

Mehr

Technical Information

Technical Information Firmware-Installation nach Einbau des DP3000-OEM-Kits Dieses Dokument beschreibt die Schritte die nach dem mechanischen Einbau des DP3000- OEM-Satzes nötig sind, um die Projektoren mit der aktuellen Firmware

Mehr

Kapitel 3. Zufallsvariable. Wahrscheinlichkeitsfunktion, Dichte und Verteilungsfunktion. Erwartungswert, Varianz und Standardabweichung

Kapitel 3. Zufallsvariable. Wahrscheinlichkeitsfunktion, Dichte und Verteilungsfunktion. Erwartungswert, Varianz und Standardabweichung Kapitel 3 Zufallsvariable Josef Leydold c 2006 Mathematische Methoden III Zufallsvariable 1 / 43 Lernziele Diskrete und stetige Zufallsvariable Wahrscheinlichkeitsfunktion, Dichte und Verteilungsfunktion

Mehr

LINGO: Eine kleine Einführung

LINGO: Eine kleine Einführung LINGO: Eine kleine Einführung Jun.-Prof.Dr. T. Nieberg Lineare und Ganzzahlige Optimierung, WS 2009/10 LINDO/LINGO ist ein Software-Paket, mit dessen Hilfe (ganzzahlige) lineare Programme schnell und einfach

Mehr

Load balancing Router with / mit DMZ

Load balancing Router with / mit DMZ ALL7000 Load balancing Router with / mit DMZ Deutsch Seite 3 English Page 10 ALL7000 Quick Installation Guide / Express Setup ALL7000 Quick Installation Guide / Express Setup - 2 - Hardware Beschreibung

Mehr

Algorithms for graph visualization

Algorithms for graph visualization Algorithms for graph visualization Project - Orthogonal Grid Layout with Small Area W INTER SEMESTER 2013/2014 Martin No llenburg KIT Universita t des Landes Baden-Wu rttemberg und nationales Forschungszentrum

Mehr

RailMaster New Version 7.00.p26.01 / 01.08.2014

RailMaster New Version 7.00.p26.01 / 01.08.2014 RailMaster New Version 7.00.p26.01 / 01.08.2014 English Version Bahnbuchungen so einfach und effizient wie noch nie! Copyright Copyright 2014 Travelport und/oder Tochtergesellschaften. Alle Rechte vorbehalten.

Mehr

Effizienz im Vor-Ort-Service

Effizienz im Vor-Ort-Service Installation: Anleitung SatWork Integrierte Auftragsabwicklung & -Disposition Februar 2012 Disposition & Auftragsabwicklung Effizienz im Vor-Ort-Service Disclaimer Vertraulichkeit Der Inhalt dieses Dokuments

Mehr

USB-Stick (USB-Stick größer 4G. Es ist eine größere Partition notwendig als die eines 4GB Rohlings, der mit NTFS formatiert wurde)

USB-Stick (USB-Stick größer 4G. Es ist eine größere Partition notwendig als die eines 4GB Rohlings, der mit NTFS formatiert wurde) Colorfly i106 Q1 System-Installations-Tutorial Hinweise vor der Installation / Hit for preparation: 准 备 事 项 : 外 接 键 盘 ( 配 套 的 磁 吸 式 键 盘 USB 键 盘 通 过 OTG 插 发 射 器 的 无 线 键 盘 都 可 ); U 盘 ( 大 于 4G 的 空 白 U 盘,

Mehr

HiOPC Hirschmann Netzmanagement. Anforderungsformular für eine Lizenz. Order form for a license

HiOPC Hirschmann Netzmanagement. Anforderungsformular für eine Lizenz. Order form for a license HiOPC Hirschmann Netzmanagement Anforderungsformular für eine Lizenz Order form for a license Anforderungsformular für eine Lizenz Vielen Dank für Ihr Interesse an HiOPC, dem SNMP/OPC Gateway von Hirschmann

Mehr

Restschmutzanalyse Residual Dirt Analysis

Restschmutzanalyse Residual Dirt Analysis Q-App: Restschmutzanalyse Residual Dirt Analysis Differenzwägeapplikation, mit individueller Proben ID Differential weighing application with individual Sample ID Beschreibung Gravimetrische Bestimmung

Mehr

A) Durchsuchen von Datenbanken im Internet durch Endnote

A) Durchsuchen von Datenbanken im Internet durch Endnote EINLEITUNG/ANWEISUNGEN ZU DIESEM TEXT Wir werden die obere Liste (File/ Edit usw.) benutzen, obwohl die meisten Funktionen auch möglich mit rechtem Mausklick, mit Kombinationen der Tastatur oder mit den

Mehr

Installation MySQL Replikationsserver 5.6.12

Installation MySQL Replikationsserver 5.6.12 Ergänzen Konfigurationsdatei my.ini auf Master-Server:!!! softgate gmbh!!! Master und Slave binary logging format - mixed recommended binlog_format = ROW Enabling this option causes the master to write

Mehr

Documentation TYC. Registration manual. Registration and Login. issued 1. April 2013 by EN changed 11. June 2015 by EN version 1 status finished

Documentation TYC. Registration manual. Registration and Login. issued 1. April 2013 by EN changed 11. June 2015 by EN version 1 status finished Documentation TYC Registration manual Registration and Login issued 1. April 2013 by EN changed 11. June 2015 by EN version 1 status finished Content 1 Registration... 3 2 Login... 4 2.1 First login...

Mehr

Parameter-Updatesoftware PF-12 Plus

Parameter-Updatesoftware PF-12 Plus Parameter-Updatesoftware PF-12 Plus Mai / May 2015 Inhalt 1. Durchführung des Parameter-Updates... 2 2. Kontakt... 6 Content 1. Performance of the parameter-update... 4 2. Contact... 6 1. Durchführung

Mehr

Vorlesung Software-Reengineering

Vorlesung Software-Reengineering Vorlesung Software-Reengineering Prof. Dr. R. Koschke 1 D. Simon 2 1 Arbeitsgruppe Softwaretechnik Fachbereich Mathematik und Informatik Universität Bremen 2 Institut für Software Technologie Fakultät

Mehr

Binäre lineare Optimierung mit K*BMDs p.1/42

Binäre lineare Optimierung mit K*BMDs p.1/42 Binäre lineare Optimierung mit K*BMDs Ralf Wimmer wimmer@informatik.uni-freiburg.de Institut für Informatik Albert-Ludwigs-Universität Freiburg Binäre lineare Optimierung mit K*BMDs p.1/42 Grundlagen Binäre

Mehr

Whitepaper. Produkt: combit Relationship Manager. Datensatzhistorie mit dem SQL Server 2000 und 2005. combit GmbH Untere Laube 30 78462 Konstanz

Whitepaper. Produkt: combit Relationship Manager. Datensatzhistorie mit dem SQL Server 2000 und 2005. combit GmbH Untere Laube 30 78462 Konstanz combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: combit Relationship Manager Datensatzhistorie mit dem SQL Server 2000 und 2005 Datensatzhistorie mit dem SQL Server 2000 und 2005-2 - Inhalt

Mehr

Gewöhnliche Differentialgleichungen (ODEs) I

Gewöhnliche Differentialgleichungen (ODEs) I Gewöhnliche Differentialgleichungen (ODEs) I Autor: Harald Höller letzte Änderung: 17.03.10 Lizenz: Creative Commons Lizenz by-nc-sa 3.0 at Differentialgleichungen lösen und plotten in Mathematica Grundlegendes

Mehr

MySQL Queries on "Nmap Results"

MySQL Queries on Nmap Results MySQL Queries on "Nmap Results" SQL Abfragen auf Nmap Ergebnisse Ivan Bütler 31. August 2009 Wer den Portscanner "NMAP" häufig benutzt weiss, dass die Auswertung von grossen Scans mit vielen C- oder sogar

Mehr

Simplex-Umformung für Dummies

Simplex-Umformung für Dummies Simplex-Umformung für Dummies Enthält die Zielfunktion einen negativen Koeffizienten? NEIN Optimale Lösung bereits gefunden JA Finde die Optimale Lösung mit dem Simplex-Verfahren! Wähle die Spalte mit

Mehr

FAQ - Häufig gestellte Fragen zur PC Software iks AQUASSOFT FAQ Frequently asked questions regarding the software iks AQUASSOFT

FAQ - Häufig gestellte Fragen zur PC Software iks AQUASSOFT FAQ Frequently asked questions regarding the software iks AQUASSOFT FAQ - Häufig gestellte Fragen zur PC Software iks AQUASSOFT FAQ Frequently asked questions regarding the software iks AQUASSOFT Mit welchen Versionen des iks Computers funktioniert AQUASSOFT? An Hand der

Mehr

Hochschule Karlsruhe Technik und Wirtschaft- 10.7.2013. Anhänge: Fakultät für Informatik und Wirtschaftsinformatik SS 2013 Prof. Schmidt.

Hochschule Karlsruhe Technik und Wirtschaft- 10.7.2013. Anhänge: Fakultät für Informatik und Wirtschaftsinformatik SS 2013 Prof. Schmidt. Fakultät für Informatik und Wirtschaftsinformatik SS 2013 Datenbanken und Informationssysteme II Szenario: Projektverwaltung. Es gibt Projekte, Projektleiter, Mitarbeiter und ihre Zuordnung zu Projekten.

Mehr

ReadMe zur Installation der BRICKware for Windows, Version 6.1.2. ReadMe on Installing BRICKware for Windows, Version 6.1.2

ReadMe zur Installation der BRICKware for Windows, Version 6.1.2. ReadMe on Installing BRICKware for Windows, Version 6.1.2 ReadMe zur Installation der BRICKware for Windows, Version 6.1.2 Seiten 2-4 ReadMe on Installing BRICKware for Windows, Version 6.1.2 Pages 5/6 BRICKware for Windows ReadMe 1 1 BRICKware for Windows, Version

Mehr

Risiko und Versicherung - Übung

Risiko und Versicherung - Übung Sommer 2009 Risiko und Versicherung - Übung Entscheidungstheoretische Grundlagen Renate Bodenstaff Vera Brinkmann r.bodenstaff@uni-hohenheim.de vera.brinkmann@uni-hohenheim.de https://insurance.uni-hohenheim.de

Mehr

Anleitung zur Schnellinstallation TE100-P1U

Anleitung zur Schnellinstallation TE100-P1U Anleitung zur Schnellinstallation TE100-P1U V2 Table of Contents Deutsch 1 1. Bevor Sie anfangen 1 2. Installation 2 3. Konfiguration des Druckservers 3 4. Hinzufügen des Druckers zu Ihren PC-Einstellungen

Mehr

ORM & OLAP. Object-oriented Enterprise Application Programming Model for In-Memory Databases. Sebastian Oergel

ORM & OLAP. Object-oriented Enterprise Application Programming Model for In-Memory Databases. Sebastian Oergel ORM & OLAP Object-oriented Enterprise Application Programming Model for In-Memory Databases Sebastian Oergel Probleme 2 Datenbanken sind elementar für Business-Anwendungen Gängiges Datenbankparadigma:

Mehr

Technical Support Information No. 123 Revision 2 June 2008

Technical Support Information No. 123 Revision 2 June 2008 I IA Sensors and Communication - Process Analytics - Karlsruhe, Germany Page 6 of 10 Out Baking Of The MicroSAM Analytical Modules Preparatory Works The pre-adjustments and the following operations are

Mehr

FIRMWARE UPDATE TAPMOTION TD

FIRMWARE UPDATE TAPMOTION TD FIRMWARE UPDATE TAPMOTION TD CMP-SPF TO WHOM IT MAY CONCERN Seite 1 von 9 Inhalt / Overview 1. Firmware überprüfen und Update-file auswählen / Firmware check and selection of update file 2. Update File

Mehr

Cross-Platform Mobile Apps

Cross-Platform Mobile Apps Cross-Platform Mobile Apps 05. Juni 2013 Martin Wittemann Master of Science (2009) Arbeitet bei 1&1 Internet AG Head of Frameworks & Tooling Tech Lead von qooxdoo Plattformen Java ME 12 % Rest 7 % Android

Mehr

Prediction Market, 28th July 2012 Information and Instructions. Prognosemärkte Lehrstuhl für Betriebswirtschaftslehre insbes.

Prediction Market, 28th July 2012 Information and Instructions. Prognosemärkte Lehrstuhl für Betriebswirtschaftslehre insbes. Prediction Market, 28th July 2012 Information and Instructions S. 1 Welcome, and thanks for your participation Sensational prices are waiting for you 1000 Euro in amazon vouchers: The winner has the chance

Mehr

NoSQL mit Postgres 15. Juni 2015

NoSQL mit Postgres 15. Juni 2015 Tag der Datenbanken 15. Juni 2015 Dipl.-Wirt.-Inform. Agenda l Vorstellung l Marktübersicht l Warum PostgreSQL? l Warum NoSQL? l Beispielanwendung Seite: 2 Vorstellung Dipl.-Wirt.-Inform. [1990] Erste

Mehr

Seminar Finanzmathematik

Seminar Finanzmathematik Seminar Finanzmathematik Simulationen zur Black-Scholes Formel Seite 1 von 24 Zufallszahlen am Computer 3 Gleichverteilte Zufallszahlen 3 Weitere Verteilungen 3 Quadratische Verteilung 4 Normalverteilung

Mehr

Approximation von Warteschlangenkennzahlen mit Künstlichen Neuronalen Netzen

Approximation von Warteschlangenkennzahlen mit Künstlichen Neuronalen Netzen Optimale Echtzeit-Personaleinsatzplanung durch Approximation von Warteschlangenkennzahlen mit Künstlichen Neuronalen Netzen 7.05.2006 Frank Köller koeller@iwi.uni-hannover.de Gliederung Motivation Vorgehensweise

Mehr

Fachhochschule Kaiserslautern Labor Datenbanken mit MySQL SS2006 Versuch 1

Fachhochschule Kaiserslautern Labor Datenbanken mit MySQL SS2006 Versuch 1 Fachhochschule Kaiserslautern Fachbereiche Elektrotechnik/Informationstechnik und Maschinenbau Labor Datenbanken Versuch 1 : Die Grundlagen von MySQL ------------------------------------------------------------------------------------------------------------

Mehr

EMCO Installationsanleitung Installation instructions

EMCO Installationsanleitung Installation instructions EMCO Installationsanleitung Installation instructions Installationsanleitung Installation instructions Digitalanzeige digital display C40, FB450 L, FB600 L, EM 14D/17D/20D Ausgabe Edition A 2009-12 Deutsch...2

Mehr

Selbststudium OOP5 21.10.2011 Programmieren 1 - H1103 Felix Rohrer

Selbststudium OOP5 21.10.2011 Programmieren 1 - H1103 Felix Rohrer Kapitel 4.1 bis 4.3 1. zu bearbeitende Aufgaben: 4.1 4.1: done 2. Was verstehen Sie unter einem "Java-Package"? Erweiterungen verschiedener Klassen welche in Java benutzt werden können. 3. Sie möchten

Mehr

Programmierung eines GIMP-Plugin

Programmierung eines GIMP-Plugin Programmierung eines GIMP-Plugin Was ist GIMP? GNU Image Manipulation Program Bildbearbeitungssoftware Bildkonvertierer Open Source Erweiterbar durch Plugins Mögliche Programmiersprachen für Plugin-Entwicklung

Mehr

Mul$media im Netz (Online Mul$media) Wintersemester 2014/15. Übung 02 (Nebenfach)

Mul$media im Netz (Online Mul$media) Wintersemester 2014/15. Übung 02 (Nebenfach) Mul$media im Netz (Online Mul$media) Wintersemester 2014/15 Übung 02 (Nebenfach) Mul=media im Netz WS 2014/15 - Übung 2-1 Organiza$on: Language Mul=ple requests for English Slides Tutorial s=ll held in

Mehr

php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe...

php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe... php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe...7 3.Zugriff auf mysql Daten...11 Verteilte Systeme: php.sxw Prof.

Mehr

WTFJS? EnterJS 2014. Matthias Reuter / @gweax

WTFJS? EnterJS 2014. Matthias Reuter / @gweax WTFJS? EnterJS 2014 Matthias Reuter / @gweax Grafik: Angus Croll @angustweets 0.1 + 0.2» 0.30000000000000004 CC-BY-SA https://www.flickr.com/photos/keith_and_kasia/7902026314/ Computer! Binärsystem! Endliche

Mehr

Partner Self Service

Partner Self Service Partner Self Service Leitfaden zum Updaten Ihrer Company Daten Gerda Tiefenbacher-Magerl 846_07_2003_c0 2003 Cisco Systems, Inc. All rights reserved. Inhalt:. Access zu Partner Self Service 2. Partner

Mehr

EEX Kundeninformation 2002-09-11

EEX Kundeninformation 2002-09-11 EEX Kundeninformation 2002-09-11 Terminmarkt Bereitstellung eines Simulations-Hotfixes für Eurex Release 6.0 Aufgrund eines Fehlers in den Release 6.0 Simulations-Kits lässt sich die neue Broadcast-Split-

Mehr

Kurs 1575, Musterlösung zur Winter Klausur 2002/03

Kurs 1575, Musterlösung zur Winter Klausur 2002/03 1 0 Kurs 1575, Musterlösung zur Klausur im Wintersemester 2002/03 1 Kurs 1575, Musterlösung zur Winter Klausur 2002/03 Aufgabe 1: Warteschlange Wer kennt das Problem nicht? Sie wollen noch schnell im Supermarkt

Mehr

Log Parser 2.0 HackerScan.js. Beschreibung. Anforderungen. Unterstützte Plattformen. Script-Code. Zurück zur Übersichtsseite

Log Parser 2.0 HackerScan.js. Beschreibung. Anforderungen. Unterstützte Plattformen. Script-Code. Zurück zur Übersichtsseite Zurück zur Übersichtsseite Log Parser 2.0 HackerScan.js (Engl. Originaltitel: HackerScan.js) Beschreibung Dieses Script sucht in allen IIS-Protokolldateien (IIS-, HTTPError- und UrlScan-Protokolldateien)

Mehr

Data Cube. Aggregation in SQL. Beispiel: Autoverkäufe. On-line Analytical Processing (OLAP) 1. Einführung. 2. Aggregation in SQL, GROUP BY

Data Cube. Aggregation in SQL. Beispiel: Autoverkäufe. On-line Analytical Processing (OLAP) 1. Einführung. 2. Aggregation in SQL, GROUP BY Data Cube On-line Analytical Processing (OLAP). Einführung Ziel: Auffinden interessanter Muster in großen Datenmengen 2. Aggregation in SQL, GROUP BY 3. Probleme mit GROUP BY 4. Der Cube-Operator! Formulierung

Mehr

Frequently asked Questions for Kaercher Citrix (apps.kaercher.com)

Frequently asked Questions for Kaercher Citrix (apps.kaercher.com) Frequently asked Questions for Kaercher Citrix (apps.kaercher.com) Inhalt Content Citrix-Anmeldung Login to Citrix Was bedeutet PIN und Token (bei Anmeldungen aus dem Internet)? What does PIN and Token

Mehr

Transaktionen in der Praxis. Dr. Karsten Tolle

Transaktionen in der Praxis. Dr. Karsten Tolle Transaktionen in der Praxis Dr. Karsten Tolle Praxisbeispiel in Java Connection con = null; try { con = DriverManager.getConnection("jdbc:db2:sample"); } catch (Exception e) { e.printstacktrace(); } con.setautocommit(false);

Mehr

SmartClass Firmware-Update Vorgehensweise

SmartClass Firmware-Update Vorgehensweise Benutzeranweisungen SmartClass Firmware-Update Vorgehensweise 2008.01 (V 1.x.x) Deutsch Please direct all enquiries to your local JDSU sales company. The addresses can be found at: www.jdsu.com/tm-contacts

Mehr

Agilo [1] ist ein auf Trac [2] basierendes Scrum [3] Tool. Im Folgenden soll eine kurze Überischt gegeben werden, wie Agilo benutzt wird.

Agilo [1] ist ein auf Trac [2] basierendes Scrum [3] Tool. Im Folgenden soll eine kurze Überischt gegeben werden, wie Agilo benutzt wird. AGILO HOWTO Agilo [1] ist ein auf Trac [2] basierendes Scrum [3] Tool. Im Folgenden soll eine kurze Überischt gegeben werden, wie Agilo benutzt wird. ROLLEN IM TEAM In Scrum hat jedes Teammitglied eine

Mehr

LabVIEW Power Programming. Amadeo Vergés www.zuehlke.com

LabVIEW Power Programming. Amadeo Vergés www.zuehlke.com LabVIEW Power Programming Aus der Praxis für die Praxis Amadeo Vergés www.zuehlke.com LabVIEW Power Programming Aus der Praxis für die Praxis the same procedure as every year? Running gags in der LabVIEW

Mehr

11: Echtzeitbetriebssystem ucos-ii

11: Echtzeitbetriebssystem ucos-ii 11: Echtzeitbetriebssystem ucos-ii Sie lernen anhand aufeinander aufbauender Übungen, welche Möglichkeiten ein Echtzeitbetriebssystem wie das ucosii bietet und wie sich damit MC-Applikationen realisieren

Mehr

http://www.stud.uni-potsdam.de/~hoeffi/gdb.html#wozu

http://www.stud.uni-potsdam.de/~hoeffi/gdb.html#wozu gdb: debugging code In der Vorlesung hatte ich Teile von http://www.stud.uni-potsdam.de/~hoeffi/gdb.html#wozu und ein eigenes Beispiel diskutiert. Ein Debugger soll helfen Fehler im Programm, die sich

Mehr

Integration von KS-Hostmonitor in itop

Integration von KS-Hostmonitor in itop Integration von KS-Hostmonitor in itop Itop ist ein Konfigurationsmanagement und Ticketsystem von combodo (www.combodo.com) KS Advanced Hostmonitor ist ein Netzwerkmonitoring Tool von KS-Soft (www.ks-soft.net)

Mehr

Software Engineering Übung 5 Verträge, Aufwand- und Risikoschätzung

Software Engineering Übung 5 Verträge, Aufwand- und Risikoschätzung software evolution & architecture lab Software Engineering Übung 5 Verträge, Aufwand- und Risikoschätzung 1 Informationen 1.1 Daten Ausgabe Di 10.11.2009 Abgabe So 22.11.2009 bis 23:59 Uhr Besprechung

Mehr

Klausur Verteilte Systeme

Klausur Verteilte Systeme Klausur Verteilte Systeme SS 2005 by Prof. Walter Kriha Klausur Verteilte Systeme: SS 2005 by Prof. Walter Kriha Note Bitte ausfüllen (Fill in please): Vorname: Nachname: Matrikelnummer: Studiengang: Table

Mehr

Übungsblatt 8- Lösungsvorschlag

Übungsblatt 8- Lösungsvorschlag Universität Innsbruck - Institut für Informatik Prof. Günther Specht, R.Binna, N.Krismer, M. Tschuggnall 30. November 2012 Proseminar Datenbanksysteme Übungsblatt 8- Lösungsvorschlag Aufgabe 1 (Trigger)

Mehr

Lehrstuhl für Allgemeine BWL Strategisches und Internationales Management Prof. Dr. Mike Geppert Carl-Zeiß-Str. 3 07743 Jena

Lehrstuhl für Allgemeine BWL Strategisches und Internationales Management Prof. Dr. Mike Geppert Carl-Zeiß-Str. 3 07743 Jena Lehrstuhl für Allgemeine BWL Strategisches und Internationales Management Prof. Dr. Mike Geppert Carl-Zeiß-Str. 3 07743 Jena http://www.im.uni-jena.de Contents I. Learning Objectives II. III. IV. Recap

Mehr

Seminar Finanzmathematik

Seminar Finanzmathematik Seminar Finanzmathematik Simulationen zur Black-Scholes Formel von Christian Schmitz Übersicht Zufallszahlen am Computer Optionspreis als Erwartungswert Aktienkurse simulieren Black-Scholes Formel Theorie

Mehr

Nachtrag: Farben. Farbblindheit. (Light und Bartlein 2004)

Nachtrag: Farben. Farbblindheit. (Light und Bartlein 2004) Nachtrag: Farben Farbblindheit (Light und Bartlein 2004) 1 Vorgeschlagene Farbskalen (Light and Bartlein 2004) Farbkodierung metrisch skalierter Daten Unterscheide: 1. Sequential Data (ohne Betonung der

Mehr

Einkommensaufbau mit FFI:

Einkommensaufbau mit FFI: For English Explanation, go to page 4. Einkommensaufbau mit FFI: 1) Binäre Cycle: Eine Position ist wie ein Business-Center. Ihr Business-Center hat zwei Teams. Jedes mal, wenn eines der Teams 300 Punkte

Mehr

USBASIC SAFETY IN NUMBERS

USBASIC SAFETY IN NUMBERS USBASIC SAFETY IN NUMBERS #1.Current Normalisation Ropes Courses and Ropes Course Elements can conform to one or more of the following European Norms: -EN 362 Carabiner Norm -EN 795B Connector Norm -EN

Mehr

Digital Rights Management (DRM) Verfahren, die helfen Rechte an virtuellen Waren durchzusetzen. Asset Management in Second Life

Digital Rights Management (DRM) Verfahren, die helfen Rechte an virtuellen Waren durchzusetzen. Asset Management in Second Life Digital Rights Management (DRM) Verfahren, die helfen Rechte an virtuellen Waren durchzusetzen Vorlesung im Sommersemester 2007 an der Technischen Universität Ilmenau von Privatdozent Dr.-Ing. habil. Jürgen

Mehr

Abschnitt: Algorithmendesign und Laufzeitanalyse

Abschnitt: Algorithmendesign und Laufzeitanalyse Abschnitt: Algorithmendesign und Laufzeitanalyse Definition Divide-and-Conquer Paradigma Divide-and-Conquer Algorithmen verwenden die Strategien 1 Divide: Teile das Problem rekursiv in Subproblem gleicher

Mehr

Formatting the TrekStor i.beat run

Formatting the TrekStor i.beat run DE EN Formatting the TrekStor i.beat run Formatierung des TrekStor i.beat run a Beim Formatieren werden ALLE Daten auf dem MP3-Player gelöscht. In diesem Abschnitt wird Ihnen erläutert, wie Sie Ihren MP3-Player

Mehr

PIWIN 1 Übung Blatt 5

PIWIN 1 Übung Blatt 5 Fakultät für Informatik Wintersemester 2008 André Gronemeier, LS 2, OH 14 Raum 307, andre.gronemeier@cs.uni-dortmund.de PIWIN 1 Übung Blatt 5 Ausgabedatum: 19.12.2008 Übungen: 12.1.2009-22.1.2009 Abgabe:

Mehr

Modul G.1 WS 07/08: Statistik 17.01.2008 1. Die Korrelation ist ein standardisiertes Maß für den linearen Zusammenhangzwischen zwei Variablen.

Modul G.1 WS 07/08: Statistik 17.01.2008 1. Die Korrelation ist ein standardisiertes Maß für den linearen Zusammenhangzwischen zwei Variablen. Modul G.1 WS 07/08: Statistik 17.01.2008 1 Wiederholung Kovarianz und Korrelation Kovarianz = Maß für den linearen Zusammenhang zwischen zwei Variablen x und y Korrelation Die Korrelation ist ein standardisiertes

Mehr

PocketCinema A100 W WiFi Connection Guide. PocketCinema A100W. WiFi Connection Guide. for Local version: 12718. Page 1

PocketCinema A100 W WiFi Connection Guide. PocketCinema A100W. WiFi Connection Guide. for Local version: 12718. Page 1 PocketCinema A100W WiFi Connection Guide for Local version: 12718 Page 1 1. Apple AirPlay Mode (peer to peer) a. Turn on the A100W and wait until the SSID & Password information is shown on the top of

Mehr

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny Grundlagen der Informatik Prof. Dr. Stefan Enderle NTA Isny 2 Datenstrukturen 2.1 Einführung Syntax: Definition einer formalen Grammatik, um Regeln einer formalen Sprache (Programmiersprache) festzulegen.

Mehr

Dipl. Inf. Eric Winter. PostgreSQLals HugeData Storage Ein Erfahrungsbericht

Dipl. Inf. Eric Winter. PostgreSQLals HugeData Storage Ein Erfahrungsbericht Dipl. Inf. Eric Winter Entwicklungsleiter PTC GPS-Services GmbH PostgreSQLals HugeData Storage Ein Erfahrungsbericht Inhalt 1. Problembeschreibung 2. Partielle Indexierung 3. Partitionierung 1. Vererbung

Mehr

Approximationsalgorithmen

Approximationsalgorithmen Ausarbeitung zum Thema Approximationsalgorithmen im Rahmen des Fachseminars 24. Juli 2009 Robert Bahmann robert.bahmann@gmail.com FH Wiesbaden Erstellt von: Robert Bahmann Zuletzt berarbeitet von: Robert

Mehr

Instruktionen Mozilla Thunderbird Seite 1

Instruktionen Mozilla Thunderbird Seite 1 Instruktionen Mozilla Thunderbird Seite 1 Instruktionen Mozilla Thunderbird Dieses Handbuch wird für Benutzer geschrieben, die bereits ein E-Mail-Konto zusammenbauen lassen im Mozilla Thunderbird und wird

Mehr

Virtualisierung fur Einsteiger

Virtualisierung fur Einsteiger Brochure More information from http://www.researchandmarkets.com/reports/3148674/ Virtualisierung fur Einsteiger Description: Virtualisierung von Grund auf verstehen Für die meisten Administratoren gehört

Mehr

Object Relational Mapping Layer

Object Relational Mapping Layer Object Relational Mapping Layer Views Controlers Business logic GUI OO-application logic Object-relational-Mapping Relational DBMS PHP (propel) 1/18 Propel - Persistance Layer OR-Mapper für PHP Portierung

Mehr

Die Ökonomie von Glücksspielen

Die Ökonomie von Glücksspielen Die Ökonomie von Glücksspielen Teil II: Risiko, Unsicherheit, EVF-Model Dr. Ingo Fiedler 09.04.2013 Organisatorisches Keine Verschiebung der Veranstaltung Eventuell: Beginn bereits um 16Uhr? Erinnerung:

Mehr

ERANGER 3.5.4 (FREEBSD) ERANGER 3.6.4 (RHEL) Release Announcement

ERANGER 3.5.4 (FREEBSD) ERANGER 3.6.4 (RHEL) Release Announcement ERANGER 3.5.4 (FREEBSD) ERANGER 3.6.4 (RHEL) Release Announcement 6. November 2014 2014 Junisphere Systems AG Junisphere Systems AG Glatt Tower, P.O. Box CH-8301 Glattzentrum Tel. +41 (0)43 443 31 80 info@junisphere.net

Mehr

PostgreSQL in großen Installationen

PostgreSQL in großen Installationen PostgreSQL in großen Installationen Cybertec Schönig & Schönig GmbH Hans-Jürgen Schönig Wieso PostgreSQL? - Die fortschrittlichste Open Source Database - Lizenzpolitik: wirkliche Freiheit - Stabilität,

Mehr

SolidQ Flex Services Walkthrough Part I

SolidQ Flex Services Walkthrough Part I Part I Im Folgenden stellen wir Ihnen in Text und Bild die wichtigsten Funktionen der SolidQ Flex Services vor. 1. Dashboard Nach dem Einloggen sieht man zunächst das Dashboard. Dies gilt sowohl für den

Mehr

Elemente der Analysis II

Elemente der Analysis II Elemente der Analysis II Kapitel 3: Lineare Abbildungen und Gleichungssysteme Informationen zur Vorlesung: http://www.mathematik.uni-trier.de/ wengenroth/ J. Wengenroth () 15. Mai 2009 1 / 35 3.1 Beispiel

Mehr

Lua - Erste Schritte in der Programmierung

Lua - Erste Schritte in der Programmierung Lua - Erste Schritte in der Programmierung Knut Lickert 7. März 2007 Dieser Text zeigt einige einfache Lua-Anweisungen und welchen Effekt sie haben. Weitere Informationen oder eine aktuelle Version dieses

Mehr

UM ALLE DATEN ZU KOPIEREN. ZUNÄCHST die Daten des alten Telefons auf einen Computer kopieren

UM ALLE DATEN ZU KOPIEREN. ZUNÄCHST die Daten des alten Telefons auf einen Computer kopieren LUMIA mit WP8 IPHONE Daten des alten Telefons auf einen Computer kopieren Software von welcomehome.to/nokia auf Ihrem PC oder Mac. verbinden Sie Ihr altes Telefon über 3. Wenn Sie Outlook nutzen, öffnen

Mehr

Aufgabenblatt 10 zur Lehrveranstaltung Quantitative Methoden der Betriebswirtschaftslehre I Frühjahrssemester 2015

Aufgabenblatt 10 zur Lehrveranstaltung Quantitative Methoden der Betriebswirtschaftslehre I Frühjahrssemester 2015 Universität Bern Bern, den 27. April 2015 Professur für Quantitative Methoden der BWL Schützenmattstr. 14, 3012 Bern Prof. Dr. Norbert Trautmann, Oliver Strub E-Mail: oliver.strub@pqm.unibe.ch Fragestunde

Mehr

Hadoop. Simon Prewo. Simon Prewo

Hadoop. Simon Prewo. Simon Prewo Hadoop Simon Prewo Simon Prewo 1 Warum Hadoop? SQL: DB2, Oracle Hadoop? Innerhalb der letzten zwei Jahre hat sich die Datenmenge ca. verzehnfacht Die Klassiker wie DB2, Oracle usw. sind anders konzeptioniert

Mehr