• Nenhum resultado encontrado

AUTOMAÇÃO E OTIMIZAÇÃO DO ESCALONAMENTO DE ENFERMEIROS

N/A
N/A
Protected

Academic year: 2021

Share "AUTOMAÇÃO E OTIMIZAÇÃO DO ESCALONAMENTO DE ENFERMEIROS"

Copied!
13
0
0

Texto

(1)

AUTOMAÇÃO E OTIMIZAÇÃO DO

ESCALONAMENTO DE ENFERMEIROS

Douglas Baroni Rizzato (UEM) dbr_89@hotmail.com Everton Luiz de Melo (USP) everton.melo@poli.usp.br Ademir Aparecido Constantino (UEM) ademir.uem@gmail.com

As dificuldades encontradas nos hospitais para a produção de escalas de trabalho funcionais e de boa qualidade para os enfermeiros tem atraído a atenção de diversos pesquisadores para o referido problema. Neste trabalho, é investigado um allgoritmo heurístico baseado na resolução de sucessivos Problemas de Atribuição para resolver o Problema de Escalonamento de Enfermeiros. O problema consiste em construir escalas de trabalho para equipes de enfermeiros durante um período de tempo, de forma a atender da melhor maneira a preferência dos funcionários pelos turnos. Para isso, deve ser considerado um conjunto de restrições, advindas da legislação trabalhista e de aspectos desejáveis em uma escala. O método proposto trabalha em duas fases: construção da solução inicial e fase de melhoramento. Para validar o método, são realizados testes computacionais utilizando instâncias de uma base de dados de referência. Por fim, verifica-se que o método proposto apresenta resultados melhores que os disponíveis na literatura.

Palavras-chaves: Problema de escalonamento de enfermeiros, problema de atribuição, otimização combinatória

(2)

2

1. Introdução

O Problema de Escalonamento de Enfermeiro (PEE), também conhecido na literatura como Nurse Scheduling Problem (NSP) ou Nurse Rostering Problem (NRP), é classificado como NP-Difícil e consiste basicamente em gerar escalas de trabalho para equipes de enfermeiros durante um período de tempo, de forma a atender da melhor maneira às preferências dos funcionários. Burke et al. (2008), descreve o PEE como: dado um conjunto de tarefas e um conjunto de enfermeiros durante certo período de tempo, designar cada tarefa para um enfermeiro sujeito a um conjunto de restrições, que geralmente são definidas por leis, práticas de trabalho e preferência dos enfermeiros. Na maioria das vezes, como descreve Duenas et al. (2009), as escalas são feitas manualmente por um enfermeiro chefe ou responsável pelas escalas, o que demanda muito tempo e esforço e, ainda assim, é provável que a escala não atenda a todas as restrições.

Conforme o grupo de pesquisa Automated Scheduling Optimisation and Planning (ASAP), da University of Nottingham, a automação e otimização das escalas de trabalho trazem às empresas inúmeros benefícios, tais como:

a) redução de custos: não designando mais funcionários do que o necessário e evitando a cobertura de lacunas com a convocação de empregados sob regime de hora-extra;

b) retenção de pessoal: com maior flexibilidade e qualidade nas escalas, os colaboradores se mantém nessa atividade, e ainda, há o interesse de novos profissionais pela área;

c) redução do absenteísmo e dos atrasos: melhores escalas tendem a reduzir a insatisfação e a fadiga provocada por escalas mal elaboradas, e dessa forma, reduzem as faltas e os atrasos;

d) atendimento às preferências: os funcionários se sentem mais motivados e podem se programar melhor para outras atividades, o que contribui para a produtividade e fortalece a moral do grupo;

e) melhoria na qualidade dos serviços: com melhores condições de trabalho, a satisfação dos colaboradores cresce, o que leva ao aumento da produtividade e qualidade dos serviços prestados, o que diminui a possibilidade de erros provocados por cansaço e estresse. Para a realização das escalas, são consideradas restrições rígidas, relacionadas a impedimentos trabalhistas, e restrições flexíveis, que representam aspectos desejáveis em uma jornada. As restrições rígidas não podem ser violadas de maneira alguma, já as restrições flexíveis podem ser violadas sob um custo de penalidade.

Logo, pode-se definir o PEE como um problema de minimização dos custos associados às preferências e eventuais penalidades. E dessa forma, pode-se calcular o custo com base na preferência declarada pelo enfermeiro para as tarefas disponíveis.

