O PROBLEMA DE SCHEDULING
EM JOB-SHOP
SOLUÇÃO POR APROXIMAÇÃO
Alguns tipos de operadores de crossover
Tópicos Especiais em Logística e Transportes
Me. Rogério Malta Branco
Estrutura do trabalho
1. Introdução
1.2. O problema de job-shop scheduling
1.2.1. Representação por grafos disjuntivos
1.2.2. Construção de escalas
1.2.3. Representação binária
3. Algortimos genéticos
3.1 Conceitos básicos
3.2 Algoritmo genético simples
3.3 O procedimento de um algoritmo
genetico simples
2. Técnicas para solucionar os JSSP
2.1. Soluções ótimas
2.2. Soluções aproximadas
2.2.1. Regras de despacho
2.2.2. Metaheurísticas
2.2.2.1. Algoritmos genéticos
2.2.2.2. Simulated annealing
2.2.2.3. Outros procedimentos de busca
local e modelos híbridos
2.2.3. Outras soluções não ótimas
2.4. Conclusões
4 Um algoritmo genético simples no
problema de scheduling de job-shop
4.1 Codificação genética de uma solução
de schedule
4.2 Harmonização local
4.3 Harmonização Global
4.4 Forcing
4.5 Algoritmo genético simples para o Jobshop
4.6 Limitações para uma aproximação
simples
......
Estrutura
Introdução
 Representação
 Algortimo genético básico (fluxograma)
 Operador genético crossover

Crossover OX
 Crossover PMX
 Crossover CX

Representação
Genótipo = {0,1}L
Fenótipo
Codificação
(representação)
10010001
10010010
010001001
011101001
Decodificação
(representação inversa)
EIBEN & SMITH (2006)
Estrutura
Introdução
 Representação
 Algortimo genético básico (fluxograma)
 Operador genético crossover

Crossover OX
 Crossover PMX
 Crossover CX

Estrutura de um AG básico
Gere uma
população inicial
Avalie a
população
Critérios de
parada
satisfeitos?
Sim
Liste os melhores
indivíduos
Não
Selecione os pais
Crossover
Mutação
Avalie a
população
Defina a população
sobrevivente
Geração de uma nova população
SOUZA(2006)
Estrutura
Introdução
 Representação
 Algortimo genético básico (fluxograma)
 Operador genético crossover

Crossover OX GOLDBARG & LUNA(2000)
 Crossover PMX
 Crossover CX

Operador OX (PCV)

Características
Empregado em PCV
 Operador crossover de dois pontos de corte
 Cruzamento entre os pais geram dois filhos
 Filhos herdam a ordem de visita dos pais

SOUZA(2006)
Operador OX (PCV)
P1: (1, 2, 3, 4, 5, 6, 7, 8, 9) P2: (4, 3, 2, 1, 8, 5, 6, 7, 9)
Os filhos herdam as sub-sequências entre os pontos de corte.
F1: (X, X, X, 1, 8, 5, X, X, X) F2: (X, X, X, 4, 5, 6, X, X, X)
Operador OX (PCV)
A partir do segundo ponto de corte de um dado pai,
descreve-se a seqüência e posteriormente remove-se,
desta, os vertices existentes entre os cortes do filho.
P2: (4, 3, 2, 1, 8, 5, 6, 7, 9) ou seja (6, 7, 9, 4, 3, 2, 1, 8, 5)
F2: (X, X, X, 4, 5, 6, X, X, X)
7
9
1
(6, 7, 9, 4, 3, 2, 1, 8, 5)
=
(2, 1, 8, 4, 5, 6, 7, 9, 3)
3
F2: (X, X, X, 4, 5, 6, X, X, X)
2
e
8
F2: (2, 1, 8, 4, 5, 6, 7, 9, 3)
Operador OX (PCV)
De forma análoga, encontra-se também F1.
P1: (1, 2, 3, 4, 5, 6, 7, 8, 9) ou seja (7, 8, 9, 1, 2, 3, 4, 5, 6)
F1: (X, X, X, 1, 8, 5, X, X, X)
7
9
4
(7, 8, 9, 1, 2, 3, 4, 5, 6)
=
(3, 4, 6, 1, 8, 5, 7, 9, 2)
2
F1: (X, X, X, 1, 8, 5, X, X, X)
3
e
6
F1: (3, 4, 6, 1, 8, 5, 7, 9, 2)
Estrutura
Introdução
 Representação
 Algortimo genético básico (fluxograma)
 Operador genético crossover

Crossover OX
 Crossover PMX
 Crossover CX

