• Nenhum resultado encontrado

Um problema de afetação de pessoal a clientes de uma empresa de serviços domésticos

N/A
N/A
Protected

Academic year: 2021

Share "Um problema de afetação de pessoal a clientes de uma empresa de serviços domésticos"

Copied!
54
0
0

Texto

(1)

i

M

ESTRADO

D

ECISÃO

E

CONÓMICA E

E

MPRESARIAL

T

RABALHO

F

INAL DE

M

ESTRADO

T

RABALHO DE

P

ROJETO

U

M PROBLEMA DE AFETAÇÃO DE PESSOAL A CLIENTES

DE UMA EMPRESA DE SERVIÇOS DOMÉSTICOS

C

ARINA

F

ILIPA

Q

UINTINO

M

OTA

G

RILO

(2)

Carina Filipa Quintino Mota Grilo ii

M

ESTRADO

D

ECISÃO

E

CONÓMICA E

E

MPRESARIAL

T

RABALHO

F

INAL DE

M

ESTRADO

T

RABALHO DE

P

ROJETO

U

M PROBLEMA DE AFETAÇÃO DE PESSOAL A CLIENTES

DE UMA EMPRESA DE SERVIÇOS DOMÉSTICOS

C

ARINA

F

ILIPA

Q

UINTINO

M

OTA

G

RILO

O

RIENTAÇÃO

:

P

ROFESSORA

D

OUTORA

M

ARIA

M

ARGARIDA DE

O

LIVEIRA

M

OZ

C

ARRAPA

(3)

Carina Filipa Quintino Mota Grilo iii

Um problema de afetação de pessoal a clientes de uma

empresa de serviços domésticos

Carina Filipa Quintino Mota Grilo

Mestrado: Decisão Económica e Empresarial Orientadora: Professora Doutora Margarida Moz

Resumo

O presente trabalho final de mestrado é apresentado sob a forma de trabalho de projeto, em que se aplicam métodos e conhecimentos de Investigação Operacional e Computação, adquiridos ao longo do curso, à resolução de um problema real com que se deparou uma instituição de solidariedade social, a Pressley Ridge.

Este problema que a instituição designa de “projeto Marias” consiste em promover o encontro entre os pedidos de clientes que procuram quem lhes faça determinados serviços domésticos e as funcionárias da instituição com formação para prestar os serviços procurados.

Para conciliar os pedidos com as disponibilidades das funcionárias é preciso fazer a afetação de funcionárias a clientes, respeitando um conjunto de condições impostas por ambas as partes.

Neste trabalho propõe-se um modelo de programação linear binária para descrever matematicamente o problema. Este modelo tem por base o problema de afetação clássico, no qual se incorporam restrições adicionais. Foram desenvolvidas duas heurísticas, uma construtiva e uma melhorativa para resolver o problema nos casos em

(4)

Carina Filipa Quintino Mota Grilo iv que a dimensão não permite a resolução pelo Solver Premium Pro (Premium Solver Pro, 2006-2013), um suplemento do Excel.

Quer as heurísticas, quer os procedimentos de tratamento dos ficheiros de dados e de apresentação de resultados foram programados em Visual Basic.

Para comparar os diferentes métodos de resolução é realizada experiência computacional considerando um conjunto de instâncias de teste. São apresentadas conclusões acerca da qualidade das heurísticas e do desempenho do Solver Premium do Excel.

Palavras-Chave:

Escalonamento de pessoal, afetação de tarefas, métodos heurísticos, programação linear binária (PLB), gestão de recursos humanos.

(5)

Carina Filipa Quintino Mota Grilo v

Um problema de afetação de pessoal a clientes de uma

empresa de serviços domésticos

Carina Filipa Quintino Mota Grilo

Mestrado: Decisão Económica e Empresarial Orientadora: Professora Doutora Margarida Moz

Abstract

This final master thesis is presented in the form of work project on the application of methods and acquired knowledge on Operations Research and Computer Science to the resolution of a real problem found by a private institution of social solidarity, the Pressley Ridge.

This problem designated by the institution as “projeto Marias” has the purpose of matching the requests of customers looking for people who do certain domestic services and trained employees of the institution who can provide the requested services.

To match the clients’ requests and employees’ availability one has to assign employees to customers, respecting a set of conditions imposed by both parts.

This paper proposes a binary linear programming model to mathematically describe the problem. The model is based on the classic assignment problem, where additional constraints are incorporated. Two heuristics were developed to provide feasible solutions for large instances that Premium Solver Pro (Premium Solver Pro, 2006-2013), an Excel add-in, could not solve.

Either the heuristics or the procedures for input and output data files management were coded in Visual Basic.

(6)

Carina Filipa Quintino Mota Grilo vi To compare the different methods computational experiment was carried out on a set of test instances. Conclusions are drawn about the quality of the heuristics and the performance of Excel Solver Premium.

Keywords: Personal scheduling, assignment of tasks, heuristic methods, binary linear programming, human resources management.

(7)

Carina Filipa Quintino Mota Grilo vii AGRADECIMENTOS

A realização deste trabalho de projeto de mestrado contou com muito apoio, incentivo e dedicação de algumas pessoas, sem as quais não teria sido possível realizá-lo.

À Professora Doutora Margarida Moz, pela sua orientação em todo este projeto, por toda a sua disponibilidade em encaminhar-me para conseguir finalizar este trabalho projeto, esclarecer as minhas dúvidas no decorrer do percurso, pelas suas sugestões, pela sua dedicação e empenho.

À Professora Doutora Margarida Vaz Pato que coordenou todo o mestrado e pela sua preocupação pela escolha do tema e escolha do orientador da tese.

Por último, aos meus pais, por terem sido sempre um modelo de coragem e dedicação, por nunca me deixarem desistir dos meus objetivos, ajudando-me a ultrapassar as dificuldades que me foram aparecendo no decorrer deste percurso.

(8)

Carina Filipa Quintino Mota Grilo viii

Índice

Capítulo 1 - Introdução ... 1

Capítulo 2 – Descrição do problema ... 3

Capitulo 3 – Metodologia de investigação ... 4

3.1. Levantamento e tratamento dos dados... 4

3.2. Pesquisa bibliográfica ... 6

3.3. Modelo de programação linear binária ... 8

Capítulo 4 - Descrição das heurísticas ... 11

4.1. Heurística construtiva ... 11

4.2. Heurística melhorativa ... 13

Capítulo 5 – Experiência computacional ... 15

5.1 Características das instâncias ... 15

5.1.1 Primeira instância ... 16

5.1.2 Segunda instância ... 17

5.1.3. Terceira instância ... 19

5.1.4. Quarta instância ... 21

5.2 Resultados do modelo de programação linear binária ... 23

5.2.1. Primeira instância ... 23

5.2.2. Segunda instância ... 24

5.3 Resultados das heurísticas ... 25