Em cada um dos dias do período de D dias, os N enfermeiros devem ser escalados para um dos S turnos possíveis. Assim, pode-se descrever o problema envolvido por enfermeiros, (i = 1,..., n); dias do período de escalonamento, (j = 1,..., d); e turnos, (k = 1,..., s). O termo turno refere-se ao horário de trabalho, usualmente se enquadrando em matutino, vespertino, noturno ou folga. Uma jornada é definida como uma sequência de d turnos. E tarefa é a designação de um turno para um enfermeiro em um determinado dia.

(3)

3

(ACO). Os autores implementam as meta-heurísticas ACO e Simulated Annealing, das quais o algoritmo ACO obteve os melhores resultados e comparam o algoritmo ACO proposto com um método que utiliza o Algoritmo Guloso. Os resultados mostram que o algoritmo proposto obteve o melhor desempenho na comparação.

Burke et al. (2008) utilizam um algoritmo híbrido que mescla um método de ordenação dos turnos com maior dificuldade estimada de escalonamento e Variable Neighbourhood Search (VNS). Na comparação do algoritmo proposto com um pacote comercial que emprega Algoritmo Genético (AG), os resultados mostraram que para instâncias com menos de vinte enfermeiros o algoritmo proposto encontrou soluções superiores às do pacote comercial. Nas instâncias com mais de vinte enfermeiros, o algoritmo proposto mostrou ser competitivo e até superou alguns resultados do pacote comercial comparado, mas, na média, os resultados do algoritmo genético utilizado pelo pacote comercial foram superiores.

Maenhout e Vanhoucke (2007) propõem o uso de uma metaheurística denominada Eletromagnetic Meta-heuristic (EM), baseada na Lei de Coulomb. Essa metaheurística opera com diversas soluções distribuídas pelo espaço, sendo que cada uma exerce certas forças sobre as demais. Dessa forma, as soluções de alto custo exercem força de repulsão e evitam que as demais soluções efetuem buscas em regiões não promissoras. O algoritmo ainda utiliza Busca Local (BL) para encontrar um padrão mais apropriado a um dado enfermeiro e para realizar trocas de partes de padrões de turnos entre enfermeiros. Para readequar a distribuição dos turnos em um dado dia o método proposto utiliza BL e o método húngaro

Em outro trabalho, Maenhout e Vanhoucke (2006) apresenta um algoritmo que resolve o PEE baseando-se em Busca Dispersa (BD). O método envolve a geração de diversas soluções iniciais que são utilizadas em um processo de intensificação de busca, enquanto certa diversificação é mantida. Para isso, dois grupos de soluções são reservados. Um deles é composto pelas melhores soluções e o outro, por soluções que visam garantir a diversidade. Então, um método iterativo de geração, recombinação e melhoramento de soluções é empregado até que o critério de parada seja alcançado. As recombinações trabalham com a alteração de soluções iniciais que são conduzidas por soluções guias. Para esse fim são executados movimentos envolvendo a vizinhança de um dia ou de um enfermeiro. O melhoramento é feito pelo uso de métodos de BL idênticos aos utilizados em Maenhout e Vanhoucke (2007). As soluções criadas são avaliadas e podem substituir membros no grupo das melhores soluções ou no grupo das soluções que propiciam diversificação.

Aickelin e Dowsland (2004) utilizam um AG indireto para a obtenção de escalas factíveis ou com o mínimo de violações de restrições a partir de soluções incompletas. Para tanto, o algoritmo utiliza um decodificador que preenche as lacunas da escala de modo que os custos sejam mínimos. Outros métodos que utilizam AGs são propostos por Ohki et al. (2006), Ohki et al. (2008), Duenas et al. (2009) e Tsai e Li (2008).

Na literatura ainda são encontrados trabalhos que envolvem Busca Tabu (BT), Oughalime et al. (2008) e Ferland et al. (2001) e Problema de Satisfação Booleana (SAT), Kundu e Acharyya (2008), entre outros.

2. Algoritmo Proposto

(4)

4

2.1 Problema de Atribuição

O PA é um clássico problema de Otimização Combinatória em Pesquisa Operacional e, de acordo com Hillier e Lieberman (2010), é um tipo especial de problema de programação linear em que os designados são indicados para a realização de tarefas. A solução do PA equivale ao emparelhamento perfeito de custo mínimo em um grafo bipartido. Assim, dada uma matriz de custos de dimensão n x n, o problema consiste em associar cada linha i a uma coluna j sob um custo cij, de modo a minimizar a soma dos custos.

