TCC - BCC 2000 (Rubens Altimari)

22
MAC-499 - Projeto MAC-499 - Projeto Algoritmos Aproximados para o Problema do Corte Circular Restrito Rubens Altimari

Transcript of TCC - BCC 2000 (Rubens Altimari)

Page 1: TCC - BCC 2000 (Rubens Altimari)

MAC-499 - ProjetoMAC-499 - Projeto

Algoritmos Aproximados para o Problema do Corte Circular Restrito

Rubens Altimari

Page 2: TCC - BCC 2000 (Rubens Altimari)

CCCC: Constrained Circular Problem: Constrained Circular Problem

Cortar uma chapa retangular R de dimensões WxL no maior número possível de círculos

Problema Circular Restrito(Constrained Circular Problem): há n círculos de tamanhos diferentes, com raios ri, i = 1, …, n, e “lucro” (ou peso) ci

Page 3: TCC - BCC 2000 (Rubens Altimari)

MotivaçãoMotivação

Empacotamento: seção transversal de um container onde se colocam tubos de um mesmo comprimento (maximizar uso do espaço)

Corte: chapa onde se realizam cortes circulares (minimizar desperdício de material)

Page 4: TCC - BCC 2000 (Rubens Altimari)

Convenções MatemáticasConvenções Matemáticas

Convenções genéricas

conjunto um de elementos :conjuntos :

(binárias) inteiras decisão de variáveis:contínuas decisão de variáveis:

escoeficient :

iI

aA

Page 5: TCC - BCC 2000 (Rubens Altimari)

Convenções Matemáticas, cont.Convenções Matemáticas, cont.

