Title: O PROBLEMA DE SCHEDULING EM JOB-SHOP
1O PROBLEMA DE SCHEDULING EM JOB-SHOP
- SOLUÇÃO POR APROXIMAÇÃO
- Algoritmo genético definições e características
básicas - Tópicos Especiais em Logística e Transportes
- Me. Rogério Malta Branco
2Estrutura 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
- 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
- 3. Algortimos genéticos
- 3.1 Conceitos básicos
- 3.2 Algoritmo genético simples
- 3.3 O procedimento de um algoritmo genetico
simples - 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 Job-shop
- 4.6 Limitações para uma aproximação simples
- ......
3Meta-heurísticas
- Simulated Annealing (tempera simulada)
- Colônia de formigas
- Tabu search
- Fast Local Search (Hill climbing)
- Guided Local Search (refinamento)
- Algoritmos genéticos
4Estrutura
- Introdução
- Objetivo e características dos AGs
- Estrutura básica de um AG (fluxograma)
- Função de aptidão
- Seleção de indivíduos
- Operadores genéticos
- Parâmetros genéticos
5Algoritmos genéticos
- Sua origem advém dos trabalhos desenvolvidos
por John Holland (1962 e 1970). - São métodos de busca probabilística
inteligentes baseados em mecanismos de seleção e
evolução natural. - Holland (1972 e 1975) utilizou símbolos
binários (0,1) em estruturas semelhantes aos
cromossomos.
GOLDBARG LUNA(2000)
6Algoritmos genéticos
- Os objetivos de Holland eram fundamentar uma
teoria geral de sistemas de adaptação robusta. - Acabou por encontrar um caminho de grande e
imediata aplicação prática na determinação de
máximos e mínimos de funções matemáticas. - As operações com funções matemáticas
facilitaram a utilização dos AGs no meio
acadêmico.
GOLDBARG LUNA(2000)
7Estrutura
- Introdução
- Objetivo e características dos AGs
- Estrutura básica de um AG (fluxograma)
- Função de aptidão
- Seleção de indivíduos
- Operadores genéticos
- Parâmetros genéticos
8Objetivo
- Tentar melhorar as qualidades genéticas de uma
população através de um processo de renovação
iterativa das populações
SOUZA(2006)
9Características
- Método de busca populacional, i.e, parte de um
conjunto de soluções, aplicando sobre estes
operadores que visam à melhoria desse conjunto - Fundamentam-se em uma analogia com processos
naturais de evolução, nos quais, dada uma
população, os indivíduos com características
genéticas melhores têm maiores chances de
sobrevivência e de produzirem filhos cada vez
mais aptos, enquanto indivíduos menos aptos
tendem a desaparecer
SOUZA(2006)
10Características
- As características dos indivíduos, registradas em
seus genes, são transmitidas para seus
descendentes e tendem a propagar-se por novas
gerações - Características dos descendentes são parcialmente
herdadas de seus pais (Crossover) e parcialmente
de novos genes criados durante o processo de
reprodução (Mutação)
SOUZA(2006)
11Representação
Genótipo 0,1L
Fenótipo
Codificação (representação)
10010001
10010010
010001001
011101001
Decodificação (representação inversa)
EIBEN SMITH (2006)
12AG x Problema de Otimização
AG Problema de Otimização
Indivíduo Solução de um problema
População Conjunto de soluções
Cromossomo Representação de uma solução
Gene Parte da representação de uma solução
Crossover / Mutação Operadores de busca
SOUZA(2006)
13Estrutura
- Introdução
- Objetivo e características dos AGs
- Estrutura básica de um AG (fluxograma)
- Função de aptidão
- Seleção de indivíduos
- Operadores genéticos
- Parâmetros genéticos
14Estrutura de um AG básico
Critérios de parada satisfeitos?
Gere uma população inicial
Avalie a população
Liste os melhores indivíduos
Sim
Não
Selecione os pais
Crossover
Mutação
Avalie a população
Defina a população sobrevivente
SOUZA(2006)
Geração de uma nova população
15Estrutura
- Introdução
- Objetivo e características dos AGs
- Estrutura básica de um AG (fluxograma)
- Função de aptidão
- Seleção de indivíduos
- Operadores genéticos
- Parâmetros genéticos
16Função de aptidão
- Avalia os cromossomos (fitness)
- Em um problema de maximização pode ser a própria
função objetivo - Em um problema de minimização pode ser o
complemento da função objetivo, ou seja, (-1fobj)
SOUZA(2006)
17Função de aptidão exemplo para problema de
minimização
Função f(x,y)x.sen(4x)1.1 y sen(2.y) Domínio
8ltxlt10 e 8ltylt10 Precisão 2 casas decimais
gtgtx80.0510 gtgtyx gtgtyy,xx
meshgrid(y,x) gtgtfxxx.sin(4xx)1.1yy.sin(2yy
) gtgtmeshc(xx,yy,fx)
SARAMAGO (2003)
18Função de aptidão
- I10-82, mas com 2 casas decimais
- I 2.102casas 2.100 200 intervalos
- Cada gene irá representar estes intervalos
- 27128 lt 200 lt 28256
- Solução empregar, para cada variável, 8 bits na
representação de escalas de 200 inervalos. - Cada gene é um vetor binário de m bits, sendo m
função da precisão exigida.
Baseado no exemplo de SARAMAGO (2003)
19Função de aptidão
- Fase 1 Decodificação binária
-
- ex 001100112 5110
- Fase 2 Ajuste da escala (int p/ real)
-
- ex x 13310 onde Sscale 8 e Escale 10
Baseado no exemplo de SARAMAGO (2003)
20Função de aptidão
25510
10
Regra de 3 255 2 133
x X2.133/255 X1,04 Como a escala inicia em 8,
faz-se o ajuste X1,048 X9,04
13310
9,04
2real
256inteiro
010
08
Baseado no exemplo de SARAMAGO (2003)
21Estrutura
- Introdução
- Objetivo e características dos AGs
- Estrutura básica de um AG (fluxograma)
- Função de aptidão
- Seleção de indivíduos
- Operadores genéticos
- Parâmetros genéticos
22Seleção de indivíduos sobrevivência e morte
- Como selecionamos os cromossomos que devem
sobreviver? - Sobrevivem os que possuem os melhores níveis de
aptidão? - É importante permitir também a sobrevida de
cromossomos menos aptos, do contrário o método
ficaria preso em ótimos locais - Elitismo
SOUZA (2006)
23Seleção de indivíduos
- Princípio básico para o direcionamento da
evolução de uma dada população - Utiliza uma função de avaliação para medir a
aptidão de cada indivíduo - Essa aptidão pode ser absoluta ou relativa
- Existem vários métodos de seleção
SOUZA (2006)
24Seleção de indivíduos métodos
- Roleta
- Torneio
- Aleatório, etc...
LOPES (2006)
25Método da Roleta
- Coloca-se os indivíduos em uma roleta, dando a
cada um uma fatia proporcional à sua aptidão
relativa - Roda-se a roleta. O indivíduo em cuja fatia a
agulha parar permanece para a próxima geração - Repete-se o sorteio tantas vezes quanto forem
necessárias para selecionar a quantidade desejada
de indivíduos
LOPES (2006)
26Roleta - Exemplo
Indivíduo Aptidão Absoluta Aptidão Relativa
1 2 0,052631579
2 4 0,105263158
3 5 0,131578947
4 9 0,236842105
5 18 0,473684211
Total 38 1
LOPES (2006)
27Seleção de indivíduos métodos
- Roleta
- Torneio
- Aleatório, etc...
LOPES (2006)
28Método do Torneio
- Utiliza sucessivas disputas para realizar a
seleção - Para selecionar k indivíduos, realiza k disputas,
cada disputa envolvendo n indivíduos escolhidos
ao acaso - O indivíduo de maior aptidão na disputa é
selecionado - É muito comum utilizar n 3
LOPES (2006)
29Torneio - Exemplo
LOPES (2006)
30Seleção de indivíduos exemplo
Gera-se n6 (tam. população) números aleatórios.
Observa-se que r1 gt q1 r1 gt q2 r1 lt q3 gt C3
selecionado.
De forma análoga, aplica-se os demais valores
aleatórios gerados. São portanto selecionados
C3, C1, C3, C5, C5, C4. Depois de selecionados,
dão origem a uma nova população, a ser submetida
agora aos operadores genéticos CROSSOVER e
MUTAÇÃO.
Baseado no exemplo de SARAMAGO (2003)
31Estrutura
- Introdução
- Objetivo e características dos AGs
- Estrutura básica de um AG (fluxograma)
- Função de aptidão
- Seleção de indivíduos
- Operadores genéticos
- Parâmetros genéticos
32Operadores genéticos
CROSSOVER
MUTAÇÃO
SOUZA (2006)
33Operadores genéticos
- Reprodução (crossover)
- Mutação
- Clonagem, etc...
34Operador de Cruzamento
- Também chamado de reprodução ou crossover
- Combina as informações genéticas de dois
indivíduos (pais) para gerar novos indivíduos
(filhos) - Versões mais comuns criam sempre dois filhos para
cada operação
LOPES (2006)
35Operador de Cruzamento
- Operador genético principal
- Responsável por gerar novos indivíduos diferentes
(sejam melhores ou piores) a partir de indivíduos
já promissores - Aplicado a cada par de indivíduos com alta
probabilidade (normalmente entre 0,6 e 0,99)
LOPES (2006)
36Abordagens para Cruzamento
- Cruzamento Um-Ponto
- Cruzamento Multi-Pontos
- Cruzamento Uniforme
LOPES (2006)
37Cruzamento Um-Ponto
LOPES (2006)
38Cruzamento Multi-Ponto
LOPES (2006)
39Cruzamento Uniforme
LOPES (2006)
40Cruzamento exemplo
Geram-se números aleatórios para cada novo
indivíduo da população. Estima-se também um valor
para probabilidade de cruzamento (Pc0.25). Se
randi gt Pc então Indivíduo Ci não selecionado,
Senão Indivíduo Ci selecionado. No exemplo
acima selecionou-se C3 e C6. Gera-se, de forma
aleatória o ponto K de corte k1rand.m-1)-1 Ou
seja k 1 0,7. (16-1)-1 10,7.14 10,8
11
Baseado no exemplo de SARAMAGO (2003)
41Cruzamento exemplo
Baseado no exemplo de SARAMAGO (2003)
42Operadores genéticos
- Reprodução (crossover)
- Mutação
- Clonagem, etc...
LOPES (2006)
43Operador de Mutação
- Operador randômico de manipulação
- Introduz e mantém a variedade genética da
população - Garante a possibilidade de se alcançar qualquer
ponto do espaço de busca - Contorna mínimos locais
- Opera sobre os indivíduos resultantes do processo
de cruzamento
LOPES (2006)
44Operador de Mutação
- É um operador genético secundário
- Se seu uso for exagerado, reduz a evolução a uma
busca totalmente aleatória - Deve atuar com probabilidade baixa (normalmente
entre 0,001 e 0,1)
LOPES (2006)
45Operador de Mutação
LOPES (2006)
46Exemplo de Mutação
Baseado no exemplo de SARAMAGO (2003)
47Exemplo de Mutação
Para a população final pós-operadores, o processo
é reiniciado até ser encontrado o critério de
parada.
Baseado no exemplo de SARAMAGO (2003)
48Estrutura
- Introdução
- Objetivo e características dos AGs
- Estrutura básica de um AG (fluxograma)
- Função de aptidão
- Seleção de indivíduos
- Operadores genéticos
- Parâmetros genéticos
49Parâmetros Genéticos
- Tamanho da população
- Taxa de cruzamento
- Taxa de mutação
- Intervalo de geração
- Critério de parada
LOPES (2006)
50Referências
- EIBEN, A.E. SMITH, J.E., Apresentação
Introduction to Evolutionary Computing Genetic
Algorithms, http//www.cs.vu.nl/jabekker/ec0607/s
lides/Lecture03-Chapter3-GeneticAlgorithms.ppt
,acessado em 19/10/2006. - GOLDBERG, D. Genetic algorithms in search,
optimization and machine learning.
Addison-Wesley, 1989. - 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. - LOPES, L. R. M., Apresentação Fundamentos de
Algoritmos Genéticos, www.cos.ufrj.br/ines/course
s/cos740/leila/cos740/Algoritmos20Geneticos.ppt
,acessado em 19/10/2006. - PITTMAN, J. , Apresentação Genetic Algorithm for
Variable Selection, Universidade Duke,
http//www.niss.org/affiliates/proteomics200303/pr
esentations20030306/04 - 20Jennifer.ppt acessado em 19/10/2006.
- SOUZA, M. J. F., Apresentação Algoritmos
genéticos. http//www.iceb.ufop.br/prof/marcone
acessado em 19/10/2006.