• Nenhum resultado encontrado

4.4 Matheur´ıstica

4.4.1 Particionamento da Solu¸c˜ao

A seguir ´e apresentado o procedimento adotado para realizar o particionamento da solu¸c˜ao em subproblemas, de tal forma que seja poss´ıvel empregar o modelo exato e obter a solu¸c˜ao ´otima. Para escolher as jornadas pertencentes a cada parti¸c˜ao foram utilizadas como atributos a quantidade de horas extras, quantidade de horas ociosas e os ve´ıculos utilizados nas jornadas envolvidas.

Para cada parti¸c˜ao do problema, foram selecionadas no m´aximo seis jornadas. Uma primeira parti¸c˜ao vazia ´e criada, e esta parti¸c˜ao recebe a jornada com maior n´umero de horas extras e que ainda n˜ao foi inclu´ıda em nenhuma parti¸c˜ao. Em seguida, ´e verificado qual ´e o ve´ıculo utilizado na primeira tarefa da jornada inserida. Assim, ser´a inserida na parti¸c˜ao a jornada com o maior n´umero de horas ociosas que inicie com o mesmo

30 M´etodos Propostos

ve´ıculo da jornada j´a inserida na parti¸c˜ao. Quando n˜ao houver nenhuma jornada que utilize o mesmo ve´ıculo, ser´a inserida a jornada com o maior n´umero de horas ociosas independente do ve´ıculo utilizado na primeira jornada. Esse processo ´e realizado at´e que cada parti¸c˜ao receba no m´aximo seis jornadas e que todas as jornadas sejam alocadas em uma ´unica parti¸c˜ao. O fato de escolher jornadas que conduzem o mesmo ve´ıculo se deve `a possibilidade de realoca¸c˜ao das tarefas, visto que desta forma as tarefas estar˜ao associadas aos mesmos terminais.

Algoritmo 4.2: Particionamento da solu¸c˜ao

Entrada: Lista de Jornadas Ordenadas por Horas Extras LHe Entrada: Lista de Jornadas Ordenadas por Horas Ociosas LHo Sa´ıda: Conjunto de parti¸c˜oes P

Pk← ⊘ ∀k; 1 i ← 0; 2 n ← 1; 3

enquanto LHe 6= ⊘ e LHo 6= ⊘ fa¸ca

4

enquanto (n <= 6)&&(n <= Tamanho de LHe + Tamanho de LHo) fa¸ca

5

Pi ← LHe1; 6

n ← n + 1;

7

remove a jornada LHe1 das Listas LHe e LHo; 8

se V e´ıculoLHe1 = V e´ıculoLhok ∀k ent˜ao 9

Pi ← LHok; 10

n ← n + 1;

11

remove a jornada LHok das Listas LHe e LHo; 12 sen˜ao 13 Pi ← LHo1; 14 n ← n + 1; 15

remove a jornada LHo1 das Listas LHe e LHo; 16

i ← i + 1;

17

retornas∗; 18

Cap´ıtulo 5

Resultados e Discuss˜ao

Inicialmente foram realizados testes com o Modelo Exato para medir a dimens˜ao dos problemas que este pode resolver. Para estes testes, foram geradas instˆancias a partir de dados reais de uma empresa de transporte p´ublico que opera na regi˜ao metropolitana de Belo Horizonte MG. As caracter´ısticas destes problemas e os resultados obtidos s˜ao apresentados na se¸c˜ao 5.1. Cada problema foi resolvido pelo solver do pacote computa- cional CPLEX 12.5.

Na segunda fase de experimentos, a metaheur´ıstica LAHC e a Matheur´ıstica foram testada em um conjunto de sete instˆancias referentes a uma semana de opera¸c˜ao de uma empresa que atua na cidade de Belo Horizonte-MG. A metaheur´ıstica LAHC e o processo de particionamento das jornadas foram implementados na linguagem C/C++. Ap´os o particionamento das jornadas, cada subproblema foi resolvido pelo solver do pacote computacional CPLEX 12.5.

Todos os testes foram executados em um microcomputador com processador Intel(R) Core(TM) i7-2600, com clock de 3.40GHz, 8 GB de mem´oria RAM, sob plataforma Windows Seven Professional.

Neste Cap´ıtulo s˜ao apresentados os resultados obtido pelo modelo exato, pela me- taheur´ıstica LAHC e pela Matheur´ıstica. Na se¸c˜ao 5.1 s˜ao apresentadas os resultados obtidos pelo m´etodo exato. Em 5.2 ´e mostrado os resultados do LAHC, incluindo a fase de calibra¸c˜ao, os resultados da matheur´ıstica e uma compara¸c˜ao com outras me- taheur´ısticas abordadas na literatura.

5.1

Resultados Obtidos pelo Modelo Exato

Para testar o modelo foram gerados 4 casos com caracter´ısticas particulares. Os proble- mas resolvidos tˆem as seguintes caracter´ısticas:

• Caso 1: modelo completo com todas as restri¸c˜oes e a fun¸c˜ao objetivo 4.1. Dados 31

32 Resultados e Discuss˜ao

de entrada: ve´ıculos com e sem dupla pegada;

• Caso 2: modelo sem restri¸c˜oes de dupla pegada e a fun¸c˜ao objetivo 4.2. Dados de entrada: ve´ıculos com e sem dupla pegada;

• Caso 3: modelo sem restri¸c˜oes de dupla pegada e de troca de terminal e fun¸c˜ao objetivo 4.2. Dados de entrada: ve´ıculos com e sem dupla pegada e que operam no mesmo terminal;

• Caso 4: modelo completo com todas as restri¸c˜oes e a fun¸c˜ao objetivo 4.1. Dados de entrada: ve´ıculos somente do tipo dupla pegada e que operam no mesmo terminal. Nos experimentos com o Modelo Exato, foram utilizados, devido dos resultados en- contrados na maioria das literatura, os seguintes valores para seus parˆametros:

• Custo por jornada de trabalho: 10.000 • Custo da dupla pegada: 600

• Custo da hora extra expressa em minutos: 4 • Custo da hora ociosa expressa em minutos: 1

Para cada caso foram gerados 5 problemas. Estes foram resolvidos pelo CPLEX por um tempo limite de 8 horas. Por´em, para os casos nos quais foram encontradas as solu¸c˜oes ´otimas, esse tempo foi inferior. As tabelas abaixo apresentam os proble- mas e os resultados obtidos. ´E importante ressaltar que para melhor an´alise, foram tomadas linhas de ˆonibus com o mesmo n´umero de tarefas, por´em estas tarefas n˜ao s˜ao coincidentes.

As Tabelas 5.1, 5.3, 5.5 e 5.7 contˆem as caracter´ısticas dos problemas testes gerados em cada caso. Na coluna “N´umero de tarefas” ´e apresentado o valor total de tare- fas a serem alocadas em cada problema. A coluna “N´umero de ve´ıculos” apresenta a quantidade de ve´ıculos utilizados para cumprir todas as tarefas. Na coluna “N´umero de vari´aveis” ´e apresentada a quantidade de vari´aveis geradas pelo modelo exato para resolver o problema. A coluna “N´umero de restri¸c˜oes” mostra a quantidade de restri¸c˜oes geradas pelo modelo para a representa¸c˜ao do problema.

Os dados que caracterizam estes problemas gerados para o caso 1 s˜ao apresentados na Tabela 5.1.

Resultados e Discuss˜ao 33

Problema N´umero N´umero N´umero N´umero

de tarefas de ve´ıculos de vari´aveis de restri¸c˜oes

1 24 2 41.320 69.355

2 33 3 124.144 224.074

3 40 4 227.280 422.331

4 45 5 344.616 658.278

5 52 6 765.600 1.462.053

Tabela 5.1: Caracter´ısticas dos problemas gerados para o caso 1

Os valores apresentados para cada problema refere-se `a melhor solu¸c˜ao obtida pelo CPLEX at´e o tempo limite. Nas Tabelas 5.2, 5.4, 5.6 e 5.8, que cont´em as caracter´ısticas das solu¸c˜oes, a coluna “Total de jornadas” representa a quantidade de jornadas contidas na solu¸c˜ao. As coluna “Total de horas extras” e “Total de horas ociosas” mostram a quantidade de horas extras e quantidade de horas ociosas da solu¸c˜ao, expressas em horas e minutos no formato hh:mm. Na coluna “Gap em %” ´e apresentada uma estimativa da diferen¸ca para solu¸c˜ao ´otima em porcentagem. Quando o Gap ´e igual a zero, ent˜ao a solu¸c˜ao ´e ´otima, caso contr´ario, a otimalidade n˜ao foi provada pelo solver. Esta esti- mativa ´e calculada automaticamente pelo CPLEX. Na coluna “Total de duplas pegada” ´e apresentada a quantidade de jornadas do tipo dupla pegada nas solu¸c˜oes encontradas. Esta coluna n˜ao figura nas Tabelas 5.4 e 5.6 pois as restri¸c˜oes utilizadas n˜ao considera jornadas do tipo dupla pegada ou ela n˜ao faz parte da fun¸c˜ao objetivo. A coluna “Fo” apresenta o valor da fun¸c˜ao objetivo da melhor solu¸c˜ao encontrada para cada problema. A Tabela 5.2 apresenta os resultados dos cinco problemas para o caso 1. No problema 1 foi encontrada a solu¸c˜ao ´otima em aproximadamente 101 minutos. Por´em s´o com cerca de 305 minutos ele foi capaz de provar a otimalidade da solu¸c˜ao.

