You are on page 1of 49

O PROBLEMA DE SCHEDULING

EM JOB-SHOP
SOLUO POR APROXIMAO
Algoritmo gentico: definies e caractersticas bsicas

Estrutura do trabalho
1. Introduo
1.2. O problema de job-shop scheduling
1.2.1. Representao por grafos disjuntivos
1.2.2. Construo de escalas
1.2.3. Representao binria

3. Algortimos genticos
3.1 Conceitos bsicos
3.2 Algoritmo gentico simples
3.3 O procedimento de um algoritmo
genetico simples

2. Tcnicas para solucionar os JSSP


2.1. Solues timas
2.2. Solues aproximadas
2.2.1. Regras de despacho
2.2.2. Metaheursticas
2.2.2.1. Algoritmos genticos
2.2.2.2. Simulated annealing
2.2.2.3. Outros procedimentos de busca
local e modelos hbridos
2.2.3. Outras solues no timas
2.4. Concluses

4 Um algoritmo gentico simples no


problema de scheduling de job-shop
4.1 Codificao gentica de uma soluo
de schedule
4.2 Harmonizao local
4.3 Harmonizao Global
4.4 Forcing
4.5 Algoritmo gentico simples para o Jobshop
4.6 Limitaes para uma aproximao
simples
......

Meta-heursticas
Simulated Annealing
Colnia

(tempera simulada)

de formigas
Tabu search
Fast Local Search (Hill climbing)
Guided Local Search (refinamento)
Algoritmos genticos

Estrutura
Introduo
Objetivo

e caractersticas dos AGs


Estrutura bsica de um AG (fluxograma)
Funo de aptido
Seleo de indivduos
Operadores genticos
Parmetros genticos

Algoritmos genticos
Sua origem advm dos trabalhos
desenvolvidos por John Holland (1962 e 1970).
So mtodos de busca probabilstica
inteligentes baseados em mecanismos de
seleo e evoluo natural.
Holland (1972 e 1975) utilizou smbolos
binrios (0,1) em estruturas semelhantes aos
cromossomos.
GOLDBARG & LUNA(2000)

Algoritmos genticos
Os objetivos de Holland eram fundamentar uma
teoria geral de sistemas de adaptao robusta.
Acabou por encontrar um caminho de grande e
imediata aplicao prtica na determinao de
mximos e mnimos de funes matemticas.
As operaes com funes matemticas
facilitaram a utilizao dos AGs no meio
acadmico.

GOLDBARG & LUNA(2000)

Estrutura
Introduo
Objetivo

e caractersticas dos AGs


Estrutura bsica de um AG (fluxograma)
Funo de aptido
Seleo de indivduos
Operadores genticos
Parmetros genticos

Objetivo
Tentar melhorar as qualidades genticas de
uma populao atravs de um processo de
renovao iterativa das populaes

SOUZA(2006)

Caractersticas

Mtodo de busca populacional, i.e, parte de um


conjunto de solues, aplicando sobre estes
operadores que visam melhoria desse conjunto

Fundamentam-se em uma analogia com


processos naturais de evoluo, nos quais, dada
uma populao, os indivduos com caractersticas
genticas melhores tm maiores chances de
sobrevivncia e de produzirem filhos cada vez
mais aptos, enquanto indivduos menos aptos
tendem a desaparecer
SOUZA(2006)

Caractersticas

As caractersticas dos indivduos, registradas em


seus genes, so transmitidas para seus
descendentes e tendem a propagar-se por novas
geraes

Caractersticas dos descendentes so


parcialmente herdadas de seus pais (Crossover)
e parcialmente de novos genes criados durante o
processo de reproduo (Mutao)

SOUZA(2006)

Representao
Gentipo = {0,1}L
Fentipo

Codificao
(representao)

10010001
10010010
010001001
011101001

Decodificao
(representao inversa)

EIBEN & SMITH (2006)

AG x Problema de Otimizao
AG

Problema de Otimizao

Indivduo

Soluo de um problema

Populao

Conjunto de solues

Cromossomo

Representao de uma soluo

Gene

Parte da representao de uma


soluo

Crossover / Mutao Operadores de busca


SOUZA(2006)

Estrutura
Introduo
Objetivo

e caractersticas dos AGs


Estrutura bsica de um AG (fluxograma)
Funo de aptido
Seleo de indivduos
Operadores genticos
Parmetros genticos

Estrutura de um AG bsico
Gere uma
populao inicial

