Sunteți pe pagina 1din 50

Modelul

Centru de răspuns
(Call Center)

Page 1 of 50
Modelul Centru de răspuns
• Construiți un model de simulare al centrului de apel
Apelurile sunt primite cu o rată de sosire de 1 apel pe
• secundă
• 100 de agenți răspund la apelurile primite
• Apelanții închid telefonul dacă așteaptă agentul să răspundă
• Calculați procentajul de apeluri abandonate și cu răspuns
• Adăugați capacitatea de a varia numărul de agenți din mers și
de a observa modul în care aceasta afectează calitatea
serviciului

Page 2 of 50
Call Center. Etapa 1. Pasul 1

Pagina de start

1. Start Anylogic

2. Clic pentru a crea un model

Page 3 of 50
După ce porniți AnyLogic, veți vedea pagina
de start

Puteți deschide lista de


exemple de modele din
meniul: Help > Example
Models

Scopul paginii de start este de a vă prezenta produsul. Pagina oferă acces la


exemple de modele, tutoriale, cărți și alte resurse care vă ajută să aflați mai multe
despre modelarea simulării și AnyLogic.
Page 4 of 50
Call Center. Etapa 1. Pasul 2

1. Tastați Call Center_Nume Prenume

2. Setați unitatea de timp model

3. Clic Finish

Page 5 of 50
Fereastra New Model va apărea.
 Introduceți numele unui nou model: Call Center.
 Alegeți minute ca unități de timp model.
 Faceți clic pe Finish pentru a începe să creați un model de la zero.

O altă modalitate de a crea un model nou este să faceți clic pe butonul


New situat în bara de instrumente

Page 6 of 50
Interfață grafică de utilizator AnyLogic

Editor grafic

Proprietăți

Proiecte + Paletă

Page 7 of 50
Editor grafic
• Locul pentru editarea grafică a diagramei modelului.

Proiecte (Projects)
• Oferă acces la modelele AnyLogic deschise în prezent în spațiul de lucru. Arborele
spațiului de lucru asigură o navigare ușoară în toate modelele.

Paleta (Pallete)
• Oferă lista elementelor de modelare grupate pe categorii (palete).

Proprietăți (Properties)
• Permite vizualizarea și modificarea proprietăților elementelor de model selectate în
prezent

Problemele (Problems)
• Afișează erorile găsite în timpul dezvoltării și compilării modelului.

Page 8 of 50
Call Center. Etapa 1. Pasul 3

 Vețivedea deschisă
paleta Library Modeling
Process

Pentru a deschide o paletă, faceți


clic pe pictograma acesteia din fila
verticală

Page 9 of 50
Process Modeling Library
• este biblioteca AnyLogic standard pentru evenimente
discrete sau, mai exact, modelarea centrată pe proces.
• se pot modela sisteme din lumea reală în termeni de:
– agenți (clienți, produse, piese, documente, vehicule etc.),
– procese (secvențe de operații care implică de obicei cozi,
întârzieri, utilizarea resurselor)
• sunt specificate folosind scheme logice - o reprezentare grafică
adoptată pe scară largă, utilizată în multe domenii (producție, centre
de apel, procese de afaceri, logistică, asistență medicală etc.)
– resurse.
• modelam centrul de apeluri cu blocuri din PML
– conține blocuri pe care le vom adauga pe diagrama grafică a
agentului Main.

Page 10 of 50
Process Modeling Library. Blocuri
esențiale. Partea 1
Numele blocului Pictograma Descriere

Source Generează agenți. Este de obicei un punct de plecare


al unui model de proces.
Sink Elimină agenții primiti. Este de obicei un punct final al
unei diagrame.
Queue Stochează agenții într-un buffer (coadă) în ordinea
specificată. Aici agenții așteaptă să fie acceptați de
următorul bloc din fluxul de proces.
Delay Întârzie agenții un anumit timp specificat.

SelectOutput Redirecționează agentul către unul dintre porturile de


ieșire, în funcție de condiție.
SelectOutput5 Direcționează agenții de intrare către unul dintre cele
cinci porturi de ieșire în funcție de condițiile
(probabiliste sau deterministe).
Page 11 of 50
Call Center. Etapa 1. Pasul 4

Studiați blocurile esentiale din biblioteca PML și sugerați diagrama


pentru cel mai simplu model de centru de răspuns.

? ? ? ?

Page 12 of 50
Call Center. Etapa 1. Pasul 5

