Você está na página 1de 25

Primal Integral GAP

Anlalise e uma Variante

Eduardo Moreira1
1 Departamentode Informatica
PUC-Rio

May 20, 2016

Eduardo Moreira (PUC-Rio) Primal Integral GAP May 20, 2016 1 / 25


A Metrica

A metrica Primal Integral GAP compara o desempenho de heursticas


primais ao longo de toda sua execucao, analisando cada nova solucao
encontrada.

Nesta apresentacao mostraremos o funcionamento da metrica e faremos


uma analise sobre alguns pontos fracos e sugestoes de melhorias.

Eduardo Moreira (PUC-Rio) Primal Integral GAP May 20, 2016 2 / 25


Agenda

Apresentacao da Metrica Primal Integral GAP


Itendificacao e exposicao de problemas
Nao linearidade da funcao
Problemas ao se analisar instancias com solucoes otimas cujos valores
sejam negativos proximos de zero
Penalidade do GAP ate o algoritmo encontrar a primeira solucao
Casos em que a metrica nao funciona bem
Sugestoes de melhorias ou mitigacao dos problemas

Eduardo Moreira (PUC-Rio) Primal Integral GAP May 20, 2016 3 / 25


Apresentacao da Metrica

se |c T xopt | = |c T x| = 0,

0
se c T xopt . c T x < 0,

1

(x) =
|c T xopt c T x|
caso contrario.


max{|c T xopt |, |c T x|}


1 se nenhuma solucao foi encontrada ate o tempo t,
p(t) =
(x(t)) com x(t) sendo a solucao incumbent ate o tempo t.

Eduardo Moreira (PUC-Rio) Primal Integral GAP May 20, 2016 4 / 25


Seja T [0, tmax ] e ti [0, T ] para i 1, . . . , I 1 sejam os tempos
quando uma solucao incumbent e encontrada, t0 = 0, tI = T . Define-se o
Primal Integral P(T) como segue:
Z T I
X
P(T ) = p(t)dt = p(ti1 ).(ti ti1 )
t=0 i=1

Mais informacoes sobre a metrica podem ser obtidas em Berthold [1]

Eduardo Moreira (PUC-Rio) Primal Integral GAP May 20, 2016 5 / 25


Problema da Nao Linearidade da funcao (x)

O problema da nao linearidade e que nao se pode mensurar quantos


porcento um algoritmo e melhor do que outro. E o proprio autor da
metrica tenta fazer uso da metrica desta maneira.
Como a funao (x) nao e linear, o dobro do GAP nao implica em um
resultado para a funcao que seja o dobro.

Eduardo Moreira (PUC-Rio) Primal Integral GAP May 20, 2016 6 / 25


Problema da Nao Linearidade da funcao (x)
Exemplos

Solucoes Positivas Solucoes Negativas


GAP z(x) (x) GAP z(x) (x)
400 500 0,8 400 -500 0,44
300 400 0,75 300 -600 0,33
200 300 0,66 200 -700 0,22
100 200 0,5 100 -800 0,11
99 199 0,49 99 -801 0,11
98 198 0,49 98 -802 0,10
91 191 0,47 91 -809 0,10
83 183 0,45 83 -817 0,09
69 169 0,40 69 -831 0,07
57 157 0,36 57 -843 0,06
39 139 0,28 39 -861 0,04
24 124 0,19 24 -876 0,02
23 123 0,18 23 -877 0,02
9 109 0,08 9 -891 0,01
3 103 0,02 3 -897 0,00
2 102 0,01 2 -898 0,002
1 101 0,009 1 -899 0,001
0 100 0 0 -900 0

Eduardo Moreira (PUC-Rio) Primal Integral GAP May 20, 2016 7 / 25


Problema da Nao Linearidade da funcao (x)
Grafico Solucoes Positivas

0.8

p(t) 0.6

0.4

0.2

0
0 100 200 300 400
GAP
Quando as solucoes sao tem valores positivos nao ha uma linearidade na
funcao (x).

Eduardo Moreira (PUC-Rio) Primal Integral GAP May 20, 2016 8 / 25


Problema da Nao Linearidade da funcao (x)
Grafico Solucoes Negativas

0.4

0.3
p(t)

0.2

0.1

0
0 100 200 300 400
GAP
Quando as solucoes sao tem valores negativos ha uma linearidade na
funcao (x).

Eduardo Moreira (PUC-Rio) Primal Integral GAP May 20, 2016 9 / 25