Avalie a
populao

Critrios de
parada
satisfeitos?

Sim

Liste os melhores
indivduos

No
Selecione os pais

Crossover

Mutao

Avalie a
populao
Defina a populao
sobrevivente
Gerao de uma nova populao

SOUZA(2006)

Estrutura
Introduo
Objetivo

e caractersticas dos AGs


Estrutura bsica de um AG (fluxograma)
Funo de aptido
Seleo de indivduos
Operadores genticos
Parmetros genticos

Funo de aptido

Avalia os cromossomos (fitness)

Em um problema de maximizao pode


ser a prpria funo objetivo

Em um problema de minimizao pode


ser o complemento da funo objetivo, ou
seja, (-1*fobj)
SOUZA(2006)

Funo de aptido : exemplo para


problema de minimizao
Funo: f(x,y)=x.sen(4x)+1.1 y sen(2.y)
Domnio: 8<x<10 e 8<y<10
Preciso; 2 casas decimais

>>x=8:0.05:10;
>>y=x;
>>[yy,xx] = meshgrid(y,x);
>>fx=xx.*sin(4*xx)+1.1*yy.*sin(2*yy);
>>meshc(xx,yy,fx);

SARAMAGO (2003)

Funo de aptido
I=10-8=2, mas com 2 casas decimais;
I= 2.102casas = 2.100 = 200 intervalos;
Cada gene ir representar estes intervalos;
27=128 < 200 < 28=256
Soluo: empregar, para cada varivel, 8 bits na
representao de escalas de 200 inervalos.
Cada gene um vetor binrio de m bits, sendo m funo
da preciso exigida.
Baseado no exemplo de SARAMAGO (2003)

Funo de aptido
Fase 1: Decodificao binria
c [b7 , b6 ,..., b1 , b0 , a7 , a6 ,..., a1 , a0 ]
m 1

x bi .2

m 1

y ai .2i

i 0

i 0

ex: 001100112 = 5110

Fase 2: Ajuste da escala (int p/ real)


escale sscale

m 1
2

var sscale var.

ex: x =13310 onde Sscale= 8 e Escale= 10


2
10 8

133.

9, 04
8
2

1
255

x 8 133.

Baseado no exemplo de SARAMAGO (2003)

Funo de aptido
25510

10

Regra de 3:
255 2
133 x

13310

X=2.133/255
X=1,04

9,04

256inteiro

2real

Como a escala
inicia em 8,
faz-se o ajuste:
X=1,04+8
X=9,04

010

08

Baseado no exemplo de SARAMAGO (2003)

Estrutura
Introduo
Objetivo

e caractersticas dos AGs


Estrutura bsica de um AG (fluxograma)
Funo de aptido
Seleo de indivduos
Operadores genticos
Parmetros genticos

Seleo de indivduos:
sobrevivncia e morte

Como selecionamos os cromossomos que


devem sobreviver?
Sobrevivem os que possuem os melhores
nveis de aptido?
importante permitir tambm a sobrevida
de cromossomos menos aptos, do
contrrio o mtodo ficaria preso em
timos locais
Elitismo
SOUZA (2006)

Seleo de indivduos
Princpio

bsico para o direcionamento da


evoluo de uma dada populao

Utiliza

uma funo de avaliao para medir a


aptido de cada indivduo

Essa

aptido pode ser absoluta ou relativa

Existem

vrios mtodos de seleo


SOUZA (2006)

Seleo de indivduos: mtodos

Roleta
Torneio
Aleatrio, etc...

LOPES (2006)

Mtodo da Roleta
Coloca-se

os indivduos em uma roleta, dando a


cada um uma fatia proporcional sua aptido
relativa
Roda-se a roleta. O indivduo em cuja fatia a
agulha parar permanece para a prxima
gerao
Repete-se o sorteio tantas vezes quanto forem
necessrias para selecionar a quantidade
desejada de indivduos
LOPES (2006)

Roleta - Exemplo
Indivduo

Aptido Absoluta

Aptido Relativa

0,052631579

0,105263158

0,131578947

0,236842105

18

0,473684211

38

Total

LOPES (2006)

Seleo de indivduos: mtodos

Roleta
Torneio
Aleatrio, etc...

LOPES (2006)

Mtodo do Torneio
Utiliza

sucessivas disputas para realizar a