Denumiți blocul „sourceCalls”

 Trageți Source pe diagramă

Page 13 of 50
Adăugarea unei surse
• Adăugați un bloc Source care va genera apeluri.
1. Trageți elementul Source din Paletă pe diagrama
grafică.
• Drag’n’drop este modalitatea obișnuită de a adăuga
elemente de paletă pe diagramă.
2. Imediat după ce trageți un element pe editorul
grafic, puteți vedea că numele acestuia este selectat
în editorul grafic.
3. Tastați aici un nou nume al acestui bloc: sourceCalls.
• Denumiți elementele ca in exemplu, deoarece mai târziu vă
veți referi la aceste elemente după numele lor.

Page 14 of 50
Call Center. Etapa 1. Pasul 6

 Sink

 Adăugați blocul Queue  Delay

Page 15 of 50
Call Center. Etapa 1. Pasul 6

Page 16 of 50
Call Center. Etapa 1. Pasul 6

Page 17 of 50
Continuați să construiți diagrama
• Adăugati mai multor blocuri (când adăugați blocuri,
porturile sunt conectate automat dacă blocurile sunt
apropiate unele de altele).
– Adăugați bloc Queue - va stoca apelurile până când sunt
preluate de operatori.
– Adăugați bloc Delay - reprezinta operatorii care gestioneaza
apelurile
– Adăugați bloc Sink - pentru a elimina apelurile.
• Definirea unei rute pentru un flux de agenți
– Un flux pentru agenți este definit prin conectarea porturilor de
ieșire cu porturi de intrare ale blocuri.
• intrarele sunt situate în partea stângă, ieșirile - în partea dreaptă.
– Prin conectarea blocurilor definiți fluxul pentru agenții care trec
prin această schema logica.

Page 18 of 50
Call Center. Etapa 1. Pasul 7
Faceți clic pe triunghiul din dreapta butonului Run

 Alegeți Call Center / Simulation

Model window

 Faceți clic pe buton pentru


a începe simularea modelului

Page 19 of 50
Pornirea simularii
• Am terminat de construit acest model simplu. Rulați
modelul și observați comportamentul acestuia:
– 1. În spațiul de lucru pot fi deschise mai multe modele, fiecare
având mai multe experimente.
– 2. Trebuie să spuneți AnyLogic, ce experiment doriți să
executați.
După ce ați pornit modelul, veți vedea fereastra modelului.
Afișează prezentarea experimentului lansat (Simulare).
– 3 Dând clic pe controlul Run, începeți să rulați modelul. Va fi
afișată prezentarea agentului Main.
• Blocuri Delay
– Numele Delay (intarziere) nu are legătură cu sensul de
„întârziere”, ci se refera la timpul necesar pentru procesarea
unei cereri.

Page 20 of 50
Call Center. Etapa 1. Pasul 8

 Veți vedea diagrama animată


 Faceți clic pe bloc.
Veți vedea fereastra
de inspecție.

 Mutați fereastra
glisând titlul acesteia

Page 21 of 50
Examine the current states of flowchart blocks using the animated
flowchart and inspect widgets.

Diagramă animată Numărul de agenți în curs de procesare

Numărul total de agenți care au


trecut prin acest bloc Delay is currently
processing agent(s)

Inspectwidgets

Parametrii blocului

Statistici
Informații despre agenții
care se află în bloc

Page 22 of 50
Call Center. Etapa 1. Pasul 9

 Închideți fereastra
făcând clic pe butonul X

 Controlați simularea
modelului utilizând
comenzile Run, Pause și Stop

Page 23 of 50
Controlul execuției modelului
• Puteți controla execuția modelului utilizând panoul de
control, afișat în partea de jos a ferestrei modelului.
• Run
– Rulează simularea. Începe execuția sau, dacă simularea a
fost întreruptă, reia simularea din starea curentă.
• Pause
– Întrerupe simularea. Puteți relua simularea întreruptă
oricând.
• Stop
– Încheie execuția modelului curent.

Page 24 of 50
Call Center. Etapa 1. Pasul 10

 Treceți la modul
de timp virtual

Page 25 of 50
Reglarea vitezei de execuție a
modelului
• Modelul poate fi rulat fie în timp real, fie în timp virtual.
• modul de timp virtual
– modelul rulează la viteza maximă (nu se face conversia între
unitățile de timp model și cele reale).
– este util atunci când simulați modelul pentru o perioadă lungă
de timp.
• Modul în timp real
– se face conversia timpului model cu timpul real, adică specificați
câte unități de timp model durează o secundă.
– Este util atunci când doriți ca animația dvs. să pară realistă.
– puteți crește/micșora viteza de simulare prin schimbarea (x2
înseamnă că modelul rulează de două ori mai repede decât
viteza specificată a modelului etc.)

