minicurso - unesp: câmpus de bauru - faculdade de ciênciasadriana/curiosidades/cortes.pdf · tema...

51
V SMAT Simpósio de Matemática Presidente Prudente - SP 10 a 13 de agosto de 2010 Minicurso Introdução a Problemas de Corte de Estoque Adriana Cristina Cherri Departamento de Matemática - Faculdade de Ciências Universidade Estadual Paulista - Campus de Bauru [email protected] Andréa Carla Gonçalves Vianna Departamento de Computação - Faculdade de Ciências Universidade Estadual Paulista - Campus de Bauru [email protected]

Upload: phamcong

Post on 25-Nov-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Minicurso - UNESP: Câmpus de Bauru - Faculdade de Ciênciasadriana/curiosidades/Cortes.pdf · tema e na busca de novos problemas, bem como na modelagem matemática, ... tipologia

V SMAT

Simpósio de Matemática

Presidente Prudente - SP

10 a 13 de agosto de 2010

Minicurso Introdução a Problemas de Corte de Estoque

Adriana Cristina Cherri

Departamento de Matemática - Faculdade de Ciências

Universidade Estadual Paulista - Campus de Bauru

[email protected]

Andréa Carla Gonçalves Vianna Departamento de Computação - Faculdade de Ciências

Universidade Estadual Paulista - Campus de Bauru

[email protected]

Page 2: Minicurso - UNESP: Câmpus de Bauru - Faculdade de Ciênciasadriana/curiosidades/Cortes.pdf · tema e na busca de novos problemas, bem como na modelagem matemática, ... tipologia

V Simpósio de Matemática Presidente Prudente – SP, 10-13 de agosto de 2010

2

Sumário

Prefácio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1. Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.1. Classificação dos Problemas de Corte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5

5

2. Problemas Básicos de Corte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2.1. O Problema da Mochila . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2.2. Problemas de Várias Mochilas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

3. O Problema de Corte de Estoque Unidimensional: Modelos Matemáticos . . . . . . . . . . . . . . 13

3.1. Definição do Problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

3.2. Apenas um Tipo de Barra em Estoque: Quantidade Ilimitada . . . . . . . . . . . . . . . . . . . . 16

3.2.1. Modelo Básico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

3.2.2. Alterações no Modelo Básico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

3.3. Diversos Tipos de Barras em Estoque: Quantidade Ilimitada . . . . . . . . . . . . . . . . . . . . . 19

3.4. Diversos Tipos de Barras em Estoque: Quantidade Limitada . . . . . . . . . . . . . . . . . . . . . 20

4. Conceitos Básicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

4.1. Problema de Otimização Linear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

4.2. Transformações de Problemas na Forma Padrão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

4.3. Resolução Gráfica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

5. Método Simplex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

5.1. Soluções Básicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

5.2. Método Simplex . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

5.3. Algoritmo Primal-Simplex . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

6. O Problema de Corte de Estoque Unidimensional: Métodos . . . . . . . . . . . . . . . . . . . . . . . . . 33

6.1. O Método Simplex com Geração de Colunas: Um tipo de Barra . . . . . . . . . . . . . . . . . . 33

6.2. O Método Simplex com Geração de Colunas: Diversos Tipos de Barras . . . . . . . . . . . 34

6.3. Heurísticas de Arredondamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

6.4. Abordagens de Padrões Básicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

6.5. Abordagens para o Problema Residual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

6.6. Abordagens Compostas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

7. O Problema de Corte de Estoque Bidimensional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

7.1. Geração de Padrões de Corte Bidimensionais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

8. Problemas Tridimensionais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

9. Bibliografia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

Page 3: Minicurso - UNESP: Câmpus de Bauru - Faculdade de Ciênciasadriana/curiosidades/Cortes.pdf · tema e na busca de novos problemas, bem como na modelagem matemática, ... tipologia

V Simpósio de Matemática Presidente Prudente – SP, 10-13 de agosto de 2010

3

Prefácio

O objeto de estudo neste texto são os Problemas de Corte de Estoque, os quais são

essenciais para o planejamento da produção em diversas indústrias, tais como indústrias de papel,

de móveis, de vidro, metalúrgica, plástica, têxtil, etc. Nestas indústrias, a redução dos custos de

produção é frequentemente obtida pela seguinte estratégia: as matérias primas utilizadas são

inicialmente produzidas em tamanhos grandes padronizados, possivelmente estocadas e, somente

mais tarde, reduzidas a tamanhos menores para então serem usadas pela indústria, ou para atender

demandas externas de tamanhos variados, muitas vezes não padronizados.

Este procedimento desacopla, temporariamente, as produções de matérias primas e dos

produtos finais, evitando a necessidade de constantes preparações de máquinas, que seriam

necessárias caso as máquinas fossem preparadas para os tamanhos dos produtos requisitados. Esta

maneira de produção introduz, entretanto, uma nova dificuldade, pois um estágio adicional de

produção é necessário - a operação de corte, que produz inevitáveis perdas. Surge então a

necessidade de se planejar os cortes para minimizar os efeitos negativos gerados pelo desperdício

sobre os custos de produção.

O reverso dos problemas de corte são os problemas de empacotamento, os quais são

igualmente essenciais para o planejamento de operações logísticas da indústria, como a

armazenagem, movimentação ou transporte de itens produzidos.

Neste caso, os produtos deverão ser arranjados em grandes espaços de tamanhos

padronizados previamente projetados, como por exemplo, caixas de papelão ou madeira,

contêineres, paletes, etc. Entretanto, este procedimento introduz um novo estágio - a operação de

empacotamento, que nem sempre consegue preencher todos os espaços disponíveis (nas caixas,

contêineres, etc.), gerando espaços ociosos, os quais serão, consequentemente, “armazenados” e/ou

“transportados” juntamente com os itens produzidos. Surge então a necessidade de planejar o

empacotamento de modo a minimizar os espaços ociosos.

Note que o problema de corte pode ser pensado como um problema de empacotamento (e

vice-versa), pois a parte do material que será cortado para produção de um item, pode ser

identificada como o espaço ocupado por este. Por esta razão, tais problemas são referidos como

Problemas de Corte e Empacotamento e são paralelamente estudados. Obviamente, os processos de

corte e empacotamento podem introduzir restrições diferenciadas, tais como cortes em guilhotina,

de um lado, carregamento estável, de outro.

A importância econômica aliada à dificuldade de resolução de problemas de corte e

empacotamento têm motivado grande empenho da comunidade acadêmica na busca de métodos de

solução eficientes, que pode ser notado pelo volume de trabalhos publicados nos últimos anos.

Destacamos aqui os livros específicos ao tema: Brown (1971), Martello e Toth (1990), Dyckhoff e

Finke (1992), como também livros de otimização que dedicam capítulos ao tema, como Lasdon

(1970), Chvátal (1983) entre outros. Para um auxílio na pesquisa bibliográfica na identificação dos

problemas de corte e empacotamento e métodos de solução, destacamos os artigos de revisão, como

Golden (1976), Hinxman (1980), Garey e Johnson (1981), Coffman et al. (1984), Dyckhoff et al.

(1985), Dyckhoff (1990), Haessler e Sweeney (1991), Dowsland e Dowsland (1992), Sweeney e

Pasternoster (1992), Morabito e Arenales (1992). As atividades desta comunidade acadêmica, tais

como trabalhos publicados ou em preparação, congressos, etc., podem ser obtidas na rede Internet:

http://www.fe.up.pt/esicup/ ou http://www.simulab.uel.br/spek .

No Brasil, vários estudos vêm sendo realizados sobre os problemas de corte e

empacotamento desde os anos 80, gerando dissertações, teses, artigos e aplicativos computacionais.

Desde de 1995, vários pesquisadores, com o apoio do CNPq (processo no 680082/95-6) e FAPESP

(processo no 1995/9522-0, no 01/02972-2), vêm trabalhando de forma coordenada na divulgação do

tema e na busca de novos problemas, bem como na modelagem matemática, desenvolvimento e

análise de métodos de solução.

Page 4: Minicurso - UNESP: Câmpus de Bauru - Faculdade de Ciênciasadriana/curiosidades/Cortes.pdf · tema e na busca de novos problemas, bem como na modelagem matemática, ... tipologia

V Simpósio de Matemática Presidente Prudente – SP, 10-13 de agosto de 2010

4

Para a elaboração deste material foram utilizadas notas e apostilas de minicursos sobre corte

e empacotamento preparados e ministrados anteriormente pelos professores Dr. Marcos Arenales

(ICMC-USP), Dr. Horacio Yanasse (LAC-INPE) e Dr. Reinaldo Morabito (DEP-UFSCar).

Também foi utilizado o livro Pesquisa Operacional, que tem como autores os professores Dr.

Marcos Arenales, Dr. Vinícius Armentano (UNICAMP), Dr. Reinaldo Morabito e Dr. Horacio

Yanasse.

Page 5: Minicurso - UNESP: Câmpus de Bauru - Faculdade de Ciênciasadriana/curiosidades/Cortes.pdf · tema e na busca de novos problemas, bem como na modelagem matemática, ... tipologia

V Simpósio de Matemática Presidente Prudente – SP, 10-13 de agosto de 2010

5

1. Introdução

O problema de corte consiste, genericamente, em cortar uma unidade grande (objeto), que

esteja disponível, para a produção de um conjunto de unidades pequenas (itens) que estão sendo

requisitadas. As formas e medidas do objeto e dos itens são bem especificadas. Exemplos de

problemas de corte são encontrados na indústria de papel, barras metálicas, chapas de aço, vidros,

madeira, entre outros. De forma análoga, no problema de empacotamento, unidades pequenas

devem ser alocadas em uma unidade grande (por exemplo, um contêiner) de modo que o espaço

vazio do objeto seja minimizado.

Cortar unidades maiores em unidades menores ou empacotar unidades menores dentro de

unidades maiores são problemas idênticos, considerando que um item cortado em certa posição

pode ser pensado como alocado àquela posição. (Obviamente, os processos de corte e

empacotamento podem ter restrições próprias). Por isto, problemas desta classe são referidos como

problemas de corte e empacotamento.

Dependendo dos itens solicitados, podemos combiná-los dentro de um objeto de inúmeras

maneiras, respeitando-se um conjunto de restrições do processo de corte. A estas combinações

denominamos planos de corte. O plano de corte ótimo é aquele que produz, por exemplo, a menor

perda. O número de planos de corte possíveis é, na prática, muito elevado, exigindo que técnicas

bem elaboradas sejam desenvolvidas para determinar o plano ótimo. Dentre essas técnicas podemos

citar: enumeração implícita, programação dinâmica, relaxação Lagrangeana, busca em grafos e

heurísticas.

Vale salientar que, dificilmente obtemos um plano de corte que utilize todo o objeto. Neste

caso, temos um plano de corte com perda, como ilustrado na Figura 1.1.

Figura 1.1: Plano de corte unidimensional.

Os problemas de cortes, conforme Garey e Johnson (1979), pertencem a uma classe de

problemas denominada NP-completos. Assim, podemos dizer que são problemas improváveis de

serem resolvidos num tempo limitado por uma função polinomial em termos de seus dados. É

interessante observar que existem resultados teóricos afirmando que, se um problema desta classe

pode ser resolvido em um tempo polinomial, então todos os problemas da classe terão solução em

tempo polinomial. Entretanto, como a obtenção desse resultado parece pouco provável, muitas

pesquisas têm sido realizadas na busca de métodos heurísticos que produzem soluções “boas”, sem

garantia de otimalidade.

Quando uma quantidade elevada de itens deve ser produzida, temos um problema em que a

solução exige o corte de vários objetos em estoque e a repetição de vários planos de corte. Este

problema é conhecido na literatura como problema de corte de estoque e, o objetivo pode ser, entre

outros, o menor número de objetos cortados, ou o menor custo total dos objetos cortados,

considerando diferentes custos para os objetos em estoque.

1.1 Classificação dos Problemas de Corte

Para classificar os vários tipos de problemas de corte e empacotamento existentes na

literatura, Dyckhoff (1990) desenvolveu uma tipologia abrangente integrando esses problemas. A

tipologia foi fundada com base na estrutura lógica dos vários tipos de problemas de corte e

empacotamento com o objetivo de unificar o uso de diferentes notações na literatura e concentrar

mais adiante pesquisas em tipos especiais de problemas. Wäscher et. al (2007) apresentaram

Page 6: Minicurso - UNESP: Câmpus de Bauru - Faculdade de Ciênciasadriana/curiosidades/Cortes.pdf · tema e na busca de novos problemas, bem como na modelagem matemática, ... tipologia

V Simpósio de Matemática Presidente Prudente – SP, 10-13 de agosto de 2010

6

modificações na tipologia de Dyckhoff e introduziram uma nova categoria que define problemas

diferentes dos apresentados anteriormente.

Utilizando apenas as dimensões dos problemas, dizemos que um problema é unidimensional

quando apenas uma dimensão é relevante no processo de corte A Figura 1.2 ilustra esse tipo de

problema.

Figura 1.2: (a) Barra; (b) Padrão de corte produzindo 4 itens e uma perda.

Como casos típicos de problemas de cortes unidimensionais, podemos citar o corte de

materiais como papel, tecido, plástico e aço para serem utilizados nos mais diversos setores.

Um problema é dito bidimensional quando duas dimensões (comprimento e largura) são

relevantes na obtenção da solução (enquanto a espessura é constante). As dificuldades aumentam

bastante para se gerar arranjos sem que ocorra sobreposição de itens nos planos de corte. A Figura

1.3 exibe uma representação de problemas de corte em duas dimensões.

Figura 1.3: (a) Placa; (b) Padrão de corte produzindo 8 itens e uma perda.

Entre os problemas bidimensionais podemos citar alguns bastante estudados, como o corte

de placas de madeira na indústria de móveis, chapas de aço, placas de vidro, entre outros.

Quando três dimensões (comprimento, largura e altura) são relevantes para a obtenção da

solução temos o problema tridimensional. Basicamente, trata-se de arranjar itens espaciais, sem

sobrepô-los, dentro de objetos maiores.

Podemos citar como exemplos de problemas tridimensionais o problema de carregamento de

contêineres, cortes em indústrias de colchões, entre outros. A Figura 1.4 ilustra este tipo de

problema.

Figura 1.4: (a) Contêiner; (b) Caixas empacotadas no contêiner.

Ainda sob o aspecto geométrico, é possível encontrar problemas do tipo 1.5-dimensional,

que são essencialmente bidimensionais, porém uma das duas dimensões consideradas é variável.

Este caso tem aplicação, por exemplo, no corte de peças de vestuário. Outros são problemas do tipo

Page 7: Minicurso - UNESP: Câmpus de Bauru - Faculdade de Ciênciasadriana/curiosidades/Cortes.pdf · tema e na busca de novos problemas, bem como na modelagem matemática, ... tipologia

V Simpósio de Matemática Presidente Prudente – SP, 10-13 de agosto de 2010

7

2.5-dimensional, em que uma das três dimensões é variável. Uma aplicação é o problema de se