seleo
Para selecionar k indivduos, realiza k
disputas, cada disputa envolvendo n
indivduos escolhidos ao acaso
O indivduo de maior aptido na disputa
selecionado
muito comum utilizar n = 3
LOPES (2006)

Torneio - Exemplo
Indiv 1, Indiv 2, Indiv 4

Indiv 4

Indiv 1, Indiv 2, Indiv 3

Indiv 3

Indiv 2, Indiv 3, Indiv 4

Indiv 4

Indiv 3, Indiv 4, Indiv 5

Indiv 5

LOPES (2006)

Seleo de indivduos: exemplo

Gera-se n=6 (tam. populao) nmeros aleatrios.


Observa-se que:
r1 > q1;
r1 > q2;
r1 < q3; => C3 selecionado.
De forma anloga, aplica-se os demais valores aleatrios gerados.
So portanto selecionados: C3, C1, C3, C5, C5, C4.
Depois de selecionados, do origem a uma nova populao, a ser submetida
agora aos operadores genticos CROSSOVER e MUTAO.
Baseado no exemplo de SARAMAGO (2003)

Estrutura
Introduo
Objetivo

e caractersticas dos AGs


Estrutura bsica de um AG (fluxograma)
Funo de aptido
Seleo de indivduos
Operadores genticos
Parmetros genticos

Operadores genticos
CROSSOVER

MUTAO

SOUZA (2006)

Operadores genticos
Reproduo

(crossover)

Mutao
Clonagem,

etc...

Operador de Cruzamento
Tambm

chamado de reproduo ou
crossover
Combina as informaes genticas de
dois indivduos (pais) para gerar novos
indivduos (filhos)
Verses mais comuns criam sempre dois
filhos para cada operao

LOPES (2006)

Operador de Cruzamento
Operador

gentico principal
Responsvel por gerar novos indivduos
diferentes (sejam melhores ou piores) a
partir de indivduos j promissores
Aplicado a cada par de indivduos com
alta probabilidade (normalmente entre 0,6
e 0,99)

LOPES (2006)

Abordagens para Cruzamento


Cruzamento

Um-Ponto

Cruzamento

Multi-Pontos

Cruzamento

Uniforme

LOPES (2006)

Cruzamento Um-Ponto
0

Pais

Filhos

LOPES (2006)

Cruzamento Multi-Ponto
0

Pais

Filhos

LOPES (2006)

Cruzamento Uniforme
Mscara

Pais

Filhos

LOPES (2006)

Cruzamento : exemplo

Geram-se nmeros aleatrios para cada novo indivduo da populao.


Estima-se tambm um valor para probabilidade de cruzamento (Pc=0.25).
Se randi > Pc ento Indivduo Ci no selecionado,
Seno Indivduo Ci selecionado.

No exemplo acima selecionou-se C3 e C6.


Gera-se, de forma aleatria o ponto K de corte: k=1+rand.[m-1)-1]
Ou seja: k= 1 + 0,7. [(16-1)-1] = 1+0,7.14 = 10,8 = 11

Baseado no exemplo de SARAMAGO (2003)

Cruzamento : exemplo

Baseado no exemplo de SARAMAGO (2003)

Operadores genticos
Reproduo

(crossover)

Mutao
Clonagem,

etc...

LOPES (2006)

Operador de Mutao
Operador

randmico de manipulao
Introduz e mantm a variedade gentica
da populao
Garante a possibilidade de se alcanar
qualquer ponto do espao de busca
Contorna mnimos locais
Opera sobre os indivduos resultantes do
processo de cruzamento
LOPES (2006)

Operador de Mutao

um operador gentico secundrio


Se seu uso for exagerado, reduz a
evoluo a uma busca totalmente
aleatria
Deve atuar com probabilidade baixa
(normalmente entre 0,001 e 0,1)

LOPES (2006)

Operador de Mutao

LOPES (2006)

Exemplo de Mutao

Baseado no exemplo de SARAMAGO (2003)

Exemplo de Mutao

Para a populao final ps-operadores, o processo reiniciado at ser


encontrado o critrio de parada.
Baseado no exemplo de SARAMAGO (2003)

Estrutura
Introduo
Objetivo

e caractersticas dos AGs


Estrutura bsica de um AG (fluxograma)
Funo de aptido
Seleo de indivduos
Operadores genticos
Parmetros genticos

Parmetros Genticos
Tamanho

da populao
Taxa de cruzamento
Taxa de mutao
Intervalo de gerao
Critrio de parada

LOPES (2006)

You might also like