A formulação matemática do problema é dada a seguir:

Minimizar . ; 1 1



  n i n j ij ij x c (5) Sujeito a: 1; 1,..., ; 1 n j x n i ij  

 (6) ; ,..., 1 ; 1 1 n i x n j ij  

 (7)

 

0,1; i,j 1,...,n; xij  (8)

A atribuição de uma linha i a uma coluna j faz com que xij assuma valor 1 ou que assuma 0,

caso contrário. A função-objetivo (5) minimiza o custo da soma das atribuições entre linhas e colunas; a restrição (6) exige que para cada linha haja uma coluna associada; a restrição (7) garante que a cada coluna seja designada uma linha; a restrição (8) permite que a variável envolvida na atribuição de colunas assuma apenas os valores de decisão 0 e 1.

Para a resolução dos PAs foi implementado o algoritmo de Carpaneto e Toth (1987) que garante a obtenção da solução ótima e tem complexidade O(n3). Esse algoritmo combina o procedimento shortest augmenting path com o método húngaro.

2.2 Construção da Solução Inicial

(5)

5 Enfermeiro n Enfermeiro j Enfermeiro 2 Enfermeiro 1 . . . . . . . . . . 1,1 1,2 . . . . 1,k . . . . 1,m 2,1 2,2 . . . . 2,k . . . . 2,m j,1 j,2 . . . . j,k . . . . j,m n,1 n,2 . . . . n,k . . . . n,m . . . . . . . .

Dia 1 Dia 2 Dia k Dia m

Figura 1 – Esquema representativo do grafo multipartido

A fase de construção da solução inicial consiste em gerar um grafo multipartido, no qual cada jornada de trabalho corresponde a um caminho da primeira a ultima camada. Isso é feito através da resolução de um PA para cada dia do problema.

Nessa fase, é criada uma matriz de custos C = [cij], n x n, na qual cij associa o custo do

enfermeiro i assumir uma tarefa j, que é calculado através da função f(i,j,k), que considera o custo de enfermeiro i, no dia j, assumir o turno do tipo k. Caso o problema não esteja balanceado, isto é, o número de enfermeiros seja diferente do número de tarefas, o problema pode ser balanceado através da introdução de tarefas fictícias, caso o número de enfermeiros seja maior, conforme alerta Pentico (2007). Dessa forma, temos o problema balanceado e uma matriz quadrada para resolver, assim como o PA exige.

A matriz C é formada por dois blocos. No primeiro constam as tarefas que atendem a demanda e no segundo as tarefas fictícias necessárias para tornar a matriz quadrada, caso no dia em questão o número de enfermeiros seja maior que o número de tarefas demandadas. Em uma tarefa fictícia algum dos turnos é atribuído ao enfermeiro, e como o atendimento à demanda é garantido pelo primeiro bloco, a atribuição de qualquer um dos S turnos é permitida, até mesmo o turno folga. No segundo bloco, os elementos de cada linha recebem o valor do turno de menor custo do enfermeiro correspondente naquele dia.

Inicialmente, a matriz C correspondente à primeira camada é gerada e um PA é resolvido. Dessa forma, as tarefas são designadas para cada um dos enfermeiros no primeiro dia de suas jornadas. Em seguida, deve ser construída a matriz C relacionada à segunda camada.

(6)

6 Enfermeiros

I II

cij = f(i,j,k) cij = Mín f(i,j,k);

k = 1, ..., s Tarefas Tarefas Fictícias

Figura 2 – Estrutura da Matriz de Custos C

No quadro abaixo pode ser visualizado um esquema geral para a construção da solução inicial:

Quadro 1: Passos para a fase construtiva 2.3 Fase de Melhoramento

Na fase de melhoramento são utilizados dois procedimentos para minimização do custo total da solução, o Procedimento de Cortes e Recombinações (PCR) e o Procedimento de Redistribuição de Tarefas (PRT).

O PCR busca minimizar o custo total da solução através da realização de um corte entre duas camadas, dividindo cada uma das n jornadas em duas jornadas parciais, uma à esquerda e outra à direita do corte. Após o corte, é calculado o custo de se associar cada um dos n trechos de jornada à esquerda do corte com cada um dos n trechos de jornada à direita do corte. Dessa forma, é gerada uma matriz de custos E = [eij], n x n, onde o valor de cada elemento eij é dado