efetuar o carregamento de unidades dentro de caixas abertas, ou seja, as bases estão definidas, mas a

altura deverá ser definida.

Além dos problemas já expostos, problemas multi-dimensionais também podem surgir. Uma

ocorrência desse tipo de problema pode aparecer associada ao Problema de Alocação de Tarefas

(Morabito, 1992).

O objetivo principal deste texto consiste em apresentar uma visão geral de problemas de

corte e aplicações. São apresentados os principais modelos e procedimentos de solução, com ênfase

nos casos unidimensional e bidimensional. Finalmente alguns problemas práticos em associação aos

problemas de corte são apresentados.

Page 8: Minicurso - UNESP: Câmpus de Bauru - Faculdade de Ciênciasadriana/curiosidades/Cortes.pdf · tema e na busca de novos problemas, bem como na modelagem matemática, ... tipologia

V Simpósio de Matemática Presidente Prudente – SP, 10-13 de agosto de 2010

8

2. Problemas Básicos de Corte

Nesta seção introduzimos o clássico problema da mochila e algumas variações.

2.1 O Problema da Mochila

Suponha que um objeto (barra, bobina, etc.) deva ser cortado ao longo de seu comprimento

em itens de comprimentos especificados. Cada item tem um valor associado que chamamos de

"valor de utilidade". Itens cujos comprimentos não foram especificados são considerados perdas e

têm valores de utilidade nulos. Surge então um problema de otimização combinatória que consiste

em:

Maximizar VALOR DE UTILIDADE TOTAL.

Este problema de corte, embora simplificado, surge como um importante subproblema na

resolução de problemas de corte mais gerais, como veremos adiante. A Figura 2.1 ilustra uma barra

de comprimento 200 cm e uma solução produzindo 2 pedaços de comprimento 33 cm, 1 pedaço de

40 cm e 1 pedaço de 90 cm, resultando em uma perda de 4 cm. Aqui os comprimentos dos pedaços

(33 cm, 40 cm e 90 cm) definem 3 tipos de itens, os quais podem ser produzidos em quaisquer

quantidades.

Figura 2.1: (a) Barra a ser cortada; (b) Solução factível.

Observe que o corte é feito em apenas uma dimensão do objeto. Problemas com esta

característica são chamados Problemas de Corte Unidimensional. Problemas em que duas ou mais

dimensões são relevantes para o processo de corte (ou empacotamento) serão abordados em outras

seções.

Modelo Matemático:

O problema enunciado acima pode ser modelado como um problema de otimização linear

inteiro, como veremos a seguir.

Dados do problema:

m: número de tipos de itens;

vi: valor de utilidade do item tipo i, i = 1,…, m;

i: comprimento do item tipo i, i = 1,…, m;

L: comprimento da barra.

Variáveis de decisão:

xi: quantidade produzida de itens do tipo i, i = 1,…, m.

O problema pode ser formulado por:

Page 9: Minicurso - UNESP: Câmpus de Bauru - Faculdade de Ciênciasadriana/curiosidades/Cortes.pdf · tema e na busca de novos problemas, bem como na modelagem matemática, ... tipologia

V Simpósio de Matemática Presidente Prudente – SP, 10-13 de agosto de 2010

9

maximizar = v1x1 + v2x2 + …+ vmxm (1.1)

sujeito a:

1x1 +

2x2 + …+

mxm L, (1.2)

xi 0 e inteiro, i = 1,…, m. (1.3)

O problema (1.1)-(1.3) é chamado na literatura de Problema da Mochila Inteiro ou

simplesmente Problema da Mochila. Tal motivação decorre da situação hipotética, em que um

muambeiro deseja carregar sua sacola (ou mochila) com itens, cujos valores de compra são i,

i = 1,…, m. O valor total da compra não pode ultrapassar L (por razões alfandegárias). O lucro sobre

cada item é conhecido e dado por vi, i = 1,…, m. O muambeiro deseja maximizar seu lucro total. O

modelo matemático deste problema é descrito por (1.1)-(1.3).

A restrição básica (1.2) pode ser chamada de restrição física. Alguns problemas de corte

(como também do muambeiro) podem apresentar condições adicionais, como por exemplo, a

quantidade de itens deve ser limitada por, digamos, bi, i = 1,…, m. Neste caso, as restrições (1.3)

devem ser alteradas e o modelo passa a ser descrito da seguinte forma:

maximizar = v1x1 + v2x2 + …+ vmxm (2.1)

sujeito a:

1x1 +

2x2 + …+

mxm L, (2.2)

0 xi bi e inteiro, i = 1,…, m. (2.3)

O problema (2.1)-(2.3) é chamado de Problema da Mochila Restrito.

Podemos ainda ter o caso em que apenas um único exemplar de cada item pode ser cortado.

Neste caso as variáveis de decisão são:

xi =

.contrario caso,0

cortado;for item o se,1 i i = 1,…, m.

e o problema é formulado por:

maximizar = v1x1 + v2x2 + …+ vmxm (3.1)

sujeito a:

1x1 +

2x2 + …+

mxm L, (3.2)

xi = 0 ou xi = 1, i = 1,…, m. (3.3)

O problema (3.1)-(3.3) é o conhecido Problema da Mochila 0-1 Este tipo de problema surge

como um subproblema em várias aplicações além do ambiente de corte e empacotamento, como por

exemplo, no sequenciamento da produção, em que uma máquina de capacidade L (por exemplo,

tempo disponível) pode ser carregada com m tarefas, as quais requerem i unidades da capacidade

da máquina.

Limitações no número de facas

Outras restrições podem ainda surgir decorrentes do processo de corte. Por exemplo,

suponha que a quantidade total de itens cortados seja limitada por F (número de facas de corte).

Portanto uma nova restrição deve ser incluída. Considerando o problema (1.1)-(1.3), temos:

Page 10: Minicurso - UNESP: Câmpus de Bauru - Faculdade de Ciênciasadriana/curiosidades/Cortes.pdf · tema e na busca de novos problemas, bem como na modelagem matemática, ... tipologia

V Simpósio de Matemática Presidente Prudente – SP, 10-13 de agosto de 2010

10

maximizar = v1x1 + v2x2 + …+ vmxm (4.1)

sujeito a:

1x1 +

2x2 + …+

mxm L, (4.2)

x1 + x2 + … + xm F, (4.3)

xi 0 e inteiro, i = 1,…, m. (4.3)

Este tipo de restrição adicional ocorre tipicamente no corte de bobinas de papel ou de aço,

pois o processo de corte consiste em desenrolar cada bobina-mestre (objeto a ser cortado) que

desliza sobre facas ou tesouras, cujas posições foram previamente fixadas, como ilustrado na Figura

2.2. Na prática, o número das facas é algo em torno de 8 ou 9, sendo que duas facas são utilizadas

nas beiradas das bobinas para eliminar irregularidades (portanto, a largura L em (4.2) é largura da

bobina, já eliminadas as bordas irregulares).

Figura 2.2: Corte de bobina com 5 facas.

Outras condições podem ainda ser necessárias. Suponha, por exemplo, que a mochila de um

alpinista seja divida em compartimentos e somente itens de mesma característica (roupas, sapatos,

alimentos, etc.) podem estar no mesmo compartimento. Tais compartimentos têm capacidades

flexíveis, porém essas capacidades são limitadas superior e inferiormente e, além disso, a inclusão

de um compartimento produz uma perda da capacidade da mochila original. Tal problema pode

surgir no corte de bobinas de aço, em que a bobina-mestre deve ser cortada em sub-bobinas

intermediárias, as quais são laminadas (isto é, têm suas espessuras reduzidas), para finalmente

serem recortadas na produção de itens de mesma espessura. Este problema é chamado de Problema

da Mochila Compartimentada (Hoto, 2001; Hoto et al., 2003; Marques, 2004; Marques e Arenales,

2002).

2.2 Problemas de Várias Mochilas

Consideremos agora um problema que envolve a resolução simultânea de várias mochilas.

Suponha no problema de corte anterior que várias barras estejam disponíveis para serem cortadas na

produção dos vários itens. Distinguimos dois problemas: o primeiro com as barras a serem cortadas

suficientes para a produção de todos itens e, o segundo, com as barras insuficientes.

No primeiro problema todos os itens serão produzidos e temos de escolher quais barras

devem ser cortadas ou, em outras palavras, temos um problema de seleção dos objetos a serem

cortados, enquanto que no segundo problema, todos os objetos serão cortados e, como no problema

da mochila, temos a seleção de itens a serem produzidos.

Problema 1: Seleção de objetos (todos os itens serão produzidos)

Neste problema os objetos (barras) a serem selecionados têm custos associados e o objetivo

será o de minimizar o custo total dos objetos cortados.

Page 11: Minicurso - UNESP: Câmpus de Bauru - Faculdade de Ciênciasadriana/curiosidades/Cortes.pdf · tema e na busca de novos problemas, bem como na modelagem matemática, ... tipologia

V Simpósio de Matemática Presidente Prudente – SP, 10-13 de agosto de 2010

11

Modelo Matemático:

Inicialmente consideramos o problema em que apenas um exemplar de cada item é

produzido (lembre-se que todos os itens serão produzidos). Na seção 3 consideramos o problema

em que muitos exemplares de cada item devem ser produzidos.

Dados do problema:

m: número total de itens;

i: comprimento do item i, i = 1,…, m;

N: número de barras;

Lj: comprimento da barra j, j = 1,..., N;

cj: custo da barra j, j = 1,..., N.

Variáveis de decisão:

yj = 1,se a barra for cortada;

0,casocontrário.

j

xij = 1, se oitem for cortadoda barra ;

0, caso contrário.

i j

Podemos então escrever o problema como:

minimizar CUSTO =

N

j

jj yc1

(5.1)

sujeito a:

1

1, ,m

i ij j j

i

x L y j N

(5.2)

1

1 1,...,N

ij

j

x i m

(5.3)

xij = 0 ou xij = 1, yj = 0 ou yj = 1, i = 1,..., m, j = 1,..., N. (5.4)

Uma versão particular deste problema bastante estudada na literatura, chamada bin-packing,

consiste em empacotar em caixas (bins) de mesmo tamanho L, as quais têm o mesmo custo c, de

modo que a função objetivo (5.1) corresponde a minimizar o total de caixas.

Problema 2: seleção de itens (todas barras serão cortadas)

Análogo ao problema da mochila (Seção 2.1), consideramos um valor associado a cada

item, que chamamos de valor de utilidade, vi, i = 1,..., m. Observe agora que nem todos os itens

serão produzidos. Desta forma, o objetivo será de maximizar o valor de utilidade total e o problema

pode ser formulado por:

Page 12: Minicurso - UNESP: Câmpus de Bauru - Faculdade de Ciênciasadriana/curiosidades/Cortes.pdf · tema e na busca de novos problemas, bem como na modelagem matemática, ... tipologia

V Simpósio de Matemática Presidente Prudente – SP, 10-13 de agosto de 2010

12

maximizar UTILIDADE =

N

j

iji

m

i

xv1 1

(6.1)

sujeito a:

1

1, ,m

i ij j

i

x L j N

(6.2)

mixN

j

ij ,,111

(6.3)

xij = 0 ou xij = 1, i = 1,..., m, j = 1,..., N. (6.4)

A repetição de itens pode ser considerada pela alteração conveniente das restrições (6.3) e

(6.4). Observe que se bi (a quantidade máxima de repetições do item de comprimento i) for muito

grande para todo i, então teremos N problemas de mochila independentes. Este é um caso

importante que ocorrerá como subproblema na resolução do problema de corte de estoque a ser

considerado na próxima seção.

Page 13: Minicurso - UNESP: Câmpus de Bauru - Faculdade de Ciênciasadriana/curiosidades/Cortes.pdf · tema e na busca de novos problemas, bem como na modelagem matemática, ... tipologia

V Simpósio de Matemática Presidente Prudente – SP, 10-13 de agosto de 2010

13

3. Problema de Corte de Estoque Unidimensional: Modelagem Matemática

3.1. Definição do Problema

O enunciado deste problema é semelhante ao problema de várias mochilas (seleção de

objetos), em que todos os itens serão produzidos. Entretanto, uma característica o distingue: muitos

itens devem ser produzidos, porém, relativamente de poucos tipos. Em outras palavras, é grande a

repetição de itens.

Além disso, objetos em estoque de mesmo tipo são disponíveis em grande quantidade, os

quais podem ser de apenas um único tipo ou de vários tipos, podendo haver ou não limitação de

estoque. Diferentes objetivos podem também ser definidos.

A solução para o problema a seguir terá muitos objetos igualmente cortados. Inicialmente

consideramos os dados relativos à demanda, comum a todos os casos.

Dados de demanda:

m: número de tipos de itens;

i: comprimento do item tipo i, i = 1,..., m;

di: demanda do item tipo i, i = 1,..., m.

Supomos neste problema que a quantidade total de itens será: d i

i

m

1

> m, enquanto que nos

problemas anteriores m denotava exatamente esta quantidade (problemas 0-1) ou da mesma ordem

de grandeza, no caso de poucas repetições de itens. Por exemplo, uma demanda de:

1000 peças de comprimento 30 cm (d1=1000, 1= 30)

1250 peças de comprimento 42 cm (d2=1250, 2= 42)

2000 peças de comprimento 45 cm (d3=2000, 3= 45),

indica que apenas m=3 tipos de peças são demandadas, num total de d1+d2+d3=4250 itens.

Como já observamos, neste tipo de problema muitos objetos em estoque deverão ser

igualmente cortados para a produção dos diferentes tipos de itens, o que sugere a definição a seguir.

Definição 3.1: Chamamos de padrão de corte a maneira como um objeto em estoque é cortado

para a produção de itens demandados. A um padrão de corte associamos um vetor m-dimensional

que contabiliza os itens produzidos:

a = ( 1 2, , , m ),

em que i = quantidade de itens do tipo i no padrão de corte. Além disso, dois padrões de corte

que tenham o mesmo vetor associado são chamados equivalentes.

Observe que um vetor a = ( 1 2, , , m ) corresponde a um padrão de corte se e somente se

satisfizer as restrições do problema da mochila (considerando apenas as restrições físicas). Supondo

que o comprimento do objeto seja L, temos:

1 1 2 2

1

, (7.1)

0, , 0 e inteiros. (7.2)

m m

m

L

Exemplo 3.1. Considere um objeto de comprimento L = 120 cm a ser cortado para a produção de 3

tipos de itens de comprimentos: 1= 30 cm,

2= 42 cm e

3= 45 cm. A Figura 3.1 apresenta alguns

possíveis padrões de cortes.

Page 14: Minicurso - UNESP: Câmpus de Bauru - Faculdade de Ciênciasadriana/curiosidades/Cortes.pdf · tema e na busca de novos problemas, bem como na modelagem matemática, ... tipologia

V Simpósio de Matemática Presidente Prudente – SP, 10-13 de agosto de 2010

14

Figura 3.1. Padrões de corte e vetores associados.

Perdas intrínsecas (largura da serra)

Suponha que, ao se cortar um objeto, haja uma perda inevitável, devido ao equipamento de