Problema Total de Total de Total de Gap Total de Fo Tempo de jornadas horas extras horas ociosas em % dupla pegada processamento 1 5 146 225 0 1 51.409 305 2 7 151 403 38,84 1 71.607 480 3 10 98 451 54,87 2 102.043 480 4 13 454 1046 52,62 2 134.062 480 5 16 257 1989 67,78 3 164.817 480

34 Resultados e Discuss˜ao

Na Tabela 5.3 s˜ao apresentados os dados que caracterizam os problemas referentes ao caso 2.

Problema N´umero N´umero N´umero N´umero

de tarefas de ve´ıculos de vari´aveis de restri¸c˜oes

1 24 2 32.580 71.076

2 33 3 71.037 172.914

3 40 4 138.312 353.692

4 45 5 218.115 572.535

5 52 6 348.300 932.236

Tabela 5.3: Caracter´ısticas dos problemas gerados para o caso 2

Os resultado relativos aos cinco problemas de caso 2, apresentados na Tabela 5.4, mostram que para o problema 1, foram gastos 293 minutos para provar a otimalidade da solu¸c˜ao,por´em a solu¸c˜ao ´otima foi encontrada em aproximadamente 39 minutos. Para esse caso a coluna quantidade de duplas pegadas foi omitida, pois esta caracter´ıstica n˜ao ´e considerada na fun¸c˜ao objetivo.