Incetineste Ruleaeza cât mai repede posibil


(modul de timp virtual)
Page 26 of 50
Modelează unitățile de timp pe secundă reală Accelereaza
Call Center. Etapa 1. Pasul 11

 Mesaj de eroare în timpul rulării

Page 27 of 50
Citirea mesajelor de eroare
• uneori avem o descriere completă a erorii, cu
informații pentru remedierea problemei.
– În acest caz, cel mai valoros lucru din mesaj este
numele elementului model care a provocat eroarea.
• sourceCalls din diagrama Main (root este agentul de nivel
superior al modelului)
• problema este că agentul nu poate ieși din bloc, deoarece
următorul bloc (coadă) este plin și în prezent nu poate
accepta agenți.

Page 28 of 50
Call Center. Etapa 1. Pasul 12

 Selectați blocul Queue

 Bifați Maximum capacity

Page 29 of 50
Definiți parametrii blocurilor
• Selectați Queue în editorul grafic pentru a-i
modifica parametrii în vizualizarea
Proprietăți.
• Eliminați orice restricții privind numărul de
apeluri din coadă, bifând caseta Maximum
Capacity.

• Vizualizarea Proprietăți
– este o vizualizare contextuală care afișează
proprietățile elementului selectat
– Numele și tipul elementului selectat sunt
afișate în partea de sus a vizualizării.
– conține mai multe secțiuni. Pentru a extinde /
restrânge o secțiune, faceți clic pe numele
acesteia.

Page 30 of 50
Call Center. Etapa 1. Pasul 13

Selectați blocul Delay și reglați proprietățile


acestuia. Setați Capacity la 100 (corespunde
 numărului de operatori din centru)
 Rulați modelul. Nu veți
vedea mesajul de eroare.

Page 31 of 50
Call Center. Etapa 2

• Am creat un model clasic de sistem de așteptare.


• Am simulat asistența operatorului cu un bloc Delay.

Cu toate acestea, putem beneficia foarte mult de introducerea în


model a resurselor.
• Vă rugăm să studiați blocurile bibliotecii legate de resurse pe
diapozitivul de mai jos și spuneți:
Ce reprezintă resursele în acest model?
Ce blocuri putem folosi pentru a îmbunătăți modelul în continuare?

Page 32 of 50
Process Modeling Library. Blocuri esențiale.
Partea 2

Page 33 of 50
Adăugați un bloc ResourcePool
• 1. Adăugați un bloc ResourcePool pentru a simula un set de
unități de resurse (operatori). Denumiți-l Operators.
– Nu este necesar să luăm în considerare mișcarea resurselor în acest
model, deci puteți lăsa tipul de resursă implicit: static.
• Resurse
– Resursele sunt obiecte necesare agenților pentru a efectua operațiuni.
– Blocul ResourcePool definește un set de resurse - câte unități de
resurse de un anumit tip există în sistem și care sunt proprietățile lor.
– Resursele sunt confiscate și eliberate de agenți folosind blocurile
Seize, Release, Service și Assembler.
– Resursele oferă suport încorporat pentru întreținere, defecțiuni și
reparații.
• pot fi definite fie în proprietățile blocului ResourcePool, fie utilizând blocul
Timp de oprire al Bibliotecii de modelare a proceselor.

Page 34 of 50
Call Center. Etapa 2. Pasul 1

 ResourcePool
Name: operators
Capacity: 50

Page 35 of 50
Call Center. Etapa 2. Pasul 1

Page 36 of 50
Adaugati blocul Service
• 1. Selectați blocurile Delay si Queue, ștergeți-le și adăugați blocul
Service.
– Service “confiscă” numărul dat de resurse pentru a efectua anumite
operațiuni peste agent, întârzie agentul (acesta modelează
operațiunea în sine) și eliberează resursele “confiscate”.
• Blocul Service modelează operatori care răspund la apeluri.
– Presupunem că numărul de clienți care așteaptă în linie este nelimitat.
– Presupunem că durata minimă a apelului este de 30 de secunde, cea
mai tipică durată a apelului este de 3 minute, iar durata maximă a
apelului este de 10 minute.
– Folosim distribuția triunghiulară pentru a defini timpul de deservire.
• Distribuția triunghiulară este utilizată când avem cunoștințe limitate despre
variabila stocastică (doar valoarea minimă, maximă și modală).
triangular( min, mode, max )
mode

