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 Approximation von Kennzahlen für Warteschlangensysteme, bei denen analytische Lösungen existieren Approximation von Kennzahlen für Warteschlangensysteme, bei denen keine analytische Lösungen existieren Onlinetest und Praxiseinsatz Krümmungstensoren und Gesamtkrümmung Fazit und Ausblick 7.05.2006 2
Motivation Optimierung von Warteschlangensystemen durch Approximation mit neuronalen Netzen (NN) ist nur unzureichend in der Literatur beschrieben Für die meisten Warteschlangenmodellen können keine analytischen Lösungen gefunden werden Bisher wurden solche Modelle nur mit aufwendigen diskreten Simulationen gelöst Lösungen mit NN bieten die Möglichkeit, schnell auswertbare analytische Funktionen zu generieren A priori ist nur eine begrenzte Anzahl an Simulationen zur Mustergenerierung für das Training der NN notwendig 7.05.2006 3 Motivation Call-Center-Marktentwicklung (Deutschland) Veränderte Rahmenbedingungen: wirtschaftlicher Stillstand, Kostendruck und dennoch hohe Service-Erwartungen Stagnation im Call Center Markt http://www.hefehof.de/homepage/bhw/bhw.htm Steigender Kostendruck in Call Centern 75% des Gesamtbudgets sind personalbezogene Ausgaben (Gehälter, Personalauswahl, Schulung und Training) Maßnahmen zur Kostensenkung (Call-Center-Benchmark-Kooperationsprojekt: Purdue University, Universität Hamburg, Initiator der profitel MANAGEMENT CONSULTING http://www.callcenter-benchmark.de/) 7.05.2006 4
Vorgehensweise Approximation von Kennzahlen für Warteschlangensysteme, bei denen analytische Lösungen existieren M/M/c-Modell Simulation Call Center NN Training Analyse Auswertung Transfer der Erkenntnisse Maple C++ FAUN Maple FAUN = Fast Approximation with Universal Neural Networks (Neurosimulator) Maple: Computeralgebra-Software Approximation von Kennzahlen für Warteschlangensysteme, bei denen keine analytische Lösungen existieren 7.05.2006 5 Das M/M/c-System und ein Inbound-Call-Center Voraussetzung für das M/M/c-Modell: Anrufe gehen mit der durchschnittlichen Rate λ ein Durchschnittlichen Bearbeitungsrate der c identischen Agenten ist µ (wobei λ < cµ sein soll) Zwischenankunftszeiten und die Bearbeitungszeiten sind unabhängig exponentialverteilt Der Warteraum ist unendlich groß Alle Anrufer sind geduldig 7.05.2006 6
Simulation des Inbound-Call-Centers Simulation mit Maple und C++ Beispiel: Simulation der mittleren Wartezeit 349 Simulationspunkte (5.000 Anrufer/Punkt) Anzahl der Agenten c =, 2,, 20 Bedienrate µ = /3 Ankunftsrate λ < cµ 7.05.2006 7 Approximation mit dem Neurosimulator FAUN Wichtigste Entscheidungsvariablen für einen Call Center Manager Approximierte durchs. Wartezeit der Kunden in der Warteschleife Approximierter Auslastungsgrad 7.05.2006 8
Approximation mit dem Neurosimulator FAUN Vergleich der analytischen Lösung mit dem neuronalen Netz analytische Lsg = Gitternetz neuronale Netz = Farbfläche 0.000 simulierte Anrufer absolute Differenz der beiden Lösungen in Minuten 7.05.2006 9 Ziel: Neuronale Netze (NN) zu finden, welche unterstützend bei der Personaleinsatzplanung im BHW eingesetzt werden können BHW Direktservice GmbH Reale Daten Analyse Aufbereitung Simulation NN Training Analyse Auswertung Praxiseinsatz Onlinetest Excel C++ FAUN Maple Arena Input Analyser Arena: Simulationssoftware FAUN = Fast Approximation with Universal Neural Networks (Neurosimulator) Maple: Computeralgebra-Software 7.05.2006 0
Reale Daten der BHW Direktservice GmbH Verschiedene Hotlines werden betrachtet Aggregierte Daten (Juli - September) in Blöcken von je 5 Min: Datum und Uhrzeit (5 Minutenintervalle) Wartezeit (Summe über alle Anrufer in Sekunden) Angenommen Aufleger Timeout (Zeitüberschreitung länger als z.b. 70 s) Angenommen innerhalb des Servicelevels (von 20 s) Gesprächszeit (Summe aller Gespräche in Sekunden) Haltezeit Nachbearbeitungszeiten Anrufer gesamt (in einer Viertelstunde) durchschnittliche Gesprächzeit pro Kunde 7.05.2006 Aufbereitung und Analyse der Reale Daten Anrufaufkommen je Periode 00 90 80 70 60 50 40 30 20 0 0 4.7.05 0:00 4.7.05 2:00 5.7.05 0:00 5.7.05 2:00 6.7.05 0:00 6.7.05 2:00 7.7.05 0:00 7.7.05 2:00 8.7.05 0:00 8.7.05 2:00 Quelle: BHW Direktservice GmbH, Datenerhebung der KBC-Hotline im Zeitraum vom 04. 08.07.2005 9.7.05 0:00 7.05.2006 2
Aufbereitung und Analyse der Reale Daten Verteilung Zwischenankunftszeiten KBC-Hotline (hier Bsp.: 0:00 - :00 Uhr mit 248 Daten) Absolute Häufigkeiten Relative Häufigkeit Erlangenverteilung mit Erwartungswert: 7,4 und Standardabweichung: 3,07 bestimmt mit dem Input Analyser von Arena durchschnittliche Zwischenankunftszeit 7.05.2006 3 Simulation der verschiedenen Hotlines Für jede Stunde werden hunderttausende Anrufe simuliert Erlangenverteilte Zwischenankunftszeiten Gammaverteilte Gesprächzeiten Gammaverteilte Nachbearbeitungszeiten (+5 s) Warteschlangenkennzahlen als Output der Simulation Durchschnittliche Wartezeit Mittlere Schlangenlänge Auslastungsgrad der Agenten Servicelevel (z.b.: 70/20) Durchs. Wartezeit (s) Agenten Ankunftsrate (/s) 7.05.2006 4
Training der Künstlichen Neuronalen Netze Input: Output: Uhrzeit Ankunftsrate Künstliches Neuronales Netz Anzahl Agenten Servicelevel 7.05.2006 5 Auswertung der Neuronalen Netze Trainingsfehler: 0,539 durchs. prozentuale Fehler:,3% 7.05.2006 6
Onlinetest der Neuronalen Netz Unterstützende Echtzeitsteuerung der Agentenanzahl Implementierung der NN z. B. in Excel Beispiel KBC-Hotline (Abgleich mit historischen Daten): 7.05.2006 7 Praxiseinsatz der Neuronalen Netze Approximierte Kennzahlen, wie z.b. Anzahl Agenten oder Auslastungsgrad der Agenten können z. B. leicht in Excel als Funktionen implementiert werden Sehr schnelle Auswertung der NN Es ist so möglich im laufenden Betrieb des Call Centers mit NN unterstützend die benötigte Agentenanzahl zu bestimmen Es müssen allerdings zur genauen Personaleinsatzplanung eines Teams alle eingehenden Hotlines mit NN berücksichtigt werden Schnittstellenproblematik: Alle Inputs (Ankunftsrate, Servicelevel, Uhrzeit) müssen dem NN zur Verfügung gestellt werden 7.05.2006 8
Zu starke Annäherung an die Muster Problemstellung hinreichend genau erlernt Wartezeit Neuronales Netz Wartezeit Analytische Lösung Neuronales Netz Ankunftsrate Bedienrate Ankunftsrate Bedienrate Sehr niedriger Trainingsfehler Höherer aber noch akzeptabler Trainingsfehler 7.05.2006 9 Krümmungstensoren und Gesamtkrümmung 4-lagiges Perzeptron mit Shortcuts n3 n2 + n 3;4 2;3 ;4 *( ) tanh tanh, tanh e + ne+ f x = wj wi j wk, i xk + wk xk j= i= k= k= 3;4 ;4 mit zusätzlich w = Gewichte Schicht 3 nach 4, w = Shortcuts j 2 n3 n2 ne + n2 ne + f *( x) 2 3;4 2 2;3 2;3 2 ;4 2 *( ) ( *( ) ) + + = f x f x wj tanh wi, j tanh wk, i xk wi, j tanh wk, i xk wm, i + w m xm x l j= i= k= i= k= + n2 n2 + + n3 ne ne + + 3;4 w 2 tanh wi tanh wk xk wi 2 tanh wk xk wl ;4 wl 2;3 2;3 j, j, i, j, i, i j i k i k = = = = = n3 n2 + ne + n2 + ne + ne + 2 3;4 2;3 2 2;3 n2 + 2;3 2 + ( f *( ) ) wj 2 tanh wi, j tanh wk, i xk tanh wi, j tanh wk, i xk wi, j tanh wk, i xk wm x, i j= i= k= i= k= i= k= n2 + ne + n2 ne + 2;3 2 + 2 2;3 wi, j tanh wk, i xk wl, i + tanh wi, jtanh wk, i xk i= k= i= k= n2 + ne+ ne+ 2;3 2 wi, jwl, i 2tanh wk, i xk tanh wk, i xk wm, i i= k= k= k 7.05.2006 20
Fazit und Ausblick Fazit und Ausblick Gesamtkrümmung & Onlinegraphik ist in der FAUN implementiert (Gesamtkrümmung vs. Trainingsfehler) NN mit etwas höherem Trainingsfehler, aber niedriger Krümmung sollten favorisiert werden 7.05.2006 2 Fazit und Ausblick FAUN bietet eine Möglichkeit, für alle Warteschlangensysteme eine approximierte, explizite Lösung für deren Kennzahlen zu generieren Es wurde gezeigt, welche Güte die approximierte Lösung im Gegensatz zur ermittelbaren analytischen Lösung des M/M/c-Modells besitzt Die so gewonnenen Erkenntnisse können auf Modelle ohne analytische Lösung übertragen werden, die bisher nur mit Simulationen gelöst werden können 7.05.2006 22
Fazit und Ausblick Vorteile der Approximation von Warteschlangenkennzahlen gegenüber diskreten Simulationen Generierung einer analytischen Funktion zur Personaleinsatzplanung und Kostenminimierung Extrem schnell auswertbar Glättung des unvermeidlichen Rauschens in den Simulationsdaten Die Kennzahlen stehen genauer zur Verfügung A priori ist nur eine begrenzte Anzahl an Simulationen notwendig Der zusätzliche Schritt des FAUN-Trainings dauert i. d. R. nur wenige Sekunden 7.05.2006 23 Fazit und Ausblick Praxisnah können unterschiedlichste Verteilungen für die Ankunfts- und Bedienrate und die Nachbearbeitungszeit verwendet werden (abgeleitet aus realen Daten eines Call Centers) Das M/M/c-Modell muss nicht als Grundlage für die Mustergenerierung dienen Das aus der Praxis gewonnene Datenmaterial kann durchaus verrauscht sein (Glättung durch die NN) Implementierung der NN zur Personaleinsatzplanung und als Online- unterstützende Echtzeitsteuerung der Agentenanzahl Es ist zusätzlich möglich die Prognose des Anruferaufkommens mit FAUN zu realisieren 7.05.2006 24
Optimierung von Warteschlangensystemen durch Approximation mit neuronalen Netzen Vielen Dank für Ihre Aufmerksamkeit! 7.05.2006 25 Optimierung von Warteschlangensystemen durch Approximation mit neuronalen Netzen Simulation des Inbound-Call-Centers Genauigkeit der stochastischen Simulationen 7.05.2006 26
Optimierung von Warteschlangensystemen durch Approximation mit neuronalen Netzen Simulation des Inbound-Call-Centers Genauigkeit der stochastischen Simulationen 7.05.2006 27 Call Center Die BHW Direktservice GmbH im Überblick seit. April 999 am Markt 44 Mitarbeiter Service-Zeiten: Montag bis Freitag 7:00 bis 20:00 Uhr (bei Bedarf auch andere Zeiten) monatlich ca. 20.000 eingehende Calls Service-Level 70/20 Einsatz modernster Technologien: ACD-Software elektronische Kundenverwaltung, inkl. Kontakthistorie Email, Internet 7.05.2006 28 http://www.hefehof.de/homepage/bhw/bhw.htm
Das M/M/c-System und ein Inbound-Call-Center Die Wahrscheinlichkeit, dass ein ankommender Kunde warten muss ist gegeben durch die Erlangsche C-Formel oder Erlangsche Warteformel c a P( N c! ) = c : C( c, a) a: c n c a a a = λ mit = µ c + n= 0 n! c! wobei N die Zahl der Kunden im System ist, d.h. die Zahl der Wartenden N q plus der Zahl der Kunden, die gerade bedient werden N s Die zu erwartende Zahl der Kunden in der Schlange ist ρ λ E( Nq ) = C( c, a) mit ρ : = ρ c µ Die zu erwartende Wartezeit in der Schlange ist EW ( q) = E( Nq λ ) 7.05.2006 29 Approximation mit dem Neurosimulator FAUN Überwachtes Lernen ne Musterdatensatz D m mit Input x i IR und n Soll-Output yi IR a, i =,2,,n m * n n e p na Approximationsfunktion f app ( x; p ) : IR IR IR * fapp ( x; p ) hängt unendlich oft differenzierbar von x und dem wählbaren Parametervektor p ab D m muss problemgerecht auf n t Trainingsdaten und n m n t Validierungsdaten aufgeteilt werden n n ( ) 2 q y, a ( f y ) 2 k, t a ( p) : f ( x ; p) k ε = t app i i k i= k= nm n ( p) : ( x ; p) ε = v app i i k i= n + k= t q hier q = 7.05.2006 30
Approximation mit dem Neurosimulator FAUN Vollständig verbundenes dreilagiges Perzeptron ohne (links) bzw. mit Direktverbindungen (rechts) 7.05.2006 3 Aufbereitung und Analyse der Reale Daten Erlangenverteilte Zwischenankunftszeiten KBC-Hotline in s Zeit 7-8 8-9 9-0 0- -2 2-3 3-4 4-5 5-6 6-7 7-8 Min - Max 3 900 5,8 50,3 900 0,8 3 0,3 25,7 2,9 39, 4,8 52,9 4,5 56,3 3 00 4,5 900 22,5 900 Sample Mean 577 45,3 24,3 7,4 7 22,7 27,3 23,3 25,5 4,5 42 Sample Std Dev 302 2, 56,2 3,07 3,09 5,06 6,74 6,9 0,9 75, 27 Gammaverteilte Gesprächzeiten (Erw.: 76 s, Std.: 50,9 s) Gammaverteilte Nachbearbeitungszeiten (Erw.: 57,9 s, Std.: 33 s) 7.05.2006 32
Auswertung der Neuronalen Netze Erlangenverteilte Zwischenankunftszeiten KBC-Hotline Servicelevel: 70/20 Zeit 7-8 8-9 9-0 0- -2 2-3 3-4 4-5 5-6 6-7 7-8 Sample Mean 577 45,3 24,3 7,4 7 22,7 27,3 23,3 25,5 4,5 42 Agenten λ < cµ 0,4 5,3 9,8 3,7 4 0,5 8,8 0,2 9,4 5,8,7 Anzahl Agenten 2,8 6,3 7,8 20,5 23,2 6,7 3, 6,8 3,7 8,7 4,2 λ = Ankunftsrate, µ = Bedienrate, c = Agentenanzahl 7.05.2006 33