pelo custo da associação da jornada parcial à esquerda i e com a jornada parcial a direita j. Na matriz E, os trechos de jornada à esquerda são indicados pelas linhas e os trechos à direita, pelas colunas. No cálculo de eij, o algoritmo verifica quais tarefas fictícias podem ser

substituídas para que a recombinação possa reduzir seu custo. Além disso, no valor de eij está

incluso o valor das penalidades impostas, caso ocorram violações de restrições.

Após montar a matriz E, o PA correspondente é resolvido e os trechos são recombinados formando novas jornadas. O algoritmo que resolve o PA de dois níveis é exato e garante solução ótima, dessa forma, o custo total da solução diminui ou se mantém a cada processo de cortes e recombinações.

Início;

Inicialize os dados; Para j=1 até d fazer:

Gere a matriz de custo C correspondente ao dia j; Resolva o PA da matriz C;

(7)

7

Enfim, o PCR consiste em realizar d cortes entre as camadas e recombinar cada um dos n enfermeiros a cada uma das n jornadas completas.

Cortes: Dia 1 Dia 2 d/N d/M f/T d/N Enfermeiro Enfermeiro Enfermeiro Enfermeiro

Dia 3 Dia 4 Dia 5 Dia 6

f/M d/T d/M f/F f/T f/F d/T d/M Dia 7 d/T d/M d/N f/F f/F d/M f/F d/N f/F d/T d/T d/N d/M f/F f/F d/N 1 2 3 4 5 6 7

Figura 3: Exemplo de solução inicial, com cortes e possíveis recombinações no corte 2

A sequência de cortes no grafo pode ser feita tanto da esquerda para a direita quanto no sentido inverso. Assim, uma iteração corresponde a duas sequências de d cortes e recombinações, em sentidos opostos. A Figura 3 apresenta um exemplo de escala elaborada pelo procedimento de construção da solução inicial. As setas pontilhadas indicam possíveis recombinações enquanto as setas contínuas a jornada de trabalho em si.

No exemplo da Figura 3, estão representadas entre os dois primeiros dias, as possibilidades de recombinação entre as jornadas parciais à esquerda e à direita do corte 2 pelas setas pontilhadas. Em cada vértice do grafo está indicado o tipo da tarefa, fictícias (f) ou de demanda (d), e o tipo de turno, manhã (M), tarde (T), noite (N) ou folga (F).

Após serem calculados os custos das recombinações e o PA correspondente ser resolvido, é feita a alteração na escala, conforme exemplo da Figura 4.

Cortes: Dia 1 Dia 2 d/N d/M f/T d/N Enfermeiro Enfermeiro Enfermeiro Enfermeiro

Dia 3 Dia 4 Dia 5 Dia 6

f/T d/T d/M f/F f/T f/F d/T d/M Dia 7 d/T d/M d/N f/F f/F d/M f/F d/N f/F d/T d/T d/N d/M f/F f/F d/N 1 2 3 4 5 6 7

Figura 4: Resultado da resolução do PA no segundo corte

O outro procedimento, o PRT, busca minimizar o custo total da solução através da redistribuição das tarefas entre os enfermeiros durante um único dia. Esse procedimento é justificado, pois como o problema envolve custos relacionados às preferências de cada enfermeiro, uma mesma tarefa executada por enfermeiros diferentes podem ter custos diferentes.

(8)

8

uma das n tarefas desse dia a cada uma das n jornadas, onde o custo de associação é um elemento da matriz F=[fij], n x n. De forma análoga ao PCR, o custo de associação envolve a

possibilidade de troca entre as tarefas e penalização por violações de restrições. Mais uma vez, de posse da matriz-problema F, o PA é resolvido e as tarefas são trocadas conforme a solução.

Para a comparação dos resultados obtidos pelo algoritmo proposto, denominado NSPHeuristicSolver, com os da biblioteca de referência, NSPLib, é necessário a inclusão de mais um procedimento para tornar a solução compatível com os mesmos critérios adotados por esta biblioteca. Ou seja, como o algoritmo proposto utiliza a desobediência as restrições como relaxação e nos resultados da NSPLib é utilizada como relaxação a desobediência a demanda, é necessário tornar as violações de restrições resultantes do algoritmo proposto em violações de demanda. Para isso é introduzido o Procedimento de Substituição de Violações (PSV) que permite que os turnos exigidos pela demanda deixem de ser cumpridos, caso isso possibilite o atendimento a uma restrição não respeitada.

