Instituto de Computação



Documentos relacionados
Uma Heurística para o Problema de Redução de Padrões de Corte

Projetos. Universidade Federal do Espírito Santo - UFES. Mestrado em Informática 2004/1. O Projeto. 1. Introdução. 2.

O Problema do Troco Principio da Casa dos Pombos. > Princípios de Contagem e Enumeração Computacional 0/48

Além de minimizar o número de objetos processados, problema de corte unidimensional

Uma Heurística Gulosa para o Problema de Bin Packing Bidimensional

Por que o quadrado de terminados em 5 e ta o fa cil? Ex.: 15²=225, 75²=5625,...

a 1 x a n x n = b,

As fases na resolução de um problema real podem, de modo geral, ser colocadas na seguinte ordem:

Material Teórico - Módulo de Divisibilidade. MDC e MMC - Parte 1. Sexto Ano. Prof. Angelo Papa Neto

MINIMIZANDO O NÚMERO DE DIFERENTES PADRÕES DE CORTE - UMA ABORDAGEM DE CAMINHO MÍNIMO

Resolução da Lista 2 - Modelos determinísticos

Fórmula versus Algoritmo

O ESPAÇO NULO DE A: RESOLVENDO AX = 0 3.2

Análise e Complexidade de Algoritmos

Técnicas para Programação Inteira e Aplicações em Problemas de Roteamento de Veículos 14

2 Problema das p-medianas

6. Programação Inteira

computador-cálculo numérico perfeita. As fases na resolução de um problema real podem, de modo geral, ser colocadas na seguinte ordem:

Projeto e Análise de Algoritmos Projeto de Algoritmos Tentativa e Erro. Prof. Humberto Brandão humberto@bcc.unifal-mg.edu.br

PROBLEMA DE TRANSPORTE: MODELO E MÉTODO DE SOLUÇÃO

Somatórias e produtórias

Resolução de sistemas lineares

Sistemas Operacionais

Dadas a base e a altura de um triangulo, determinar sua área.

CAPÍTULO 6 - ESTRUTURA DE SELEÇÃO

Contagem. Prof. Dr. Leandro Balby Marinho. Matemática Discreta. Fundamentos Inclusão/Exclusão Princípio da Casa dos Pombos Permutações Combinações

Faculdade de Engenharia Optimização. Prof. Doutor Engº Jorge Nhambiu

CAP 254 CAP 254. Otimização Combinatória. Professor: Dr. L.A.N. Lorena. Assunto: Metaheurísticas Antonio Augusto Chaves

Notas de aula número 1: Otimização *

PROBLEMAS DE OTIMIZAÇÃO

2. Representação Numérica

Erros. Número Aproximado. Erros Absolutos erelativos. Erro Absoluto

Contagem I. Figura 1: Abrindo uma Porta.

6. Geometria, Primitivas e Transformações 3D

Construção do Boxplot utilizando o Excel 2007

Departamento de Matemática - UEL Ulysses Sodré. Arquivo: minimaxi.tex - Londrina-PR, 29 de Junho de 2010.