corte. Por exemplo, a serra utilizada consome 3 mm (típico em corte de tubos metálicos). Neste

caso, os padrões de corte 1 e 4 na Figura 3.1 seriam infactíveis, pois, no padrão 1 a perda no

processo de corte seria de 0,9 cm e, no padrão 4 a perda seria de 0,6 cm. Observe que se no

exemplo 3.1 o comprimento do objeto fosse L = 121, então o padrão 1 seria factível (Figura 3.2).

Figura 3.2. Padrão de corte com perda intrínseca.

Quando há perda intrínseca (largura da serra) durante o processo de corte, alteramos a

construção dos padrões de corte factíveis no sistema (7.1)-(7.2) adicionando o valor de σ (largura da

serra) no comprimento do item, ou seja, o item deve ser considerado de comprimento i+ σ.

Observe, entretanto, que um corte a mais é computado no último item (Figura 3.2). Para contornar

esta dificuldade, basta aumentar o comprimento do objeto: L+σ.

De outra maneira, considerando i, i = 1,..., m, os comprimentos dos itens e σ a largura da

serra, e αi o número de itens do tipo i no padrão, então

a) 1 1 m m é o comprimento total dos itens no padrão;

b) m 1 é o número de itens;

c) 1 1m é o total de cortes realizados e,

d) σ×(1 1m ) é a perda decorrente da largura da serra.

Portanto, a desigualdade (7.1) deve ser modificada para:

1 1 m m + σ×( 11 m ) L,

ou equivalentemente,

1 1( ) ( )m m L .

Page 15: Minicurso - UNESP: Câmpus de Bauru - Faculdade de Ciênciasadriana/curiosidades/Cortes.pdf · tema e na busca de novos problemas, bem como na modelagem matemática, ... tipologia

V Simpósio de Matemática Presidente Prudente – SP, 10-13 de agosto de 2010

15

Definição 3.2. Um padrão de corte que produza apenas um tipo de item é chamado padrão de

corte homogêneo.

Em outras palavras, um padrão de corte é homogêneo se o vetor associado tem apenas uma

coordenada não-nula: a = (0,..., i ,...,0), i 0. Note que sempre teremos m padrões homogêneos,

cujos vetores associados definem uma matriz diagonal. No exemplo 3.1 os padrões 1, 2 e 3 são

homogêneos, produzindo a matriz diagonal:

B=[a1 a2 a3] =

4 0 0

0 2 0

0 0 2

.

A modelagem matemática do problema de corte de estoque pode ser feita em duas etapas:

1. defina todas as possíveis maneiras de cortar os objetos em estoque, isto é, defina todos os

possíveis padrões de corte;

2. decida quantas vezes cada padrão de corte será utilizado para atender a demanda.

Note que na primeira etapa temos um problema essencialmente combinatório, enquanto que

na etapa seguinte, o problema é contábil.

Exemplo 3.2. Considere os dados do Exemplo 3.1. Observe que a primeira etapa de geração de

padrões de corte pode ser realizada independente da demanda dos itens. Temos agora de decidir o

número de vezes que serão utilizados. Suponha que d1=1000, d2=1250 e d3=2000. Sejam x1, x2,

x3,... o número de vezes que os padrões de corte 1, 2, 3, ... serão utilizados, respectivamente. Assim:

a1x1+a2x2+a3x3+a4x4+...=d

0

0

4

x1 +

0

2

0

x2 +

2

0

0

x3 +

2

0

1

x4 + ... =

2000

1250

1000

.

A segunda etapa corresponde a resolver um sistema de equações lineares algébricas com m

equações e n variáveis, em que n é o número de padrões de corte gerados na primeira etapa. Além

disso, devemos exigir que xj0 e inteiro, j=1,2,...., pois representam o número de objetos cortados

de acordo com um padrão de corte. Qualquer solução desse sistema linear cujas componentes sejam

inteiras e não-negativas fornece uma solução factível para o problema de corte de estoque.

Com a exigência de integralidade sobre as variáveis xj, atender as demandas torna-se um

problema difícil, senão impossível de ser resolvido computacionalmente. Entretanto, como veremos

adiante, as soluções não-inteiras (portanto, infactíveis) “resolvem”, de certa forma, boa parte do

problema, restando poucos itens para ainda serem cortados, sendo insignificante do ponto de vista

da perda total ou custos (este problema final de cortar os itens restantes é importante do ponto de

vista operacional).

Geralmente, em problemas práticos, m (o número de tipos de itens) é da ordem algumas

dezenas, enquanto que n (o qual depende de m, L e i, i = 1,..., m) pode ser da ordem de vários

milhões ou bilhões. Este fato inviabiliza a aplicação pura do procedimento apresentado em

problemas práticos. Entretanto, veremos que a etapa 1 não precisa ser realizada integralmente

(apenas parte dos padrões de corte serão utilizados) e será feita concomitantemente com a segunda

etapa.

Page 16: Minicurso - UNESP: Câmpus de Bauru - Faculdade de Ciênciasadriana/curiosidades/Cortes.pdf · tema e na busca de novos problemas, bem como na modelagem matemática, ... tipologia

V Simpósio de Matemática Presidente Prudente – SP, 10-13 de agosto de 2010

16

3.2. Apenas um Tipo de Barra em Estoque: Quantidade Ilimitada

Neste caso o estoque é composto de barras de comprimento L, em quantidade suficiente para

atender toda a demanda. O custo de cada barra é c. Objetiva-se atender a demanda ao custo mínimo.

3.2.1. Modelo Básico

Conforme já introduzido anteriormente, procedemos a modelagem matemática em duas

etapas:

Defina todos os possíveis padrões de corte, isto é, determine todas as possíveis soluções

de (7.1)-(7.2):

1 1 2 2

1 2

,

0, 0, , 0, inteiros.

m m

m

L

Suponha n as possíveis soluções:

a1 =

11

21

1

m

, a2 =

12

22

2

m

, , an =

1

2

n

n

mn

.

Seja xj = número de vezes que o objeto é cortado usando o padrão j.

Resolva o seguinte problema de otimização linear:

minimizar f(x) = c(x1+x2+...+xn) (8.1)

sujeito a:

a1x1+ a2x2+ ... +anxn = d (8.2)

x10, x20, ..., xn0. (8.3)

A condição de integralidade sobre as variáveis xj, como já observado anteriormente, será

abandonada.

Observe que minimizar a função objetivo custo, neste caso, corresponde a minimizar o

número de objetos (barras) cortados:

minimizar f(x) = x1+x2+...+xn, (9)

isto é, sem perda de generalidades, podemos adotar cj = 1, j = 1,…, n.

3.2.2. Alterações no Modelo Básico

1. Uma característica do problema de corte de estoque, comum em aplicações práticas, consiste em

que as demandas dos itens podem ser atendidas com uma certa tolerância, isto é, uma demanda de

um item i, inicialmente especificada em di, pode ser qualquer valor no intervalo:

[di(1- i ), di(1+ i )] (10)

Page 17: Minicurso - UNESP: Câmpus de Bauru - Faculdade de Ciênciasadriana/curiosidades/Cortes.pdf · tema e na busca de novos problemas, bem como na modelagem matemática, ... tipologia

V Simpósio de Matemática Presidente Prudente – SP, 10-13 de agosto de 2010

17

em que i é um percentual previamente fornecido (por exemplo, na indústria de papel, esta

tolerância varia de 5% a 15%). Assim, no exemplo 3.2, com 1 =0.05, a demanda do item 1 é

qualquer valor entre 950 e 1050.

Definindo os vetores de demanda mínima e máxima por d e d , cujas componentes são

di(1- i ) e di(1+ i ), i = 1,..., m, respectivamente, o problema de corte de estoque pode ser

reformulado por:

minimizar f(x) = cTx (11.1)

sujeito a:

d Ax d , x0. (11.2)

Por conveniência da aplicação do método primal-simplex (Seção 4), o problema (11.1)-

(11.2) acima com restrições canalizadas é escrito equivalentemente na forma de equações pela

introdução de variáveis de folga canalizadas:

minimizar f(x) = cTx (12.1)

sujeito a:

Ax+y = d , x0, 0y d - d (12.2)

2. A função objetivo custo (proporcional ao número de objetos cortados), definida até então, pode

ser substituída pela função objetivo perda total. Para isto, basta definir:

cj = L - )( 2211 mmjjj , (13)

como a perda no padrão de corte j, cujo vetor associado é aj = ( 1 2j j mj, , , ), j=1,..., n.

3. Embora a introdução das tolerâncias seja conveniente para a obtenção de uma solução factível (xj

inteiro), os modelos acima buscam satisfazer as demandas em seus limites inferiores (tanto para a

função custo como para a função perda), algo indesejável do ponto de vista da produção. Outras

funções objetivo podem ser escritas, procurando evitar tal inconveniente. Por exemplo, a função

perda relativa:

perda relativa = (perda total)/(número de objetos cortados)

1 1 2 2( )j j mj m

j

j

j

L

x

(14)

a ser minimizada, busca ao mesmo tempo, um numerador pequeno (perda total pequena) e um

denominador grande (maior produção). O método simplex pode ser facilmente estendido a este tipo

de não-linearidade (veja Lasdon, 1970). Observe que temos um problema multi-objetivos:

minimizar PERDA TOTAL,

maximizar PRODUÇÃO,

e a perda relativa é apenas um encaminhamento para tratar objetivos conflitantes.

4. Em alguns casos práticos, podemos definir uma função objetivo maximizar o lucro que também

busca um compromisso entre baixas perdas (prejuízo) e alta produção. Suponha que conhecemos os

Page 18: Minicurso - UNESP: Câmpus de Bauru - Faculdade de Ciênciasadriana/curiosidades/Cortes.pdf · tema e na busca de novos problemas, bem como na modelagem matemática, ... tipologia

V Simpósio de Matemática Presidente Prudente – SP, 10-13 de agosto de 2010

18

preços de venda dos itens demandados dados por vi, i=1,..., m (muitas vezes os itens obtidos pelo

processo de corte não são vendidos diretamente, pois constituem partes de um produto a ser

montado, de modo que não têm preços diretamente associados). Além disso, as perdas produzidas

pelos cortes podem ser vendidas como sucata, digamos, por s (por simplicidade usamos a unidade

de comprimento cm, porém na prática é convertido em peso). Neste caso podemos definir uma

função lucro por:

lucro = venda de itens + venda de sucata- custo

= )()()(11 111

n

j

jj

m

i

m

i

iji

n

j

n

j

jiji xcxLsxv

= 1 1

( ( ) )n m

i i ij j

j i

sL v s c x

. (15)

Neste caso, os coeficientes da função objetivo nos modelos (8.1)-(8.3) ou (11.1)- (11.2) será:

cj= csvsLm

i

ijii

1

)( (16)

Observe que esta função está bem simplificada, não envolvendo todos os custos

(operacionais, por exemplo), porém, atende aos propósitos iniciais, novamente incorporando os

objetivos conflitantes.

5. Em muitas aplicações (cortes de bobinas em indústrias papeleira, metalúrgica, entre outras) a

unidade de demanda usada é a tonelada. Portanto, o lado esquerdo das equações no modelo (8.1)-

(8.3) precisa ser convertido. Suponha que todos os objetos tenham o mesmo peso, digamos T

toneladas (caso contrário, são tratados como objetos diferentes e será abordado na Seção 3.3). Em

outras palavras, estamos considerando bobinas de mesmo comprimento L (em unidade cm) e

mesmo diâmetro. O peso específico linear é T/L (em unidade ton/cm). Assim, um item de

comprimento i cm cortado do objeto pesa

i (T/L) (em unidade ton) e como num padrão j o

número de itens do tipo i é ij , segue que a tonelagem do item tipo i produzida pelo padrão j é

ij i(T/L) (em unidade ton), e as equações em (8.2) são alteradas para:

n

j

ijiij dxLT1

)/( i=1,…,m (17)

Observe que podemos utilizar em (17) a variável yj = T xj (toneladas cortadas usando o

padrão j).

Assim, uma solução com yj=3,5 tem significado, pois indica que 3,5 toneladas de material

(em bobinas de comprimento L) deverão ser cortadas segundo o padrão j. Supondo que as bobinas

sejam produzidas pela indústria (caso da indústria de papel), esta solução pode ser traduzida na

produção de 3 bobinas de 1 tonelada cada e 1 bobina de 0,5 tonelada. Em caso de bobinas

adquiridas de terceiros em pesos padrões, a solução fracionária ainda faz sentido, se as bobinas

puderem ser parcialmente desenroladas e cortadas (este é o caso das indústrias metalúrgicas que

compram e cortam bobinas de aço). Isto significa que a solução do modelo básico (sem a condição

de integralidade das variáveis) é a solução ótima do problema original, sem a necessidade de

arredondamentos. Embora possa haver algumas dificuldades operacionais para cortar parcialmente

uma bobina, tal procedimento altera significativamente a redução de perdas.

Page 19: Minicurso - UNESP: Câmpus de Bauru - Faculdade de Ciênciasadriana/curiosidades/Cortes.pdf · tema e na busca de novos problemas, bem como na modelagem matemática, ... tipologia

V Simpósio de Matemática Presidente Prudente – SP, 10-13 de agosto de 2010

19

6. Outra particularidade da indústria de papel é que muitas vezes parte da demanda é composta por

retângulos i wi, os quais são obtidos cortando-se inicialmente a bobina grande em sub-bobinas

de comprimento i que, em seguida, é desenrolada e cortada no tamanho wi, conforme a Figura 3.3:

Figura 3.3. Produção de retângulos na indústria de papel.

Observe que o mesmo retângulo poderia ser obtido considerando-se wi i Em alguns

casos, o sentido da fibra do papel dentro do retângulo é importante, de modo que este retângulo

pode ser inaceitável, e os modelos anteriores são adequados.

Suponha que o sentido da fibra seja irrelevante, de modo que podemos cortar a bobina

grande tanto em sub-bobinas de comprimento i, como de comprimento wi. Isto significa que os

padrões de corte (soluções do problema (7.1)-(7.2)) podem combinar 2m tamanhos:

1,…,

m,w1,…,wm ou de outra forma, definimos

m i= wi, i = 1,…, m. Note, entretanto, que ij e

m+i, j dizem respeito à mesma demanda. Considere a alteração do modelo básico em que a demanda é fornecida em toneladas (veja

(17)). O comprimento da bobina grande que será utilizado para a produção do retângulo i wi (ou

wi i) será dado por:

ij i + m+i, jwi.

Deste modo, a restrição (17) torna-se:

n

j

ijijimiij dxLTw1

, )/)(( , i=1,…,m. (18)

Obviamente, podemos ter apenas parte dos retângulos com o sentido de fibra irrelevante, o

que pode ser facilmente considerado no modelo.

3.3. Diversos Tipos de Barra em Estoque: Quantidade Ilimitada

Estudamos agora o caso em que o estoque é composto de vários tipos de barras com

quantidades de cada tipo suficientes para atender toda a demanda. Uma aplicação deste tipo de

problema ocorre em indústrias onde os objetos (bobinas) são produzidos por máquinas diferentes e

a capacidade de produção é suficientemente grande, ou ainda os objetos de vários tamanhos são

adquiridos no mercado, em que a oferta é grande (por exemplo, barras de aço para a construção

civil). Além dos dados de demanda considerados inicialmente, temos agora os dados de estoque:

N: número de tipos de barras em estoque;

Lj: comprimento das barras do tipo j, j = 1,..., N;

cj: custo da barra do tipo j, j = 1,..., N.

Page 20: Minicurso - UNESP: Câmpus de Bauru - Faculdade de Ciênciasadriana/curiosidades/Cortes.pdf · tema e na busca de novos problemas, bem como na modelagem matemática, ... tipologia

V Simpósio de Matemática Presidente Prudente – SP, 10-13 de agosto de 2010

20

Modelagem Matemática

O modelo matemático neste caso é análogo ao caso anterior. Entretanto, os padrões de cortes

devem ser definidos para cada barra em estoque, isto é, devem satisfazer:

jj

mmjj L 2211 (19.1)

.,,1,inteiros e0,,0,0 21 Njj

m

jj (19.2)

Suponha que o sistema (19.1)-(19.2) tenha nj soluções, dadas por:

a1j =

j

m

j

j

1

21

11

, a2j =

j

m

j

j

2

22

12

, , anj =

j

mn

j

n

j

n

j

j

j

2

1

, j = 1,…,N.

As variáveis de decisão são:

xij: número de vezes que o objeto de tipo j é cortado usando o padrão i,

i = 1,…,nj, j = 1,…,N.

O problema pode então ser formulado por:

minimizar f(x11,x21,…) =

1

1

n

i

c1xi1 +

2

1

n

i

c2xi2 + … +

Nn

i 1

cNxiN (20.1)

sujeito a:

1

1

n

i

ai1xi1 +

2

1

n

i

ai2xi2 + … +

Nn

i 1

aiNxiN = d (20.2)

xij0, i=1,…,nj, j=1,…,N. (20.3)

Note que o modelo básico (8.1)-(8.3), com um único tipo de objeto em estoque, é apenas um

caso particular de (20.1)-(20.3) com N=1. Além disso, as alterações possíveis no modelo básico

podem também ser aqui aplicadas. Observamos uma vez mais que as colunas da matriz de restrições

são os vetores associados aos padrões de corte para cada objeto.

3.4. Diversos Tipos de Barra em Estoque: Quantidade Limitada

Consideramos agora, como na Seção 3.3, vários tipos de objetos em estoque, porém em

quantidades disponíveis limitadas. Este problema ocorre em indústrias em que os objetos são

adquiridos com antecedência e estocados (muitas vezes isto é necessário devido à demora e

incerteza no prazo de entrega, por exemplo, bobinas de aço na indústria metalúrgica), ou ainda

podem ser produzidos, porém a capacidade de produção é limitada. Adicionamos o seguinte dado

sobre o estoque:

ej: disponibilidade em estoque do objeto j, j=1,…,N.

Page 21: Minicurso - UNESP: Câmpus de Bauru - Faculdade de Ciênciasadriana/curiosidades/Cortes.pdf · tema e na busca de novos problemas, bem como na modelagem matemática, ... tipologia

V Simpósio de Matemática Presidente Prudente – SP, 10-13 de agosto de 2010

21

Modelagem Matemática

O modelo matemático tem as mesmas restrições que o anterior, acrescentando-se as

restrições de estoque.

minimizar f(x11,x21,…) =

1

1

n

i

c1xi1 +

2

1

n

i

c2xi2 + … +

Nn

i 1

cNxiN (21.1)

sujeito a:

1

1

n

i

ai1xi1 +

2

1

n

i

ai2xi2 + … +

Nn

i 1

aiNxiN = d (21.2)

1

1

n

i

xi1 e1

2

1

n

i

xi2 e2

(21.3)

Nn

i 1

xiN eN

xij0, i = 1,…, nj, j = 1,…, N. (21.4)

Como já observado anteriormente, os modelos matemáticos formulados nesta seção

apresentam um número enorme de variáveis (uma variável para cada padrão), podendo, em

problemas práticos, ser da ordem de centenas de milhares. Felizmente, tais modelos apresentam

uma estrutura particular que permite trabalhar com estas variáveis implicitamente, como veremos

no Capítulo 5.

Page 22: Minicurso - UNESP: Câmpus de Bauru - Faculdade de Ciênciasadriana/curiosidades/Cortes.pdf · tema e na busca de novos problemas, bem como na modelagem matemática, ... tipologia

V Simpósio de Matemática Presidente Prudente – SP, 10-13 de agosto de 2010

22

4. Conceitos Básicos

4.1 Problema de Otimização Linear

Um problema de otimização linear na forma padrão é dado por:

minimizar f(x1, x2, ..., xn) = c1x1 + c2x2 +...+ cnxn (22.1)

sujeito a:

11 1 12 2 1 1

21 1 22 2 2 2

1 1 2 2

n n

n n

m m mm m m

a x a x a x b

a x a x a x b

a x a x a x b

(22.2)

x1 ≥ 0, x2 ≥ 0, ... xn ≥ 0 (22.3)

A função linear f em (22.1), a ser minimizada, é chamada função objetivo, o sistema de

equações lineares em (22.2) define as restrições do problema juntamente com as condições de não

negatividade das variáveis em (22.3). Qualquer problema de otimização linear pode ser escrito na

forma padrão. Em notação matricial o problema (22.1)-(22.3) é escrito por:

minimizar f(x) = cTx

sujeito a:

Ax = d

x0

em que cada coluna da matriz A Rmxn é um vetor associado a um padrão de corte e

cT = (c, c, … ,c) Rn.

Definição 4.1: (solução factível e região factível) Uma solução (x1, x2, ..., xn) é factível se

satisfaz todas as restrições (22.2) e a condição de não negatividade (22.3). O conjunto de todas

as soluções factíveis é chamado região factível.

Exemplo 4.1:

minimizar f(x1, x2, x3) = 2x1 - x2 + 4x3

sujeito a:

1 2 3

2 3

2 3

2 4

x x x

x x

x1 ≥ 0, x2 ≥ 0, x3 ≥ 0

Em termos do modelo (22.1)-(22.3), temos que m = 2 (restrições), n = 3 (variáveis). As

variáveis deste problema (x1, x2, x3) correspondem a um vetor de três coordenadas e, portanto, o

espaço de possíveis soluções está contido no R3. A solução particular x1 =1 , x2 = 0, x3 = 2 é uma

solução factível, pois satisfaz todas as restrições do problema. Para esta solução, a função objetivo

tem valor f(1, 0, 2) = 10. Outra solução factível x1 =0,25 0, x2 = 0,5, x3 = 1,75 tem valor da função

objetivo f(0,25; 0,5; 0,75) = 7. Isso significa que esta solução é melhor que a anterior, já que o

objetivo do problema é determinar o menor valor possível para f(x1, x2, x3).

Page 23: Minicurso - UNESP: Câmpus de Bauru - Faculdade de Ciênciasadriana/curiosidades/Cortes.pdf · tema e na busca de novos problemas, bem como na modelagem matemática, ... tipologia

V Simpósio de Matemática Presidente Prudente – SP, 10-13 de agosto de 2010

23

Definição 4.2: (Solução ótima) Uma solução factível que fornece o menor valor à função

objetivo f é chamada solução ótima e é denotada por * * *

1 2, ,..., nx x x . Uma solução factível

(x1, x2, ..., xn) é ótima se: f * * *

1 2, ,..., nx x x ≤ f (x1, x2, ..., xn)

No exemplo 4.1, a solução factível x1 =0,25 0, x2 = 0,5, x3 = 1,75 é melhor que a solução

factível x1 =1 0, x2 = 0, x3 = 2. Entretanto, a solução x1 = 0, x2 = 2/3, x3 = 5/3 também é uma solução

factível para o problema e f(0; 2/3; 5/3) = 6. Isso mostra que esta solução que as anteriores. Mas

ainda resta uma questão: há outra solução melhor que está? Esta solução realmente é ótima? A

resposta para estas questões será vista mais adiante.

4.2 Transformações de Problemas na Forma Padrão

Nesta seção, veremos como problemas de otimização linear que não estão na forma padrão

podem ser reescritos nesta forma.

Problemas de maximização

Encontrar uma solução ótima que maximize a função objetivo corresponde a encontrar uma

solução factível * * * *

1 2, ,..., nx x x x tal que f ( *x ) ≥ f (x) para toda solução x factível.

Multiplicando essa desigualdade por -1, temos para toda solução x factível a forma

equivalente: -f ( *x ) ≤ -f (x). Portanto, caso o problema seja de maximizar f (x), podemos considerar,

em seu lugar, o problema equivalente a minimizar -f (x).

Restrições de desigualdades

No problema (22.1)-(22.3) as restrições são formadas por equações lineares. Entretanto, as

restrições (22.2) também podem ser dadas por inequações. Neste caso, convertemos o problema na

forma padrão com o auxílio de novas variáveis, chamadas variáveis de folga. Suponha que a

restrição i seja dada por:

1 1 2 2i i in n ia x a x a x b

Para termos uma igualdade, adicionamos no lado esquerdo da inequação uma nova variável

não-negativa:

ai1x1 + ai2x2 + ...+ ainxn + xk = bi

xk ≥ 0

A variável xk representa a folga existente na equação original. Analogamente, se a restrição

for da forma:

1 1 2 2i i in n ia x a x a x b

basta subtrair uma variável xk ≥ 0 no lado esquerdo da inequação para transformá-la em igualdade

(variável de excesso). Neste caso, a desigualdade é escrita como:

ai1x1 + ai2x2 + ...+ ainxn - xk = bi

xk ≥ 0

Page 24: Minicurso - UNESP: Câmpus de Bauru - Faculdade de Ciênciasadriana/curiosidades/Cortes.pdf · tema e na busca de novos problemas, bem como na modelagem matemática, ... tipologia

V Simpósio de Matemática Presidente Prudente – SP, 10-13 de agosto de 2010

24

Variáveis livres

No caso de existir uma variável xi irrestrita de sinal no problema, podemos substituir essa

variável por outras duas e obter um problema equivalente na forma padrão. Observe que qualquer

número pode ser sempre escrito como uma diferença de dois outros não-negativos, isto é, podemos

escrever uma variável livre xi como:

, com 0, 0.i i i i ix x x x x

Substituindo essa redefinição da variável livre, o problema resultante tem todas as variáveis

não-negativas.

4.3 Resolução Gráfica

A visualização de soluções de um problema matemático, quando possível e mesmo que

limitada a um desenho no R2, pode ser bastante útil para melhorar nossa intuição sobre o problema

em estudo. como vimos, resolver um problema de otimização linear consiste em encontrar uma

solução ótima para o problema. Por conveniência, consideramos o problema de otimização linear

com duas variáveis e na forma de desigualdade.

Exemplo 4.2:

maximizar f(x1, x2) = x1 + 2x2

sujeito a:

1 2

1

2

1 2

4

2

3

0, 0

x x

x

x

x x

Região factível S

Desenhando uma região factível

Como vimos anteriormente, as soluções factíveis sempre devem satisfazer todas as

restrições do problema. Considerando o Exemplo 4.2, representamos inicialmente os pontos no

plano (x1, x2) que satisfazem as condições de não-negatividade, isto é, primeiro quadrante do plano.

Para representar os pontos no plano (x1, x2) que também satisfazem a restrição x1 + x2 ≤ 4,

identificamos os pontos que satisfazem a igualdade x1 + x2 = 4. Esta equação é uma reta no plano,

sendo seus coeficientes, o vetor (1, 1)T, perpendicular à reta. Em seguida, identificamos os pontos

que satisfazem x1 + x2 < 4. Para identificar este conjunto, observe que este vetor (1, 1)T aponta no

sentido em que x1 + x2 cresce. Portanto, os pontos no plano a partir da reta opostos àqueles para o

qual o vetor (1, 1)T aponta são tais que x1 + x2 < 4. A reunião dos pontos tais que x1 + x2 = 4 e x1 +

x2 < 4 juntamente com as restrições de não-negatividade é o que queremos considerar. A Figura 4.1

ilustra esta representação.

Page 25: Minicurso - UNESP: Câmpus de Bauru - Faculdade de Ciênciasadriana/curiosidades/Cortes.pdf · tema e na busca de novos problemas, bem como na modelagem matemática, ... tipologia

V Simpósio de Matemática Presidente Prudente – SP, 10-13 de agosto de 2010

25

Figura 4.1: Região definida por x1 + x2 ≤ 4, x1 ≥ 0, x2 ≥ 0.

De modo semelhante, desenhamos as regiões dos pontos que satisfazem x1 ≤ 2 e x2 ≤ 3. A

intersecção de todas as regiões define a região factível representada na Figura 4.2.

Figura 4.2: Região factível S.

Determinando a solução ótima x*

A função objetivo f(x1, x2) = x1 + 2x2, definida no conjunto S, pode assumir infinitos valores.

Por exemplo, na solução factível ' '

1 2' ( ) (0,0)T Tx x x a função objetivo vale f ’ = f(x’) = 0 e todos

os pontos do plano (x1, x2) que atribuem este mesmo valor à função objetivo estão na reta x1 + 2x2 =

0. Esse conjunto de pontos é chamado de curva de nível e esta representado na Figura 4.3 pela reta

tracejada f ’ = 0.

Ao definir a região factível, o vetor dos coeficientes (1, 2)T (vetor gradiente) é perpendicular

à reta x1 + 2x2 = 0 (uma curva de nível) e aponta no sentido em que a função cresce. Com isso,

podemos visualizar na Figura 4.3 que qualquer ponto de S atribui valor maior que zero à função f.

Como queremos maximizar f, podemos concluir, graficamente, que a solução factível ' (0,0)Tx

não é uma solução ótima.

Figura 4.3: Determinando a solução ótima x* (Problema de maximização).

Page 26: Minicurso - UNESP: Câmpus de Bauru - Faculdade de Ciênciasadriana/curiosidades/Cortes.pdf · tema e na busca de novos problemas, bem como na modelagem matemática, ... tipologia

V Simpósio de Matemática Presidente Prudente – SP, 10-13 de agosto de 2010

26

Quando analisamos a solução factível '' (2,0)Tx , a função objetivo f ’’ = 2. Como o vetor

gradiente não se altera, essa reta é paralela à f ’ = 0. Continuando o procedimento de identificar

pontos que atribuem valores maiores à função objetivo, chegamos a um extremo * *

1 2* ( ) (1,3)T Tx x x , para o qual f(x*) = 7. A curva de nível x1 + 2x2 = 7 nos permite observar

que todos os pontos de S atribuem valores menores que 7 à função objetivo. Portanto, a solução x*

que satisfaz todas as restrições simultaneamente e maximiza f(x) existe e é única:

1

2

1*

3

xx

x

No Exemplo 4.2 desejamos maximizar f(x), desta forma, procuramos pontos factíveis que

estivessem do lado apontado pelo vetor gradiente, partindo da curva de nível f(x)=f '. Entretanto, se

o objetivo fosse minimizar f(x), aplicamos o mesmo procedimento, porém, buscando pontos no

sentido contrário ao do vetor gradiente.

A solução ótima da Figura 4.3 é uma solução factível muito especial, chamada vértice ou

ponto extremo. Na região factível ilustrada, é possível notar que os vértices são determinados pela

intersecção de pelo menos duas retas que definem a fronteira da região factível (observe que xi = 0 é

uma equação de reta). Assim, temos que os vértices são soluções de sistemas de equações lineares.

Observe que se o vetor gradiente da função objetivo for modificado, outro vértice pode ser

uma solução ótima.

Propriedade 4.1: Se um problema de otimização linear tem uma solução ótima, então existe

um vértice ótimo.

No Exemplo 4.2, a região factível do problema é limitada e apresenta uma única solução

ótima. Entretanto, várias outras possibilidades podem ocorrer: não existência de solução ótima,

solução ótima degenerada, infinitas soluções ótimas, entre outras. A resolução gráfica de problema

de otimização linear com dimensões maiores que dois é igualmente possível.

Nesta seção, observamos que uma solução ótima, se houver, pode ser pesquisada entre os

vértices. Assim, se formos capazes de sair de um vértice para outro melhor, podemos repetir isso

um número finito de vezes até encontrar um vértice ótimo. É assim que trabalha o método simplex,

um dos mais utilizados métodos para a resolução de problemas de otimização linear. Uma breve

revisão deste método é apresentada na próxima seção.

Page 27: Minicurso - UNESP: Câmpus de Bauru - Faculdade de Ciênciasadriana/curiosidades/Cortes.pdf · tema e na busca de novos problemas, bem como na modelagem matemática, ... tipologia

V Simpósio de Matemática Presidente Prudente – SP, 10-13 de agosto de 2010

27

5. Método Simplex

O Método Primal-Simplex ou simplesmente Método Simplex, pode ser aplicado na resolução

dos problemas de otimização linear descritos na Seção 3. Entretanto, tais problemas apresentam

uma característica que inviabiliza a utilização de métodos numéricos diretamente: o número de

variáveis é extremamente grande. Porém, os coeficientes das variáveis, na matriz dos coeficientes,

A, podem ser calculados, uma vez que representam padrões de cortes e, por conseguinte, os

coeficientes da função objetivo.

Apresentamos neste capítulo uma breve revisão Método Simplex, como utilizá-lo em

problemas cujas colunas podem ser construídas e, finalmente, estudamos sua utilização em

problemas de corte de estoque.

5.1 Soluções Básicas

Considere o seguinte problema primal de otimização linear:

minimizar f(x) = cTx (23.1)

sujeito a:

Ax = b, (23.2)

x 0. (23.3)

em que A Rmn e posto(A)= m.

A solução geral do sistema em (23.2) pode ser obtida considerando uma partição nas

colunas de A:

A = (B, N) em que:

Bmm é a matriz básica não-singular formada por m colunas da matriz A. A matriz B é dada

por 1 2, ,...,

mB B BB a a a ;

Nm(n-m) é a matriz não-básica, formada pelas n - m colunas restantes da matriz A (colunas de

A que não estão em B). A matriz N é dada por 1 2, ,...,

n mN N NN a a a

.

Essa partição nas colunas da matriz A é chamada partição básica e introduz uma nova

partição no vetor x:

x = (xB, xN)T,

em que xB é chamado vetor de variáveis básicas e xN vetor de variáveis não-básicas (ou variáveis

livres). Assim,

Ax = b BxB + NxN = b

xB = B-1b - B-1NxN (24)

A expressão (24) é chamada solução geral do sistema, pois com ela podemos determinar

qualquer solução do sistema, bastando atribuir valores quaisquer às variáveis não-básicas xN , de

modo que as variáveis básicas em xB fiquem unicamente determinadas e a solução resultante

satisfaça o sistema Ax = b.

Page 28: Minicurso - UNESP: Câmpus de Bauru - Faculdade de Ciênciasadriana/curiosidades/Cortes.pdf · tema e na busca de novos problemas, bem como na modelagem matemática, ... tipologia

V Simpósio de Matemática Presidente Prudente – SP, 10-13 de agosto de 2010

28

Definição 5.1. A solução particular x obtida por: ˆBx = B-1b, ˆ

Nx = 0, é chamada solução

básica. Se ˆBx = B-1b 0, então a solução básica é primal-factível e dizemos que a partição

básica é primal-factível.

Propriedade 5.1: Considere uma região factível S = {x Rn tal que Ax = b, x ≥ 0}. Um ponto

x S é um vértice de S se e somente se x for uma solução básica factível.

Como consequência desta propriedade, temos que se um problema de otimização linear tem

solução ótima, então existe um vértice ótimo.

Nesta seção, vimos como determinar uma solução básica para um problema de otimização

linear. Na próxima seção apresentamos o Método Simplex.

5.2 O Método Simplex

O método simplex encontra um vértice ótimo pesquisando apenas um subconjunto dos K

vértices de S.

Considerando a partição básica factível, a função objetivo também pode ser expressa

considerando a partição básica:

( ) [ ]BT T T T T

B N B B N N

N

xf x c x c c c x c x

x

(25)

em que T

Bc são os coeficiente das variáveis básicas na função objetivo e T

Nc são os coeficientes das

variáveis não-básicas na função objetivo.

Substituindo (24) em (25), temos:

f(x) = T

Bc xB + T

Nc xN

= T

Bc (B-1b - B-1NxN) + T

Nc xN (26)

O primeiro termo de (26) corresponde ao valor da função objetivo em x :

f( x ) = T

Bc (B-1b) + T

Nc (0) = T

Bc (B-1b)

Definição 5.2. Chamamos de vetor das variáveis duais ou, vetor multiplicador simplex o vetor

Rm, dado por:

T = cB

T B-1.

Se a seguinte condição é verificada:

cj - Taj 0, j = 1,…, n,

então é uma solução básica dual-factível. Neste caso dizemos que a partição é dual-factível.

(Observe que, pela definição de , Taj = cj para aj B).

Teorema 5.1. Se uma partição básica for primal e dual factíveis, então as soluções básicas

associadas (definições 5.1 e 5.2) resolvem os problemas primal e dual, respectivamente, e

dizemos que a partição básica é ótima.

Page 29: Minicurso - UNESP: Câmpus de Bauru - Faculdade de Ciênciasadriana/curiosidades/Cortes.pdf · tema e na busca de novos problemas, bem como na modelagem matemática, ... tipologia

V Simpósio de Matemática Presidente Prudente – SP, 10-13 de agosto de 2010

29

Teorema 5.2. Se o problema (23.1)-(23.3) tiver uma solução ótima, então existe uma partição

básica ótima.

Utilizando o vetor multiplicador simplex na expressão de f(x) em (26), podemos escrever

f(x) em termos das variáveis não-básicas:

f(x)= T

Bc xB + T

Nc xN = T

Bc (B-1b - B-1NxN) + T

Nc xN

= f( x ) + ( T

Nc -TN)xN

= f( x ) + j N

(cj -Taj)xj, (27)

Considerando que:

T

Nc -TN = 1 2 1 2, ,..., , ,...,

n m n m

T

N N N N N Nc c c a a a

= 1 1 2 2

, ,...,

n m n m

T T T

N N N N N Nc a c a c a

Obtemos:

1 1 1 2 2 2ˆ( ) ( ) ( ) ( ) ... ( )

n m n m n m

T T T

N N N N N N N N Nf x f x c a x c a x c a x (28)

Definição 5.3: (custos relativos) Os coeficientes ˆ ( ) j j j

T

N N Nc c a das variáveis não básicas

na função objetivo descrita por (28) são chamados custos relativos ou custos reduzidos.

A partir da Definição 5.3, a expressão (28) pode ser escrita como:

1 1 2 2ˆ ˆ ˆ ˆ( ) ( ) ...

n m n mN N N N N Nf x f x c x c x c x (29)

Propriedade 5.2: (condição de otimalidade) Considere uma partição básica A = [B N] em que

a solução básica associada ˆBx = B-1b ≥ 0 e seja T = cB

T B-1 o vetor multiplicador simplex. Se

0j j

T

N Nc a , j = 1, ..., n-m, então a solução básica é ótima.

Definição 5.4: Chamamos de estratégia simplex a seguinte perturbação de uma solução básica

factível:

escolha k N, tal que: ck - Tak < 0;

faça: xk= 0,

xj = 0, jN-{k}.

Em outras palavras, apenas uma variável não básica,kNx , deixa de ser nula. Com isso. A

função objetivo (29) passa a valer:

1

1

ˆ ˆ ˆ ˆ( ) ( ) 0 ... ... 0

k n m

N N Nk n m

N N N

x x x

f x f x c c c

ˆ ˆ ˆ( ) ( ) kNf x c f x (30)

Como a função objetivo decresce quando cresce, determinamos o maio valor possível para

que mantém factível a solução perturbada.

Page 30: Minicurso - UNESP: Câmpus de Bauru - Faculdade de Ciênciasadriana/curiosidades/Cortes.pdf · tema e na busca de novos problemas, bem como na modelagem matemática, ... tipologia

V Simpósio de Matemática Presidente Prudente – SP, 10-13 de agosto de 2010

30

Tamanho do passo :

Com a alteração nos valores das variáveis não básicas pela estratégia simplex, as variáveis

básicas também devem ser alteradas, de modo que o sistema Ax=b seja satisfeito. A estratégia

simplex é equivalente a alterar as variáveis não básicas para:

10

0

k

n m

N

N N

N

x

x x k

x

(31)

portanto, as variáveis básicas são modificadas por:

1 1 1

ˆ ˆ

kB N B N B

y

x B b B Nx x B a x y (32)

em que y = 1

kNB a .

Definição 5.4: (direção simplex) Chamamos de direção simplex o vetor 1

kNy B a , o qual

fornece os coeficientes de como as variáveis básicas são alteradas pela estratégia simplex. A

direção simplex é solução do sistema de equações lineares kNBy a .

Reescrevendo a equação vetorial (32) em cada uma de suas coordenadas, e considerando a

não-negatividade das variáveis básicas, temos:

B

ˆ 0, 1,...,i iB ix x y i m . (33)

Se a solução básica for não-degenerada, isto é, ˆBx > 0, de (30) e (33) segue que temos uma

direção factível e de descida.

De (33), podemos determinar o maior valor de :

= -

y

xBˆ

= mínimo {- ˆ

iB

i

x

y | yi < 0, i=1,…,m} (34)

em que ˆiBx é a i-ésima componente de ˆ

Bx . Naturalmente, se yi 0, i = 1,…,m, então não há

limitante para , f(x)- (a direção d é um raio de descida).

Para esta escolha de , a l-ésima componente de xB se anula, enquanto que apenas uma

variável de xN torna-se positiva. A nova solução tem a seguinte característica:

1

ˆ0

( ... ... | 0... ...)m kB B B Nx x x x

Page 31: Minicurso - UNESP: Câmpus de Bauru - Faculdade de Ciênciasadriana/curiosidades/Cortes.pdf · tema e na busca de novos problemas, bem como na modelagem matemática, ... tipologia

V Simpósio de Matemática Presidente Prudente – SP, 10-13 de agosto de 2010

31

Isto sugere uma nova partição básica, pois a variável kNx torna-se básica e a variável

Bx

não-básica. Assim, as matrizes básica e não-básica são alteradas por apenas uma coluna.

1 2 1, ,..., ' ,..., ,...,

m k mB B B B N B

ésima coluna

B a a a B a a a

1 2 1, ,..., ' ,..., ,...,

m n mN N N N N N

k ésima coluna

N a a a N a a a

Propriedade 5.3: A matriz B', definida anteriormente, é não-singular, de modo que A= [B', N']

é uma partição básica.

A solução básica associada à nova partição é aquela obtida pela estratégia simplex:

ˆ

,,...,1,ˆˆiB

k

i

N

iB

x

imiyxx

Assim, a estratégia simplex produz uma nova solução básica factível (isto é, um novo

vértice), para o qual a função objetivo tem um valor menor:

ˆˆ ˆ ˆ( ) ( ) ( )kNf x f x c f x

e podemos repetir o procedimento, ou seja, encontrar uma solução básica melhor a partir da solução

obtida, enquanto a condição de otimalidade não for verificada.

Isto descreve o conhecido Método Primal-Simplex. A seguir, apresentamos o algoritmo

Primal-Simplex.

5.3 Algoritmo Primal-Simplex

Considere um problema de otimização linear escrito na forma padrão.

Fase I:

Determine uma partição básica factível: A = [B,N].

{Para isto poderá ser necessário o método das variáveis artificiais}.

Faça iteração = 1.

Fase II:

{Início da iteração simplex}

Passo 1: {Cálculo da solução básica}

1

ˆ 0N

x B b

x

Passo 2: {Calculo dos custos relativos}

2.1 Determine o vetor multiplicador simplex: T = cB

T B-1.

Page 32: Minicurso - UNESP: Câmpus de Bauru - Faculdade de Ciênciasadriana/curiosidades/Cortes.pdf · tema e na busca de novos problemas, bem como na modelagem matemática, ... tipologia

V Simpósio de Matemática Presidente Prudente – SP, 10-13 de agosto de 2010

32

2.2 Determine os custos relativos: ˆ ( ) j j j

T

N N Nc c a , j = 1, 2, ..., n-m

2.3. Determine menor custo relativo (variável Nk a entrar na base):

ˆjNc = mínimo{ ˆ

jNc , j = 1, 2, … ,n-m}.

Passo 3:{teste de otimalidade}

Se ˆjNc ≥ 0 então pare (solução na iteração atual é ótima)

Passo 4: {cálculo da direção simplex}

y = -B-1ak.

Passo 5: {determinação do passo e variável a sair da base}

Se y 0, então pare, o problema não tem solução ótima finita.

Senão, determine a variável a sair da base:

= -

y

xBˆ

= mínimo {- ˆ

iB

i

x

y | yi < 0, i=1,…,m}

Passo 6: {atualização da nova partição básica}

nova matriz básica: 1 1 1... ...

k mB B N B BB a a a a a

nova matriz não básica: 1 1 1... ...

k k n mN B N B NN a a a a a

iteração = iteração + 1

Retorne ao passo 1

{Fim da iteração Simplex}

Page 33: Minicurso - UNESP: Câmpus de Bauru - Faculdade de Ciênciasadriana/curiosidades/Cortes.pdf · tema e na busca de novos problemas, bem como na modelagem matemática, ... tipologia

V Simpósio de Matemática Presidente Prudente – SP, 10-13 de agosto de 2010

33

6. O Problema de Corte de Estoque Unidimensional: Métodos

6.1 Método Simplex com Geração de Colunas: Um Tipo de Barra

O Método Simplex pode ser utilizado na resolução do problema de corte de estoque.

Geralmente, em problemas práticos, o número de variáveis n (colunas), que determina o número de

padrões de corte, é muito maior que o m número de restrições (linhas). Entretanto, o método

simplex que determina, a cada iteração, uma nova coluna não básica para entrar na base dentre

todas não-básicas, torna-se um problema impraticável devido ao grande número de colunas que

devem ser investigadas. Uma técnica bastante eficiente para contornarmos este tipo de problema, é

a Geração de Colunas, proposta por Gilmore e Gomory (1961).

Este procedimento consiste em gerar uma coluna k, isto é, um novo padrão de corte

utilizando o critério de Dantizg, que procura a variável xk com o menor custo relativo (passo 2.3):

min{ , 1,2,...}T T

k k j jc a c a j (35)

Por simplicidade, consideremos o problema de otimização linear (8.1)-(8.3) com os

coeficientes na função objetivo constantes, cj= 1, j = 1,…, n.

minimizar f(x) = x1+x2+...+xn (36.1)

sujeito a:

a1x1+ a2x2+ ... +anxn = d (36.2)

x10, x20, ..., xn0. (36.3)

Propriedades das colunas da matriz A

Consideremos o problema mais simples, em que barras de comprimento L devem ser

cortadas em pedaços i, i=1,…,m. As colunas da matriz A são bem determinadas por:

X = { a = (1,2,…,m ) / 11 +

2 2 + …mm L, i 0 e inteiro }

Partição básica inicial

Como já observamos na Seção 3.1, algumas colunas da matriz A são facilmente construídas

considerando-se padrões de corte homogêneos, cujos vetores associados constituem m vetores

linearmente independentes de X:

ai = (0,...,aii,...,0), i = 1,..., m,

em que ii ia L e x é o maior inteiro menor ou igual a x.

Assim, podemos construir uma base inicial:

B =

a

a

amm

11

22

0 0

0 0

0 0

. (37)

Page 34: Minicurso - UNESP: Câmpus de Bauru - Faculdade de Ciênciasadriana/curiosidades/Cortes.pdf · tema e na busca de novos problemas, bem como na modelagem matemática, ... tipologia

V Simpósio de Matemática Presidente Prudente – SP, 10-13 de agosto de 2010

34

A partir da base inicial, numa iteração qualquer do Método Simplex, calculamos a solução

básica: xB = B-1b e o vetor multiplicador simplex: T = cBB-1.

O próximo passo do Método Simplex consiste em determinar uma coluna a entrar na base

(menor custo relativo). Entretanto, como o objetivo é minimizar o total de objetos cortados (c = (1,

1, ..., 1)), calculamos:

mínimo{cj - Taj} = 1 - máximo{Taj}

Desta forma, encontrar uma coluna não-básica, digamos (1,2,…,m)T que substituirá uma

coluna básica, corresponde a resolver o problema:

g(a) = maximizar = 11 + 22 + …+ mm

sujeito a:

11 +

22 + …+

mm L,

0 ≤ i ≤ di e inteiro, i = 1,…, m.

que é o problema da mochila restrito (2.1)-(2.3). Desta forma, se o menor dos custos relativos são

não negativos, isto é, se 1 - g(a) ≥ 0, podemos garantir que a solução do problema (36.1)-(36.3)

relaxado é ótima. O valor de utilidade de cada item é o multiplicador simplex vi = i, i = 1, ..., m.

No caso em que cj=

m

i

iiL1

,ou seja, o objetivo for minimizar a perda total, a função

objetivo do subproblema é dada por: (a)= L -

m

i

iii

1

)( . O subproblema é então descrito pelo

seguinte problema da mochila:

Maximizar

m

i

iii

1

)( (38.1)

sujeito a:

,1

Lm

i

ii

(38.2)

.,1,inteiro, e0 mii (38.3)

6.2 O Método Simplex com Geração de Colunas: Diversos Tipos de Barras

As idéias contidas na Seção 6.1 podem ser facilmente estendidas ao problema (21.1)-(21.4),

o qual considera diversos tipos de barras em estoque. Entretanto, duas características devem ser

levadas em conta:

i) cada coluna do modelo (22.1)-(22.4) não é mais formada simplesmente por um padrão de

corte, mas também contém uma coluna da matriz identidade, devido às restrições (22.3);

ii) os padrões de corte homogêneos não produzem mais uma base (agora a base é formada de

m+N colunas) e simplesmente completar com as colunas das variáveis de folga das