Problemas com instancias com solucoes otimas negativas
proximas de zero

Quando uma instancia tem sua solucao negativa proxima de zero,


grande parte das solucoes encontradas pelo algoritmo poderao ter um
valor positivo, fazendo com que a penalidade para tais solucoes seja
de 1, de acordo com a funcao (x), assim a metrica nao consegue
avaliar de forma eficiente algoritmos executados em tais instancias.

Eduardo Moreira (PUC-Rio) Primal Integral GAP May 20, 2016 10 / 25


Problemas com instancias com solucoes otimas negativas
proximas de zero
Exemplo

GAP z(x) (x)


400 399 1
300 299 1
200 199 1
100 99 1
99 98 1
98 97 1
91 90 1
83 82 1
69 68 1
57 56 1
39 38 1
24 23 1
23 22 1
9 8 1
3 2 1
2 1 1
1 0 1
0 -1 0

Eduardo Moreira (PUC-Rio) Primal Integral GAP May 20, 2016 11 / 25


Problemas com instancias com solucoes otimas negativas
proximas de zero
Grafico

0.8

0.6
p(t)

0.4

0.2

0
0 100 200 300 400
GAP
Eduardo Moreira (PUC-Rio) Primal Integral GAP May 20, 2016 12 / 25
Problema com a penalidade do GAP ate encontrar a
primeira solucao

Enquanto o algoritmo nao encontra uma primeira solucao viavel para


o problema, a metrica penalisa o algoritmo com o maior GAP
possvel, que e de 1.
Por vezes os algoritmos executam alguns procedimentos antes de
comecar sua execucao. Tais procedimentos dao ao algoritmo mais
informacoes sobre a instancia e do problema a ser resolvido, o que
leva o algoritmo terminar sua execucao mais rapidamente e com uma
solucao de boa qualidade. Porem estes procedimentos iniciais fazem
com que o algoritmo tarde a encontrar uma primeira solucao viavel.
Tal penalidade faz com que muitas vezes um algoritmo que demore
um pouco para encontrar a primeira solucao mas que termine sua
execucao dezenas de vezes antes e com uma solucao de igual
qualidade, seja pior avaliado pela metrica.

Eduardo Moreira (PUC-Rio) Primal Integral GAP May 20, 2016 13 / 25


Problema com a penalidade do GAP ate encontrar a
primeira solucao
Exemplo

Iter Valor Tempo (x) p(t) Iter Valor Tempo (x) p(t)
1 57528 1554,08 0,0243 1554,08 1 56178 7120,40 0,00072 7120,40
2 57486 4653,26 0,0234 1629,02 2 56137 13390,76 0,00 7124,98
3 57456 8070,46 0,0229 1709,21
4 57402 11446,65 0,0220 1786,72
5 57294 14381,82 0,0201 1851,40
6 57190 17403,99 0,0184 1912,43
7 57052 20395,16 0,0160 1967,50
... ... ... ... ...
35 56158 128476,33 0,0003 2670,49
36 56138 132407,56 1,7E-05 2671,96
37 56137 143179,17 0,00 2672,15

Eduardo Moreira (PUC-Rio) Primal Integral GAP May 20, 2016 14 / 25


Problema com a penalidade do GAP ate encontrar a
primeira solucao
Grafico

0.8

0.6
p(t)

0.4

0.2

0
0 0.2 0.4 0.6 0.8 1 1.2 1.4
Tempo 105
Eduardo Moreira (PUC-Rio) Primal Integral GAP May 20, 2016 15 / 25
Problema com casos em que a metrica nao funciona bem

E possvel que ate certo momento um algoritmo seja melhor


avalidado, mas quando conta-se o tempo total de execucao dos
algoritmos, um outro algoritmo se saia melhor. (Isso nao e um
problema, mas uma caracterstica possvel permitida pela metrica).
O problema ocorre quando um algoritmo demora demasiadamente
para encontrar a ultima solucao, e ele e melhor avaliado do que se
tivesse encontrado a ultima solucao rapidamente.

Eduardo Moreira (PUC-Rio) Primal Integral GAP May 20, 2016 16 / 25


Problema com casos em que a metrica nao funciona bem
Exemplo

1 Algoritmo A
Algoritmo B
0.8
p(t)

0.6

0.4

0.2

0 1 2 3 4
Tempo

Embora o Algoritmo B tenha encontrado uma solucao melhor do que o