[a11 a12 a1n 4. SISTEMAS LINEARES 4.1. CONCEITO. Um sistema de equações lineares é um conjunto de equações do tipo

Estrutura de Dados Básica

IA: Problemas de Satisfação de Restrições. Prof. Msc. Ricardo Britto DIE-UFPI

AV2 - MA (a) De quantos modos diferentes posso empilhá-los de modo que todos os CDs de rock fiquem juntos?

Qual é Mesmo a Definição de Polígono Convexo?

Excel Planilhas Eletrônicas

Árvores Binárias Balanceadas

Bases Matemáticas. Aula 2 Métodos de Demonstração. Rodrigo Hausen. v /15

Correlação e Regressão Linear

PESQUISA OPERACIONAL: UMA ABORDAGEM À PROGRAMAÇÃO LINEAR. Rodolfo Cavalcante Pinheiro 1,3 Cleber Giugioli Carrasco 2,3 *

7 - Análise de redes Pesquisa Operacional CAPÍTULO 7 ANÁLISE DE REDES. 4 c. Figura Exemplo de um grafo linear.

Só Matemática O seu portal matemático FUNÇÕES

Ivan Guilhon Mitoso Rocha. As grandezas fundamentais que serão adotadas por nós daqui em frente:

6 Construção de Cenários

Pesquisa Etnográfica

Árvores Binárias de Busca

IBM1018 Física Básica II FFCLRP USP Prof. Antônio Roque Aula 6. O trabalho feito pela força para deslocar o corpo de a para b é dado por: = =

Computação Paralela. Desenvolvimento de Aplicações Paralelas João Luís Ferreira Sobral Departamento do Informática Universidade do Minho.

1ª Lista de exercícios

Algoritmos para os Problemas da Mochila e do Corte de Estoque Tridimensional Guilhotinado

Pesquisa Sequencial e Binária. Introdução à Programação SI2

Capítulo 3. Avaliação de Desempenho. 3.1 Definição de Desempenho

FACULDADE CAMPO LIMPO PAULISTA MESTRADO EM CIÊNCIA DA COMPUTAÇÃO. Projeto e Análise de Algoritmos II Lista de Exercícios 2

Este material traz a teoria necessária à resolução das questões propostas.

Lista 2 - Modelos determinísticos

ExemResumo parcial da última Quinta-feira, 28 de fevereiro. Os preços-sombra podem ser encontrados ao se examinar os quadros inicial e final!

RECONHECIMENTO DE PLACAS DE AUTOMÓVEIS ATRAVÉS DE CÂMERAS IP

4 Implementação e Resultados Experimentais

Complexidade de Algoritmos. Edson Prestes

ão: modelagem e técnicas

Análise de Arredondamento em Ponto Flutuante

5COP096 TeoriadaComputação

PARA A CONSTRUÇÃO DOS GRÁFICOS

Investigação Operacional

Dificuldades de Modelos de PNL. Onde está a solução ótima? Outro exemplo: Condição ótima Local vs. Global Quinta-feira, 25 de abril

)HUUDPHQWDV &RPSXWDFLRQDLV SDUD 6LPXODomR

QUADRADO MÁGICO - ORDEM 4

CÁLCULO DE ZEROS DE FUNÇÕES REAIS

Terceira Avaliação Visualg & Pascal

Exercícios Teóricos Resolvidos

Exercícios Resolvidos sobre probabilidade total e Teorema de Bayes

A memória é um recurso fundamental e de extrema importância para a operação de qualquer Sistema Computacional; A memória trata-se de uma grande

BCC202 - Estrutura de Dados I

Capítulo 1. x > y ou x < y ou x = y

Prof. Flávio Henrique de Lima Araújo 19

Endereçamento IP 09/05/2014. Endereçamento IP CLASSE B CLASSE A CLASSE A CLASSE C

MÓDULO 6 INTRODUÇÃO À PROBABILIDADE

Arquitetura de Rede de Computadores

¹CPTL/UFMS, Três Lagoas, MS,Brasil, ²CPTL/UFMS, Três Lagoas, MS, Brasil.

Projeto e Análise de Algoritmos Projeto de Algoritmos Introdução. Prof. Humberto Brandão humberto@dcc.ufmg.br

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

MAT 461 Tópicos de Matemática II Aula 3: Resumo de Probabilidade