restrições (22.3) podem levar a uma base infactível.

Para este assunto damos a seguinte referência: Poldi (2003).

Page 35: Minicurso - UNESP: Câmpus de Bauru - Faculdade de Ciênciasadriana/curiosidades/Cortes.pdf · tema e na busca de novos problemas, bem como na modelagem matemática, ... tipologia

V Simpósio de Matemática Presidente Prudente – SP, 10-13 de agosto de 2010

35

6.3 Heurísticas de Arredondamento

A solução obtida pela relaxação da condição de integralidade pode não ser inteira, digamos,

x1 = 20,8, o que significaria que o padrão de corte 1 deveria ser cortado 20,8 vezes, não fazendo

sentido. Entretanto, se arredondarmos para x1 = 20 então a demanda não será atendida, enquanto que

se arredondarmos para x1 = 21 haverá produção em excesso de itens no padrão de corte 1. Alterar o

valor da variável x1 seja para o inteiro inferior ou para o inteiro superior sugere que devemos alterar

também os valores das outras variáveis para completar a demanda ou evitar excessos.

As diversas propostas discutidas na literatura seguem basicamente as abordagens descritas a

seguir e serão classificadas aqui como Abordagens de Padrões Básicos, Abordagens para o

Problema Residual e Abordagens Compostas (ver Wäscher e Gau (1996)). Elas podem ser aplicadas

