algoritmo genetico br
DESCRIPTION
Aplicación del algoritmo genético en un call centerTRANSCRIPT
-
> REVISTA DE INTELIGNCIA COMPUTACIONAL APLICADA (ISSN: XXXXXXX), Vol. X, No. Y, pp. 1-10
1
Resumo - Ultimamente o call center tem se destacado atravs de aes que auxiliam as empresas a identificar e
atender as necessidades de seus clientes. A competitividade
acirrada caracteriza o mercado de call center, fazendo com que
s sobrevivam as operaes mais eficientes. O sucesso na
operao de um call center est diretamente ligado ao seu
planejamento. Desta forma, este trabalho se destina a propor
uma soluo, atravs do uso de algoritmos genticos, para o
planejamento eficiente de um call center. Nesta pesquisa,
apresentaremos um estudo de caso bem sucedido do
dimensionamento de um site de atendimento virtualmente
distribudo de uma empresa de Telecomunicaes.
Abstract Lately, the call center has been noticed for its
actions on helping companies identify and satisfy the needs of
their clients. The strong and wild competition defines the call
center market structure, allowing only the most efficient ones to
live. The success on a call centers operation is directly mend to
its planning. This way, this work is made to propose a solution,
using genetics algorithms, for the most efficient planning of a
call center. On this research, we will present a well-succeeded
study of case about the use of this technique to determine the
adequate base staff, necessary to attends the demand of the
virtually distributed call center of a telecommunication
company.
Index Termscall center, base staff, neural network, and
genetic algorithms
I. INTRODUO
A satisfao dos clientes tem se tornado uma questo importante dentro das empresas. Neste sentido, o call center tem se destacado atravs de aes que auxiliam as empresas a identificar e atender as necessidades de seus clientes.
Para ilustrar o crescimento e a valorizao do setor, em 1999 nos Estados Unidos, quase 1.55 milhes de pessoas trabalhavam como operadores de call center, mais de 1,4% dos empregos do setor privado, e este nmero crescia a uma taxa de 8% ao ano. O mercado de call center caracterizado ainda pela competitividade acirrada que existe entre as empresas, onde s sobrevivem as operaes mais eficientes.
Para atingir a eficincia, o Incoming Call Management Institute, define que a gesto de um call center deve ser: A arte de garantir no momento correto, a quantidade
necessria de recursos e pessoas qualificadas, para o
atendimento de uma demanda prevista com preciso, num
determinado nvel de servio e qualidade. Ou seja, a eficincia de uma operao est fortemente relacionada ao seu planejamento.
O objetivo deste trabalho atravs do uso de algoritmos genticos, propor uma nova abordagem para o planejamento eficiente de um call center. Para isso, desenvolvemos um
sistema neuro-gentico que ir fazer a previso da demanda, alm de calcular e distribuir os recursos necessrios para o seu atendimento.
importante lembrar que este trabalho s ir abordar a parte que corresponde ao algoritmo gentico, ou seja, parte de dimensionamento do call center, deixando a previso da demanda utilizando redes neurais para outra oportunidade.
A seguir sero abordados os principais aspectos sobre o planejamento da operao de um call center, aps isso uma breve explanao sobre o uso de Algoritmos Genticos em problemas de otimizao. Por ltimo apresentaremos em detalhes um estudo de caso.
II. PLANEJAMENTO DA OPERAO DE UM CALL CENTER
Resumidamente o planejamento da operao de um call center consiste na alocao de pessoas e recursos para o atendimento de uma demanda prevista. Ou seja, parte do planejamento envolve o calculo do nmero de pessoas e recursos necessrios para o atendimento da demanda, o dimensionamento.
Na prtica, utilizam-se as frmulas de Erlang ou simulaes computacionais, de forma a obter o nmero mnimo de pessoas e recursos que devero ser alocados.
As frmulas de Erlang apresentam facilidade e rapidez em seu uso, alm de vasta literatura disponvel. A principal desvantagem desta ferramenta assumir que no processo de atendimento nenhuma chamada ser abandonada, o que sobre dimensiona a operao. Porm cabe destacar, que para bons nveis de servio, os valores fornecidos por este mtodo so bem prximos da realidade.
A simulao computacional proporciona flexibilidade no dimensionamento da operao, tratando diversas excees e particularidades. A desvantagem desta o tempo gasto no processamento da informao, alm de na maioria das vezes, no estar integrada com o sistema de previso da demanda.
A escolha da tcnica utilizada no dimensionamento da operao depende principalmente da complexidade que esta apresenta. Em operaes simplificadas e com bons nveis de servio, as formulas de Erlang apresentam bons resultados, para os demais casos, interessante avaliar o uso de simuladores.
Como no desenvolvimento do sistema utilizamos as formulas de Erlang, iremos descrever de forma simplificada o uso destas no calculo do nmero de atendentes e troncos necessrios.
A. Calculo dos Atendentes
Para calcular o nmero de pessoas necessrias para o atendimento, utilizaremos a frmula de Erlang C, que fornece a probabilidade do cliente ter que esperar para ser
Utilizando Algoritmos Genticos no Dimensionamento de Call Center
Lima, Maximiliano Moreno.
-
> REVISTA DE INTELIGNCIA COMPUTACIONAL APLICADA (ISSN: XXXXXXX), Vol. X, No. Y, pp. 1-10
2
atendido. Existem duas variveis envolvidas neste calculo: demanda (A), e o nmero de atendentes (N). Abaixo ilustramos a frmula.
=
+
=>
1
0 !!
!)0(N
x
Nx
N
AN
N
N
A
x
A
AN
N
N
A
P
Note que a formula no fornece o nmero de atendentes,
mas sim, a probabilidade do cliente ter que esperar. Porm, estipulando o nvel de servio desejado, podemos relacionar esta frmula outra, que atravs de um processo interativo fornecer o nmero de atendentes requeridos.
Para o uso desta frmula, devemos fornecer as seguintes entradas: demanda (A), nmero de atendentes (N), tempo mdio de atendimento (TMA) e tempo mdio de espera (TME). Abaixo ilustramos a frmula.
TMA
TMEAN
ePNS
>=
)().0(1(%)
Nas duas formulas anteriormente apresentadas a demanda dever estar em Erlang e os tempos em segundos.
B. Calculo dos Troncos
O nmero de troncos necessrios para o atendimento da demanda calculado a partir da frmula de Erlang B, que fornece a probabilidade do cliente no ter nenhum canal de voz disponvel na hora do contato. Existem duas variveis envolvidas neste calculo: demanda (A), e o nmero de troncos disponveis (N). Abaixo ilustramos a frmula.
=
=
N
x
x
N
x
A
N
A
P
0 !
!
Assim como na frmula de Erlang C, o nmero que queremos obter no o valor da funo. Desta maneira, devemos especificar a probabilidade das linhas do call center estarem ocupadas, e atravs de um processo interativo calcular o nmero de troncos requeridos. Para efetuar este calculo, a demanda dever estar em Erlang. A seguir apresentaremos uma breve explanao sobre o uso de algoritmos genticos na soluo de problemas de otimizao.
III. ALGORITMOS GENTICOS NA SOLUO DE PROBLEMAS DE OTIMIZAO
Algoritmos Genticos (GAs - Genetic Algorithms) constituem uma tcnica de busca e otimizao, altamente
paralela, inspirada no princpio Darwiniano de seleo natural e reproduo gentica.
De acordo com a teoria de C. Darwin, o princpio de seleo privilegia os indivduos mais aptos com maior longevidade e, portanto, com maior probabilidade de reproduo. Indivduos com mais descendentes tm mais chance de perpetuarem seus cdigos genticos nas prximas geraes.
Os cdigos genticos constituem a identidade de cada indivduo, e esto representados nos cromossomas. Estes princpios so imitados na construo de algoritmos computacionais que buscam uma melhor soluo para um determinado problema, atravs da evoluo de populaes de solues codificadas atravs de cromossomas artificiais.
Em GAs um cromossoma uma estrutura de dados que representa uma das possveis solues do espao de busca do problema. Cromossomas so ento submetidos a um processo evolucionrio que envolve avaliao, seleo, recombinao sexual (crossover) e mutao. Aps vrios ciclos de evoluo a populao dever conter indivduos mais aptos.
Podemos caracterizar um algoritmo gentico travs dos componentes: problema, representao, decodificao, avaliao, seleo, operadores, tcnicas e parmetros.
A seguir apresentaremos um estudo de caso onde atravs de um algoritmo gentico foi feito todo o dimensionamento do call center de uma empresa do setor Telecomunicaes.
IV. ESTUDO DE CASO
A partir dos problemas encontrados no dimensionamento da operao de uma empresa do setor de telecomunicaes, desenvolvemos um sistema neuro-gentico que pudesse fazer a previso da demanda, alm de calcular e distribuir o nmero de atendentes e troncos necessrios.
Como dito anteriormente, este trabalho s ir apresentar a parte do algoritmo gentico do sistema, o que corresponde ao dimensionamento do call center. A seguir, iremos abordar cada um dos componentes que representam o algoritmo gentico.
A. O Problema
Comearemos a anlise do problema pela organizao do call center da empresa estudada. Esta utilizou a tcnica de Skill-Based Routing no roteamento das suas chamadas. A tcnica divide a operao do call center em grupos de atendentes, os agent groups, onde cada um possui um conhecimento especfico para atender um determinado tipo de chamada, Skill [1]. A segmentao das chamadas e atendentes permite maior flexibilidade na operao, e nos obriga a tratar cada tipo separadamente.
Para o nosso problema, consideraremos trs tipos de chamadas, as quais, chamaremos de: Skill 1, Skill 2 e Skill 3. importante notar que cada Skill possui caractersticas prprias, tais como: tempo mdio de atendimento, tempo mdio de espera aceitvel pela operao, distribuio das chamadas ao longo do dia, grau importncia no atendimento em relao aos demais Skills, dentre outros. Abaixo ilustramos a tabela com as principais caractersticas dos Skills que utilizamos no nosso exemplo.
-
> REVISTA DE INTELIGNCIA COMPUTACIONAL APLICADA (ISSN: XXXXXXX), Vol. X, No. Y, pp. 1-10
3
TABELA 1
CARACTERSTICAS DOS SKILLS ADOTADOS
Skill Importncia
para Empresa Tempo Mdio
de Atendimento Tempo Mdio
de Espera Skill 1 0,35 210 Seg 20 Seg Skill 2 0,15 90 Seg 20 Seg Skill 3 0,50 150 Seg 20 Seg
Outro item considerado no desenvolvimento do sistema
foi estratgia da empresa de terceirizar parte da sua operao. Onde dos trs sites que fazem o atendimento, s um pertence empresa. Nos demais, existem contratos para estabelecer a forma de cobrana e a qualidade oferecida.
Assim como nos Skills, tambm caracterizamos os sites de acordo com alguns critrios, tais como: forma de cobrana, qualidade e Skills atendidos. A tabela abaixo ilustra o caso.
TABELA 2
CARACTERSTICAS DOS SITES ADOTADOS
Site Skills
Atendidos Tipo de
Cobrana Nvel de Servio
em 20 Site 1 1 3 R$ 0,35 p/ Cham 85% Site 2 1 2 3 - - Site 3 1 2 R$0,25 p/ Mim 75%
Notar-se na tabela anterior que os valores de qualidade e custo do site 2 foram omitidos. Estes indiretamente fazem parte da soluo do problema, pois devemos distribuir as chamadas de cada Skill pelos possveis sites de atendimento com um nvel de servio mdio de 80% em 20 segundos no menor custo possvel. Ou seja, iremos variar o custo e qualidade da operao prpria da empresa, de maneira que todos os Skills apresentem o nvel de servio mdio de 80/20 no menor custo possvel.
B. Representao
Na representao do problema, utilizamos um cromossoma com 7 genes de codificao real, onde cada um representa uma proporo do total de chamadas enviadas de um Skill pra um site. O nmero 7 se justifica por nem todos os sites atenderem a todos os Skills, desta maneira as excees foram omitidas.
A codificao real utilizada se deve a adequao desta a problemas cujo espao de busca contnuo. Uma outra caracterstica importante, que na representao por reais, no existe o problema da distancia de Hamming.
C. Decodificao
A decodificao da soluo dos cromossomas obtida calculando proporo que cada site receber da demanda prevista de cada Skill. Desta forma, deixamos de trabalhar com propores para trabalhar com o total de chamadas enviadas para cada site.
D. Avaliao
Devido a sua complexidade, o processo de avaliao do sistema foi dividido em 3 etapas, que detalharemos a seguir.
Na primeira etapa da avaliao, os cromossomas j decodificados, iro fornecer a quantidade de chamadas que cada site receber de cada Skill. Desta maneira, a partir do nvel de servio oferecido por cada uma das empresas
contratadas, calcularemos quantas chamadas deveriam ser atendidas no site prprio, para que o nvel de servio geral de cada Skill seja de 80/20.
Com o nmero de chamadas que devero ser atendidas em at 20 segundos no site prprio, e o total de chamadas enviadas para o mesmo, calculamos o nvel de servio que este site dever ter.
Na segunda etapa, calculamos o nmero de atendentes e troncos que sero necessrios para atender a demanda no nvel de servio proposto pela primeira etapa.
Por ltimo, atravs de uma avaliao multi-critrio, depois de normalizados, o custo total da operao, e a soma dos valores dos nveis de servio de cada Skill multiplicado pelo respectivo peso no atendimento, foram comparados ao vetor [0,1]. Onde o objetivo identificar as solues que esto mais prximas do custo zero e qualidade um.
E. Seleo
Utilizamos o mecanismo de seleo proporcional, mtodo da roleta, para a escolha dos indivduos que sero reproduzidos.
F. Operadores Genticos
O operador de crossover adotado foi uma generalizao do crossover aritmtico. Cada descendente formado a partir de uma combinao dos resultados de seus genitores. Abaixo apresentamos a frmula.
G. Tcnicas.
1) Inicializao da Populao
Fizemos a inicializao da populao de forma aleatria, gerando 50 indivduos atravs de uma distribuio uniforme.
2) Tcnica de Elitismo Utilizamos a Tcnica de Elitismo mantendo os 5 melhores
indivduos da populao anterior na seguinte.
3) Tcnica de Eliminao Eliminamos todos os indivduos da populao anterior
com exceo dos 5 melhores, que foram mantidos pelo Elitismo.
4) Tcnica de Reproduo A ferramenta permitiu especificar a frao de indivduos
do total da populao seguinte que sero formados a partir de crossover e mutao, com exceo claro, daqueles que foram mantidos pelo Elitismo.
H. Critrio de Parada
O critrio de parada adotado foi o de 100 geraes.
)21(**22 parentparentRatiorandparentchild +=
)12(**11 parentparentRatiorandparentchild +=
-
> REVISTA DE INTELIGNCIA COMPUTACIONAL APLICADA (ISSN: XXXXXXX), Vol. X, No. Y, pp. 1-10
4
I. Resultado
Vrios ajustes foram feitos na modelagem do algoritmo de
forma atingir os melhores resultados. O primeiro foi o tamanho da populao. Abaixo apresentamos o grfico do melhor indivduo por gerao, variado o tamanho da populao de 10, 25, 50 indivduos.
Influncia do
Tamanho da Populao
0,2400
0,2550
0,2700
0,2850
0,3000
1 21 41 61 81
Gerao
Melh
or
Avaliao
Individuos (10) Individuos (50) Individuos (25)
Grfico 1-Melhor avaliao por gerao variando o tamanho da populao.
Verificamos que aumentando o nmero de indivduos de
uma populao evitamos a convergncia prematura obtendo melhores resultados.
A seguir, iremos abordar os ajustes feitos na taxa Ratio que existe no operador de crossover. O grfico ilustra o desempenho do algoritmo para vrios valores desta.
Influncia da
Taxa do Operador de Crossover
0,23
0,24
0,25
0,26
0,27
0,28
0,29
1 21 41 61 81
Gerao
Melh
or
Avali
ao
Taxa (0,6) Taxa (0,8) Taxa (1,0)
Grfico 2-Melhor avaliao por gerao variando a taxa do operador de crossover.
Notamos que quando aumentamos a taxa do operador de
crossover, dispersamos mais a populao pelo espao de busca, prejudicando a convergncia do algoritmo. Com base nas anlises anteriores, chegamos a uma parametrizao final para o algoritmo. A tabela abaixo apresenta estas.
TABELA 3 CARACTERSTICAS DO GA
Parmetro Valor Tamanho da populao. 50
Funo de inicializao. Distribuio
Uniforme Nmero de indivduos mantidos na populao seguinte.
10%
Percentual de indivduos da populao seguinte, criados a partir de crossover.
80%
Taxa de mutao. 1%
Funo de mutao. Distribuio
Uniforme Taxa do operador de crossover. 0,6
Para esta configurao obtivemos o seguinte desempenho.
Desempenho do Melhor Algoritmo
0,22
0,23
0,24
0,25
0,26
1 11 21 31 41 51 61 71 81 91
Geraes
Melh
or
Avalia
a
Grfico 3- Desempenho da melhor escolha para os parmetros do algoritmo.
Podemos ver que nas ltimas geraes, o algoritmo tende
a se estabilizar. Isto se deve a grande similaridade existente entre os indivduos da populao.
Neste sentido, introduzimos o conceito de interpolao de parmetros. Ou seja, variamos a frao de indivduos da populao seguinte que sero criados a partir de crossover e mutao, privilegiado o ltimo mtodo. Tambm alteramos a taxa de mutao e a taxa do operador do crossover.
O objetivo disto dispersar a populao, trazendo novo material gentico para a formao dos melhores indivduos. Abaixo apresentamos o quadro das variaes feitas nos parmetros ao longo das geraes.
TABELA 4 INTERPOLAO DE PARMETROS
Parmetro / Gerao 0-55 55-65 65-75 75-85 85-90 Percentual de indivduos da populao seguinte, criados a partir de crossover.
0,8 0,7 0,6 0,5 0,4
Taxa de mutao. 1% 2% 3% 4% 5% Taxa do operador de crossover.
0,6 0,7 0,8 0,9 1,0
A seguir apresentamos o grfico da melhor configurao,
e da melhor configurao com os parmetros adaptativos a cada gerao.
Influncia da
Interpolao de Parmetros
0,23
0,235
0,24
0,245
0,25
0,255
0,26
0 10 20 30 40 50 60 70 80 90 100
Gerao
Melh
or
Avliao
Interpolao Fixa
Grfico 4-Desempenho do algoritmo com e sem a interpolao de parmetros.
Notamos que a interpolao de parmetros favoreceu a
busca da melhor soluo, trazendo novo material gentico para a formao dos melhores indivduos.
-
> REVISTA DE INTELIGNCIA COMPUTACIONAL APLICADA (ISSN: XXXXXXX), Vol. X, No. Y, pp. 1-10
5
Por fim, compararemos os resultados encontrados pelo GA e pela busca exaustiva. O grfico a seguir ilustra o caso.
GA x Busca Exaustiva
0,22
0,23
0,24
0,25
0,26
0 20 40 60 80 100Geraes
Melh
or
Avaliao
GA Busca Exaustiva
Grfico 5- Comparao do desempenho da busca exaustiva com o GA.
A partir do grfico acima, observamos que a busca
exaustiva se apresenta ineficiente perto ao GA.
V. CONCLUSO
O Algoritmo Gentico conseguiu apresentar uma soluo indita para o dimensionamento de um site virtualmente distribudo onde parte da operao terceirizada.
Alm disso, quando comparado as tradicionais frmulas de Erlang, observamos a grande flexibilidade presente somente nos simuladores.
Em compensao, quando comparamos o AG aos simuladores, temos a vantagem de integrar este ao sistema gerador de demanda (um Comit de Redes Neurais), destacamos ainda, que na maioria dos simuladores no existe nenhuma relao entre qualidade e custo. Por ltimo, ressaltamos que o tempo tomando no processamento da informao menor do que os exigidos na maioria dos simuladores que existem no mercado.
VI. AGRADECIMENTOS
A Andr de Carvalho, Marcio Albuquerque, Marcus Fabrcio e Rodrigo Otvio e Alexandre Machado o meu agradecimento.
VII. REFERNCIAS
[1] CLEVELAND, Brad; MAYBEN, Julia. Call Center Management On Fast Forward. 1. Annapolis Maryland: Call Center Press, 1997. p. 281 [2] HANSELMAN, Duane; LITTLEFIELD, Bruce. Matlab 5 Verso do Estudante: Guia do Usurio. 1. So mPaulo: Makon Books, 1999. p. 400 [3] HAYKIN, Simon. Redes Neurais: principios e prticas:. 2. Porto Alegre: Bookman, 2001. p. 893 [4] TOUR, Hamadoun I.. Handbook Teletraffic Engineering. 1. Geneva: ITU-T, 2002. p. 319 [5] GOLDBERG, David Edward. Genetic Algorithms in Search, Optimization, and Machine Learnig. 1. Alabama: Addison-Wesley, 1953. p. 411