Algoritmo A, a area embaixo da linha azul e menor, assim a metrica dira
que o Algoritmo A e melhor do que o B.

Eduardo Moreira (PUC-Rio) Primal Integral GAP May 20, 2016 17 / 25


Problema com casos em que a metrica nao funciona bem
Exemplo

1 Algoritmo A
Algoritmo B
0.8
p(t)
0.6

0.4

0.2

0 10 20 30 40
Tempo

Mas se o Algoritmo A demorasse muito para encontrar a ultima solucao o


resultado da metrica mudaria, dizendo que o Algoritmo B foi o melhor.
Neste caso a metrica acaba avaliando somente a qualidade da ultima
solucao encontrada pelos algoritmos.
Eduardo Moreira (PUC-Rio) Primal Integral GAP May 20, 2016 18 / 25
Sugestao - Linearidade da Funcao (x)

Quando todas as solucoes encontradas pelos algoritmos sao negativas,


existe uma linearidade nos GAPs, ou seja, se uma solucao A tem um
valor com o dobro do GAP do que o valor de uma solucao B, entao
(A) = 2(B).
Uma forma simples de resolver o problema, sem modificar muito a
metrica e a funcao (x), e subtrair do valor de todas as solucoes
avaliadas o valor da maior solucao encontrada. Assim todas as
solucoes possuirao valores negativos e a funcao (x) tera a
propriedade de linearidade e inclusive a solucao com maior GAP tera
um valor proximo ou igual a 1.
Este procedimento tambem resolve o problema das instancias com
solucoes otimas negativas proximas de zero.

Eduardo Moreira (PUC-Rio) Primal Integral GAP May 20, 2016 19 / 25


Sugestao - Penalidade do GAP ate encontrar a primeira
solucao

Na metrica original p(t) = 1 ate encontrar a primeira solucao.


A sugestao e: p(t) = (x1 ) ate encontrar a primeira solucao, onde x1
e a primeira solucao encontrada pelo algoritmo.

Eduardo Moreira (PUC-Rio) Primal Integral GAP May 20, 2016 20 / 25


Sugestao - Penalidade do GAP ate encontrar a primeira
solucao
0.8

p(t) 0.6

0.4

0.2

0
0 0.2 0.4 0.6 0.8 1
Tempo

Desta forma se cada algoritmo encontrar uma solucao com o mesmo


tempo mas com uma solucao tendo o dobro do GAP da outra,
quando se faz a integral uma area tambem tera o dobro da outra.
Eduardo Moreira (PUC-Rio) Primal Integral GAP May 20, 2016 21 / 25
Sugestao - Penalidade do GAP ate encontrar a primeira
solucao
0.8

0.6

p(t) 0.4

0.2

0
0 0.5 1 1.5 2
Tempo

Se um algoritmo encontrar uma solucao com o dobro do GAP em


metade do tempo, na integral as duas solucoes terao a mesma area.
Caso queira dar mais prioridade ao tempo ou a qualidade da solucao,
e possvel criar um multiplicador que de tal vantagem para a
qualidade ou o tempo.
Eduardo Moreira (PUC-Rio) Primal Integral GAP May 20, 2016 22 / 25
Sugestao - Penalidade do GAP ate encontrar a primeira
solucao
Problema da estrategia

O problema desta estrategia e que se os dois algoritmos encontrarem


como primeira solucao a solucao otima, ou seja GAP = 0, nao sera
possvel diferenciar os tempos com a area da integral.

Eduardo Moreira (PUC-Rio) Primal Integral GAP May 20, 2016 23 / 25


Sugestao - Casos em que a metrica nao funciona bem

E possvel mitigar o problema identificando casos em que este


problema ocorre.
Se um algoritmo A tiver como ultima solucao encontrada um GAP
menor que a de um algoritmo B, e o tempo que o algoritmo A levou
para encotrar sua ultima solucao foi 10 vezes maior do que o
algoritmo A levou para encontrar qualquer outra solucao, nesta
situacao a metrica nao avaliara bem os algoritmos.

Eduardo Moreira (PUC-Rio) Primal Integral GAP May 20, 2016 24 / 25


Referencias

[1] T. Berthold. Measuring the impact of primal heuristics. Operations


Research Letters, 41(6):611 614, 2013.

Eduardo Moreira (PUC-Rio) Primal Integral GAP May 20, 2016 25 / 25

Você também pode gostar