a problemas de corte de uma ou mais dimensões.

6.4 Abordagens de Padrões Básicos

Procedimento B1: Arredonde todas as componentes não inteiras para o inteiro superior. Este

procedimento, apesar de extremamente rápido, freqüentemente resulta em soluções distantes

do valor ótimo da função objetivo (Wäscher e Gau (1996)).

Procedimento B2: Utilizar B1. Verificar se as freqüências xi > 0 podem ser reduzidas de uma

unidade, sem causar a violação das restrições de demanda. Tão logo uma variável xk, xk > 0,

seja identificada, xk é reduzida de uma unidade (Neumann e Morlock, 1993, cf. Wäscher e

Gau, 1996).

Procedimento B3: Determine uma solução para um problema de corte de estoque que

contenha apenas os padrões que correspondem às variáveis básicas da solução obtida. Este

problema fica definido da seguinte maneira:

minimizar f(x) = c(xj1+xj2+...+xjm)

sujeito a:

aj1xj1+ aj2xj2+ ... +ajmxjm = d

xj10, xj20, ..., xjm0

em que todas as variáveis básicas que já corresponderem a valores inteiros são fixados e a

variável xjk não inteira com maior parte fracionária é arredondada para o inteiro superior e

fixada com este valor.

Resolve-se o problema com estas restrições adicionais. Se a solução for inteira pare,

caso contrário o processo é repetido fixando-se outras variáveis similarmente ao que foi

feito. Como pelo menos uma variável é fixada em cada iteração, o procedimento termina

com uma solução inteira após m iterações, no máximo.

6.5 Abordagens para o Problema Residual

Nesta abordagem todas as componentes não inteiras são arredondadas para o inteiro inferior.

Ao se fazer isto, as frequências obtidas podem não representar uma solução factível para o

problema original, pois não satisfazem a demanda. Desta forma define-se um problema residual,

que difere do problema original somente em relação às demandas dos itens que no residual é muito

menor quando comparado com a demanda do problema original.

Variações sugeridas na literatura para resolução deste problema residual:

Page 36: Minicurso - UNESP: Câmpus de Bauru - Faculdade de Ciênciasadriana/curiosidades/Cortes.pdf · tema e na busca de novos problemas, bem como na modelagem matemática, ... tipologia

V Simpósio de Matemática Presidente Prudente – SP, 10-13 de agosto de 2010

36

Procedimento R1: Resolver de maneira ótima utilizando um algoritmo exato para resolução

do problema de bin-packing.

Procedimento R2: Resolver o problema residual por uma heurística.

Procedimento R3: Resolver novamente o problema, relaxando-se a integralidade das

variáveis e utilizando o Método Simplex com geração de colunas. Ao chegar a uma solução

com variáveis não inteiras, tornamos a fazer um arredondamento para o inteiro inferior

destas variáveis, resultando em outro problema residual que será tratado da mesma forma e

assim por diante. Este processo termina quando o arredondamento para o inteiro inferior

resultar somente em frequências nulas. Neste caso, este último problema residual é resolvido

por um algoritmo de resolução do problema de bin-packing.

6.6 Abordagens Compostas

As idéias das abordagens de padrões básicos com as do problema residual são combinadas.

Dois procedimentos estão indicados em Wäscher e Gau (1996):

Procedimento C1: Gera-se uma solução viável para o problema original utilizando o

procedimento B3. Com isto um excesso de produção pode ocorrer e sua redução é tentada de

maneira iterativa. O padrão de corte que contém o maior número de itens em excesso é

identificado e sua frequência é reduzida de uma unidade. Repete-se este passo até que não

haja mais excesso. Com isto, a demanda de alguns itens pode não estar sendo atendida.

Desta forma, o problema residual é definido e é resolvido utilizando-se um algoritmo exato

para o problema de bin-packing.

Procedimento C2: Procedimento similar ao C1, mas, ao invés de um algoritmo exato, uma

heurística é aplicada ao problema residual.

Outras propostas de arredondamento podem ser obtidas em Poldi (2003).

Page 37: Minicurso - UNESP: Câmpus de Bauru - Faculdade de Ciênciasadriana/curiosidades/Cortes.pdf · tema e na busca de novos problemas, bem como na modelagem matemática, ... tipologia

V Simpósio de Matemática Presidente Prudente – SP, 10-13 de agosto de 2010

37

7. O Problema de Corte de Estoque Bidimensional

Neste capítulo consideramos o problema de cortar placas retangulares com dimensões LW

(comprimento L e largura W) para a produção m itens retangulares menores 1 w1, 2

w2,…, m

wm em quantidades predefinidas. Por simplicidade de exposição, consideramos que apenas um tipo

de placa em estoque esteja disponível: LW. Entretanto, a extensão para vários tipos de placas em

estoque pode ser feita como no caso unidimensional. Aplicações deste problema podem ser

encontradas em indústrias de móveis, vidro, metalúrgica, etc.

A estratégia de modelagem utilizada no Capítulo 3 (que consiste em gerar todos os padrões

de corte e então decidir quantas vezes usar cada um deles), bem como o método de solução por

geração de colunas estudado no Capítulo 6, são ainda válidos, diferenciando tão somente na geração

dos padrões de corte, ou seja, após gerar os padrões de corte (que estudaremos a seguir), obtemos os

vetores que contabilizam o número de itens em cada padrão:

a1 =

11

21

1

m

, a2 =

12

22

2

m

, , an =

1

2

n

n

mn

,

em que ij é o número de itens do tipo i (agora um item é um retângulo) no padrão de corte j. O

seguinte problema de otimização linear (relaxando-se a condição de integralidade das variáveis xj)

deve ser resolvido:

minimizar f(x) = c1x1+c2x2+…+cnxn

sujeito a:

11

21

1

m

x1 +

12

22

2

m

x2 +…+

1

2

n

n

mn

xn =

m

2

1

d

d

d

x1 0, x2 0, …, xn 0.

O método simplex com geração de colunas (Capítulo 6) pode ser utilizado, porém deve-se

ter em mente que as colunas correspondem a padrões de corte bidimensionais. Assim, o problema:

maximizar i i

i

m

1

sujeito a:

l Li i

i

m

1

,

i e eiro i m 0 1int , , , .

Que deve ser resolvido a cada iteração do método simplex ( é o vetor multiplicador simplex da

iteração atual) não é mais válido, pois estas restrições modelam um padrão de corte unidimensional.

A seguir, veremos como o subproblema gerador de colunas pode ser resolvido para o caso de

problema de corte bidimensional.

Page 38: Minicurso - UNESP: Câmpus de Bauru - Faculdade de Ciênciasadriana/curiosidades/Cortes.pdf · tema e na busca de novos problemas, bem como na modelagem matemática, ... tipologia

V Simpósio de Matemática Presidente Prudente – SP, 10-13 de agosto de 2010

38

7.1. Geração de Padrões de Corte Bidimensionais

Diferentemente do caso unidimensional, algumas regras devem ser impostas aos cortes para

o caso bidimensional. A seguir, daremos duas definições dos tipos cortes que serão considerados

neste capítulo.

Definição 7.1. Um corte sobre uma placa retangular que produza dois novos retângulos é

chamado corte guilhotinado ortogonal, ou simplesmente, corte guilhotinado. Uma sequência de

cortes guilhotinados, aplicados sobre a placa e sobre os retângulos resultantes produz um padrão

de corte guilhotinado (Figura 7.1).

Figura 7.1. (a) Corte bidimensional guilhotinado; (b) Padrão de corte guilhotinado.

Observe que, como no caso unidimensional, podemos associar um vetor que contabiliza os

itens no padrão:

a = (1 2 …m),

em que i é o número de itens (retângulos) do tipo i no padrão. Para o padrão na Figura 7, o vetor

associado é (considerando m = 5 tipos de itens):

a = (1, 1, 4, 0, 2)T.

Entretanto, note que, dado um vetor associado, o problema de como alocá-los sobre a placa

original (isto é, definir um padrão de corte) não é mais trivial, seja com a exigência do padrão ser

guilhotinado ou não. (Observe que no caso unidimensional esta tarefa é fácil).

Os cortes guilhotinados podem ser organizados em estágios da seguinte forma: Num

primeiro estágio, cortes guilhotinados são feitos sobre a placa (paralelos um ao outro). Em seguida,

num segundo estágio, os retângulos obtidos são cortados perpendicularmente ao cortes do estágio

anterior, e assim por diante, são definidos estágios de corte. O padrão da Figura 7.1(b) foi

construído em quatro estágios.

Definição 7.2. Se o número permitido de estágios é limitado por k, dizemos que o padrão de

corte resultante é um padrão de corte guilhotinado em k-estágios.

Focalizaremos inicialmente os padrões de corte em 2-estágios, isto é, quando no máximo

dois estágios são permitidos. Note, na Figura 7.2, que três faixas foram produzidas, restando, para

cada faixa, a questão de cortar os itens com apenas cortes horizontais, isto é, para cada faixa temos

um problema unidimensional.

Page 39: Minicurso - UNESP: Câmpus de Bauru - Faculdade de Ciênciasadriana/curiosidades/Cortes.pdf · tema e na busca de novos problemas, bem como na modelagem matemática, ... tipologia

V Simpósio de Matemática Presidente Prudente – SP, 10-13 de agosto de 2010

39

Figura 7.2: Um padrão de corte bidimensional guilhotinado 2-estágios

(1º estágio: corte vertical e 2º estágio: corte horizontal).

Note na Figura 7.2 que há um último corte para a obtenção do item 4 dentro da segunda

faixa (que abriga os itens 2 e 4). Entretanto, este tipo de corte, chamado de "apara" não é relevante