MOSAICOS. RECURSO DIDÁTICO Software Geogebra ( 1ª TAREFA: Construção de um quadrado.

Curso de Data Mining

Investigação Operacional- 2009/10 - Programas Lineares 3 PROGRAMAS LINEARES

Pesquisa Sequencial e Binária

Figura 1.1: Exemplo de links patrocinados no Google

7.Conclusão e Trabalhos Futuros

Projeção ortográfica de modelos com elementos paralelos e oblíquos

Pesquisa Operacional na Tomada de Decisões. Conteúdos do Capítulo. Programação Linear. Lindo. s.t. Resolvendo Programação Linear Em um Microcomputador

Guia do professor. Ministério da Ciência e Tecnologia. Ministério da Educação. Secretaria de Educação a Distância.

Exercícios de Fixação Pseudocódigo e Estruturas Básicas de Controle

(x, y) = (a, b) + t*(c-a, d-b) ou: x = a + t*(c-a) y = b + t*(d-b)

BUSCA EM LISTAS LISTAS SEQÜENCIAIS, LISTAS SIMPLESMENTE E DUPLAMENTE ENCADEADAS E LISTAS CIRCULARES

Transcrição:

Instituto de Computação Universidade Estadual de Campinas MO824 - Programação Inteira e Combinatória Geração de Colunas para o Problema de Corte e Empacotamento Bidimensional em Faixas Fabricio Olivetti de França RA 027783 Tiago Agostinho de Almeida RA 025625 Professor: Dr. Cid. C. Souza Campinas, 31 de março de 2007.

1 Introdução Muitas indústrias têm como desao encontrar soluções mais econômicas possíveis para o problema de cortar objetos grandes visando a produção de objetos menores de dimensões especicadas, ou o problema de empacotar uma coleção de objetos pequenos dentro de objetos grandes. Tais problemas são chamados de problemas de corte e empacotamento, e são, em geral, NP-difíceis. Em muitas aplicações, os objetos grandes (placas / faixas) e os objetos pequenos (itens) têm apenas duas dimensões relevantes e possuem a forma retangular. Além disso, é comum a restrição de que os cortes em cada objeto sejam de guilhotina, isto é, estes devem ser paralelos a um de seus lados e se estender desde um lado do objeto até o lado oposto; problemas desse tipo são chamados de Problemas de Corte de Guilhotina Bidimensional [2, 3]. Um caso particular de corte e empacotamento, freqüentemente utilizado nas indústrias, trata-se de empacotar itens retangulares em uma faixa de altura innita utilizando cortes de guilhotina, de forma que a altura utilizada na faixa seja a menor possível. Esse problema recebe o nome de Problema de Corte e Empacotamento Bidimensional em Faixas (PEBF) [1]. Na Seção 3 é apresentado um método de geração de colunas para resolver o PEBF. Na Seção 4 é mostrado o limitante dual de Farley [4], calculado após cada relaxação linear do problema mestre restrito. Na Seção 5 é apresentada uma rotina que resolve o subproblema de pricing utilizando programação dinâmica quando as demandas são unitárias, e na Seção 6, uma heurística para encontrar colunas com custo reduzido negativo quando as demandas são inteiras. Na Seção 7 é apresentada uma heurística primal que gera uma solução viável para o PEBF a partir da solução ótima de uma relaxação linear do problema mestre restrito. Os resultados experimentais estão descritos na Seção 8 e as conclusões estão apresentadas na Seção 9. 2 O Problema de Corte e Empacotamento Bidimensional em Faixas Seja S uma bobina de largura L e altura innita e uma lista de itens retangulares I = (r 1,..., r n ), onde cada item r i = (l i, a i, d i ) é tal que l i (0, L], a i e d i são, respectivamente, a largura, a altura e a demanda do item r i. Um corte guilhotinado em dois estágios consiste em cortar a bobina S para obter os objetos demandados, utilizando-se apenas dois tipos de cortes: horizontais e verticais. Os cortes horizontais são realizados no primeiro estágio obtendo-se faixas de S de diferentes alturas. Em cada faixa, cortes verticais de largura igual a de determinados objetos são realizados para atender as demandas. Os objetos selecionados para serem cortados em cada faixa denem um padrão de corte, o qual só é válido se a soma das larguras dos objetos no padrão é menor ou igual a L. O PEBF consiste em empacotar os itens de I em S utilizando a menor altura possível de S realizando-se cortes guilhotinados em dois estágios. 2

2.1 Formulação do PEBF como PLI Seja P = {p Z n l i p i L} o conjunto de todos os padrões válidos e a p = max (a i I:p i I i i). O 0 PEBF pode ser formulado como: min p P a p λ p (1) sa p P p i λ p = d i, i I (2) λ p Z +, p P (3) onde, λ p é o número de vezes que o padrão p é utilizado e p i é o número de vezes que o item i aparece no padrão p. O número de colunas dessa formulação é exponencial em I e, portanto, é inviável carregá-las na memória. Por isso, é aplicado um método de geração de colunas (Seção 3) para resolver o PEBF ou, pelo menos, para obter uma boa solução para a relaxação linear do modelo. Uma solução obtida pela relaxação linear do problema resulta em limitante inferior (problema de maximização), sendo calculado pela resolução do problema dado pela formulação acima, substituindo a Equação 3 por: 3 Método de Geração de Colunas λ p IR, p P (4) O método de geração de colunas foi primeiramente proposto por Gilmore e Gomory para resolver o Problema de Corte e Estoque Unidimensional. Como visto, a formulação do PEBF como um problema de programação linear inteira, traz consigo algumas diculdades em termos computacionais. A primeira é determinar a matriz P (que pode ter um número exponencial de colunas); a segunda é resolver um problema de programação linear inteira (que em geral são NP-difíceis). Para se desvencilhar destas diculdades, Gilmore e Gomory propuseram o método de geração de colunas, que consiste em resolver a relaxação linear do problema. Podemos iniciar a resolução do problema relaxado tomando a matriz identidade de ordem m, que chamaremos de B, como base da matriz P. Observe que cada coluna de B corresponde a um padrão viável pois todo item cabe na faixa. Sem perda de generalidade, vamos supor que as colunas de B correspondem às primeiras m colunas de P. Denotaremos por λ B a parte do vetor λ correspondente às colunas de B. Obviamente, para toda coluna j de P que não faz parte de B, λ j = 0. No início da primeira iteração, fazendo λ B = d temos uma solução λ para P λ = d. De acordo com este método, considera-se Problema Mestre Restrito (PMR), aquele que toma 3

apenas um subconjunto das colunas de P. Novas colunas vão sendo incorporadas ao modelo sempre que o subproblema de pricing tiver valor ótimo negativo. O método de geração de colunas implementado neste trabalho foi baseado nas referências [1, 2, 3, 6]. 4 Limitante Dual de Farley O cálculo do limitante dual de Farley é feito de forma similar ao pricing. Entretando, dessa vez é armazenado o menor λ = a p u.p j, onde a P é a maior altura do padrão P j, e u são as variáveis duais do PMR, sendo que a essa fração deve ser positiva. Após obter o menor λ, o Dual de Farley é calculado através da equação c.x.λ conforme descrito em [4]. 5 Método de Programação Dinâmica Dada uma instância I de um problema, chamamos de decomposição de I o resultado da subdivisão de I em diversas instâncias menores (segundo alguma métrica) e que sejam do mesmo tipo de I. A programação dinâmica é uma generalização da bem conhecida técnica dividir-e-conquistar e consiste basicamente em: dada uma instância I, decompor esta instância de diversas maneiras e, para cada decomposição, calcular soluções ótimas das instâncias que constituem a decomposição e, a partir destas soluções ótimas parciais, encontrar uma solução ótima para I. Esta técnica de resolução de problemas é especialmente bem sucedida se quantidade de decomposições que tivermos que examinar for pequena. Alguns problemas têm propriedades que permitem que eles sejam resolvidos através da técnica de programação dinâmica, como por exemplo, o problema da mochila 0-1. Se for vericado que a instância do PEBF possui somente itens com demandas unitárias, é evidente que resolver o subproblema de pricing consiste em resolver o problema da mochila 0-1 e, portanto, é possível utilizar métodos baseados em programação dinâmica para resolvê-lo. Neste trabalho, zemos uso das fórmulas de recorrência propostas por Gilmore e Gomory, conforme apresentadas na referência [7]. 6 Heurística Factibilizadora de Soluções Embora na maioria das vezes a solução gerada pelo PMR é uma solução infactível, é possível gerar uma solução factível, a partir desta, através do uso de métodos heurísticos. Nesse trabalho foi utilizada uma heurística bem simples para esse propósito, conforme ilustrado em Algoritmo 1. Conforme descrito no Algoritmo 1, primeiramente cada variável x do problema é arredondada para baixo. Em seguida, é vericado para cada padrão quanto da demanda ainda falta a ser atendida. Finalmente cada um dos itens restantes são encaixados em um novo padrão enquanto a 4

Algoritmo 1 Heurística Factibilizadora Entradas: x Saída: z f act Para i = 1 até n p adroes faça x i x i Fim do laço ww 0 alt_max 0 alt_total 0 Para i = 1 até n i tens faça dm x.p i Enquanto dm < d i faça Se w i + ww W então alt_max max{alt_max, alt i } ww ww + w i Caso contrário alt_tot alt_tot + alt_max ww w i alt_max alt i Fim do condicional Fim do enquanto Fim do laço alt_tot alt_tot + alt_max z f act alt_tot.c.x largura máxima não é atendida, nesse caso é criado outro padrão, e assim sucessivamente até que todos os itens estejam na solução. 7 Heurística Construtiva para Gerar Padrões Esta heurística é uma adaptação do método chamado First Fit Decreasing Height (FFDH), proposto por [3]. A idéia central é fazer com que os itens sejam empacotados em níveis (camadas) horizontais dentro da faixa, da esquerda para a direita. Os níveis são indexados, a partir de 1, de acordo com a ordem em que são criados. Denotaremos por t j a posição correspondente ao topo (posição mais alta) do nível j, e por w j a largura utilizada no nível j, isto é, a posição mais à direita ocupada por algum item empacotado neste nível. A altura de um nível j é a altura do item mais à 5

esquerda desse nível. O primeiro passo da heurística consiste em colocar os itens em ordem decrescente de altura. Em seguida, empacotamos o primeiro item, na ordem estabelecida, no canto inferior esquerdo da faixa. Ao fazer isto, criamos o primeiro nível do empacotamento, que terá nesse momento t 1 = a 1 e w 1 = l 1. Assim, a altura desse primeiro nível será a 1. Observe que, devido à ordenação dos itens, ao empacotar um item i, sabemos que sua altura é menor ou igual à altura de todos os níveis que foram criados anteriormente. Dessa forma, ao tentar empacotar um item i num nível já existente, somente precisamos vericar se a largura disponível neste nível é maior ou igual à l i. Suponha que tenham sido criados j níveis, ao empacotar o item i, procuramos dentre os níveis existentes aquele de menor índice no qual cabe o item i, ou seja, procuramos o menor k tal que k j e w k + l i L. Se existir tal k, empacotamos o item i na posição (w k,t k 1 ) da faixa e fazemos w k = w k + l i. Caso contrário, criamos um novo nível, imediatamente acima do nível j: fazemos j = j + 1, w j = l i, t j = t j 1 + a i, e empacotamos o item i no canto inferior esquerdo deste novo nível. Fazendo dessa forma, procura-se aproveitar os espaços remanescentes em todos os níveis. O pseudo-código desse método (ver referência [3]) é similar ao Algoritmo 1 apresentado na Seção 6, com a exceção de que ela trabalha com todos os itens e parte de uma solução vazia. 8 Resultados Experimentais Os algoritmos foram implementados utilizando-se a linguagem C em sistema operacional Linux. Fizemos uso de bibliotecas providas pelo XPRESS para resolver os sistemas de equações lineares. Os testes foram realizados utilizando duas classes de instâncias do PEBF: uma com instâncias compostas por itens com demandas unitárias - instâncias gcut i, i = 1,..., 12 [1] e c i p i, i = 1, 2, 3 [5], e outra com instâncias compostas por itens com demandas inteiras - instâncias cgcut i, i = 1, 2, 3 [2]. Os testes foram divididos em três partes como se segue: Parte 1: foi utilizado um algoritmo de geração de colunas para o PEBF na sua forma mais básica. Ele faz uso da formulação do problema mestre apresentado na Subseção 2.1. O limitante dual de Farley é calculado após a otimização de cada relaxação linear do problema mestre restrito, como apresentado na Seção 4. Também é utilizada uma subrotina que resolve exatamente o subproblema de pricing usando as bibliotecas do XPRESS. Parte 2: nesta parte, ao invés de resolver exatamente o subproblema de pricing, foi implementado uma subrotina alternativa. Para as instâncias com demanda unitária foi utilizado um algoritmo de programação dinâmica, como descrito na Seção 5, pois o subproblema de pricing se resume ao problema da mochila 0-1. No caso de demandas inteiras, foi utilizado uma heurística para encontrar colunas com custo reduzido negativo, como apresentado na Seção 6. 6

Parte 3: foi utilizada uma heurística primal que gera padrões viáveis para o PEBF a partir da solução ótima da relaxação linear do problema mestre restrito, como descrito na Seção 7. 8.1 PARTE I Os resultados obtidos encontram-se na Tabela 1. Nela, estão descritos a solução do PMR que é um limitante Dual, o Limitante Dual de Farley e o Limitante Primal (gerado a partir de uma solução inteira). Note que o problema sempre gera uma solução inteira, visto que ele parte da matriz identidade. Tabela 1: Resultados obtidos para o Experimento 1 Instância Sol. PMR Dual de Farley Lim. Primal gcut1 959 959 1086 gcut2 1246 1246 2367 gcut3 1810 1810 1810 gcut4 3095,92 3095,92 6125 gcut5 1256,83 1256,83 2628 gcut6 2755,33 2755,33 5196 gcut7 4837,5 4837,5 7298 gcut8 6087,67 6087,67 12250 gcut9 2358 2358 4050 gcut10 6115,5 6115,5 10868 gcut11 7246,17 7246,17 14353 gcut12 14943 14943 14943 cgcut1 22,55 22,55 72 cgcut2 66,48 66,48 326 cgcut3 708 708 1529 c1p1 21,32 21,32 75 c2p2 15,25 15,25 588 c3p3 30,06 30,06 297 Podemos vericar que os resultados do Dual de Farley deram exatamente os mesmos que o PMR, o que signica que o PMR sozinho já está gerando bons limitantes. Abaixo está ilustrado um gráco de convergência dos dois duais nas Figuras 1 e 2. 8.2 PARTE II Em seguida, o mesmo experimento foi repetido, mas agora com o uso de uma heurística que factibiliza as soluções geradas pelo PMR. Como podemos ver na Tabela 2 os limitantes Primais gerados pela heurística são muito melhores e comparando com os Duais da Tabela 1 podemos vericar que os resultados estão proximos do ótimo. 7

Figura 1: Lim. Primal e Dual para gcut3 Figura 2: Lim. Primal e Dual para gcut12 Tabela 2: Resultados obtidos para o Experimento 2 LP = Limitante Primal, LP+H = Limitante Primal calculado com Heurística Instância LP LP + H gcut1 1086 1016 gcut2 2367 1364 gcut3 1810 1810 gcut4 6125 3153 gcut5 2628 1360 gcut6 5196 2862 gcut7 7298 5028 gcut8 12250 6168 gcut9 4050 2646 gcut10 10868 6167 gcut11 14353 7298 gcut12 14943 14943 cgcut1 72 28 cgcut2 326 106 cgcut3 1529 711 c1p1 75 34 c2p2 588 43 c3p3 297 56 8.3 PARTE III Finalmente, foram testados a substituição do algoritmo de pricing por heurísticas/programação dinâmica gerando várias colunas e uma coluna por vez. Na Tabela 3 podemos vericar que em geral o uso de heurística nos retorna melhores soluções primais. A geração de apenas uma coluna por vez, no geral, resulta no mesmo resultado, sendo que algumas vezes gera um resultado um pouco pior ou um pouco melhor. 8

Tabela 3: Resultados obtidos para o Experimento 3 LP = Limitante Primal, H = Heurística e PD = Prog. Dinâmica Instância LP(pricing) LP (H + PD) LP (H + PD) 1 col. por vez gcut1 1016 1016 1016 gcut2 1351 1364 1378 gcut3 1810 1810 1810 gcut4 3214 3153 3153 gcut5 1702 1360 1360 gcut6 2936 2862 2905 gcut7 5037 5028 5028 gcut8 6473 6168 6168 gcut9 2780 2646 2646 gcut10 6746 6167 6167 gcut11 8332 7298 7298 gcut12 14943 14943 14943 cgcut1 28 28 28 cgcut2 106 83 83 cgcut3 711 717 717 c1p1 34 27 34 c2p2 43 43 38 c3p3 56 56 56 Tabela 4: Número de Iterações Instância Pricing Heurística Heurística 1 col. por vez gcut1 1 1 2 gcut2 5 9 28 gcut3 6 7 53 gcut4 7 11 114 gcut5 2 3 13 gcut6 6 9 28 gcut7 6 6 31 gcut8 10 12 106 gcut9 2 3 11 gcut10 5 8 32 gcut11 6 9 49 gcut12 8 11 70 cgcut1 6 8 8 cgcut2 4 7 7 cgcut3 7 19 19 c1p1 9 14 42 c2p2 7 45 144 c3p3 8 46 154 Na Tabela 4 foi vericado o número de iterações necessárias para o uso de cada abordagem. O número de iterações necessárias ao se usar a heurística é apenas um pouco maior do que o uso do pricing. Mas, ao gerar uma coluna de cada vez esse número aumenta demasiadamente, tornando a 9

otimização mais dispendiosa sem grandes ganhos conforme visto acima. 9 Conclusões Nesse trabalho foi implementado e avaliado o método de geração de colunas para o problema de corte e empacotamento bidimensional em faixas. Esse método consiste em otimizar um problema por relaxação linear com apenas algumas colunas das restrições, acrescentado novas colunas conforme necessário. Para gerar as colunas desse problema foi resolvido um problema da mochila, tanto por branch-and-bound quanto por método heurístico e programação dinâmica (no caso do problema da mochila 0-1). Adicionalmente foi calculado o Dual de Farley para vericar e comparar a qualidade de limitantes gerados pelo pricing. Após os experimentos, conclui-se que, dado o custo computacional reduzido em resolver o problema da mochila pelo método heurístico e, como alguns dos seus limitantes deram melhores que utilizando branch-and-bound, a melhor combinação para se fazer um branch-and-pricing (não implementado nesse trabalho) seria utilizar o método heurístico gerando diversas colunas ao mesmo tempo. Referências [1] J.E. Beasley. Algorithms for unconstrained two-dimensional guillotine cutting. Journal of the Operational Research Society, 36:297306, 1985. [2] N. Christodes and C. Whitlock. An algorithm for two-dimensional cutting problems. Operations Research, 25:3044, 1977. [3] G.F. Cintra. Algoritmos para Problemas de Corte de Guilhotina Bidimensional. PhD thesis, Instituto de Matemática e Estatística da Universidade de São Paulo, São Paulo, Abril 2004. [4] A.A. Farley. A note on bounding a class of linear programming problems, including cutting stock problems. Operations Research, 38:992993, 1990. [5] E. Hopper and B.C.H. Turton. A review of the application of meta-heuristic algorithms to 2d strip packing problems. Articial Intelligence Review, 16:257300, 2001. [6] L.A. Wolsey. Integer Programming. Wiley-Interscience Series in Discrete Mathematics and Optimization, 1998. [7] L.A. Wolsey. Integer Programming, chapter 5 - Dynamic Programming, pages 7374. Wiley- Interscience Series in Discrete Mathematics and Optimization, 1998. 10