5.3.1. Primeira instância ... 26

5.3.2. Segunda instância ... 26

5.3.3. Terceira instância ... 27

5.3.4. Quarta instância ... 31

5.4. Comparação de resultados dos testes efetuados ... 33

Capítulo 6 – Conclusões ... 35

Referências bibliográficas ... 37

Anexo 1 - Base de dados dos clientes e das funcionárias ... 38

1.1 Terceira instância ... 38

1.2 Quarta instância ... 41

Anexo 2 - Relatórios de Resposta do Solver do Excel ... 43

2.1 Primeira instância ... 43

(9)

Carina Filipa Quintino Mota Grilo ix Lista de Tabelas

Tabela 1: Pormenor da base de dados das funcionárias 5

Tabela 2: Pormenor da base de dados dos clientes 6

Tabela 3: Resumo das características das instâncias 16

Tabela 4: Dados da instância 1 17

Tabela 5: Dados da instância 2 18

Tabela 6: Número de variáveis e de restrições do modelo para cada instância 23

Tabela 7: Resultado da instância 1 obtido pelo Solver Premium 24

Tabela 8: Resultado da instância 2 obtido pelo Solver Premium 25

Tabela 9: Resultado da heurística construtiva para a instância 1 26

Tabela 10: Resultado da heurística construtiva para a instância 2 26

Tabela 11: Resultado da heurística construtiva para a instância 3 28

Tabela 12: Resultado da heurística melhorativa para a instância 3 29

Tabela 13: Resultado da heurística construtiva para a instância 4 31

Tabela 14: Resultado da heurística melhorativa para a instância 4 32

Tabela 15: Resumo dos resultados obtidos com os vários métodos - 33

– instâncias 1 e 2 Tabela 16: Resumo dos resultados obtidos com o método heurístico – 34

(10)

Carina Filipa Quintino Mota Grilo x Lista de figuras

Figura 1: Fluxograma da heurística construtiva 12 Figura 2: Fluxograma da heurística melhorativa 14 Figura 3: Mensagem de erro do Solver Premium 24

Lista de Abreviaturas

PLB – Programação linear binária EDP – Electricidade de Portugal

(11)

Carina Filipa Quintino Mota Grilo 1 Capítulo 1 - Introdução