para a produção de um bom padrão de corte e não é considerado como um novo estágio

(normalmente é feito à parte, em máquinas de corte menores).

O problema de corte bidimensional guilhotinado em 2-estágios

O problema aqui a ser formulado corresponde ao problema da mochila no caso

unidimensional (a literatura utiliza o termo problema da mochila bidimensional para uma classe de

problemas com duas restrições, o que não modela o problema de corte bidimensional, de modo que

optamos por designar "problema de corte bidimensional" ao problema em questão).

Considere uma placa de dimensões LW (comprimento L e largura W) que deve ser cortada

para a produção de m tipos de itens de dimensões i wi , i=1,…,m. Além disso, a cada item i está

associado um valor de utilidade vi , i=1,…,m.

Seja (1 , 2 ,…, m) o vetor associado a um padrão de corte sobre a placa LW, isto é, i é o

número de itens do tipo i no padrão. O problema é, então, genericamente formulado por:

maximizar v11 + v22 + … + vmm (39.1)

sujeito a:

(1 , 2 ,…, m) corresponde a um padrão de corte

sobre a placa LW (39.2)

No caso de padrões de corte em 2-estágios, a condição (39.2) pode ser modelada da seguinte

forma:

i) Determinar as melhores maneiras de se cortar as faixas: Lw1 , Lw2 … Lwm. Observe que na

faixa Lw1 somente podem ser cortados itens cujas larguras não excedam a w1. A mesma

observação é válida para as demais faixas, de modo que se faz necessário a definição de conjuntos

dos itens que podem ser cortados numa faixa Lwk :

Wk = { i tal que: wi wk }.

As faixas são definidas somente para larguras diferentes, pois se wk = wj então as faixas

Lwk e Lwj são iguais. Seja, portanto, r o número de larguras diferentes. Por simplicidade de

notação, supomos que as r primeiras larguras sejam as diferentes, ou seja, consideramos somente as

faixas: Lw1 , Lw2 … Lwr . O exemplo a seguir torna mais claro o assunto.

Page 40: Minicurso - UNESP: Câmpus de Bauru - Faculdade de Ciênciasadriana/curiosidades/Cortes.pdf · tema e na busca de novos problemas, bem como na modelagem matemática, ... tipologia

V Simpósio de Matemática Presidente Prudente – SP, 10-13 de agosto de 2010

40

Exemplo 7.1. Considere o problema de corte bidimensional, em que a placa LW = 110110

deva ser cortada para a produção de quatro itens cujos comprimentos, larguras e valores de

utilidade estão na tabela abaixo:

i i wi vi

1 2030 6

2 3040 12

3 5060 30

4 6060 36

Desta forma, um padrão de corte na placa 110110, em que os cortes no primeiro estágio são

horizontais (poderíamos, analogamente, definir cortes verticais no primeiro estágio) são obtidos

por combinar faixas: 11030, 11040 e 11060. Note que neste caso, r=3, ou seja, apenas três

tipos de faixas devem ser desenhadas. Definimos os conjuntos dos itens que podem ser cortados

em cada faixa:

Faixa 1: 11030 W1 = { 1 }

Faixa 2: 11040 W2 = { 1, 2 }

Faixa 3: 11060 W3 = { 1, 2, 3, 4 }

Observe que qualquer faixa que não tenha as larguras 30, 40 ou 60 introduziria uma tira de

perda inevitável dentro faixa e, portanto, deve ser evitada. Por exemplo, se considerássemos uma

faixa 11035, então uma tira de 1105 seria inevitavelmente perdida, pois somente

conseguiríamos cortar desta faixa itens do tipo 1 de largura 30.

Cada faixa deve ser cortada para a produção dos itens demandados. Isto deve ser feito de

modo a obter o maior valor de utilidade, ou seja, cada faixa deve ser aproveitada da melhor maneira

possível. Assim, para cada faixa Lwk (k=1,…,r), devemos resolver o seguinte problema da

mochila:

k

k i iki W

V Máximo v (40.1)

sujeito a:

Ll

kWiiki

(40.2)

ik 0, inteiro, i=1,..,m (40.3)

em que ik é o número de itens do tipo i na faixa Lwk.

Após resolvidos os r problemas da mochila (40.1)-(40.3), temos em mãos as melhores faixas

e com elas podemos compor o padrão de corte bidimensional.

Exemplo 7.1 (continuação a). Considerando as três faixas: 11030, 11040 e 11060 temos

três problemas da mochila a ser resolvidos:

Faixa 1: 11030, W1 = { 1 }

V1 = máximo 6 11

sujeito a: 20 11 110

11 0 inteiro.

Page 41: Minicurso - UNESP: Câmpus de Bauru - Faculdade de Ciênciasadriana/curiosidades/Cortes.pdf · tema e na busca de novos problemas, bem como na modelagem matemática, ... tipologia

V Simpósio de Matemática Presidente Prudente – SP, 10-13 de agosto de 2010

41

1 1 1 1 1

L=110

1 2 2 2

L=110

4 3

L=110

Solução: 11 = 5, V1 = 30.

Figura 7.3: Padrão de corte da Faixa 1 do Exemplo 7.1

Faixa 2: 11040, W2 = { 1, 2 }

V2 = máximo 6 12 + 12 22

sujeito a: 2012 + 3022 110

120, 22 0 e inteiros.

Solução: 12 = 1, 22 = 3, V2 = 42.

Figura 7.4: Padrão de corte da Faixa 2 do Exemplo 7.1

Faixa 3: 11060, W3 = { 1, 2, 3,4 }

V3 = máximo 6 13 + 12 23 + 30 33+ 36 43

sujeito a: 20 13 + 30 23 + 50 33 + 60 43 110

13 0, 23 0, 33 0, 43 0 e inteiros.

Solução: 13 = 0, 23 = 0, 33 = 1, 43 = 1, V3 = 66.

Figura 7.5: Padrão de corte da Faixa 3 do Exemplo 7.1

Note que assim construídos, V1 = 30, V2 = 42 e V3 = 66 são os valores de utilidade das

faixas 1, 2 e 3, respectivamente, isto é, cada vez que a faixa 1 for usada no padrão de corte

bidimensional, o valor V1=30 é obtido, pois ela carrega consigo a melhor solução com 5 itens do

tipo 1.

Segue, então, a segunda etapa da construção do melhor padrão de corte bidimensional, que

consiste em arranjar estas faixas sobre a placa LW = 110110.

ii) Determinar quantas vezes cada faixa deve ser utilizada no padrão bidimensional.

Page 42: Minicurso - UNESP: Câmpus de Bauru - Faculdade de Ciênciasadriana/curiosidades/Cortes.pdf · tema e na busca de novos problemas, bem como na modelagem matemática, ... tipologia

V Simpósio de Matemática Presidente Prudente – SP, 10-13 de agosto de 2010

42

4 3

L=110

1 1 1 1 1

1 2 2 2 W=110

Como cada faixa k tem largura wk e a largura da placa é W, temos então de resolver o

seguinte problema da mochila:

V= maximizar V11 + V22 + …+Vrr (41.1)

sujeito a: w11 + w22 + …+wrr W (41.2)

10, 2 0,…, r0 e inteiros. (41.3)

Exemplo 7.1 (continuação b). Após a resolução das três mochilas, que definem os valores de

utilidade para cada faixa (bem como, quais itens devem ser cortados), resta ainda o problema da

mochila que define quantas vezes as faixas devem ser utilizadas para formar o padrão de corte

bidimensional:

V = maximizar 30 1 + 42 2 + 663

sujeito a: 301 + 402 + 603 110

10, 2 0, 30 e inteiros.

Solução: 1 =1, 2 = 1, 3 = 1, V = 138.

Figura 7.6: Padrão de corte (solução) do Exemplo 7.1

Resumo do procedimento:

Solução do problema de corte bidimensional guilhotinado em 2-estágios:

i) Resolva r problemas da mochila (40.1)-(40.3) obtendo os valores de utilidade de cada faixa;

ii) Resolva o problema da mochila (41.1)-(41.3) para determinar o padrão de corte ótimo.

O vetor associado ao padrão de corte obtido pelo procedimento acima (Figura 7.6), que

determina o número de itens no padrão é dado por:

a =

r

1kkmkm

r

1kkk22

r

1kkk11

(42)

Page 43: Minicurso - UNESP: Câmpus de Bauru - Faculdade de Ciênciasadriana/curiosidades/Cortes.pdf · tema e na busca de novos problemas, bem como na modelagem matemática, ... tipologia

V Simpósio de Matemática Presidente Prudente – SP, 10-13 de agosto de 2010

43

A rigor, as somatórias em (42) são restritas às faixas que podem conter o item, isto é,

i = kWi|k

kik , pois ik =0 se iWk. O exemplo a seguir esclarece este assunto.

Exemplo 7.1 (continuação c). O número de itens no padrão de corte obtido pelo procedimento

acima é facilmente obtido. Recorde que cada faixa pode ser composta dos seguintes itens:

Faixa 1: W1 = { 1 }

Faixa 2: W2 = { 1, 2 }

Faixa 3: W3 = { 1, 2, 3, 4 }

Portanto, o item 1 pode aparecer nas três faixas (é o item de menor largura), nas quantidades:

11 =5, 12 = 1 e 13 = 0 (reveja as soluções de cada faixa).

Como cada faixa é cortada nas quantidades: 1 =1, 2 = 1, 3 = 1, segue que o número de itens

do tipo 1 que aparece no padrão de corte bidimensional é dado por:

1 = 11 1 + 12 2 + 13 3 = 5*1 + 1*1 + 0*1 = 6.

Analogamente, podemos calcular o número de itens do tipo 2, 3 e 4 no padrão de corte

bidimensional (observe que o item 2 só aparece nas faixas 2 e 3):

2 = 22 2 + 23 3 = 3*1 + 0*1 = 3,

(observe que o item 3 só aparece na faixa 3):

3 = 33 3 = 1*1 = 1,

(observe que o item 4 só aparece na faixa 3):

4 = 43 3 = 1*1 = 1.

Portanto, o vetor associado ao padrão de corte bidimensional que contabiliza os itens nele

contidos é:

a =

1

1

3

6

4

3

2

1

de modo que se cortarmos X placas conforme esse padrão de corte (Figura 7.6), obteremos 6X

itens do tipo 1, 3X itens do tipo 2, etc., ou seja, cada coordenada do vetor Xa fornece o total de

itens produzidos, como já havíamos utilizado na modelagem unidimensional.

Observe que o procedimento anterior produz padrões de corte em 2-estágios, em que o

primeiro estágio é obtido por cortes horizontais (pois faixas Lwk são produzidas). Portanto, este

procedimento pode ser repetido, considerando o primeiro estágio com cortes verticais para a

produção das faixas kW, e redefinindo os conjuntos dos itens que podem ser cortados das faixas

Page 44: Minicurso - UNESP: Câmpus de Bauru - Faculdade de Ciênciasadriana/curiosidades/Cortes.pdf · tema e na busca de novos problemas, bem como na modelagem matemática, ... tipologia

V Simpósio de Matemática Presidente Prudente – SP, 10-13 de agosto de 2010

44

1

L=110

60

wk

li

wi

wi

verticais: Lk = { i tal que i

k }, bem como os problemas (40.1)-(40.2) e (41.1)-(41.2)

coerentemente.

Exercício. Detalhe a construção de padrões de corte guilhotinados em 2-estágios, de modo que o

primeiro estágio é formado por cortes verticais.

Note que o padrão de corte obtido no Exemplo 7.1 (Figura 7.6) exige corte além do segundo

estágio, chamado "apara". Isto não caracteriza um padrão de corte 3-estágios, pois não há

combinação de itens após o segundo estágio, simplesmente uma apara final. Este tipo de padrão de

corte 2-estágios é também chamado inexato e tem importância prática, pois normalmente uma serra

manual menor, limitada a cortar peças pequenas, pode ser utilizada para a apara final. Caso não seja

possível esta apara final, devemos então considerar o conjunto dos itens que podem ser cortados de

cada faixa por:

Wk = { i tal que: wi = wk }.

Neste caso, os itens cortados de cada faixa têm a mesma largura e, portanto, não tem a apara

e o problema de corte em 2-estágios é chamado exato.

Algumas vezes, o equipamento de corte que faz a apara (eventualmente pode ser o mesmo

que faz o corte principal e, portanto, a apara reduz a produtividade do equipamento) é usado para

cortes adicionais simples. Por exemplo, se iWk (isto é, wi wk), porém, wi é muito menor do que

wk, de modo que vários itens do tipo i podem ser obtidos numa faixa vertical de comprimento li

(observe Figura 7.7), então ao invés de um único item i no problema (40.1)-(40.3), é usado um

"item" que consiste em

i

k

w

w itens tipo i e seu valor de utilidade é vi

i

k

w

w.

Figura 7.7: Faixa Lxwk.

Vejamos um exemplo para elucidar este ponto.

Exemplo 7.1 (continuação d). Na continuação a) do exemplo, observe que para efeito de

construção da faixa 3 de largura 60, o item 1 poderia ser incluído, já que sua largura é 30. Assim,

se o item 1 é incluído de fato na faixa 3 (ou seja, 13 > 0), então teríamos uma solução do tipo:

Figura 7.8: Padrão de corte para a Faixa 3 do exemplo 7.1.

Page 45: Minicurso - UNESP: Câmpus de Bauru - Faculdade de Ciênciasadriana/curiosidades/Cortes.pdf · tema e na busca de novos problemas, bem como na modelagem matemática, ... tipologia

V Simpósio de Matemática Presidente Prudente – SP, 10-13 de agosto de 2010

45

Porém, a "perda" provocada pela apara é na realidade um novo item 1. Em outras palavras,

temos 2 itens do tipo 1: 230

60

w

w

1

3

. Assim, ao resolvermos o problema da mochila para

determinarmos o melhor aproveitamento da faixa 3, podemos considerar o seguinte problema:

Faixa 3: 11060, W3 = { 1, 2, 3,4 }

V3 = máximo 12 '13 + 12 23 + 30 33+ 36 43

sujeito a: 20 '13 + 30 23 + 50 33 + 60 43 110

13 0, 23 0, 33 0, 43 0 e inteiros.

Neste caso o problema tem solução alternativa (além daquela já apresentada):

Figura 7.9: Padrão de corte para a Faixa 3 do exemplo 7.1.

'13 = 3 13 = 6 (pois o "item" 1 representa na verdade 2 itens do tipo 1), 23=0, 33=1, 43 =0.

Observe que se o valor de utilidade do item 1 fosse, digamos v1 = 7, então esta solução seria

melhor que aquela da Figura 7.5 e o valor de utilidade da faixa V3 seria 72.

Considerou-se até agora que os itens sejam cortados seguindo a orientação da chapa, isto é,

admitiu-se que os itens não sofrem rotações de 90 graus ao serem arranjados num padrão de corte.

Se isto não for válido para algum item i, então basta considerá-lo como dois itens diferentes de

dimensões (i,wi) e (wi, i

), respectivamente.

Em certas situações práticas, é necessário considerar-se o caso restrito, em que a quantidade