Convenções específicas

},,:),{(:círculo do centro do scoordenada :),(

contrário caso , 0retângulo do cortado círculo ésimo-i , 1

:

etc. ,prioridade dinheiro, em valor c área da entoaproveitam , c

:ex. retângulo, do cortar por obtido lucro""

:

o)compriment x (largura retângulo do dimensões :círculo ésimo-i do raio :

círculosn de conjunto:

2

ijIjIijiHyx

r

i

c

WxLrI

ii

i

i

iii

i

Page 6: TCC - BCC 2000 (Rubens Altimari)

Formulação MatemáticaFormulação Matemática

Formulação do Problema• n variáveis de decisão, 2n + ½ n(n-1) restrições

Ii

Hjirryyxx

IirLyrIirWxr

c

i

jijijiji

iiiii

iiiii

Iiii

}1,0{

),()()()(

)()(

a sujeito

maximizar

22

Page 7: TCC - BCC 2000 (Rubens Altimari)

CaracterísticasCaracterísticas

Espaço de solução é descontínuoVários ótimos locais, raros ótimos

globaisNP-difícil (Lenstra e Rinnooy Kan,

1979)

Page 8: TCC - BCC 2000 (Rubens Altimari)

Proposta do TrabalhoProposta do Trabalho

Estudar e implementar duas heurísticas para o problema, tal como propostas por M. Hifi et al em [1]:

1. Construtiva (CH: Constructive heuristics)2. Baseada em algoritmo genético (GA-BH: Genetic

Algorithm-based heuristics) Ambas utilizam uma abordagem

construtiva (CA: Constructive Approach) como parte do processo

Page 9: TCC - BCC 2000 (Rubens Altimari)

CACA: Constructive Approach: Constructive ApproachABLP para peças circularesABLP para peças circulares

BLP: Best Local Position, desenvolvido por Hifi et al em [2] ABLP: Adapted BLP, para peças circulares Dada uma ordenação de peças, cada peça é colocada na

posição mais alta à esquerda possível dentre um conjunto finito de opções, obtido em relação às peças já colocadas, tirando-se as posições repetidas e impossíveis (overlaps)

Verificação de eficiência é empírica, comparando-se com resultados da literatura

Tem ótimo desempenho Utilizada em ambas as heurísticas, seja como algoritmo de

aproximação (CH), ou como operador de verificação de viabilidade (GA-BH)

Page 10: TCC - BCC 2000 (Rubens Altimari)

CACA: Constructive Approach: Constructive ApproachPosições relativasPosições relativas

Pi

Pj

Pj

Pj Pj

xi

yi

Pj

Pi1

Pi2

Pj

Pj

Posição trivial(0,0)

Posições relativas a cada peça já colocada (determinado eperimentalmente que outras posições, inclusive as simétricas, não contribuem – BLP)

Posições relativas a cada par de peças já colocadas

Page 11: TCC - BCC 2000 (Rubens Altimari)

CACA: Constructive Approach: Constructive ApproachExemplo de construçãoExemplo de construção

P1

P2

P1

P2

P3

P1

P2P4

P3

P1

P2P4

P3

P1

P2 P4

P3

P5

P2P2P2

P2

P3

P3

P4

P4

P5

P5

P5P5

P3

P3

Page 12: TCC - BCC 2000 (Rubens Altimari)

CHCH: Constructive Heuristics: Constructive Heuristics

Utiliza CA como algoritmo de aproximação Boa ordenação das peças (demonstrada

experimentalmente): peças em ordem não-crescente da razão ci / ri; em caso de igualdade, peças com ci maior vêm primeiro

Favorece peças menores com retorno maior

Page 13: TCC - BCC 2000 (Rubens Altimari)

GA-BHGA-BH: Genetic Algorithm-Based : Genetic Algorithm-Based HeuristicsHeuristics Simula evolução natural das espécies, gerando

uma população inicial de indivíduos e aplicando operadores genéticos em cada reprodução

Cada indivíduo é uma possível solução (cromossomo), com aptidão dada por uma função objetivo

Indivíduos altamente aptos se reproduzem, com incidência de crossover e mutação

Descendentes substituem toda a população (método geracional) ou os indivíduos menos aptos (método incremental)

Page 14: TCC - BCC 2000 (Rubens Altimari)

GA-BHGA-BH: Genetic Heuristic: Genetic HeuristicCromossomoCromossomo

Cromossomo P: sequência ordenada, resultado da concatenação de uma solução factível S para o problema CC e de um conjunto U = P \ S de peças que não puderam ser posicionadas em R.

• ex.: P = (P1,P2,P2,P3,P3,P3,P4,P3,P4,P4),com S = (P1,P2,P2,P3,P3,P3,P4) e U = (P3,P4,P4)

Aptidão de P: ∑iЄS ci = ∑iЄS πri2

Utiliza CA como operador de verificação de viabilidade de P ou, mais ainda, como operador de mutabilidade de P (mutaciona P não-factível em factível, determinando S e U)

Page 15: TCC - BCC 2000 (Rubens Altimari)

GA-BHGA-BH: Genetic Heuristic: Genetic HeuristicSeleção de paisSeleção de pais

Atribuição de oportunidades reprodutivas a cada indivíduo:

• Seleção por torneio: escolha determinada por concurso

• Seleção proporcional: parcela fixa é escolhida para se reproduzir

• Escalação por aptidão: cada um dos indivíduos mais aptos é escolhido sucessivamente para ser o primeiro pai; o segundo é escolhido aleatoriamente entre os mais aptos; implementação eficiente; cara a cada pai apto a chance de se reproduzir ao menos uma vez com certa diversidade, promovendo a escolha do melhor enquanto minimza os riscos de duplicação e estagnação em um mínimo local

Page 16: TCC - BCC 2000 (Rubens Altimari)

GA-BHGA-BH: Genetic Heuristic: Genetic HeuristicCrossoverCrossover

Combinação de pedaços de dois pais aptos em busca de filhos promissores

Variação do crossover OX Davis two points:

1. Um trecho (j,k) de genes, 1 ≤ j ≤ k ≤ n, escolhido aleatoriamente, é transmitido de Pai1 para Filho1 e de Pai2 para Filho2

2. O restante dos genes de cada filho é preenchido com os genes do outro pai, segundo certos critérios para evitar repetição de genes

3. Este crossover chama-se de dois pontos em referência aos intervalos (1,j-1) e (k+1,n) que terão crossover

Page 17: TCC - BCC 2000 (Rubens Altimari)

GA-BHGA-BH: Genetic Heuristic: Genetic HeuristicMutaçãoMutação

Dois tipos:1. Aplicação de CA em todo novo filho,

transformando cromossomo não-factível em factível.ex.: P = (P1, P2, P3, P3, P3, P4, P4, P4, P4) -> (P1, P2, P3, P3, P4) U (P3, P4, P4)

2. Swap de duas subsequências de genes ou inversão de ordem de subsequência de gentes em cromossomos factíveis, para aumentar o espaço de busca, evitando convergência prematura

Page 18: TCC - BCC 2000 (Rubens Altimari)

GA-BHGA-BH: Genetic Heuristic: Genetic HeuristicSubstituição da populaçãoSubstituição da população

População inicial: 1º indivíduo obtido com CH; m-1 gerados aleatoriamente; estes m sofrem mutação-2; dos 3m indivíduos gerados, os m mais aptos constituem a população inicial

Método incremental: escolhe-se os m mais aptos de uma população de 5m: m pais, 2m filhos por crossover e 2m cromossomos obtidos por mutação-2 destes 2m filhos

Page 19: TCC - BCC 2000 (Rubens Altimari)

Comparação: Comparação: CHCH x x GA-BHGA-BH

Comparação com dados de [3], exemplo SY1

1. CH: uso de 79.582%, desvio de 4.25% do ótimo (1s)

2. GA-BH: uso de 80.960%, desvio de 2.59% do ótimo (100s)

Page 20: TCC - BCC 2000 (Rubens Altimari)

ConclusãoConclusão Heurística construtiva gera boas

soluções em curtíssimo tempo computacional

Heurística baseada em algoritmo genético gera soluções de alta qualidade, frequentemente ótimas, em tempo razoável

• Pode ser facilmente paralelizada, e deve convergir rapidamente

Page 21: TCC - BCC 2000 (Rubens Altimari)

BibliografiaBibliografia1. Hifi, Mhand; Rym, M'Hallah. Approximate algorithms for constrained circular cutting

problems. Computers & Operations Research, 31, pp. 675-694, 2004.2. Hifi, Mhand; Rym, M'Hallah. A best-local position procedure-based heuristic for two-

dimensional layout problems. Studia Informatica Universalis, International Journal on Informatics, 2(1):1-32, 2002.

3. Stoyan, Yu.G.; Yas'kov, G. Mathematical model and solution method of optimization problem of placement of rectangles and circles taking into account special constraints. International Transactions in Operational Research, 5(1): 45-57, 1998.

4. Stoyan, Yu.G.; Yas'kov, G. A mathematical model and a solution method for the problem of placing various-sized circles into a strip. European Journal of Operational Research, 156, pp. 590-600, 2004.

5. George, John A.; George, Jennifer M.; Lamar, Bruce W. Packing different-sized circles into a rectangular container. European Journal of Operational Research, 84, pp. 693-712, 1995.

6. Wang, Huaiqing; Huang, Wenqi; Zhang, Quan; Xu, Dongming. An improved algorithm for the packing of unequal circles within a larger containing circle. European Journal of Operational Research, 141, pp. 440-453, 2002.

7. Goldberg, David E. Genetic algorithms in search, optimization, and machine learning. Addison Wesley, 1989.

Page 22: TCC - BCC 2000 (Rubens Altimari)

Perguntas?Perguntas?