Você está na página 1de 60

Mtodos de Otimizao

Discreta
EA 044 Planejamento e Anlise
de Sistemas de Produo
DCA-FEEC-Unicamp
2
Tpicos
1-Introduo
2-Relaxao de modelos discretos
3-Relaxao forte
4-Algoritmo branch and bound
5-Detalhes do algoritmo para PLI
6-Estratgias de busca e desempate
7-Algoritmo branch and cut PLI
8-Algoritmos heursticos
3
1-Introduo
Mtodos de otimizao discreta
enumerao
relaxao
busca
Problemas prticos: maioria requer uso de heursticas
Busca: determinstica e estocstica
DCA-FEEC-Unicamp
4
DCA-FEEC-Unicamp
Exemplo: enumerao
Enumerao total: resolve problemas de otimizao discreta verificando
a factibilidade e comparando todos os valores possveis das variveis de
deciso (combinaes dos valores discretos das variveis de deciso).
1 ou 0 , ,
1
1 sa
19 4 7 max
3 2 1
3 2
3 1
3 2 1
=
+
+
+ +
x x x
x x
x x
x x x
sol uo objeti vo
(0, 0, 0) 0
(0, 0, 1) 19
(0, 1, 0) 4
(0, 1, 1) i nfactvel
(1, 0, 0) 7
(1, 0, 1) i nfactvel
(1, 1, 0) 11
(1, 1, 1) i nfactvel
soluo
tima
5
DCA-FEEC-Unicamp
Problema com a enumerao total
exploso combinatorial
k variveis de deciso (binrias) 2
k
solues !
k = 100 2
100
10
30
Computador: se verifica 1 trilho de solues/segundo = 10
12
10
30
/ 10
12
= 10
18
segundos
10
18
segundos 400 milhes de sculos !!
6
DCA-FEEC-Unicamp
Relaxao de modelos discretos
} 1 , 0 { ,
0 ,
75
200
300 4 5 . 1 sa
720 550 30 20 max
2 1
2 1
2 2
1 1
2 1
2 1 2 1

+
+
y y
x x
y x
y x
x x
y y x x
Modelo P uma relaxao (de restries) do modelo P se toda
soluo factvel de P tambm uma soluo factvel de P e ambos
modelos possuem a mesma funo objetivo
Relaxaes devem ser significativamente mais tratveis que modelos
originais.
3450
0 , 1
0 , 200
2 1
2 1
=
= =
= =



v
y y
x x
7
DCA-FEEC-Unicamp
} 1 , 0 { ,
0 ,
150
400
600 4 5 . 1
2 1
2 1
2 2
1 1
2 1

+
y y
x x
y x
y x
x x
} 1 , 0 { ,
0 ,
75
200
2 1
2 1
2 2
1 1

y y
x x
y x
y x
] 1 , 0 [ ,
0 ,
75
200
300 4 5 . 1
2 1
2 1
2 2
1 1
2 1

+
y y
x x
y x
y x
x x
Restries revisadas Observao
dobra capacidades
timo: x
1
= 400, x
2
= 0, y
1
= 1, y
2
= 0
v = 7450
no significativamente mais tratvel
elimina primeira restrio
timo: x
1
= 200, x
2
= 75, y
1
= 1, y
2
= 1
v = 4980
eliminao desacopla restries
relaxa para modelo linear
timo: x
1
= 200, x
2
= 0, y
1
= 1, y
2
= 0
v = 3450
Relaxao PL
8
DCA-FEEC-Unicamp
Solues de relaxao
timo
solues factveis modelo original
solues factveis modelo relaxado
Solues timas de relaxaes
max: limitante superior
min : limitante inferior
Se a soluo tima do problema relaxado factvel para o problema
original, ento ela tambm a soluo tima do problema original
Se o modelo relaxado infactvel, o modelo original tambm
9
DCA-FEEC-Unicamp
Arredondamento de solues de relaxao
x ( = menor inteiro maior ou igual a x
x = maior inteiro menor ou igual a x
max: soluo factvel (inteira) limitante inferior para o valor da funo objetivo
min: soluo factvel (inteira) limitante superior para o valor da funo objetivo
restries de igualdade criam problemas para arredondamento
} 1 , 0 { , ,
2
40 ) 0 , 0 , 1 ( 5 7 11 2 sa
71 . 47 )
7
3
, 0 , 1 (
~
18 2 40 max
3 2 1
3 2 1
3 2 1
3 2 1

+ +
= = + +
= = + +
x x x
x x x
v x x x x
v x x x x
limitante superior
limitante inferior
10
DCA-FEEC-Unicamp
3-Relaxao forte
Se relaxao uma boa aproximao do modelo original, ento
detecta infactibilidade rapidamente
obtm limitantes mais precisos
tem maior chance de fornecer a soluo tima
arredondamento mais fcil
Relaxao forte se
valor timo mais prximo do valor timo do modelo original
soluo tima mais prxima da soluo tima do modelo original
11
DCA-FEEC-Unicamp
} 1 , 0 { , ,
1
1
1 sa
max
3 2 1
3 2
3 1
2 1
3 2 1

+
+
+
+ +
x x x
x x
x x
x x
x x x
} 1 , 0 { , ,
1
1
1
1 sa
max
3 2 1
3 2 1
3 2
3 1
2 1
3 2 1

+ +
+
+
+
+ +
x x x
x x x
x x
x x
x x
x x x
solues factveis (para ambos): x = ( 1, 0, 0 ), ( 0, 1, 0 ), ( 0, 0, 1 )
solues modelos relaxados: x
1
= ( 1/2, 1/2, 1/2), x
2
= ( 1, 0, 0 )*
limitantes modelos relaxados: v
1
= 3/2 e v
2
= 1
relaxao 2 mais forte
1
Exemplo
2
12
DCA-FEEC-Unicamp
Desigualdades vlidas
desigualdade vlida para um modelo de otimizao discreta se
ela satisfeita para todas solues factveis (inteiras) do modelo
para obter uma relaxao forte, uma desigualdade vlida deve
cortar (tornar infactveis) algumas solues factveis do modelo
relaxado que no so factveis para o modelo original
1
) 1 ,
5
4
, 0 (
} 1 , 0 { , , x
10 6 5 3 sa
18 14 3 max
3 2
3 2 1
3 2 1
3 2 1
+
=

+ +
+ +
x x
x
x x
x x x
x x x
1
3 2
+ no x x
fortalece
relaxao
soluo relaxada
desigualdade
13
DCA-FEEC-Unicamp
Relaxao Lagrangeana
0 Se
0 Se : o minimiza
0 Se
0 Se : o maximiza
original objetivo funo




+
|
|

\
|
+ + =

i i
j
j ij
i i
j
j ij
i i
j
j ij
i i
j
j ij
j
j ij i i
v b x a
v b x a
v b x a
v b x a
x a b v L L L
Restries a dualizar so escolhidas para tornar o modelo
relaxado ainda discreto, mas com estrutura mais tratvel
14
DCA-FEEC-Unicamp
} 1 , 0 { ,
0 ,
75
200
300 4 5 . 1 sa
720 550 30 20 max
2 1
2 1
2 2
1 1
2 1
2 1 2 1

+
+
y y
x x
y x
y x
x x
y y x x
0 ,
} 1 , 0 { ,
0 ,
300 4 5 . 1 sa
) 75 0 { ) 200 0 ( 720 550 30 20 max
2 1
2 1
2 1
2 1
2 2 2 1 1 1 2 1 2 1

+
+ + + + +
v v
y y
x x
x x
y x v y x v y y x x
soluo tima de relaxao Lagrangeana um limitante
superior para maximizao e inferior para minimizao
Exemplo
15
DCA-FEEC-Unicamp
4-Algoritmo branch and bound
1 2 3 4
custo de operao 7 12 5 14
potnci a 300 600 500 1600
Gerador
} 1 , 0 { , , ,
700 1600 500 600 300 sa
14 5 12 7 min
contrrio caso 0
usado gerador 1
4 3 2 1
4 3 2 1
4 3 2 1

+ + +
+ + +

=
x x x x
x x x x
x x x x
j
x
j
soluo tima: usar 1 e 3
custo: $ 12.000
Exemplo 1
16
DCA-FEEC-Unicamp
rvore de busca
Solues parciais
possuem algumas das variveis fixas, outras livres
variveis livres denotadas por #
x = (1, #, 0, #) soluo parcial com x
1
= 1 e x
3
= 0 fixos, x
2
e x
4
livres
Completamento de soluo parcial
solues completas consistentes com a soluo parcial
todas as componentes fixadas
x = (1, #, #, 0) (1, 0, 0, 0 , (1, 0, 1, 0), (1, 1, 0, 0), (1, 1, 1, 0)
factveis
17
Ns: solues parciais
Arcos: indicam como as variveis so fixadas nas
solues parciais
Raiz: soluo parcial x
(0)
= (#, ...., #)
Ns ativos: solues parciais no analisadas
18
DCA-FEEC-Unicamp
branch and bound
1-termina solues parciais quando ou identifica um melhor
complementamento, ou no pode produzir a soluo
tima para o modelo
2-se uma soluo parcial no pode ser terminada, ela ramificada
(branch) criando duas novas solues parciais a partir da soluo
parcial atual e as variveis livres que ela contm
3- pra: quando todas solues parciais foramterminadas ou ramificadas
19
Estratgias de busca
profundidade (depth first), a mais simples
primeiro melhor (best first)
depth forward best back
Soluo incumbente
melhor (valor da funo objetivo) soluo factvel conhecida at ento

v x

20
DCA-FEEC-Unicamp
Se branch and bound pra com
todas as solues parciais terminadas ou ramificadas
ento a soluo incumbente final um timo global (se existir)
caso contrrio o modelo infactvel
Problema candidato associado uma soluo parcial
verso restrita do modelo
obtida quando as variveis so fixadas como na soluo parcial
21
Problema candidato associado soluo parcial x = (#, 1, #, 0)
0 , 1
} 1 , 0 { , ,
700 1600 500 600 300 sa
14 5 12 7 min
4 2
3 1
4 3 2 1
4 3 2 1
= =

+ + +
+ + +
x x
x x
x x x x
x x x x
Completamentos factveis de solues parciais so as solues factveis
do problema candidato correspondente
Valor da funo objetivo do melhor completamento factvel o valor
timo do problema candidato
Exemplo
22
DCA-FEEC-Unicamp
Terminando solues
1-se uma relaxao de um problema candidato infactvel, ento a
soluo parcial associada pode ser terminada porque no existem
completamentos factveis
2-se uma relaxao de um problema candidato possui valor da funo
objetivo pior do que o valor da soluo incumbente, ento a soluo
parcial pode ser terminada porque nehum complementamento factvel
ter valor melhor do que o da soluo incumbente
3-se uma soluo tima de uma relaxao do problema candidato
factvel para o modelo original, ento ela o melhor completamento
associado soluo parcial
4-esta soluo, aps comparao com outra, se existir, pode ser terminada
23
DCA-FEEC-Unicamp
Algoritmo branch and bound PLI (0,1)
Passo 0 Inicializao: com soluo parcial x
0
= (#,...,#
)
, t 0;
ou com soluo incumbente (x, v) se disponvel;
Passo 1 Parada: se soluo partial, selecionar uma delas x
t
; ir para Passo 2;
seno, se soluo incumbente, ela tima; seno modelo
infactvel
Passo 2 Relaxao: resolver relaxao PL problema candidado x
t
;
Passo 3 Termina por infactibilidade: se relaxao PL infactvel, no
complementamentos factveis para x
t
; terminar, t t + 1;
ir para Passo 1;
Passo 4 Termina por limite: soluo tima PL relaxado tem valor pior do que a
soluo incumbente corrente, ento terminar; t = t + 1;
ir para Passo 1;
Passo 5 Termina por soluo: soluo tima PL relaxado satisfaz restries
binrias modelo original melhor complementamento factvel de x
t
;
nova soluo incumbente; termina x
t
; t = t + 1; ir para Passo 1;
Passo 6 Ramificao: escolher varivel livre fracionria no PL relaxado timo;
criar dois novos arcos; t = t + 1; ir para Passo 1;
24
DCA-FEEC-Unicamp
12 . 6
~
) 44 . 0 , 0 , 0 , 0 (
~ ) 0 (
=
=
v
x
9
~
) 0 , 1 , 33 . 0 , 0 (
~ ) 2 (
=
=
v
x
0
1
2
3
4
5
6
7
8 9
10
67 . 9
~
) 0 , 1 , 0 , 67 . 0 (
~ ) 6 (
=
=
v
x
14
~
) 1 , 0 , 0 , 0 (
~ ) 1 (
=
=
v
x
13
~
) 0 , 2 . 0 , 1 , 0 (
~ ) 3 (
=
=
v
x
17
~
) 0 , 1 , 1 , 0 (
~ ) 4 (
=
=
v
x
33 . 14
~
) 0 , 0 , 1 , 33 . 0 (
~ ) 5 (
=
=
v
x
11
~
) 0 , 8 . 0 , 0 , 1 (
~ ) 7 (
=
=
v
x
12
~
) 0 , 1 , 0 , 1 (
~ ) 8 (
=
=
v
x
= v
14 = v
por soluo
por limite
por limite
por soluo
infactvel
infactvel
x
4
= 1 x
4
= 0
x
2
= 1 x
2
= 0
x
3
= 1 x
3
= 0
x
1
= 1
x
1
= 0
x
3
= 1 x
3
= 0
Exemplo 1
25
DCA-FEEC-Unicamp
Problema de maximizao, x
1
, x
2
, x
3
= 0 ou 1; x
4
0
Exemplo 2
26
DCA-FEEC-Unicamp
4 5
3
2
6
1
0
por soluo
infactvel
por limite
por soluo
27
DCA-FEEC-Unicamp
5-Detalhes do algoritmo para PLI
uso de arrendondamento
limitantes superiores proporcionados por ns pais
sequncia de enumerao: estratgias de busca
parada prematura
uso de desigualdades vlidas
p
e
d
pai
filho
filho
rvore busca
28
DCA-FEEC-Unicamp
} 1 , 0 { , ,
1
1
1
) 2024 2020 ( 14 3 1 4 10
) 2020 2015 ( 14 3 1 7 5 8
) 2014 2010 ( 14 5 4 2 4 1 8
) 2009 2005 ( 12 4 1 7 8 5 8 5 5 3
) 2004 2000 ( 10 5 4 1 3 2 6 sa
185 300 8 18 150 200
10 5 20 70 50 20 3 200 max
14 1
3 7
3 6
3 5
3 4
2 11
14 9
11 8
5 4
14 13 6 4
14 13 11 8 6
14 13 11 10 6 5
14 13 12 10 9 7 5 3 2
12 9 7 3 2 1
14 13 12 11 10 9
8 7 6 5 4 3 2 1

+
+
+
+ + +
+ + + +
+ + + + +
+ + + + + + + +
+ + + + +
+ + + + + +
+ + + + + + +
x x
x x
x x
x x
x x
x x
x x
x x
x x
x x x x
x x x x x
x x x x x x
x x x x x x x x x
x x x x x x
x x x x x x
x x x x x x x x
L
Exemplo 3
excluso mtua
dependncia
29
Arredondamento de solues relaxadas parciais
quando aplicvel, ajuda a encontrar incumbentes
arredondamento feito antes de ramificar
pode fornecer timo aproximado
Arredondamento no garante obteno de novas incumbentes
30
Exemplo 3
31
Exemplo 3
32
DCA-FEEC-Unicamp
Ns pai fornecem limitantes
valor timo da relaxao associado a ns pai de solues parciais
limitante superior para problemas de maximizao
limitante inferior para problemas de minimizao
Sempre que branch and bound acha nova soluo incumbente

qualquer soluo parcial ativa cujo limitante fornecido pelo


n pai no melhor que o valor da nova soluo pode ser
terminada
33
DCA-FEEC-Unicamp
Parada prematura
Maximizao: mximo dos valores timos das relaxaes de ns pais de
solues parciais sempre fornece limitante superior para o
valor timo do problema original
Minimizao: mnimo dos valores timos das relaxaes de ns pais de
solues parciais sempre fornece limitante inferior para o
valor timo do problema original
34
Ns ativos aps explorao do n 6 , exemplo 2: {8,10,11,12, 7, 15}
Pais de {8,10,11,12, 7, 15} {1, 3, 4, 5, 6}
Melhor possvel: max {798, 75, 793,17, 791,25, 787,,00, 770,50 ) = 798,75
melhor soluo incumbente at ento : n 6, valor v = 755
Erro aproximao: ( 798.75 - 755 ) / 755 = 0.58 5,8 %
Exemplo
35
DCA-FEEC-Unicamp
6-Estratgias de busca e de desempate
Estratgias de busca
primeiro em profundidade (depth fist)
maior nmero componentes soluo parcial fixos
primeiro melhor (best first)
soluo ativa com melhor limitante estabelecido pelo pai
depth forward best back
proceder em profundidade; decidir pelo melhor quando
terminar uma soluo parcial
Estratgias de desempate
optar pelo arco x = 1 (ou x = 0)
decidir pelo filho mais prximo
36
Exemplo 3
37
Exemplo 3
38
Exemplo 3
39
7-Algoritmo branch and cut PLI (0,1)
Passo 0 Inicializao: com soluo parcial x
0
= (#,...,#
)
, t 0;
ou com soluo incumbente (x, v) se disponvel;
Passo 1 Parada: se soluo partial, selecionar uma delas x
t
; ir para Passo 2;
seno, se soluo incumbente, ela tima; seno modelo infactvel
Passo 2 Relaxao: resolver relaxao PL problema candidado x
t
;
Passo 3 Termina por infactibilidade: idem branch and bound bsico;
Passo 4 Termina por limite: idem branch and bound bsico;
Passo 5 Termina por soluo: idem branch and bound bsico;
Passo 6 Desigualdade vlida: verificar se podemos identificar uma restrio de
desigualdade vlida para o problema original que violada pela
soluo tima corrente do problema relaxado; sucesso: incluir
restrio no modelo original; t = t + 1; ir para Passo 2;
Passo 6 Ramificao: idem branch and bound bsico;
DCA-FEEC-Unicamp
40
Exemplo 1
125 . 6
~
) 438 . 0 , 0 , 0 , 0 (
~ ) 0 (
=
=
v
x
636 . 6
~
) 182 . 0 , 818 . 0 , 0 , 0 ( x
~ ) 1 (
=
=
v
0
1
6 2
3
4 5
75 . 6
~
) 125 . 0 , 1 , 0 , 0 ( x
~ ) 2 (
=
=
v
14
~
) 5 . 0 , 0 , 0 , 1 ( x
~ ) 6 (
=
=
v
12
~
) 5 . 0 , 1 , 0 , 0 ( x
~ ) 3 (
=
=
v
12
~
) 0 , 1 , 0 , 1 ( x
~ ) 5 (
=
=
v
por limite
por soluo
x
3
= 0 x
3
= 1
x
4
= 1 x
4
= 0
= v
1
4 3 2 1
+ + + x x x x
por soluo
19
~
) 1 , 1 , 0 , 0 ( x
~ ) 4 (
=
=
v
19 = v
12 = v
2 2
4 3 2 1
+ + + x x x x
Branch and cut
41
8-Algoritmos heursticos
Passo 0 Inicializao: soluo factvel x
0
; t 0;
Passo 1 timo local: se nenhuma direo x de M melhora a funo objetivo ou no
factvel em x
t
, ento parar; x
t
timo local;
Passo 2 Move: escolher direo factvel que melhora funo objetivo x M x
t +1
;
Passo 3 Atualiza: x
t +1
x
t
+ x
t +1
;
Passo 4 Incrementa: t = t + 1; ir para Passo 1;
Eficincia depende de como se determina M
Busca + inicializaes mltiplas
DCA-FEEC-Unicamp
42
Exemplo
} 1 , 0 { , , ,
3 2 2 sa
14 11 25 18 max
4 3 2 1
4 3 2 1
4 3 2 1

+ + +
+ + +
x x x x
x x x x
x x x x
Vizinhana
complemento simples da melhor soluo em t
(trocar valor de uma nica componente 0 1)
Se mais de um elemento de M factvel, selecionar o melhor
x
o
= (1, 0, 0, 0)
43
x
o
= (1, 0, 0, 0), f (x
o
) = 18
M= {(0, 0, 0, 0), (1, 0, 1, 0), (1, 0, 0, 1)} (f = 0, f = 29, f = 32)
x
1
= (1, 0, 0, 1), f (x
1
) = 32
M= {(0, 0, 0, 1), (1, 0, 0, 0)} (f = 14, f = 18)
no melhora; algoritmo pra com
x* = x
1
= (1, 0, 0, 1)
f (x
*
) = 32
44
DCA-FEEC-Unicamp


=

=
=


=
=
= = =
+
contrrio caso 0
furo simo do a perfurao sima se 1
, } 1 , 0 {
1
1 sa
min
10
1
10
1
10
1
10
1
10
1
1
i k
y
i k y
i y
k y
y y d
ki
ki
k
ki
i
ki
k i j
j k ki ij
1
2
3
4
7
8
9
10
6
5
M : {pares (k, l) de trocasde posies k, l }
distncia total
ordem perfurao
todos furos
45
DCA-FEEC-Unicamp
Alternativa quando no existem solues factveis que melhoram
o valor da funo objetivo permitir movimentos ao longo de
direes no factveis para escapar de timos locais
Problema: movimentos no factveis causam ciclagem

Busca tabu: proibe temporariamente a considerao de direes


que levam solues recentemente visitadas

lista tabu
46
DCA-FEEC-Unicamp
Passo 0 Inicializao: com soluo factvel x
0
; nmero mximo iteraes t
max
;
soluo incumbente x
^
x
0
; nenhuma direo tabu; t 0;
Passo 1 Parada: se nenhuma direo no tabu x de M leva a um vizinho de x
t
factvel, ou t = t
max
, ento parar; soluo incumbente x
^
tima
aproximada;
Passo 2 Move: escolher direofactvel no tabu x M x
t +1
;
Passo 3 Atualiza: x
t +1
x
t
+ x
t +1
;
Passo 4 Soluo incumbente: se valor funo objetivo para x
t +1
melhor que a soluo
incumbente x
^
, ento x
t +1
soluo incumbente corrente;
Passo 5 Lista tabu: remover direes da lista que j esto h um nmero de iteraes;
acrescentar direes que levam x
t +1
de volta x
t
;
Passo 6 Incrementa: t = t + 1; ir para Passo 1;
Busca tabu
47
DCA-FEEC-Unicamp
Busca estocstica: simulated annealing
Passo 0 Inicializao: com soluo factvel x
0
; nmero mximo iteraes t
max
;
soluo incumbente x
^
x
0
; temperatura q > 0 grande; t 0;
Passo 1 Parada: se nenhuma direo x de M leva a um vizinho de x
t
factvel, ou se
t = t
max
, ento parar; soluo incumbente x
^
tima aproximada;
Passo 2 Move: escolher aleatoriamente direo factvel x M x
t+1
; calcular
variao obj ao mover de x
t
para x
t +1
(obj no positivo piora);
Passo 3 Aceita: Se ou x
t +1
melhora ou se obj < 0 com probabilidade e
obj/q
, ento
aceitar e atualizar x
t +1
x
t
+ x
t +1
; caso contrrio ir para o Passo 2;
Passo 4 Soluo incumbente: se valor funo objetivo para x
t +1
melhor que para soluo
incumbente x
^
, ento x
t +1
soluo incumbente corrente;
Passo 5 Reduo temperatura: aps um nmero suficiente de iteraes depois da ltima
mudana de temperatura, reduzir temperatura q;
Passo 6 Incrementa: t = t + 1; ir para Passo 1;
48
DCA-FEEC-Unicamp
Busca estocstica: algoritmos genticos
P(t) : populao de solues candidatas (x
1
, x
2
, ......, x
p
) no passo t
algoritmoGentico
incio
t 0;
inicializar P(t);
enquanto t t
max
fazer
inicio
avaliar P(t) ;
selecionar pares de solues de acordo com funo objetivo;
produzir filhos de acordo com operadores genticos;
atualizar populao;
t = t +1;
fim;
fim;
49
AG: algoritmo de busca inspirado nos mecanismos de seleo
natural e da gentica
Combina melhores indivduos de uma populao atravs de um
mecanismo estruturado, mas aleatrio, de troca de informaes
para fornecer novas solues
Mtodos de otimizao
clculo: diretos e indiretos
enumerao
estocsticos
AG um algoritmo de busca estocstico
50
Algoritmos genticos mtodos clssicos de otimizao
AG usa codificao e no as variveis de deciso diretamente
AG realiza busca utilizando populao ao invs de um ponto
AG usa valores da funo e no dependem de derivadas
AG usa regras de transio probabilsticas


51
Analogia entre gentica natural e AG
cromosoma cadeias (strings)
gen elemento de uma cadeia
alelo valor do gen
locus posio na cadeia
gentipo estrutura cromossmica
fentipo soluo
epistasis no linearidade
fitness funo objetivo
52
Codificao
binria
alfanumrica
real
Grey
Operadores genticos
seleo
produzir filhos (recombinao, crossover)
mutao
53
Menor caminho ???
Cromossoma = [ A B C E D ]
Comprimento caminho = fitness
Exemplo
A
B
C
D
E
54
Menor caminho ???
[ A B C E D ]
indivduo
Caminho fitness
[ A B C D E ] [ C B A D E ]
pontos mutao
Pais Offspring
[ A B C D E ]
[ C B A E D ]
[ A B C E D ]
Operadores Bsicos
A
B
C
D
E
mutao
x-over
Exemplo
55
max f (x) = x
2
xS = {0, 1, 2, , 31}
0
200
400
600
800
1000
1200
13579
1
1
1
3
1
5
1
7
1
9
2
1
2
3
2
5
2
7
2
9
3
1
x
f (x )
0 0
1 1
2 4
3 9
4 16
5 25
6 36
7 49
8 64
9 81
10 100
11 121
12 144
13 169
14 196
15 225
16 256
17 289
18 324
19 361
20 400
21 441
22 484
23 529
24 576
25 625
26 676
27 729
28 784
29 841
30 900
31 961
Exemplo
56
1
14%
2
49%
3
6%
4
31%
Codificao: nmero binrio de 5 bits
Fitness: f (x) = x
2
Populao inicial:
No Cadei a f (x ) % Total
1 01101 169 14
2 11000 576 49
3 01000 64 6
4 10011 361 31
Total 1170 100
57
Crossover
Pais Filhos
11|000 11011
10|011 10000
Mutao
Antes Depois
11011 10011
58
String No Populao Inicial Valor x f (x ) fi /fi fi /f Contagem Real Roleta
1 01101 13 169 0.14 0.58 1
2 11000 24 576 0.49 1.97 2
3 01000 8 64 0.06 0.22 0
4 10011 19 361 0.31 1.23 1
Soma 1770 1.00 4.00 4.00
Mdia 293 0.25 1.00 1.00
Max 576 0.49 1.97 2.00
Populao Par Posio x-over Nova Populao Valor x f (x ) f (x )
0110|1 2 4 01100 12 144 1
1100|0 1 4 11001 25 625 2
11|000 4 2 11011 27 729 0
10|011 3 2 10000 16 256 1
Soma 1754.00
Mdia 439.00
Max 729.00
59
Heurstica construtiva
Passo 0 Inicializao: com soluo parcial x
0
= (#,...,# ), t 0;
Passo 1 Parada: se todas componentes de x
t
esto fixas, ento parar; x^ x
t
;
x^ soluo tima aproximada;
Passo 2 Avana: escolher uma componente livre x
p
da soluo parcial x
t
e um
valor para ela que sugira completamentos factveis plausveis;
avanar para soluo parcial x
t +1
identica x
t
exceto em x
p
;
Passo 3 Incrementa: t = t + 1; ir para Passo 1;
DCA-FEEC-Unicamp
60
Este material refere-se s notas de aula do curso EA 044 Planejamento e
Anlise de Sistemas de Produo da Faculdade de Engenharia Eltrica e de
Computao da Unicamp. No substitui o livro texto, as referncias
recomendadas e nem as aulas expositivas. Este material no pode ser
reproduzido sem autorizao prvia dos autores. Quando autorizado, seu
uso exclusivo para atividades de ensino e pesquisa em instituies sem
fins lucrativos.
Observao
DCA-FEEC-Unicamp ProfFernandoGomide

Você também pode gostar