de um mesmo item no padrão é limitado. Outros métodos para resolver o problema guilhotinado 2-

estágios restrito podem ser encontrados em Vianna et al. (2000), Hifi e Roucairol (2001) e Lodi et

al. (2003).

São poucos os trabalhos encontrados na literatura que apresentam modelos matemáticos para

gerar padrões guilhotinados estagiados. Podemos citar Lodi et al. (2003) e Yanasse e Morabito

(2003).

Padrão bidimensional guilhotinado 1-grupo

Padrões guilhotinados 1-grupo (ou padrão tabuleiro) pertencem a uma classe especial dos

padrões 2-estágios em que os cortes do segundo estágio são realizados simultaneamente nas faixas

resultantes do primeiro estágio (Gilmore e Gomory, 1965), ou seja, os cortes do segundo estágio são

produzidos junto com os cortes do primeiro estágio, sem mover as faixas e, desta maneira,

economizando tempo de processamento da máquina (Figura 7.10).

3

L=110

60

Page 46: Minicurso - UNESP: Câmpus de Bauru - Faculdade de Ciênciasadriana/curiosidades/Cortes.pdf · tema e na busca de novos problemas, bem como na modelagem matemática, ... tipologia

V Simpósio de Matemática Presidente Prudente – SP, 10-13 de agosto de 2010

46

Figura 7.10: Padrão de corte 1-grupo.

Embora estes padrões sejam mais simples que os padrões 2-estágios, uma dificuldade

adicional é introduzida porque as faixas não podem mais ser cortadas de forma independente. Seja

Ri o retângulo (i,wi), i =1 ,.., m. Considere a matriz, de ordem m, = (ik), definida como:

se

0 caso contrário

r r i k

ik

, R ( ,w )

,

em que r é o valor do retângulo Rr (p.e., a área de um item do tipo r). Note que ii=i, i = 1,...,m.

As variáveis que definem um padrão 1-grupo são:

i = número de vezes que o comprimento i é cortado ao longo de L

k = número de vezes que a largura wk é cortada ao longo de W.

Note que o produto ik define o número de itens de tamanho (i,wk) no padrão. Logo, o

padrão 1-grupo mais valioso é obtido resolvendo-se o seguinte programa quadrático inteiro:

maximizar 1 1

m m

ik i ki k

sujeito a:

1

m

i ii

L

1

m

k kk

w W

i 0, k 0, inteiros, i, k = 1, ..., m.

O modelo acima envolve dificuldades de solução. Extensões do modelo tanto para o caso

restrito quanto o caso não-exato, assim como linearizações dos mesmos, foram estudados em

Yanasse e Morabito (2003). Estes modelos também são de difícil solução.

Heurísticas para o problema 2-estágios guilhotinado 1-grupo foram apresentadas em

Gilmore e Gomory (1965), Morabito e Arenales (2000) e Yanasse and Katsurayama (2003).

Além de padrões de corte 2-estágios e 1-grupo, existem na literatura vários outros tipos de

problemas para problemas de corte bidimensionais assim como outros métodos de solução para este

problema.

Page 47: Minicurso - UNESP: Câmpus de Bauru - Faculdade de Ciênciasadriana/curiosidades/Cortes.pdf · tema e na busca de novos problemas, bem como na modelagem matemática, ... tipologia

V Simpósio de Matemática Presidente Prudente – SP, 10-13 de agosto de 2010

47

8. Problemas Tridimensionais

Problemas bidimensionais envolvem maiores dificuldades geométricas, comparativamente

aos problemas unidimensionais. Similarmente, problemas tridimensionais envolvem dificuldades

geométricas ainda maiores. Nesta seção discute-se um modelo matemático para PCE's

tridimensionais.

O principal problema tridimensional é o carregamento de contêineres. Para Bischoff e

Marriott (1990), na prática o problema aparece em dois casos importantes:

i) quando uma combinação de contêineres deve ser escolhida para transportar uma dada carga;

ii) quando o maior volume de uma dada carga deve ser escolhido para ser transportado em um

único contêiner.

Além do arranjo geométrico das caixas dentro de cada contêiner, pode haver outras

restrições, por exemplo: estabilidade da carga; orientação das caixas dentro do contêiner; número de

caixas que podem ser empilhadas umas sobre as outras; grupos de itens que devem ficar juntos

dentro do contêiner (por terem características semelhantes ou por serem descarregados juntos);

grupos de itens que devem permanecer separados dentro do contêiner (secos, resfriados, produtos

químicos); tecnologia dos equipamentos de manuseio (por exemplo, empilhadeira); limite de peso

suportado pelo contêiner; distribuição de peso dentro do contêiner, etc.

A abordagem de Gilmore e Gomory também pode ser aplicada em problemas

tridimensionais. Por exemplo, considere um problema de corte de estoque que consiste em

minimizar o número de contêineres (objetos) de dimensões (L, W, H) necessários para empacotar

um conjunto de caixas retangulares (itens) de dimensões (i, wi, hi), i = 1, ..., m. Similarmente aos

modelos das seções anteriores, podemos definir o seguinte modelo tridimensional:

minimizar 1

p

kkx

sujeito a:

1

p

ik k ika x b , i = 1, ..., m

xk 0 e inteiro, k = 1, ..., p.

O sub-problema gerador de padrões tridimensionais (colunas) é dado por:

maximizar 1

m

i ikia

sujeito a:

(a1k, a2k, …, amk) representa um padrão tridimensional

0 aik bi e inteiro, i = 1, ..., m.

em que i é a variável dual associada à i-ésima restrição do modelo. A abordagem de Gilmore e

Gomory pode funcionar bem quando bi é consideravelmente maior do que o produto

i i iL / W / w H / h , que corresponde ao número máximo de caixas do tipo i no contêiner (L,

W, H).

Assim como no caso bidimensional, as dificuldades para resolver o modelo são grandes, se

comparadas com um problema da mochila unidimensional, e dependem do tipo de padrão

tridimensional (por exemplo, guilhotinado ou não-guilhotinado, restrito ou irrestrito, etc.). Além das

restrições geométricas envolvidas (os empacotamentos devem caber dentro dos contêineres, e duas

caixas não podem ocupar o mesmo espaço), outras restrições devem ser eventualmente

Page 48: Minicurso - UNESP: Câmpus de Bauru - Faculdade de Ciênciasadriana/curiosidades/Cortes.pdf · tema e na busca de novos problemas, bem como na modelagem matemática, ... tipologia

V Simpósio de Matemática Presidente Prudente – SP, 10-13 de agosto de 2010

48

consideradas, como a estabilidade do carregamento.

Restrições de estabilidade do carregamento são difíceis de serem modeladas. Na prática, elas

são verificadas movimentando-se o carregamento produzido. Apesar de uma definição formal de

estabilidade do carregamento estar além do escopo deste trabalho.

Page 49: Minicurso - UNESP: Câmpus de Bauru - Faculdade de Ciênciasadriana/curiosidades/Cortes.pdf · tema e na busca de novos problemas, bem como na modelagem matemática, ... tipologia

V Simpósio de Matemática Presidente Prudente – SP, 10-13 de agosto de 2010

49

9. Bibliografia

[1] Arenales, M., Armentano, V., Morabito, R., Yanasse, H., (2007). Pesquisa Operacional. Rio

de Janeiro: Elsevier. Editora Campus, 523p.

[2] Arenales, M. N.; Morabito, R. Yanasse, H., (Eds.) (2004) Problemas de corte e

empacotamento, Minicurso, XXXVI SBPO – Simpósio Brasileiro de Pesquisa Operacional,

São João Del Rei, MG, de 23 a 26 de novembro, 80 p.

[3] Barnes, F (1979). Packing the maximum number of m x n tiles in a large p x q rectangle.

Discrete Mathematics, vol. 26, pp. 93-100.

[4] Bischoff, E. e M. Marriott (1990). A comparative evaluation of heuristic for container

loading. Eur.J.Oper.Res. 44, 267-276.

[5] Bortfeldt, A., Gehring, H (2001). A Hybrid Genetic Algorithm for the Container Loading

Problem. European Journal of Operational Research, v.131, p.143-161.

[6] Brooke, A., Kendrick, D., Meeraus, A. e Rosenthal, R.E. (1992). GAMS: A user’s guide,

Release 2.25. The Scientific Press.

[7] Brown, A. (1971), Optimum Packing and Depletion. MacDonald - London and American

Elsevier Inc., New York, NY.

[8] Chvatal, V. (1983). Linear Programming, W.H. Freeman.

[9] Coffman, E., Garey, M. e Johnson, D. (1996). Approximation algorithms for bin packing: A

survey. In D.S. Hochbaum (ed), Approximation algorithms for NP-hard problems, PWS

Publ., Boston.

[10] Dowsland, K. e Dowsland, W. (1992). Packing Problems, European Journal of Operational

Research, 56, 2-14.

[11] Dyckhoff, H. (1981), "A New Linear Programming Approach to the Cutting Stock

Problem", Operations Research 29, pp.1092-1104.

[12] Dyckhoff, H. (1990). A Typology of Cutting and Packing Problems, European Journal of

Operational Research, 44, 145-159.

[13] Dyckhoff, H., Kruse, H.-J., Abel, D. e Gal, T. (1985). Trim Loss and Related Problems,

Omega, 13, 59-72.

[14] Dyckhoff, H. e Finke, U. (1992). Cutting and Packing in Production and Distribution: A

Typology and Bibliography, Springler-Verlag Co, Heidelberg.

[15] ESICUP - Euro Special Interest Group on Cutting and Packing. Available in:

http://www.fe.up.pt/esicup/ (accessed in 2009).

[16] Garey, M.R.; Graham, R.L.; Johnson, D.S.; Knuth, D.E. (1978). Complexity results for

bandwidth minimization, SIAM Journal of Applied Mathematics, 34(3):477-495.

[17] Garey, M.R e Johnson, D.S. (1979). Computers and Intractability A guide to the theory of

NP-completeness, W.H. Freeman and Co.

[18] Gilmore, P.C. e Gomory, R.E. (1961). A Linear Programming Approach to the Cutting

Stock Problem. Operations Research, 9, 849-859.

[19] Gilmore, P.C. e Gomory, R.E. (1963). A Linear Programming Approach to the Cutting

Stock Problem, Part II. Operations Research, 11, 863-888.

Page 50: Minicurso - UNESP: Câmpus de Bauru - Faculdade de Ciênciasadriana/curiosidades/Cortes.pdf · tema e na busca de novos problemas, bem como na modelagem matemática, ... tipologia

V Simpósio de Matemática Presidente Prudente – SP, 10-13 de agosto de 2010

50

[20] Gilmore, P.C. e Gomory, R.E. (1965). Multistage Cutting Stock Problems of Two and More

Dimensions. Operations Research, 13, 94-120.

[21] Gilmore, P. e Gomory, R. (1966). The Theory and Computation of Knapsack Functions,

Operations Research 14, p.1045-1074.

[22] Golden, B. (1976). Approaches to the Cutting Stock Problem. AIIE Transactions, 8, 265-

274.

[23] Haessler, R.W. (1991). Cutting stock problems and solutions procedures, European Journal

of Operational Research, 54: 141-50.

[24] Herz, J. (1972). Recursive computational procedure for two-dimensional stock cutting. IBM

Journal of Research and Development 16, 462-469.

[25] Hifi, M. and Roucairol, C. (2001). Approximate and exact algorithms for constrained

(un)weighted two-dimensional two-staged cutting stock problems. Journal of Combinatorial

Optimization 5, 465-494.

[26] Hinxman, A.I. (1980). The Trim-Loss and Assortment Problems: A Survey. European

Journal of Operational Research, 5, 8-18.

[27] Hoto, R. (2001). O problema da mochila compartimentada aplicada no corte de bobinas de

aço. Tese de doutorado, COPPE/UFRJ.

[28] Hoto, R., Maculan, N., Marques, F. e Arenales, M. (2003). Um problema de corte com

padrões compartimentados, Pesquisa Operacional, 23 (1), p. 169-187.

[29] Lasdon, L.S. (1970). Optimization Theory for Large Systems. MacMillan, New York.

[30] Lodi, A. e Monaci, M. (2003). Integer programming models for 2-staged two-dimensional

knapsack problems. Mathematical Programming, 94, 257-278.

[31] Marques, F. (2004), O problema da Mochila Compartimentada: Modelos, métodos e

aplicações, Tese de doutorado, ICMC/USP.

[32] Marques, F. e Arenales, M. (2002). O problema da mochila compartimentada e aplicações,

Pesquisa Operacional, 22 (3), p. 285-304.

[33] Martello, S. e Toth, P. (1990). Knapsack Problems: Algorithms and Computer

Implementations. J. Wiley & Sons, West Sussex.

[34] Morabito, R. (1992). Uma Abordagem em Grafo-E/OU para o Problema de

Empacotamento: Aplicação ao Carregamento de Páletes e Contêineres. Tese de Doutorado,

Escola de Engenharia de São Carlos, USP.

[35] Morabito, R. e Arenales, M. (1992). Um exame dos Problemas de Corte e Empacotamento.

Pesquisa Operacional, 12(1), 1-20.

[36] Morabito, R. e Arenales, M. (2000). Optimizing the cutting of stock plates in a furniture

company, International Journal of Production Research 38(12), 2725-2742.

[37] Poldi, K. C. (2003). Algumas extensões do problema de corte de estoque. Dissertação de

Mestrado, ICMC - USP.

[38] Sweeney, P.E. e Paternoster, E.R. (1992). Cutting and Packing Problems: A Categorized

Application-Oriented Research Bibliography. Journal of Operational Research Society, 43,

691-706.

[39] Vianna, A. C., (2000). Problemas de corte e empacotamento. Tese de Doutorado. ICMC –

USP – São Carlos, Brasil.

Page 51: Minicurso - UNESP: Câmpus de Bauru - Faculdade de Ciênciasadriana/curiosidades/Cortes.pdf · tema e na busca de novos problemas, bem como na modelagem matemática, ... tipologia

V Simpósio de Matemática Presidente Prudente – SP, 10-13 de agosto de 2010

51

[40] Viswanathan, K. V. e Bagchi, A. (1993). Best-first search methods for constrained two-

dimensional cutting stock problems. Operations Research 41(4), 768-776.

[41] Wäscher, G., Gau, T., 1996. Heuristics for the integer one-dimensional cutting stock

problem: a computational study, OR Specktrum 18, 131-144.

[42] Wäscher, G. e Gau, T. (1996). Heuristics for the Integer One-dimensional Cutting Stock

Problem: a computational study. OR Spektrum, 18, 131-144.

[43] Wäscher G, Haussner H, Schumann H., An improved typology of cutting and packing

problems. European Journal of Operational Research, 183:1109-1130, (2007).

[44] Yanasse, H.H., Katsurayama, D.M (2003). Checkerboard patterns: proposals for its

generation. Forthcoming in International Transactions in Operational Research.

[45] Yanasse, H. e Morabito, R. (2003). Linear models for one-group two-dimensional guillotine

cutting problems. Submetido para publicação.