No PSV, cada turno de demanda que não é cumprido implica em uma penalidade no custo da solução. Por outro lado, cada violação de restrição que seja solucionada resulta no decréscimo da respectiva penalidade. Caso o PSV consiga “transformar” todas as violações de restrições em violações de demanda, o custo da solução será dado pela soma dos custos de preferência dos turnos designados mais as penalidades por descumprimento da demanda. Mas, se o PSV não conseguir “transformar” todas as violações, o custo final será dado pela soma dos custos de preferência dos turnos designados, pelas penalidades por descumprimento da demanda e pelas penalidades por violação de restrições.

A fase de melhoramento é executada de forma a percorrer as camadas em ambos os sentidos, alternadamente, até que não ocorra melhoria por um número determinado de iterações.

Por fim, o algoritmo proposto NSPHeuristicSolver pode ser descrito, em aspectos gerais, conforme o quadro abaixo, onde LimIter corresponde ao limite máximo de iterações e LimIterConsec corresponde ao limite máximo de iterações consecutivas sem melhorias:

Quadro 2: Passos gerais para o algoritmo

Nesse estudo, o valor atribuído para LimIter foi 20 e o valor atribuído para LimIterConsec foi 3. O critério de parada baseado no máximo de iterações consecutivas sem melhoria é justificado pelo fato de que podem ocorrer alterações na escala sem que haja uma redução no custo, o que ocorre em virtude das inúmeras possibilidades de alocação de turnos em tarefas fictícias e recombinações entre jornadas que podem proporcionar melhoria após algumas iterações com o custo estagnado.

Início;

Inicialize os dados; Construa Solução Inicial;

Enquanto LimIter ou LimIterConsec não for alcançado: Execute o PCR no sentido inverso das jornadas;

Execute o PRT no sentido inverso das jornadas; Execute o PCR no sentido das jornadas;

Execute o PRT no sentido das jornadas;

Execute o PSV;

(9)

9

3. Experimentação computacional e análise dos resultados

Para validar o método proposto, foram feitos testes computacionais utilizando uma biblioteca disponível na literatura, NSPLib, proposta por Maenhout e Vanhoucke (2005) para avaliar diferentes métodos de resolução do PEE, e disponível na página da universidade belga Ugent. Na NSPLib existem diversas instâncias para testes, envolvendo 25, 50, 75 e 100 enfermeiros para escalas de 7 dias, e 30 e 60 enfermeiros para escalas de 28 dias. Para cada um dos tamanhos de instância para as escalas de 7 dias existem 7290 arquivos com diferentes situações de demandas e preferências. Já para as escalas de 28 dias existem 960 arquivos disponíveis. Além disso, existem 8 casos de restrições para as escalas de 7 dias e mais 8 para as escalas de 28 dias. No total, a NSPLib dispõe de 248640 possibilidades de testar o PEE. Na biblioteca também estão disponíveis os custos, tempos de execução e violações de demanda para os melhores resultados obtidos por Maenhout e Vanhoucke (2006) e Maenhout e Vanhoucke (2007) utilizando como critérios de parada geração de 1000 e 5000 escalas. Para a comparação foram utilizados os resultados com critério de parada de geração de 5000 escalas, que, em geral, apresentam os melhores resultados.

O algoritmo proposto foi implementado utilizando a linguagem Pascal e os testes foram realizados em uma máquina Dell Precision com dois processadores Xeon Quad Core de 3,2 GHz e com 16 GB de memória RAM, rodando o sistema operacional Windows XP, de forma a utilizar todos os núcleos simultaneamente para efetuar os testes.

A penalidade por cada violação de restrição recebeu valor igual a 100, da mesma forma como Maenhout e Vanhoucke (2006) e Maenhout e Vanhoucke (2007) utilizaram na obtenção dos melhores resultados.

Na Tabela 1 é feita uma comparação geral dos resultados entre o método proposto, NSPHeuristicSolver, e os dados disponíveis na biblioteca NSPLib.

