• Nenhum resultado encontrado

V SMAT Simpósio de Matemática Presidente Prudente - SP 10 a 13 de agosto de Minicurso Introdução a Problemas de Corte de Estoque

N/A
N/A
Protected

Academic year: 2021

Share "V SMAT Simpósio de Matemática Presidente Prudente - SP 10 a 13 de agosto de Minicurso Introdução a Problemas de Corte de Estoque"

Copied!
51
0
0

Texto

(1)

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

adriana@fc.unesp.br

Andréa Carla Gonçalves Vianna

Departamento de Computação - Faculdade de Ciências Universidade Estadual Paulista - Campus de Bauru

(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

(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.

(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.

(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

(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.

(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.

(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.

(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:

(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.

(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, caso contrário. j     xij =

1, se o item for cortado da barra ; 0, caso contrário.

i j

  

Podemos então escrever o problema como:

minimizar CUSTO =

N j j jy c 1 (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:

(12)

maximizar UTILIDADE =



  N j ij i m i x v 1 1 (6.1) sujeito a: 1 1, , m i ij j i x L j N   

(6.2) m i x N j ij 1 1, , 1   

(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.

(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á: di

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

(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   mmé o comprimento total dos itens no padrão; b) 1m é o número de itens;

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

d) σ×(1 m ) é a perda decorrente da largura da serra. 1 Portanto, a desigualdade (7.1) deve ser modificada para:

1 1   mm+ σ×(1m1)  L,

ou equivalentemente,

1 1

(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 xj0 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.

(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 1m             , a2 =    12 22 2m             , , 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)

x10, x20, ..., xn0. (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:

(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, x0. (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, x0, 0 y  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 - (1j12j2mjm), (13)

como a perda no padrão de corte j, cujo vetor associado é aj = ( 1j, 2j,,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

(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 = ( ) ( ) ( ) 1 1 1 1 1

        n j j j m i m i ij i n j n j j ij i x s L x c x v   = 1 1 ( ( ) ) n m i i ij j j i sL v sc x     

. (15)

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

cj=sL v s c m i ij i i

    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 i j i ij T L x d 1 ) / (  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

(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 i j i j i m i ij w T L x d 1 , ) / ) ( (   , 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;

(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:

j j m m j j L           1 1 2 2 (19.1) . , , 1 , inteiros e 0 , , 0 , 0 2 1 j N j m j j       (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 + … +

N n i 1 cNxiN (20.1) sujeito a:

 1 1 n i ai1xi1 +

 2 1 n i ai2xi2 + … +

N n 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:

(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 + … +

N n i 1 cNxiN (21.1) sujeito a:

 1 1 n i ai1xi1 +

 2 1 n i ai2xi2 + … +

N n i 1 aiNxiN = d (21.2)

 1 1 n i xi1 e1

 2 1 n i xi2 e2 (21.3)

N n 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.

(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 x0

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).

(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

x x1*, *2,...,x*n

. Uma solução factível (x1, x2, ..., xn) é ótima se: f

x x1*, 2*,...,xn*

≤ 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 x*

x x1*, 2*,...,xn*

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 2

i i in n i

a xa x  a xb

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 2

i i in n i

a xa x  a xb

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

(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 i

xxxx  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.

(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 x'(x1'x'2)T (0,0)Ta 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 x ' (0,0)T não é uma solução ótima.

(26)

Quando analisamos a solução factível '' (2,0)x  T, 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

* ( )T (1,3)T

xxx, 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 x x 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.

(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 Rmn 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:

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

por

1, 2,..., m

B B B

B 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 m

N N N

N  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

(28)

Definição 5.1. A solução particular ˆx obtida por: ˆx = BB -1b, ˆx = 0, é chamada solução N básica. Se ˆx = BB -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:

( ) T [ TB TN] B TB B TN N N x f x c x c c c x c x x          (25)

em que c são os coeficiente das variáveis básicas na função objetivo e TB c são os coeficientes das TN

variáveis não-básicas na função objetivo. Substituindo (24) em (25), temos:

f(x) = T B

c xB + c xTN N

= c (BTB -1b - B-1NxN) + c xTN N (26)

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

f( ˆx ) = c (BTB -1b) + c (0) = TN c (BBT -1b)

Definição 5.2. Chamamos de vetor das variáveis duais ou, vetor multiplicador simplex o vetor Rm, dado por:

T = c

B 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 , Ta

j= 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

Referências

Documentos relacionados

O Quantitative susceptibility mapping (QSM) é uma técnica não-invasiva de Imagem por Ressonância Magnética (MRI) recente que, ao mensurar a distribuição espacial de

A Tabela 5 mostra uma projeção da quantidade de resíduos que são encaminhados desnecessariamente para tratamento e disposição final, a partir de um balanço que utiliza à

A ausência de hormônios no meio de cultivo de CCOs foi suficiente para produzir a mesma quantidade de embriões que o controle contendo soro, independentemente da presença ou

O objetivo principal deste estudo de caso era verificar o grau de valorização da medicina popular de plantas entre o próprio povo, tendo por base uma comunidade com diferentes

forficata recém-colhidas foram tratadas com escarificação mecânica, imersão em ácido sulfúrico concentrado durante 5 e 10 minutos, sementes armazenadas na geladeira (3 ± 1

Com a investigação propusemo-nos conhecer o alcance real da tipologia dos conflitos, onde ocorrem com maior frequência, como é que os alunos resolvem esses conflitos, a

Finalizando, destaca-se que a relação entre a busca por poder e prestígio e o comportamento de compra compulsiva não foi validada estatisticamente neste estudo, não sendo

São considerados custos e despesas ambientais, o valor dos insumos, mão- de-obra, amortização de equipamentos e instalações necessários ao processo de preservação, proteção