Page 37 of 50
min max
Call Center. Etapa 2. Pasul 2

 callAnswering = Service
Resource sets (alternatives): operators
Maximum queue capacity:
Delay time: triangular( 0.5, 3, 10 ) minutes

Page 38 of 50
Simbolurile de pe blocuri
Queue Delay

coadă încorporată

Seize Release
Preia resurse Eliberează resurse
pentru operație

5 cozi Delay
Coadă (cu Seize încorporat) Delay încorporate încorporat
încorporat
Service Assembler

Preia resurse Preia resurse


pentru operație pentru operație

Page 39 of 50
Call Center. Etapa 2. Pasul 3

 Salvați modelul

 Rulați modelul și
analizați utilizarea
operatorilor

Page 40 of 50
Call Center. Etapa 3.
• În această fază vom simula clienții care pleacă (închid) dacă
așteptau de prea mult timp ca operatorul să răspundă.

Timpul cat un client va aștepta un răspuns este distribuit


exponențial, timpul mediu este de 100 de secunde

Page 41 of 50 98
Expirare în blocuri Queue și Service
• Puteți configura blocul Queue/Service pentru a
permite agenților să plece după ce au așteptat un
anumit timp.
– Pentru a face acest lucru, selectați opțiunea Enable
exit on timeout și să specificați timeout-ul
– Timeout-ul este evaluat dinamic pentru fiecare agent,
deci poate depinde de agent și poate fi stocastic.
– Agenții care pleaca vor ieși prin portul din dreapta sus.

Queue Page 42 of 50
Service
Call Center. Etapa 3. Pasul 1

Puteți adăuga și elimina punctele


de editare de pe un conector cu
un dublu clic

 Adăugați încă un bloc


Sink, conectați-l la
portul din dreapta sus
al Service; redenumiți
ambele blocuri Sink

 Advanced
Queue: exit on timeout:
Timeout: exponential( 1.0/100 ) seconds

Page 43 of 50
Call Center. Etapa 3. Pasul 1

Page 44 of 50
Call Center. Etapa 3. Pasul 2

 Rulați modelul și observați


numărul de apeluri răspunsuri și
abandonate

Page 45 of 50
Call Center. Etapa 3. Pasul 3

 Trageți elementul Pie


Chart din paleta Analysis

 În secțiunea Data din proprietățile


graficului, adăugați două elemente de date

Page 46 of 50
Vizualizarea statisticilor
• 1. Paleta Analisys conține elementele pentru a colecta și analiza
rezultatele simulării (set de date, statistici ...) și diagrame (bare,
stive, timp, histogramă) care vă ajută să vizualizați datele colectate.
• 2. Blocul Sink are funcția count() care returnează numărul de agenți
ieșiți vreodată din sistem prin acel bloc.

• Obținerea numărului de agenți care au trecut printr-un port


– În general, puteți obține numărul de agenți care au trecut prin orice
port al oricărui bloc apelând <nume bloc>.<nume port>.count ().
• De exemplu, puteți apela service.outTimeout.count().
– Blocurile în sine oferă, de asemenea, funcții count (). De exemplu,
funcția count () a blocului Sink returnează numărul de agenți care au
intrat în acest bloc. Deci, puteți apela pur și simplu:
sinkAnswered.count () în loc de sinkAnswered.in.count ()

Page 47 of 50
Completarea codului
• Când vă referiți la un alt element al modelului AnyLogic, nu tastați
numele elementului complet, ci folosiți în schimb mecanismul
integrat de completare inteligent.
• Acesta arată o listă, care conține variabile, parametri și funcții. Puteți
selecta pur și simplu numele din listă pentru a-l insera automat în
expresie.
1. Începeți să tastați
numele elementului
2. Apăsați Ctrl +
spațiu
Expertul va lista toate variabilele
modelului și funcțiile predefinite

4. Faceți dublu clic pe nume sau


apăsați Enter pentru a-l insera în
expresia ecuației

Page 48 of 50
Call Center. Etapa 3. Pasul 4

 Rulați modelul. Folosind graficul circular, observați


procentajul apelurilor abandonate și cu răspunsuri.

Page 49 of 50
STOP

Page 50 of 50

S-ar putea să vă placă și