O presente trabalho final de mestrado assume a forma de trabalho de projeto, uma vez que se desenvolve em torno da aplicação de conhecimentos adquiridos ao longo do curso à resolução de um problema prático que surgiu numa instituição, a Pressley Ridge (http://www.pressleyridge.pt/).

Esta instituição é uma Instituição Particular de Solidariedade Social (IPSS) que dá apoio a mulheres de meios socialmente desfavorecidos com o objetivo de as tirar da situação de pobreza, proporcionando apoio jurídico e formação que lhes permita entrar no mercado de trabalho. A instituição tem em carteira um conjunto de clientes que solicitam funcionárias para executar determinados serviços e foi escolhida pela Fundação EDP para gerir um projeto que ficou conhecido por “projeto Marias” (http://www.projetomarias.org/).

O problema objeto deste trabalhoestá relacionado com o “projeto Marias” que consiste em promover o encontro entre os pedidos de clientes que procuram quem lhes faça determinados serviços domésticos e funcionárias que têm formação para os serviços procurados.

O projeto começou por ser desenvolvido numa dimensão pequena, mas neste momento atingiu uma grande escala e a instituição sentiu a necessidade de utilizar um software para o gerir de forma eficiente a partir de informação que fosse organizada em bases de dados.

Os conhecimentos académicos adquiridos ao longo do meu percurso escolar, nomeadamente na área da Investigação Operacional, pareceram-me adequados para abordar este problema.

(12)

Carina Filipa Quintino Mota Grilo 2 O trabalho consistiu em propor a forma de organizar as bases de dados, resolver o problema da atribuição de clientes às funcionárias e apresentar os resultados dessa atribuição usando ficheiros do Excel e, quando necessário, fazer programação em Visual Basic. Para representar matematicamente o problema da atribuição de clientes às funcionárias foi formulado um modelo de programação linear binária (PLB). O modelo foi testado com várias instâncias e verificou-se que, mesmo para instâncias de relativamente pequena dimensão, se tinha de resolver problemas de PLB com dimensões não suportadas pelo Solver Premium Pro, uma ferramenta suplementar do Excel. Por este motivo, foram desenvolvidas duas heurísticas, uma construtiva e uma melhorativa. Os resultados obtidos com as heurísticas são apresentados e nos casos em que é possívelsão comparados com os que se obtiveram com o Solver Premium.

No capítulo 2, apresenta-se detalhadamente o problema a resolver. No capítulo 3 descreve-se a metodologia de investigação. O capítulo 4 é dedicado à descrição das heurísticas e o capítulo 5 à experiência computacional. Por fim, no capítulo 6, apresentam-se algumas conclusões.

(13)

Carina Filipa Quintino Mota Grilo 3 Capítulo 2 – Descrição do problema

O “projeto Marias” consiste em promover a ocupação de funcionárias formadas para desenvolverem certas atividades profissionais de serviços domésticos, entre as quais se destacam a confeção de refeições, o tratamento de roupa, a limpeza da casa, o acompanhamento de idosos, crianças e animais. Ao mesmo tempo, a instituição recebe pedidos de clientes que procuram quem execute alguns destes serviços.

Assim a instituição pretende efetuar a afetação do pessoal às tarefas solicitadas pelos clientes.

Os clientes podem revelar preferências por determinadas funcionárias, justificadas pela idade, ou pelo facto de terem filhos ou não. Podem preferir um determinado dia e turno para os serviços solicitados, ou ser indiferentes ao turno em que o serviço é prestado, entre outros aspetos. Mas as funcionárias apresentam também as suas condições, como por exemplo, não trabalhar mais do que um determinado número de horas, não trabalhar em certos locais, não cuidar de pessoas idosas, de crianças ou de animais, ou pedir para gozar folga em dias específicos. É necessário ainda ter em conta que há funcionárias com formação apenas para alguns serviços domésticos.

O problema a resolver consiste em determinar quais as funcionárias que vão ser afetas às tarefas solicitadas pelos clientes, respeitando todas as restrições impostas por funcionárias e clientes, impedindo que a mesma funcionária seja afeta a clientes diferentes no mesmo turno do mesmo dia e minimizando o número de pedidos dos clientes que ficam por satisfazer.

Este problema de otimização atinge, em geral, grande grau de dificuldade na sua resolução devido à sua natureza combinatória e é por isso que as pessoas que o têm resolvido, até agora sem qualquer apoio informático, anseiam por este tipo de apoio.

(14)

Carina Filipa Quintino Mota Grilo 4 Capitulo 3 – Metodologia de investigação

Depois de identificado o problema, a investigação seguiu os seguintes passos: primeiramente a recolha de todos os dados e informação relevante; de seguida a pesquisa bibliográfica para situar o problema a resolver no contexto de trabalhos de investigação aplicados à resolução de problemas semelhantes; posteriormente a formulação matemática do problema em programação linear binária; seguida do desenvolvimento de heurísticas; e, por fim, a definição do conjunto de instâncias de teste para aferir da qualidade das soluções obtidas pelas heurísticas. Neste capítulo, descrevem-se detalhadamente os três primeiros pontos.

3.1. Levantamento e tratamento dos dados

A Pressley Ridge permitiu-nos dar início ao levantamento dos dados, informando-nos pormenorizadamente sobre os procedimentos atualmente utilizados para resolver o problema e que não se baseiam em qualquer suporte informático.

Posteriormente, para remover dúvidas e prosseguir o desenvolvimento do trabalho de projeto, foram colocadas mais questões à instituição. No entanto, não se obteve qualquer resposta pois a Pressley Ridge deixou de gerir o “projeto Marias” e a associação que se formou para a substituir, em processo de instalação, não teve condições para continuar o apoio e acabou por se perder o contacto com a mesma. Para ultrapassar este obstáculo, procurou-se no website da Pressley Ridge (http://www.pressleyridge.pt/onde-actuamos/projecto-marias/) informação que permitisse recolher mais dados para construir uma base dados.

(15)

Carina Filipa Quintino Mota Grilo 5 A base de dados foi organizada em duas folhas dum ficheiro Excel, uma para os dados das funcionárias, outra para os dos clientes.

A folha com o nome “Funcionária” contém toda a informação acerca das funcionárias, nomeadamente as tarefas para que têm formação, os dias e os turnos em que podem trabalhar, e outros dados pessoais, por exemplo, morada de residência, como se pode observar na Tabela 1, em que 0 e 1 correspondem, respetivamente, a “não apto” e “apto” para o serviço nesse turno.

Tabela 1: Pormenor da base de dados das funcionárias

A folha com o nome “Cliente”, contém toda a informação acerca dos clientes, por exemplo, as tarefas solicitadas, os dias e os turnos em que pretendem esses serviços realizados, as funcionárias que preferem ou que não querem, e as moradas de residência. Na Tabela 2 apresenta-se um exemplo da folha “Cliente”, em que 0 e 1 correspondem, respetivamente, a “não solicita” e “solicita” o serviço nesse turno.

(16)

Carina Filipa Quintino Mota Grilo 6 Tabela 2: Pormenor da base de dados dos clientes

3.2. Pesquisa bibliográfica

Na pesquisa bibliográfica efetuada não foi encontrado nenhum trabalho de Investigação Operacional que tratasse do problema de afetar pessoal de serviços domésticos a clientes, embora existam inúmeros trabalhos sobre o problema de afetação clássico de pessoas a tarefas, e também sobre modelos de afetação aplicados a outros contextos, como se pode ver na resenha bibliográfica de Pentico (2007) por ocasião dos 50 anos do artigo de Kuhn (1955).

Os problemas de afetação são problemas de otimização que envolvem o emparelhamento de elementos de dois ou mais conjuntos. O que designamos por clássico envolve apenas dois conjuntos de n elementos e pretende o emparelhamento um-a-um entre os n elementos de um dos conjuntos e os n elementos do outro, com o objetivo de minimizar o custo total dos emparelhamentos. É um problema com grande aplicação prática, por exemplo, nas áreas do escalonamento de pessoal, afetação de indivíduos a tarefas, localização de equipamentos, entre outras, mas também aparece muitas vezes como sub-problema de problemas difíceis de otimização combinatória. Foi

(17)

Carina Filipa Quintino Mota Grilo 7 um problema intensamente estudado desde os anos 50 do século passado com o intuito de desenvolver algoritmos eficientes para resolver problemas de grande dimensão. Segundo Pentico (2007) nos últimos 50 anos têm surgido inúmeras publicações com investigação sobre variantes do problema de afetação clássico, como por exemplo, o problema de afetação com restrições adicionais, como a inclusão de restrições orçamentais, ou reconhecimento de qualificação de indivíduos para as tarefas, ou restrições de tempo.

Alguns destes problemas são de elevada complexidade e pertencem à categoria dos problemas NP-difíceis.

O problema de afetação com restrições adicionais, designado por problema de afetação generalizada, é NP difícil, segundo Mazzola e Neebe (1986). Estes autores apresentam um modelo geral de afetação com restrições adicionais e justificam o desenvolvimento de métodos aproximados de resolução e propõem uma heurística baseada em

branch-and-bound. Para avaliar a qualidade da heurística os autores fazem testes

computacionais em instâncias geradas aleatoriamente e comparam o resultado com um

branch-and-bound. Também Kochenberger et al. (2002) referem que o problema de

afetação binário com a restrição adicional de a função objetivo requerer um valor específico é, em geral, NP-difícil e propõe uma reformulação do problema que resolvem com uma meta-heurística, Tabu Search.

Caron et al. (1999)1 e Volgenant (2004) propõem algoritmos para o problema de afetação de pessoal a tarefas com restrições quanto à qualificação e a senioridade dos indivíduos, e a prioridade das tarefas. Os primeiros têm um problema de escalonamento diário de enfermeiras num hospital e propõem um procedimento que atribui pesos às

1

(18)

Carina Filipa Quintino Mota Grilo 8 classes de senioridade/prioridade modificando os coeficientes da função objetivo e resolvem um problema de afetação. Volgenant, para o problema de Caron et al., propõe um algoritmo que se baseia na resolução sequencial de problemas de afetação de dimensão crescente, mas não apresenta comparação de resultados.

O problema do “projeto Marias” será abordado neste trabalho como um problema de afetação com restrições adicionais.

3.3. Modelo de programação linear binária

O problema foi formulado através de um modelo de programação linear binária que seguidamente se descreve.

Considerando que os dados do problema se podem representar através dos parâmetros

com i=1,…, |I|; j=1,…, |J|; k=1,…, |K|; d=1,…, |D|; s=1,…, |S|, sendo I, J, K, D e S os conjuntos de clientes, funcionárias, turnos, dias e serviços, respetivamente, definiram-se as variáveis

para i=1,…, |I|; j=1,…, |J|; k=1,…, |K|; d=1,…, |D|; s=1,…, |S|.

(19)

Carina Filipa Quintino Mota Grilo 9 O modelo de programação linear binária consiste em

Sujeito a:

sendo M um número suficientemente grande.

Em (1) a função objetivo avalia a satisfação dos clientes em número de pedidos que são satisfeitos. As restrições (2) impõem que cada cliente seja servido no máximo por uma funcionária por turno por dia num serviço pedido. As restrições (3) impõem que cada funcionária sirva no máximo um cliente por turno por dia num ou mais serviços que possa fazer. As restrições (4) impedem que as funcionárias sejam afetas ao mesmo turno do mesmo dia em clientes diferentes, podendo uma funcionária ser afeta a serviços

(20)

Carina Filipa Quintino Mota Grilo 10 diferentes no mesmo turno do mesmo dia, se estes forem no mesmo cliente. Com efeito, para uma restrição deste grupo, se a funcionária j for afeta ao cliente i, no turno k do dia

d para fazer a tarefa s, então e o segundo membro da restrição anula-se. Isto implica que o primeiro membro da restrição se anula, ou seja, a funcionária j não trabalho no turno k do dia d em nenhum serviço para outro cliente que não seja o cliente

i. Se a funcionária j não for afeta ao cliente i, no turno k do dia d para fazer a tarefa s,

então e o segundo membro da restrição fica um número suficientemente grande para não restringir o problema. As restrições (5) permitem que os clientes escolham não ter funcionárias diferentes no mesmo turno. As restrições (6) exprimem o domínio das variáveis.

O modelo começou por ser testado com o Solver do MS Excel, que é um suplemento do

MS Excel que é fornecido de origem, mas verificou-se que a dimensão da maior parte

das instâncias ultrapassava o limite de 200 variáveis e 100 restrições deste solver. Recorreu-se então ao Solver Premium Pro num grupo de instâncias de teste, mas só para instâncias de muito pequena dimensão se obtiveram soluções ótimas, uma vez que este

solver permite apenas resolver problemas que no máximo têm 2000 variáveis e 1000

restrições e as instâncias reais são, em geral, de muito maior dimensão. Por exemplo, a instituição habitualmente planeia para um horizonte temporal de 30 dias pedidos de 80 a 90 clientes.

No capítulo 4, são descritas pormenorizadamente as heurísticas propostas, sendo a experiência computacional apresentada no capítulo 5.

(21)

Carina Filipa Quintino Mota Grilo 11 Capítulo 4 - Descrição das heurísticas

Para produzir soluções admissíveis para o problema em tempo considerado razoável foram desenvolvidas duas heurísticas, uma construtiva e uma melhorativa. Considera-se que uma solução admissível é uma afetação de funcionárias a clientes que, ainda que não satisfaça todos os pedidos dos clientes, satisfaz todas as restantes restrições.

Os procedimentos das heurísticas foram codificados em Visual Basic – VBA do Excel.

4.1. Heurística construtiva

A heurística construtiva afeta sequencialmente funcionárias a clientes. Começando pelo primeiro cliente da base de dados, seja o cliente i, procura uma tarefa que este solicite e que não esteja atribuída a nenhuma funcionária. Procura uma funcionária que possa efetuar essa tarefa. Se a funcionária está disponível e pode fazer essa tarefa, nesse dia, nesse turno, é afeta ao cliente i. Posteriormente verifica-se se o cliente i tem mais solicitações, ou seja, mais serviços que ainda não estejam atribuídos. No caso afirmativo, procura-se funcionária que possa satisfazer aquele pedido para posteriormente ser afeta a funcionária j ao cliente i. No caso do cliente não ter mais solicitações, procura-se saber se existem mais clientes com solicitações. Se sim, atualiza-se o índice i, passando para o próximo cliente com pedidos por satisfazer, se não, termina a heurística construtiva.

No caso em que a funcionária j não pode ser afeta ao cliente i, e caso existam mais funcionárias por pesquisar, procura nova funcionária que possa ser afeta ao cliente em questão, e atualiza j. No caso de não existirem mais funcionárias por pesquisar, verifica-se verifica-se o cliente i tem mais solicitações para passar ao tratamento de outro pedido.

(22)

Carina Filipa Quintino Mota Grilo 12 Quando não é possível satisfazer mais nenhum pedido do cliente, o procedimento repete-se com outro cliente até percorrer todos os clientes com pedidos no período de planeamento. Na Figura 1 apresenta-se um fluxograma que resume os procedimentos da heurística construtiva.

No fim do procedimento, é produzido um mapa das funcionárias com o seu horário e local de trabalho e um mapa dos clientes com indicação das funcionárias que lhes foram atribuídas ou assinalando os pedidos que não puderam ser satisfeitos.

Com a heurística construtiva, ficam determinadas afetações funcionária/cliente, mas se os pedidos dos clientes não forem todos satisfeitos, a solução obtida pode ser considerada de má qualidade, se houver muitos pedidos de clientes por satisfazer. Neste caso, para tentar obter soluções admissíveis de melhor qualidade desenvolveu-se uma heurística melhorativa.

(23)

Carina Filipa Quintino Mota Grilo 13 4.2. Heurística melhorativa

A heurística melhorativa, em cada iteração, atua sobre uma solução admissível, efetuando trocas de afetações funcionárias/clientes desde que estas reduzam o número de pedidos não satisfeitos, respeitando as restrições.

Na primeira iteração, inicia com a solução admissível obtida pela heurística construtiva, escolhe o cliente com mais pedidos por satisfazer, seja o cliente i, e verifica qual é a tarefa com mais faltas nesse cliente, seja a tarefa s. Procura uma funcionária j com mais tempo livre para a tarefa s.

Se a funcionária j está disponível e pode fazer essa tarefa, nesse dia, nesse turno, então ela é afeta ao cliente i e atualizam-se todas as afetações, destruindo a solução admissível corrente.

Sabendo que vai ser afeta a funcionária j ao cliente i, naquele dia, naquele turno, constrói-se um novo horário, começando por verificar se o cliente i ainda tem solicitações que não estejam satisfeitas. Procura-se uma funcionária que possa satisfazer aquele pedido, seja a funcionária j, para ser afeta ao cliente i. Se a funcionária j estiver disponível para efetuar essa tarefa, nesse dia, nesse turno, é afeta ao cliente i. No caso da funcionária j não poder ser afeta ao cliente i, verifica-se se existe alguma funcionária por pesquisar e que possa ser afeta ao cliente em questão. No caso de não existirem mais funcionárias por pesquisar, verifica-se se o cliente i tem mais solicitações para passar ao tratamento de outro pedido.

Depois de sabermos qual a funcionária j que vai efectuar a tarefa s, ao cliente i, ou no caso de não existir nenhuma funcionária para satisfazer aquele pedido, verifica-se se o cliente i tem mais solicitações.

(24)

Carina Filipa Quintino Mota Grilo 14 No caso do cliente não ter mais solicitações, procura-se saber se existem mais clientes com solicitações. Se sim, atualizamos o índice i, passando para o próximo cliente com pedidos por satisfazer, se não, calculamos o número de faltas, avaliando a solução. Se o número de iterações máximo foi atingido a heurística melhorativa termina. Em caso contrário, após termos uma solução admissível, utiliza-se essa solução para repetir todo o processo descrito anteriormente. Na Figura 2,apresenta-se o fluxograma da heurística melhorativa.

Este procedimento repete-se um número de iterações previamente estabelecido, findo o qual é elaborado um mapa de resultados com a melhor solução obtida.

(25)

Carina Filipa Quintino Mota Grilo 15 Capítulo 5 – Experiência computacional

Para avaliar o desempenho das heurísticas propostas e a qualidade das soluções com elas obtidas efetuaram-se testes com um grupo de quatro instâncias, duas de pequena dimensão e duas de média dimensão.

A dimensão das instâncias maiores, a terceira e a quarta, em número de variáveis e de restrições ultrapassa a capacidade do Solver Premium, por isso para estas duas só se apresentam soluções heurísticas.

É de notar que as instâncias testadas não correspondem a problemas reais, uma vez que se perdeu o contacto com a instituição, embora sejam baseadas nos dados recolhidos no

website da Pressley Ridge. No entanto, as suas dimensões estão longe da dimensão da

instância que tinha sido resolvida manualmente no mês da primeira reunião com a instituição, em que estavam registados pedidos de 80 a 90 clientes.

Esta experiência computacional considera apenas as restrições correspondentes à formulação de (1) a (4) e (6) do PLB.

As restrições (5), que não foram consideradas, satisfazem o requisito de não ter diferentes funcionárias no mesmo turno de um dia, caso este seja um pedido do cliente. Nas reuniões com a instituição esta foi uma questão omissa.

5.1 Características das instâncias

Das quatro instâncias de teste, as duas primeiras consideram 4 clientes e 2 funcionárias e diferem no número de serviços e número de dias e turnos em que são solicitados. A terceira instância tem 20 clientes e 10 funcionárias e a quarta instância 9 clientes e 5 funcionárias.

(26)

Carina Filipa Quintino Mota Grilo 16 Para todas as instâncias os dias foram divididos em dois turnos, o primeiro das 9 às 13 horas e o segundo das 14 às 19 horas.

As características principais das instâncias estão resumidas na Tabela 3 cujas colunas apresentam o nome da instância (coluna 1), número de clientes (coluna 2), número de funcionárias (coluna 3), número de dias do período de planeamento (coluna 4), número de tarefas que podem ser solicitadas (coluna 5) e número total de pedidos solicitados (coluna 6).

1 2 3 4 5 6

instância nº clientes nº funcionárias nº dias nº tarefas nº pedidos

1 4 2 2 2 14

2 4 2 7 6 73

3 20 10 7 6 237

4 9 5 7 6 74

Tabela 3: Resumo das características das instâncias

Nas secções seguintes descrevem-se em mais detalhe as características de cada uma das instâncias.

5.1.1 Primeira instância

A instância 1 considera quatro clientes e duas funcionárias e um período de planeamento de dois dias. O cliente 1 pretende que uma funcionária confecione refeições no segundo turno de segunda e terça-feira e o cliente 2 pretende confeção de refeições e tratamento de roupa nos dois turnos de segunda e terça-feira. O cliente 3 solicita tratamento de roupa no primeiro turno de segunda e terça-feira, e por fim, o

(27)

Carina Filipa Quintino Mota Grilo 17 cliente 4 pretende confeção de refeições no segundo turno de segunda e terça-feira. Sendo no total 14 os pedidos efetuados pelos clientes nos dois dias.

Para satisfazer estes pedidos a instituição tem duas funcionárias, a funcionária 1 e a funcionária 2, com formação para efetuar as duas tarefas e disponíveis para trabalhar de segunda a sexta, nos dois turnos. Na Tabela 4 podem ver-se pormenores da informação nas bases de dados de clientes e funcionárias.

Base de Dados dos clientes

Base de Dados das funcionárias

Tabela 4: Dados da instância 1

5.1.2 Segunda instância

Na instância 2 também são considerados quatro clientes e duas funcionárias, mas para um período de planeamento de uma semana. O cliente 1 pretende uma funcionária que cuide de crianças, de segunda a sexta-feira no primeiro turno e que confecione refeições, trate da roupa e limpe a casa ao sábado e domingo, no primeiro turno. O cliente 2 pretende alguém para confecionar refeições, tratar da roupa, e cuidar dos animais no primeiro turno de segunda a sexta-feira. O cliente 3 solicita uma funcionária para confecionar refeições, tratar da roupa e da limpeza da casa e cuidar das crianças e

(28)

Carina Filipa Quintino Mota Grilo 18 dos animais, no segundo turno de segunda a sexta-feira. Por fim, o cliente 4 pretende que alguma funcionária confecione refeições, trate da roupa e da casa e cuide de idosos, no segundo turno, de segunda a sexta-feira, e alguma funcionária que cuide de crianças ao sábado e ao domingo no segundo turno. Sendo no total 73 os pedidos solicitados pelos clientes, para sete dias.

Nesta instância há duas funcionárias. A funcionária 1 está disponível para trabalhar de segunda a sexta, nos dois turnos, e tem formação para confecionar refeições, tratar de roupa e limpar a casa. A funcionária 2 está disponível para trabalhar de segunda a sexta, nos dois turnos, e tem formação para confecionar refeições, tratar de roupa, limpar a casa, cuidar de idosos e de animais. Na Tabela 5 podem ver-se pormenores da informação nas bases de dados de clientes e funcionárias.

Base de dados dos clientes

(29)

Carina Filipa Quintino Mota Grilo 19 Base de dados das funcionárias

Tabela 5: Dados da instância 2 (continuação)

5.1.3. Terceira instância

Nesta instância consideram-se 20 clientes e 10 funcionárias e um período de planeamento de uma semana. No anexo 1 (1.1), pode ver-se a informação das bases de dados de clientes e de funcionárias que a seguir se descreve. O cliente 1 pretende que alguma funcionária cuide de crianças de segunda à sexta-feira no primeiro turno e que confecione refeições, trate da roupa e limpe a casa ao sábado e ao domingo no primeiro turno. O cliente 2 pretende confeção de refeições, tratamento de roupa e prestação de cuidados a animais, de segunda a sexta-feira, no primeiro turno. O cliente 3 pretende confeção de refeições, tratamento de roupa, limpeza da casa, cuidados a crianças e a animais, de segunda a sexta-feira, no segundo turno. O cliente 4 pretende confeção de refeições, limpeza da casa e cuidados a idosos de segunda a sexta-feira, no segundo turno, e ainda tratamento de roupa à segunda-feira, no segundo turno e cuidados a crianças ao sábado e ao domingo no segundo turno. O cliente 5 pretende cuidados a idosos de segunda a sexta-feira no primeiro turno, e confeção de refeições, tratamento de roupa, limpeza da casa ao sábado e ao domingo no segundo turno. O cliente 6

(30)

Carina Filipa Quintino Mota Grilo 20 pretende confeção de refeições, tratamento de roupa e cuidados a crianças, de segunda a sexta-feira no primeiro turno. O cliente 7 pretende limpeza da casa, cuidados a crianças e animais, de segunda a sexta-feira no segundo turno. O cliente 8 pretende cuidados a idosos e a animais, ao sábado e ao domingo no primeiro turno. O cliente 9 pretende confeção de refeições, tratamento de roupa, limpeza da casa, de segunda a sexta-feira no primeiro turno. O cliente 10 pretende limpeza da casa, ao sábado no segundo turno. O cliente 11 pretende tratamento de roupa e cuidados a crianças, de segunda a sexta-feira, no primeiro turno. O cliente 12 pretende confeção de refeições e tratamento de roupa de segunda a sexta-feira, no segundo turno e cuidados a idosos ao sábado e ao domingo no primeiro turno. O cliente 13 pretende confeção de refeições e cuidados a crianças de segunda a sexta-feira no segundo turno. O cliente 14 pretende tratamento de roupa de segunda a sexta-feira no segundo turno e cuidados a idosos de segunda a domingo, no segundo turno. O cliente 15 pretende tratamento de roupa e cuidados a crianças, de segunda a sexta-feira no segundo turno. O cliente 16 pretende tratamento de roupa e limpeza da casa à quarta-feira, no segundo turno. O cliente 17 pretende tratamento de roupa e cuidados a idosos, de segunda a sexta-feira, no primeiro turno. O cliente 18 pretende confeção de refeições e limpeza da casa, de segunda a sexta-feira, no primeiro turno e cuidados a animais de segunda a sexta-feira no segundo turno. O cliente 19 pretende confeção de refeições, tratamento de roupa, cuidados a crianças e a animais de segunda a sexta-feira, no segundo turno. E por fim, o cliente 20 pretende cuidados a idosos, de segunda a domingo, no segundo turno. Com estes dados, são 237 os serviços solicitados para os sete dias.

Da base de dados das funcionárias retira-se que: a funcionária 1 está disponível para trabalhar de segunda a sexta-feira, e tem formação para confecionar refeições, tratar da

(31)

Carina Filipa Quintino Mota Grilo 21 roupa e limpar a casa em ambos os turnos. A funcionária 2 está disponível para trabalhar de segunda a sexta-feira, e tem formação para confecionar refeições, tratar da roupa, limpar a casa, cuidar de idosos e de animais, em ambos os turnos. A funcionária 3 está disponível para trabalhar de segunda a domingo, e tem formação para confecionar refeições, tratar da roupa e limpar a casa, cuidar de crianças e de animais, em ambos os turnos. A funcionária 4 está disponível para trabalhar de segunda a sexta-feira, e tem formação para confecionar refeições, tratar da roupa, limpar a casa, cuidar de idosos, crianças e animais, em ambos os turnos. A funcionária 5 está disponível para trabalhar de segunda a domingo, e tem formação para confecionar refeições, limpar a casa, cuidar de idosos, crianças e animais, em ambos os turnos. A funcionária 6 está disponível para trabalhar de segunda a sexta-feira, e tem formação para confecionar refeições, tratar da roupa, limpar a casa, cuidar de idosos, crianças e animais, em ambos os turnos. As funcionárias 7, 9 e 10, estão disponíveis para trabalhar de segunda a domingo, e têm formação para confecionar refeições, tratar da roupa, limpar a casa, cuidar de idosos, crianças e animais, em ambos os turnos. Por fim, a funcionária 8 está disponível para trabalhar de segunda a domingo, e tem especialização para confecionar refeições, tratar da roupa, limpar a casa, cuidar de idosos e animais, em ambos os turnos.

5.1.4. Quarta instância

A instância 4 considera 5 funcionárias e 9 clientes e um período de planeamento de uma semana. No anexo 1 (1.2), pode ver-se a informação das bases de dados de clientes e de funcionárias que a seguir se descreve.

O cliente 1 pretende que alguma funcionária confecione refeições à segunda e terça-feira, no segundo turno. O cliente 2 pretende confeção de refeições e tratamento de

(32)

Carina Filipa Quintino Mota Grilo 22 roupa, à segunda e terça-feira, nos dois turnos. O cliente 3 pretende tratamento de roupa, à segunda e terça-feira, no primeiro turno. O cliente 4 pretende confeção de refeições à segunda e terça-feira, no segundo turno. O cliente 5 pretende cuidados a idosos, de segunda à sexta-feira, no primeiro turno e confeção de refeições, tratamento de roupa e limpeza da casa, ao sábado e ao domingo, no segundo turno. O cliente 6 pretende confeção de refeições, tratamento de roupa e cuidados a crianças, de segunda a sexta-feira, no primeiro turno. O cliente 7 pretende limpeza da casa, cuidados a crianças e a animais, de segunda a sexta-feira, no segundo turno. O cliente 8 pretende cuidados a idosos e a animais, ao sábado e ao domingo, no primeiro turno. E por fim, o cliente 9 pretende confeção de refeições, tratamento de roupa e limpeza da casa, de segunda a sexta-feira, no primeiro turno. Com estes dados, estão pedidos 74 serviços domésticos para os sete dias.

Quanto às cinco funcionárias, a funcionária 1 e a funcionária 2, estão disponíveis para trabalhar à segunda e terça-feira, e têm formação para confecionar refeições e tratar de roupa, em ambos os turnos. A funcionária 3 está disponível para trabalhar de segunda a domingo, e tem formação para confecionar refeições, tratar de roupa, fazer limpeza de casas, cuidar de crianças e de animais, em ambos os turnos. A funcionária 4 está disponível para trabalhar de segunda a sexta-feira, e tem formação para confecionar refeições, tratar de roupa, fazer limpeza de casas, cuidar de idosos, crianças e de animais, em ambos os turnos. A funcionária 5 está disponível para trabalhar de segunda a domingo, e tem formação para confecionar refeições, fazer limpeza de casas, cuidar de idosos e de crianças, em ambos os turnos.

(33)

Carina Filipa Quintino Mota Grilo 23 5.2 Resultados do modelo de programação linear binária

Inicialmente, o modelo foi testado com o Solver do MS Excel, no entanto uma vez que a dimensão das duas primeiras instâncias ultrapassava o limite de variáveis e restrições, utilizou-se o Solver Premium.

Este suplemento do Excel, permitiu testar as duas primeiras instâncias, contudo a terceira e quarta instância não foi possível testar através do modelo de programação linear binária, pois ultrapassavam também as capacidades do Solver Premium.

A tabela 6 apresenta o número de variáveis e de restrições do modelo para cada uma das instâncias, não incluindo as restrições do grupo (5).

instância nº variáveis nº restrições

1 64 112

2 672 1176

3 16800 19320

4 3780 4956

Tabela 6: Número de variáveis e de restrições do modelo para cada instância

5.2.1. Primeira instância

A solução obtida através do Solver Premium é apresentada na Tabela 7. O valor óptimo de 12 indica que são satisfeitos 12 serviços domésticos, dos 14 que foram solicitados pelos clientes. Os dois serviços não satisfeitos foram solicitados pelo cliente 4 e estão assinalados na Tabela 7 com a palavra ‘FALTA’. No anexo 2 (2.1), está um pormenor do relatório de respostado Solver Premium.

(34)

Carina Filipa Quintino Mota Grilo 24 Tabela 7: Resultado da instância 1 obtido pelo Solver Premium

5.2.2. Segunda instância

A dimensão desta instância ultrapassa o limite que o Solver Premium suporta, como se pode verificar pelo relatório de erro apresentado na Figura 3.

Figura 3: Mensagem de erro do Solver Premium

Para reduzir a dimensão, eliminaram-se todas as linhas e colunas correspondentes aos serviços domésticos que os clientes não solicitaram. Depois deste procedimento de pré processamento, foi possível resolver o problema.

(35)

Carina Filipa Quintino Mota Grilo 25 O valor óptimo obtido é 50 o que indica que ficaram por satisfazer 23 dos 73 serviços solicitados pelos clientes. A solução é apresentada na Tabela 8 onde a palavra ‘FALTA’ indica os serviços pedidos não satisfeitos. No anexo 2 (2.2), está um pormenor do relatório de respostado Solver Premium.

Tabela 8: Resultado da instância 2 obtido pelo Solver Premium

5.3 Resultados das heurísticas

Como foi já referido analisou-se o desempenho das heurísticas desenvolvidas usando as quatro instâncias descritas na Secção 5.1. Os resultados obtidos são aqui também apresentados separadamente para cada instância.

(36)

Carina Filipa Quintino Mota Grilo 26 5.3.1. Primeira instância

Com a heurística construtiva na primeira instância obtiveram-se os resultados apresentados na Tabela 9 que indicam que ficaram por satisfazer os dois serviços pedidos pelo cliente 4. Esta solução não melhorou, decorridas 20 iterações da heurística melhorativa, o que era de esperar pois a solução obtida pela heurística construtiva tem o mesmo valor da solução óptima, obtida pelo Solver Premium, sendo solução ótima alternativa. A heurística melhorativa deu a mesma solução que a construtiva.

Tabela 9: Resultado da heurística construtiva para a instância 1

5.3.2. Segunda instância

Os resultados da heurística construtiva para a segunda instância são apresentados na tabela 10.

(37)

Carina Filipa Quintino Mota Grilo 27 Tabela 10: Resultado da heurística construtiva para a instância 2 (continuação)

Quer com a heurística construtiva, quer com 20 iterações da heurística melhorativa, dos 73 serviços domésticos solicitados pelos clientes, 23 serviços ficam por satisfazer. Esta solução heurística é ótima pois tem o mesmo valor da solução obtida pelo Solver

Premium. É uma solução ótima alternativa à do Solver.

5.3.3. Terceira instância

Nesta instância com 20 clientes e 10 funcionárias, aplicada a heurística construtiva obtém-se uma solução em que 58 dos 237 pedidos não são satisfeitos.

No entanto, aplicada a heurística melhorativa com uma iteração, obteve-se uma solução melhor em que ficam por satisfazer apenas 43 serviços domésticos.

Esta instância não foi testada com o modelo de programação linear binária, pois a sua dimensão (16800 variáveis e 19320 restrições, antes de pré-processamento, i.e., antes de eliminar variáveis desnecessárias e restrições redundantes) ultrapassa o limite que o

(38)

Carina Filipa Quintino Mota Grilo 28 Os resultados da heurística construtiva para a terceira instância são apresentados na tabela 11 e os resultados da heurística melhorativa são apresentados na tabela 12.

(39)

Carina Filipa Quintino Mota Grilo 29 Tabela 11: Resultado da heurística construtiva para a instância 3 (continuação)

(40)

Carina Filipa Quintino Mota Grilo 30 Tabela 12: Resultado da heurística melhorativa para a instância 3 (continuação)

(41)

Carina Filipa Quintino Mota Grilo 31 Tabela 12: Resultado da heurística melhorativa para a instância 3 (continuação)

5.3.4. Quarta instância

Nesta instância com 9 clientes e 5 funcionárias, aplicada a heurística construtiva obtém-se uma solução em que 18 dos 73 pedidos não são satisfeitos.

Com duas iterações da heurística melhorativa, obteve-se uma solução melhor em que ficam por satisfazer apenas 13 serviços domésticos.

Esta instância não foi testada com o modelo de programação linear binária, pois a sua dimensão (3780 variáveis e 4956 restrições, antes de pré-processamento) ultrapassa o limite que o Solver Premium suporta.

Os resultados da heurística construtiva para a quarta instância são apresentados na tabela 13 e os resultados da heurística melhorativa com duas iterações são apresentados na tabela 14.

(42)

Carina Filipa Quintino Mota Grilo 32 Tabela 13: Resultado da heurística construtiva para a instância 4 (continuação)

(43)

Carina Filipa Quintino Mota Grilo 33 Tabela 14: Resultado da heurística melhorativa para a instância 4 (continuação)

5.4. Comparação de resultados dos testes efetuados

A Tabela 15 apresenta um quadro resumo de resultados obtidos com os vários métodos aplicados às instâncias 1 e 2. Os resultados para as instâncias 3 e 4 são apresentados na Tabela 16. Estas não foram resolvidas pelo método exato pelo que a linha com a respetiva informação não aparece na tabela.

Primeira instância Método Nº Pedidos Nº tarefas satisfeitas Nº tarefas por satisfazer Tempo (segundos) Exato 14 12 2 3,60 Heurística (construtiva) 14 12 2 28 Heurística (melhorativa) 14 12 2 56 Segunda instância Método Nº Pedidos Nº tarefas satisfeitas Nº tarefas por satisfazer Tempo (segundos) Exato 73 50 23 5,40 Heurística (construtiva) 73 50 23 27 Heurística (melhorativa) 73 50 23 33

(44)

Carina Filipa Quintino Mota Grilo 34 Pode verificar-se que as duas instâncias mais pequenas, instância 1 e 2, obtiveram o mesmo resultado com ambos os métodos, no entanto, através do Solver Premium, consegue-se obter uma resposta muito mais rapidamente do que com as heurísticas, embora em todos os casos se tenha obtido solução em menos de um minuto.

Terceira instância Método Nº Pedidos Nº tarefas satisfeitas Nº tarefas por satisfazer Tempo (segundos) Heurística (construtiva) 237 179 58 307 Heurística (melhorativa) 237 194 43 665 Quarta instância Método Nº Pedidos Nº tarefas satisfeitas Nº tarefas por satisfazer Tempo (segundos) Heurística (construtiva) 73 55 18 55 Heurística (melhorativa) 73 60 13 123

Tabela 16: Resumo dos resultados obtidos com o método heurístico – instâncias 3 e 4

A heurística construtiva demorou 5 minutos e 7 segundos a obter uma solução admissível para a instância 3, a maior instância desta experiência, e menos de um minuto para uma solução admissível para a instância 4. Quanto à heurística melhorativa, numa iteração demorou 11 minutos e 5 segundos no caso da instância 3 e 2 minutos e 3 segundos para duas iterações da instância 4.

Pode verificar-se que quanto maior é o número de pedidos, mais tempo o programa demora a obter uma solução admissível. É de notar que embora na segunda instância o número de pedidos seja igual ao número de pedidos da quarta instância, esta demorou mais tempo porque foi testada com mais iterações que a segunda instância e porque o número de clientes da quarta instância é maior.

(45)

Carina Filipa Quintino Mota Grilo 35 Capítulo 6 – Conclusões

O problema abordado neste projeto consiste na satisfação de clientes de uma empresa que procuram serviços domésticos, afetando-lhes funcionárias com formação para executar as tarefas solicitadas, com o objetivo de maximizar o número de pedidos satisfeitos.

Depois de organizados os dados e informação relevante numa base de dados foi proposto um modelo de programação linear binária para resolver o problema.

O Solver Premium do Excel permitiu resolver apenas instâncias de pequena dimensão usando o modelo proposto. É de salientar que podia ter sido utilizado outro software de programação linear inteira, mas uma vez que a Pressley Ridge não tencionava suportar este custo adicional, optou-se por desenvolver heurísticas.

Foi implementada uma heurística construtiva e uma heurística melhorativa. A heurística construtiva permitiu construir um horário inicial para os clientes e para as funcionárias, ficando eventualmente tarefas domésticas solicitadas por satisfazer. A heurística melhorativa é ativada após conhecer a solução da heurística construtiva, se ainda houver clientes por satisfazer e tenta diminuir o número de tarefas sem funcionária atribuída. A experiência computacional efetuada baseou-se em poucas instâncias e de relativamente pequena dimensão se comparadas com as instâncias reais da Pressley

Ridge. No entanto, estes métodos podem ser ajustados para serem aplicados a situações

reais, mesmo em outros contextos, em que se pretenda obter horários de trabalho para funcionárias e a afetação destas a clientes, como por exemplo, enfermeiros que prestam cuidados de saúde ao domicílio a doentes acamados.

(46)

Carina Filipa Quintino Mota Grilo 36 Os métodos heurísticos desenvolvidos neste projecto poderão, no futuro, ser aperfeiçoados por um especialista de informática em software com grande capacidade e amigável para o utilizador em empresas que enfrentam problemas do mesmo tipo. Outra linha de investigação futura interessante seria o aprofundamento do estudo do modelo matemático proposto neste trabalho incorporando outras restrições, como por exemplo, restrições no tempo de trabalho máximo de cada funcionária, restrições orçamentais impostas pelos clientes, restrições nos trajetos das funcionárias. Para resolver os problemas com estes modelos matemáticos será necessário utilizar um

solver de programação linear inteira com capacidade para problemas de grandes

dimensões. As heurísticas desenvolvidas poderão ser aperfeiçoadas. Este é um ponto importante pois, para empresas que não têm meios financeiros para suportar um bom

solver, só heurísticas que produzam soluções de boa qualidade em tempo considerado

(47)

Carina Filipa Quintino Mota Grilo 37 Referências bibliográficas

Caron, G., Hansen, P. e Jaumard, B. (1999). The assignment problem with seniority and job priority constraints. Operations Research 47: 449–453.

Kochenberger, G., Glover, F. e Alidaee, B. (2002). An effective approach for solving the binary assignment problem with side constraints. International Journal of Information Technology & Decision Making 01, 121. DOI: 10.1142/ S0219622002000026.

Kuhn, H.W. (1955). The Hungarian method for the assignment problem. Naval

Research Logistics Quarterly2: 83-97 (republicado em 2005).

Mazzola, J.B. e Neebe, A.W. (1986). Resource-constrained assignment scheduling.

Operations Research, 34, No. 4: 560-572.

Pentico, D.W. (2007). Assignment problems: A golden anniversary survey. European

Journal of Operational Research 176: 774–793.

Premium Solver Pro, 2006-2013. Analytic Solver Platform for Education V12.5, Incline Village, Nevada: Frontline Systems, Inc.

Volgenant, A. (2004). A note on the assignment problem with seniority and job priority constraints. European Journal of Operational Research 154: 330–335.

(48)

Carina Filipa Quintino Mota Grilo 38 Anexo 1 - Base de dados dos clientes e das funcionárias

1.1 Terceira instância

(49)

Carina Filipa Quintino Mota Grilo 39 Base de dados das funcionárias

(50)
(51)

Carina Filipa Quintino Mota Grilo 41 1.2 Quarta instância

(52)

Carina Filipa Quintino Mota Grilo 42 Base de dados das funcionárias

(53)

Carina Filipa Quintino Mota Grilo 43 Anexo 2 - Relatórios de Resposta do Solver do Excel

(54)

Carina Filipa Quintino Mota Grilo 44 2.2 Segunda instância

Imagem

Tabela 1: Pormenor da base de dados das funcionárias
Figura 1: Fluxograma da heurística construtiva
Figura 2: Fluxograma da heurística melhorativa
Tabela 3: Resumo das características das instâncias
+7

Referências

Documentos relacionados

Os resultados são apresentados de acordo com as categorias que compõem cada um dos questionários utilizados para o estudo. Constatou-se que dos oito estudantes, seis

O objetivo do curso foi oportunizar aos participantes, um contato direto com as plantas nativas do Cerrado para identificação de espécies com potencial

(2019) Pretendemos continuar a estudar esses dados com a coordenação de área de matemática da Secretaria Municipal de Educação e, estender a pesquisa aos estudantes do Ensino Médio

Esta ação consistirá em duas etapas. Este grupo deverá ser composto pela gestora, pelo pedagogo e ou coordenador pedagógico e um professor por disciplina

O Programa de Avaliação da Rede Pública de Educação Básica (Proeb), criado em 2000, em Minas Gerais, foi o primeiro programa a fornecer os subsídios necessários para que

Essa modalidade consiste em um “estudo profundo e exaustivo de um ou de poucos objetos, com contornos claramente definidos, permitindo seu amplo e detalhado

O destaque é dado às palavras que abrem signi- ficados e assim são chaves para conceitos que fluem entre prática poética na obra de arte e sua reflexão em texto científico..

dois gestores, pelo fato deles serem os mais indicados para avaliarem administrativamente a articulação entre o ensino médio e a educação profissional, bem como a estruturação