Instância Dias Instâncias testadas Custo médio Tempo médio (s) Média de violações Custo médio Tempo médio (s) Média de violações N25 7 58320 330,001 0,718 0,709 324,440 2,162 0,667 N50 7 58320 640,448 2,825 1,288 633,854 5,212 1,227 N75 7 58320 978,914 6,834 2,006 969,961 11,641 1,913 N100 7 58320 1489,981 13,629 2,429 1481,766 21,623 2,338 N30 28 7647 1927,123 92,374 4,330 1996,521 22,102 4,749 N60 28 7675 3785,374 447,157 7,420 3950,107 61,906 8,295 NSPHeuristicSolver NSPLib

Tabela 1: Comparação geral dos resultados

De acordo com a tabela acima, pode-se perceber que o desempenho do algoritmo proposto fica abaixo dos resultados encontrados na NSPLib para as instâncias de 7 dias ficando 1,71% acima dos custos da biblioteca na instância de 25 enfermeiros, 1,04% acima na instância de 50 enfermeiros, 0,92% acima na instância de 75 enfermeiros e 0,55% acima na instância de 100 enfermeiros. Apesar dos resultados terem sido ligeiramente inferiores aos da biblioteca, é possível notar que a distância entre os métodos vai diminuindo conforme aumenta o tamanho do problema.

(10)

10

Para uma melhor comparação entre os custos, a Tabela 2 apresenta os custos encontrados de forma decomposta, onde podem ser comparados de forma isolada os custos provenientes das preferências e os custos provenientes das penalidades impostas.

Instância Dias Custo Médio Preferência Custo Médio Penalidades % Sol. Factíveis Custo Médio Preferência Custo Médio Penalidades % Sol. Factíveis N25 7 259,101 70,90 86,243% 257,740 66,70 86,595% N50 7 511,648 128,80 87,133% 511,154 122,70 87,353% N75 7 778,314 200,60 86,591% 778,661 191,30 86,811% N100 7 1247,081 242,90 88,047% 1247,966 233,80 88,049% N30 28 1494,123 433,00 68,746% 1521,621 474,90 67,569% N60 28 3043,374 742,00 69,798% 3120,607 829,50 68,678% NSPHeuristicSolver NSPLib

Tabela 2: Composição do custo médio das soluções

Comparando os custos médios de preferências, é possível perceber que nas escalas de 7 dias esses custos são muito próximos e a diferença é devido ao custo médio das penalidades impostas. Mas observando o percentual de soluções factíveis, não há uma grande disparidade entre os dois métodos nas escalas de 7 dias. Por outro lado, mais uma vez nas escalas de 28 dias o desempenho do algoritmo proposto cresce conseguindo encontrar melhores resultados no custo médio de preferência, no custo médio de penalidades e no percentual de soluções factíveis, com certa vantagem.

Analisando o gráfico da Figura 5, que traz o percentual de melhores soluções encontradas entre todos os arquivos de todas as instâncias, nota-se que o algoritmo proposto começa a encontrar maior numero de melhores soluções a partir da instância com 75 enfermeiros e, a partir daí, o desempenho fica cada vez melhor.

N25 N50 N75 N100 N30 N60 NSPHeuristicSolver 5,91% 23,70% 38,78% 54,23% 95,03% 97,49% Mesmo Custo 45,20% 47,11% 40,73% 30,00% 0,47% 0,05% NSPLib 48,89% 29,18% 20,49% 15,76% 4,50% 2,45% 0,00% 10,00% 20,00% 30,00% 40,00% 50,00% 60,00% 70,00% 80,00% 90,00% 100,00% P e rc e n tu a l d e m e lh o re s s o lu ç õ e s

(11)

11

Com base nas Tabelas 1 e 2 e no gráfico da Figura 5, percebe-se que a vantagem nos custos da NSPLib nas soluções de 7 dias se deve ao fato dos resultados da biblioteca terem violado menos restrições quando violaram. Por outro lado, tal justificativa não se aplica às instâncias de 28 dias, com 30 e 60 enfermeiros, já que os resultados do algoritmo proposto são indiscutivelmente superiores aos da biblioteca.

Por fim, a Tabela 3 apresenta uma comparação entre as soluções factíveis encontradas por ambos os métodos ao mesmo tempo, que são as instâncias comparadas, o custo médio dessas instâncias comparadas e a quantidade de soluções factíveis encontradas por cada método.

Instância Dias Total de Instâncias

Instâncias

Comparadas Custo Médio

Soluções

Factíveis Custo Médio