GOLDBARG & LUNA(2000)
Partially Mapped Crossover –PMX
(PCV)
Como no caso do operador OX, tembém tem-se que,
dados P1 e P2:
P1: (1, 2, 3, 4, 5, 6, 7, 8, 9) P2: (4, 3, 2, 1, 8, 5, 6, 7, 9)
Os filhos herdam as sub-sequências entre os pontos de corte.
F1: (X, X, X, 1, 8, 5, X, X, X) F2: (X, X, X, 4, 5, 6, X, X, X)
Partially Mapped Crossover –PMX
(PCV)
P1: (1, 2, 3, 4, 5, 6, 7, 8, 9)
P2: (4, 3, 2, 1, 8, 5, 6, 7, 9)
F1: (X, 2, 3, 1, 8, 5, 7, X, 9) F2: (X, 3, 2, 4, 5, 6, X, 7, 9)
Os valores indicados por X são nós que já foram herdados do
outro pai, logo não podem ser repetidos.
Como solução, verifica-se o que existe nesta mesma posição,
do outro pai doador (inicial). Se for possível, o valor também será
herdado.
Partially Mapped Crossover –PMX
(PCV)
P1: (1, 2, 3, 4, 5, 6, 7, 8, 9)
P2: (4, 3, 2, 1, 8, 5, 6, 7, 9)
F1: (X, 2, 3, 1, 8, 5, 7, X, 9)
F1: (4, 2, 3, 1, 8, 5, 7, X, 9)
F1: (4, 2, 3, 1, 8, 5, 7, 6, 9)
Como na posição 8 do doador P2 existe 7 e este já foi inserido
do pai P1, não podendo ser re-inserido, verifica-se em P2, qual
valor existe na posição referente a ele (7) do F1: o valor é 6. Sendo
que este vértice não existe, é integrado ao cromossomo F1.
Partially Mapped Crossover –PMX
(PCV)
De forma análoga, encontra-se F2:
P1: (1, 2, 3, 4, 5, 6, 7, 8, 9) P2: (4, 3, 2, 1, 8, 5, 6, 7, 9)
F2: (X, 3, 2, 4, 5, 6, X, 7, 9)
F2: (1, 3, 2, 4, 5, 6, X, 7, 9)
F2: (1, 3, 2, 4, 5, 6, 8, 7, 9)
Como na posição 8 do doador P1 existe 7 e este já foi inserido
do pai P2, não podendo ser re-inserido, verifica-se em P1, qual
valor existe na posição referente a ele (7) do F2: o valor é 8. Sendo
que este vértice não existe, é integrado ao cromossomo F2.
Estrutura
Introdução
 Representação
 Algortimo genético básico (fluxograma)
 Operador genético crossover

Crossover OX
 Crossover PMX
 Crossover CX GOLDBARG & LUNA(2000)

Cycle crossover – CX (PCV)
Preservar a posição absoluta das cidades nos
cromossomos dos pais. Sejam P1 e P2, toma-se a
primeira cidade de P1 e aloca-se na primeira de F1.
P1: (1, 2, 3, 4, 5, 6, 7, 8, 9) P2: (4, 3, 2, 6, 8, 9, 1, 5, 7)
F1: (1, X, X, X, X, X, X, X, X)
F1: (1, X, X, 4, X, X, X, X, X)
F1: (1, X, X, 4, X, 6, X, X, X)
F1: (1, X, X, 4, X, 6, X, X, 9)
F1: (1, X, X, 4, X, 6, 7, X, 9)
Ao retornar para 1 fecha-se o ciclo. As outras
posiçoes advém de P2, ficando: (1, 3, 2, 4, 8, 6, 7, 5, 9)
Referências
GOLDBARG, M. C. e LUNA, H. P. L., Otimização Combinatória e Programação
Linear: modelos e algoritmos, Rio de Janeiro: Editora Campus, 2000.
GOLDBERG, D. Genetic algorithms in search, optimization and machine learning.
Addison-Wesley, 1989.
PITTMAN, J. , Apresentação: Genetic Algorithm for Variable Selection, Universidade
Duke, http://www.niss.org/affiliates/proteomics200303/presentations20030306/04%
20Jennifer.ppt acessado em 19/10/2006.
EIBEN, A.E. & SMITH, J.E., Apresentação: Introduction to Evolutionary Computing:
Genetic
Algorithms,
http://www.cs.vu.nl/~jabekker/ec0607/slides/Lecture03Chapter3-GeneticAlgorithms.ppt ,acessado em 19/10/2006.
Download

Apresentação 06 - Prof. Sérgio Mayerle