Problema Total de Total de Total de Gap Fo Tempo de

jornadas horas extras horas ociosas em % processamento

1 6 37 377 0 60.525 293

2 7 231 364 30,79 71.288 480

3 10 101 472 50,22 100.876 480

4 12 198 1016 51,12 121.808 480

5 13 290 917 45,79 132.077 480

Resultados e Discuss˜ao 35

Os dados que caracterizam os 5 problemas do caso 3 s˜ao apresentados na Tabela 5.5.

Problema N´umero N´umero N´umero N´umero

de tarefas de ve´ıculos de vari´aveis de restri¸c˜oes

1 24 2 25.380 43.800

2 33 3 71.037 139.650

3 40 4 138.312 288.172

4 45 5 218.115 468.585

5 52 6 348.300 768.184

Tabela 5.5: Caracter´ısticas dos problemas gerados para o caso 3

Na Tabela 5.6 s˜ao apresentados os resultados para os cinco problemas de caso 3. Novamente, para o problema 1, que ´e o de menor dimens˜ao, foi encontrada a solu¸c˜ao ´otima. Isto se deu em aproximadamente 2 minutos. Ap´os 18 minutos foi provada a otimalidade da solu¸c˜ao. Para este caso o n´umero de restri¸c˜oes foi reduzido, o que levou o CPLEX a encontrar as solu¸c˜oes mais rapidamente.

Problema Total Total de Total de Gap Fo Tempo de

de jornadas horas extras horas ociosas em % processamento

1 4 354 251 0 41.667 18

2 6 369 444 18,28 61.920 480

3 9 155 530 44,96 91.150 480

4 11 251 928 49,62 111.932 480

5 15 199 1547 45,82 152.343 480

Tabela 5.6: Resultados do modelo exato para os problemas para o caso 3

Os dados que caracterizam os problemas gerados para o caso 4 s˜ao apresentados na Tabela 5.7.

36 Resultados e Discuss˜ao

Problema N´umero N´umero N´umero N´umero

de tarefas de ve´ıculos de vari´aveis de restri¸c˜oes

1 24 3 57.848 104.002

2 33 4 232.770 435.978

3 40 5 363.648 694.200

4 45 6 631.796 1.219.109

5 52 7 842.160 1.640.768

Tabela 5.7: Caracter´ısticas dos problemas gerados para o caso 4

Conforme pode ser observado na Tabela 5.8, que apresenta os resultados para os cinco problemas do caso 4, n˜ao foi poss´ıvel provar a otimalidade para nenhum dos problemas, pois existem ve´ıculos caracter´ısticos de dupla pegada e foram consideradas todas as restri¸c˜oes. Desta forma, torna-se um caso mais dif´ıcil de ser resolvido. O custo de dupla pegada foi inclu´ıdo neste problema. Assim, a solu¸c˜ao tentar diminuir ao m´aximo o total de jornadas deste tipo. Tamb´em se observa que o n´umero de ve´ıculos para cada problema ´e maior.

Problema Total Total de Total de Gap Total de Fo Tempo de de jornadas horas extras horas ociosas em % dupla pegada processamento 1 6 23 392 26,83 4 62.884 480 2 8 32 513 48,83 3 82.441 480 3 10 33 657 50,36 6 104.389 480 4 12 70 988 52,62 4 123.668 480 5 16 41 1535 59,39 7 165.899 480

Tabela 5.8: Resultados do modelo exato para os problemas para o caso 4

Realizando a an´alise dos resultados apresentados, percebe-se que o modelo exato consegue encontrar e provar a ´otimalidade somente para os problemas com 24 tarefas, com exce¸c˜ao no caso 4. Nestas solu¸c˜oes, o total de jornadas varia entre 4 e 6. Al´em do n´umero de tarefas, quando essas possuem caracteristica de dupla pegada, ´e perceptivel o aumento no tempo de processamento e no gap encontrada. Na Matheur´ıstica apresen- tada em 4.4, a defini¸c˜ao do m´etodo de particionamento e do n´umero de jornadas contidas em cada parti¸c˜ao da solu¸c˜ao foi baseada na conclus˜ao destes testes. Desta forma, cada parti¸c˜ao recebeu no m´aximo 6 jornadas.

Resultados e Discuss˜ao 37

Documentos relacionados