Soluções Factíveis N25 7 58320 50292 256,657 50297 255,550 50502 N50 7 58320 50788 507,622 50816 507,523 50944 N75 7 58320 50472 771,676 50500 772,431 50628 N100 7 58320 51249 1237,952 51349 1239,952 51350 N30 28 7647 5165 1464,757 5257 1492,559 5167 N60 28 7675 5271 2981,732 5357 3052,284 5271 NSPHeuristicSolver NSPLib

Tabela 3: Comparação entre as soluções factíveis

Com a comparação entre as soluções factíveis, percebe-se que o NSPHeuristicSolver obteve os menores custos médios das instâncias comparadas a partir da instância N75, o que segue a linha dos outros dados apresentados, de onde foi concluído que a ligeira superioridade dos resultados da NSPLib nos menores casos deve-se ao menor número de restrições violadas nestas soluções e, que o algoritmo proposto apresenta indiscutivelmente os melhores resultados nas maiores escalas, com os menores custos médios, menos restrições violadas e maior número de soluções viáveis.

Finalmente, da Tabela 3 constata-se que quando não há restrições violadas, o algoritmo proposto faz melhor distribuição dos turnos entre os enfermeiros.

Com relação ao tempo de execução, apesar de apresentado, este é um fator de difícil comparação já que foram utilizadas diferentes máquinas pelos diferentes métodos e, apesar de existirem técnicas para realizar este tipo de comparação, as mesmas não foram utilizadas pois sua confiabilidade não é absoluta. Os testes da NSPLib foram realizados em um Toshiba SPA10 com processador Intel Celeron 2,4 GHz com 256 MB de memória RAM.

Apesar do algoritmo proposto, NSPHeuristicSolver, ter aparentemente levado mais tempo para resolver os maiores problemas do que os resultados da NSPLib, isto não é um fator que compromete, já que a solução encontrada foi bem melhor e o tempo continua sendo muito pequeno em vista do tempo necessário para fazer a escala manualmente.

4. Conclusões

(12)

12

E o mais importante, o algoritmo proposto resolveu com acurácia os problemas disponíveis na biblioteca NSPLib obtendo resultados, em geral, melhores do que os disponíveis na NSPLib. Sendo que, os melhores resultados foram encontrados justamente nas maiores instâncias, as que mais se aproximam da realidade.

Apesar do tempo de processamento do algoritmo ter sido maior que o dos trabalhos usados como referência, ainda assim é um tempo irrisório perto do tempo gasto em escalonamentos feitos manualmente. Dessa forma, o algoritmo também pode ser considerando eficiente do ponto de vista computacional e a abordagem pode ser bastante útil para aplicações em casos reais de escalonamento de enfermeiros, mesmo que as condições de demanda e preferência sejam dinâmicas.

Em vista disso, conclui-se que o algoritmo proposto resolve o Problema de Escalonamento de Enfermeiros seguindo as qualidades apontadas por Cordeau et al. (2002) como importantes em métodos heurísticos: acurácia, velocidade, simplicidade e flexibilidade.

Do ponto de vista prático, otimizar uma escala e atender às preferências e leis tem como vantagem a redução dos custos, o aumento da satisfação dos colaboradores e menos reclamações trabalhistas.

Agradecimentos: Ao apoio financeiro do programa PIBIC/CNPq-Fundação Araucária-UEM. Referências

AICKELIN, U.; DOWSLAND, K. An indirect genetic algorithm for a nurse scheduling problem. Computers

and Operations Research, 31(5), p. 761-778, 2004.

BURKE, E. K.; CURTOIS, T.; POST, G.; QU, R.; VELTMAN, B. A hybrid heuristic ordering and variable

neighbourhood search for the nurse rostering problem. In: European Journal of Operations Research, 188, p. 330 – 341, 2008.

BURKE, E. K.; DE CAUSMAECKER, P.; VANDEN BERGHE, G.; VAN LANDEGHEM, H. The State of

the Art of Nurse Rostering. In: Journal of Scheduling, 7, p. 441 – 499, 2004.

CARPANETO G.; TOTH P. Primal-dual algorithms for the assignment problem. Discrete Applied

Mathematics, 18, p. 137-153, 1987.

CORDEAU, J. F.; GENDREAU, M.; LAPORTE, G.; POTVIN, J. Y.; SEMET, F. A guide to vehicle

routing heuristics. In: The Journal of Operational Research Society, 53(5), p. 512 – 522, 2002.

DUENAS, A.; TÜTÜNCÜ, G. Y.; CHILCOTT, J. B. A genetic algorithm approach to the nurse scheduling

