Document 7580163
Download
Report
Transcript Document 7580163
O 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
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
......
Meta-heurísticas
Simulated Annealing (tempera simulada)
Colônia de formigas
Tabu search
Fast Local Search (Hill climbing)
Guided Local Search (refinamento)
Algoritmos genéticos
Estrutura
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
Algoritmos 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)
Algoritmos 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)
Estrutura
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
Objetivo
Tentar melhorar as qualidades genéticas de
uma população através de um processo de
renovação iterativa das populações
SOUZA(2006)
Caracterí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)
Caracterí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)
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)
AG 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)
Estrutura
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
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
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
Funçã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, (-1*fobj)
SOUZA(2006)
Funçã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: 8<x<10 e 8<y<10
Precisão; 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)
Função de aptidão
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
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)
Função de aptidão
Fase 1: Decodificação binária
c [b7 , b6 ,..., b1 , b0 , a7 , a6 ,..., a1, a0 ]
m 1
x bi .2
m 1
y ai .2i
i
i 0
i 0
ex: 001100112 = 5110
Fase 2: Ajuste da escala (int p/ real)
e s
var sscale var. scale m 1 scale
2
ex: x =13310 onde Sscale= 8 e Escale= 10
10 8
2
x 8 133. 8
8
133.
9, 04
2
1
255
Baseado no exemplo de SARAMAGO (2003)
Função de aptidão
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
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
Seleçã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)
Seleçã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)
Seleção de indivíduos: métodos
•
•
•
Roleta
Torneio
Aleatório, etc...
LOPES (2006)
Mé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)
Roleta - 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
38
1
Total
LOPES (2006)
Seleção de indivíduos: métodos
•
•
•
Roleta
Torneio
Aleatório, etc...
LOPES (2006)
Mé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)
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)
Seleção de indivíduos: exemplo
Gera-se n=6 (tam. população) números aleatórios.
Observa-se que:
r1 > q1;
r1 > q2;
r1 < q3; => 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)
Estrutura
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
Operadores genéticos
CROSSOVER
MUTAÇÃO
SOUZA (2006)
Operadores genéticos
Reprodução (crossover)
Mutação
Clonagem, etc...
Operador 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)
Operador 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)
Abordagens para Cruzamento
Cruzamento Um-Ponto
Cruzamento Multi-Pontos
Cruzamento Uniforme
LOPES (2006)
Cruzamento Um-Ponto
0
0
0
0
Pais
1
1
1
1
0
0
1
1
Filhos
1
1
0
0
LOPES (2006)
Cruzamento Multi-Ponto
0
0
0
0
Pais
1
1
1
1
0
1
1
0
Filhos
1
0
0
1
LOPES (2006)
Cruzamento Uniforme
Máscara
0
1
0
1
0
0
0
0
Pais
1
1
1
1
0
1
0
1
Filhos
1
0
1
0
LOPES (2006)
Cruzamento : 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 (Pc=0.25).
Se randi > 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: 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 genéticos
Reprodução (crossover)
Mutação
Clonagem, etc...
LOPES (2006)
Operador 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)
Operador 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)
Operador de Mutação
0
1
1
0
0
0
1
0
1
0
0
0
0
1
LOPES (2006)
Exemplo de Mutação
Baseado no exemplo de SARAMAGO (2003)
Exemplo 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)
Estrutura
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
Parâmetros Genéticos
Tamanho da população
Taxa de cruzamento
Taxa de mutação
Intervalo de geração
Critério de parada
LOPES (2006)
Referências
EIBEN, A.E. & SMITH, J.E., Apresentação: Introduction to Evolutionary Computing: Genetic
Algorithms,
http://www.cs.vu.nl/~jabekker/ec0607/slides/Lecture03-Chapter3GeneticAlgorithms.ppt ,acessado em 19/10/2006.
GOLDBERG, D. Genetic algorithms in search, optimization and machine learning. AddisonWesley, 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/courses/cos740/leila/cos740/Algoritmos%20Geneticos.ppt ,acessado em
19/10/2006.
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.
SOUZA, M. J. F., Apresentação: Algoritmos genéticos. http://www.iceb.ufop.br/prof/marcone
acessado em 19/10/2006.