problem with fuzzy preferences. In: IMA Journal of Management Mathematics, 20, p. 369-383, 2009.

FERLAND, J. A.; BERRADA, I.; NABLI, I.; AHIOD, B.; MICHELON, P.; GASCON, V. Generalized

assignment problem type goal programming problem: application to nurse scheduling. In: Journal of Heuristics, v. 7, n. 4, p. 391-413, 2001.

GUTJAHR, W. J.; RAUNER, M. S. An ACO algorithm for a dynamic regional nurse-scheduling problem in

Austria. In: Computers & Operations Research, 34, p. 642 – 666, 2007.

HILLIER, F. S.; LIEBERMAN, G. J. Introdução à Pesquisa Operacional. 8. ed. Porto Alegre: AMGH, 2010.

852 p.

KUNDU, S.; ACHARYYA, S. A SAT approach for solving the nurse scheduling problem. In: IEEE Region 10

Conference TENCON 2008, Hyderabad, p. 1-6, 2008.

MAENHOUT, B.; VANHOUCKE, M. NSPLib – A Nurse Scheduling Problem Library: A tool to evaluate

(meta-)heuristic procedures. Submitted to the ORAHS Proceedings 2005. 2005.

MAENHOUT, B.; VANHOUCKE, M. An electromagnetic meta-heuristic for the nurse scheduling problem.

In: Journal of Heuristcs, 13(4), p. 359-385, 2007.

(13)

13 Scatter Search Algorithm. Lecture Notes in Computer Science, Berlin, 3906, p. 159-170, 2006.

OHKI, M.; MORIMOTO, A.; MIYAKE, K. Nurse scheduling by using cooperative GA with efficient

mutation and mountain-climbing operators. In: Third International IEEE Conference Intelligent Systems, Londres, p. 164-169, 2006.

OHKI, M.; UNEME, S.; KAWANO, H. Parallel processing of cooperative genetic algorithm for nurse

scheduling. In: Fourth International IEEE Conference Intelligent Systems, Varna, p. 36-41, 2008.

OUGHALIME, A.; ISMAIL, W.; YEUN, L. A tabu search approach to the nurse scheduling problem. In:

International Symposium on Information Techonology, Kuala Lumpur, v. 1, pp. 1-7, 2008.

PENTICO, D. W. Assignment Problems: A golden anniversary survey. In: European Journal of Operational

Research, 176, p. 774 – 793, 2007.

TSAI, C.; LI, S. A two-stage modeling with genetic algorithms for the nurse scheduling problem. In: Expert

Systems with Applications, v. 36, n. 5, p. 9506-9512, 2009.

UNIVERSITY OF NOTTINGHAM. Benefits of automated employee scheduling. Disponível em:

<http://www.cs.nott.ac.uk/~tec/NRP/benefits.html>. Acesso em 15/04/2010.

VANHOUCKE, M; MAENHOUT, B. On the characterization and generation of nurse scheduling problem

Referências

Documentos relacionados

6.2 – – Resposta de Regime do Sistema à Excitação Periódica Geral Resposta de Regime do Sistema à Excitação Periódica Geral.. Já são sabidas as soluções de regime das

O 6º ano do Mestrado Integrado em Medicina (MIM) é um estágio profissionalizante (EP) que inclui os estágios parcelares de Medicina Interna, Cirurgia Geral,

De sticker met WEEE-symbool op het product betekent dat het apparaat aan het einde van zijn levensduur niet als gewoon afval mag worden beschouwd.. Het is speciaal afval en moet

O problema resultante P CER ´ e considerado a forma extensiva do programa estoc´ astico, pois explicita as vari´ aveis de decis˜ ao de segundo est´ agio para todos os cen´

In this work, we con- sider a more detailed investigation using a Hubbard-type Hamiltonian 16,17 to represent the impurity electrons, where the effects of the external electric

Nos casos de estacas de madeira, aço e pré-moldadas de concreto, para carga admissível até 1MN (100 tf) quando empregado um martelo de queda livre, a relação entre os pesos do pilão

falaremos um pouco sobre os mercados emissores de turistas internacionais e fazer uma síntese sobre alguns países emissores de turistas da Europa para Cabo Verde. Para além de

Espécie Arcyria cinerea Badhamia melanospora Ceratiomyxa fruticulosa Comatricha pulchella Diachea leucopodia Didymium minus Didymium nigripes Didymium squamulosum Hemitrichia