programação linear teoria e modelagem matemática prof. antônio sérgio coelho...

Post on 18-Apr-2015

117 Views

Category:

Documents

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Programação Linear

Teoria e Modelagem Matemática

Prof. Antônio Sérgio Coelho (coelho@deps.ufsc.br)

Prof. Sérgio Fernando Mayerle (mayerle@deps.ufsc.br)

Programação LinearSumário – Parte I

Exemplo introdutório Modelagem conceitual e matemática Solução gráfica Dificuldades adicionais Lista de exercícios adicionais

Programação LinearExemplo de Introdutório

A WINDOR GLASS Inc. dispõe de capacidade extra para produzir dois novos produtos. A demanda é muito maior que a capacidade disponível (toda produção poderá ser vendida).

Pergunta-se: (a) o que produzir? (b) quanto produzir? (c) qual será o lucro? (d) qual o valor, em $/hora, da capacidade disponível em cada setor produtivo? Os dados estão na tabela abaixo.

Setor Produtivo

ProdutoCapacidade DisponívelJanelas Portas

Montagem 1 hora/unid. - 4.000 horas/mês

Laminação - 2 hora/unid. 12.000 horas/mês

Corte 3 hora/unid. 2 hora/unid. 18.000 horas/mês

Lucro Unitário $ 3,00 $ 5,00

Programação LinearModelagem Conceitual e Matemática

Variáveis

X1 = qtde. de janelas, em milhares de unidades;

X2 = qtde. de portas, em milhares de unidades;

Z = lucro total obtido com novos produtos. Restrições

a) disponibilidade do setor de montagem;

b) disponibilidade do setor de laminação;

c) disponibilidade do setor de corte;

d) quantidades não negativas. Objetivo

Maximizar o lucro total da empresa

Setor Produtivo

ProdutoCapacidade DisponívelJanelas Portas

Montagem 1 hora/unid. - 4.000 horas/mês

Laminação - 2 hora/unid. 12.000 horas/mês

Corte 3 hora/unid. 2 hora/unid. 18.000 horas/mês

Lucro Unitário $ 3,00 $ 5,00

Programação LinearSolução Gráfica

2x

9

8

7

6

5

4

3

2

1

00 1 2 3 4 5 6 7 8 9

1x

122 2x

41x

1823 21 xx

02 x

01x

Programação LinearDificuldades Adicionais ao Problema...

O que fazer se além de portas e janelas a WINDOR puder fabricar, também, mesas e armários?

Resolver graficamente o problema torna-se inviável ... É necessário usar métodos numéricos mais eficazes e eficientes.

Quantos produtos diferentes uma fábrica pode produzir?5, 10, 100, 1000, ...

Quantos setores de produção uma fábrica possui?5, 10, 100, 1000, ...

E se existem restrições adicionais em relação ao uso de matéria-prima, energia, estoques, mão-de-obra, cadeia de suprimento e distribuição?

Outros modelos, mais complexos, poderão ser formulados ...

Programação LinearLista de Exercícios de Formulação

Produção Logística Mistura Finanças e investimentos Carregamento de navios Corte de chapas e barras Aquisição de máquinas Problemas dinâmicos Câmbio

Estratégia militar Engenharia estrutural Operação de dutos Dimensionamento de linhas de

produção Alocação de mão-de-obra Programação de operações Controle de emissão de poluentes

Alguns do problemas acima apresentam variáveis discretas que somente podem assumir valores do conjunto de inteiros, e em casos mais particulares o conjunto de inteiros se limita a {0,1}.

Programação LinearSumário – Parte II

Forma padrão Relações de equivalência Suposições da Programação Linear Propriedades Estrutura do método Simplex

Programação LinearForma Padrão (1)

Programação LinearForma Padrão (2)

Programação LinearForma Padrão (3)

Programação LinearForma Padrão (4)

Programação Linear Relações de Equivalência (1)

Qualquer que seja a estrutura do PPL, sempre é possível transformá-lo no formato padrão apresentado.

Relação entre maximização e minimização

Programação Linear Relações de Equivalência (2)

Relação entre inequações e equações

Programação Linear Relações de Equivalência (3)

Tratamento de limites de variáveis

Programação Linear Suposições

Proporcionalidade

Custos e quantidades de recursos consumidos na produção são proporcionais às quantidades produzidas

Aditividade

Custos totais e quantidades totais de recursos são determinados pela soma de custos e recursos consumidos na produção de todos items

Divisibilidade

É possível produzir quantidades fracionárias de cada um dos produtos Certeza

Todos os parâmetros do modelo são determinados e conhecidos Perspectiva das suposições

Existe a possibilidade de todas estas suposições não serem verdadeiras.

Programação Linear Propriedades

Se existe exatamente uma solução ótima, então deve ser uma solução factível em um vértice

Se existem soluções ótimas múltiplas, então ao menos duas delas devem ser soluções factíveis em vértices adjacentes

Existe um número finito de soluções factíveis em vértices, não maior que...

Se uma solução factível em um vértice é igual ou melhor (segundo o valor de Z) que todas as soluções factíveis nos vértices adjacentes a ela, então é igual ou melhor que todas as demais soluções factíveis existentes nos vértices, isto é, é uma solução ótima

)!(!

!

mnm

nCmn

)!(!

!

mnm

nCmn

2x

9

8

7

6

5

4

3

2

1

00 1 2 3 4 5 6 7 8 9

1x

Programação Linear Estrutura do Método Simplex

1. Passo inicial: iniciar com uma solução factível em um vértice.

2. Teste de otimalidade: se não existe solução factível em um vértice adjacente, melhor que a solução atual, então PARE. A solução atual é ótima. Em caso contrário, vá ao passo 3.

3. Passo iterativo: movimente em direção de uma solução factível melhor, em um vértice adjacente; volte ao passo 2.

2x

9

8

7

6

5

4

3

2

1

00 1 2 3 4 5 6 7 8 9

1x

Solução Ótima

Programação LinearSumário – Parte III

Solução inicial viável (caso trivial) Método Simplex na forma tableau

Algoritmo

Exemplo da WINDOR Método Simplex na forma matricial

Formulação matemática

Exemplo da WINDOR Obtenção da solução inicial viável (caso não trivial)

Inclusão de variáveis artificiais

Solução inicial pelo método das duas fases

Solução inicial pelo método do M-grande

Programação LinearSolução Inicial Viável (caso trivial)

Caso triviala) variáveis não negativasb) restrições com limite superior

Solução variáveis nulas folgas iguais ao RHS

Programação LinearMétodo Simplex na Forma Tableau (1)

Base Z X1 X2 S1 S2 S3 RHS

S1 0 1 0 1 0 0 4

S2 0 0 2 0 1 0 12

S3 0 3 2 0 0 1 18

Z 1 -3 -5 0 0 0 0

+inf

+6

+9

Base Z X1 X2 S1 S2 S3 RHS

S1 0 1 0 1 0 0 4

X2 0 0 1 0 1/2 0 6

S3 0 3 0 0 -1 1 6

Z 1 -3 0 0 5/2 0 30

+4

+inf

+2

O que fazer para melhorar a solução? Quanto aumentar X2 ?

Programação LinearMétodo Simplex na Forma Tableau (2)

Base Z X1 X2 S1 S2 S3 RHS

S1 0 0 0 1 1/3 -1/3 2

X2 0 0 1 0 1/2 0 6

X1 0 1 0 0 -1/3 1/3 2

Z 1 0 0 0 3/2 1 36

Var. Decisões Valor Marg.

X1 Janelas 2 0

X2 Portas 6 0

S1 Montagem 2 0

S2 Laminação 0 1,5

S3 Corte 0 1

Z Lucro 36 1

Pergunta-se: (a) o que produzir?(b) quanto produzir? (c) qual será o lucro? (d) qual o valor da capacidade

disponível em cada setor?

Programação LinearMétodo Simplex – Algoritmo

Início

Fim

Montar tableau com solução básica

inicial viável

Existe customarginal < 0 ?

Não

Escolher variável para entrar na base

Calcular razãoRHS / coluna (entra)

Sim

Solução ótima

Fazer troca de base e recalcular

o tableau

Existe razão 0

finita ?

Solução ilimitada

Não

Sim

1

1 Escolher variávelpara sair da base

Custo marginal mais negativoCusto marginal mais negativo

Menor razão não negativaMenor razão não negativa

Programação LinearMétodo Simplex na Forma Matricial (1)

Particionando...Particionando...

Programação LinearMétodo Simplex na Forma Matricial (2)

Como resolver o sistema de equações lineares ?

No caso particular em que as variáveis não básicas são nulas ...

Solução ParticularSolução Particular

Programação LinearMétodo Simplex na Forma Matricial (3)

E o valor da função objetivo ?

No caso particular em que as variáveis não básicas são nulas ...

Solução Particular

Programação LinearMétodo Simplex na Forma Matricial (4)

Resumindo, até aqui tem-se ...

É possível melhorar o valor da função objetivo ? ...

Programação LinearMétodo Simplex na Forma Matricial (5)

Como melhorar ...Escolher para aumentar (entrar

na base) uma variável não básica associada a uma

componente positiva do vetor

Escolher para aumentar (entrar na base) uma variável não básica associada a uma

componente positiva do vetor

RBcc TB

TR

1

Programação LinearMétodo Simplex na Forma Matricial (6)

Aumentar a k-ésima variável não básica (escolhida) ... até quanto ?

Escolher para sair da base uma variável básica

associada ao menor valor calculado.

Escolher para sair da base uma variável básica

associada ao menor valor calculado.

Programação LinearMétodo Simplex na Forma Matricial (7)

Resumo...

Solução

Teste de entrada

Teste de saída

Programação LinearExemplo (1)

Programação LinearExemplo (1.a)

1a. Iteração

0

18

12

4

]000[ˆˆ

B

TB xcz

18

12

4

18

12

4

100

010

001

ˆ

1

1

3

2

1

bB

S

S

S

xB

Programação LinearExemplo (1.b)

0

2

1

x

xxR

53

23

20

01

100

010

001

00053

1

1

1

RBcc

RBcc

TB

TR

TB

TR Entra na base Entra na base

62

18,

2

12,0

4min

0

0

0

2

2

0

18

12

4

ˆ

,

,,

kR

kRkRkBB

x

xxRxx

2

2

0

2

2

0

100

010

0011

1kk RBR

Programação LinearExemplo (1.c)

18

12

4

ˆ

3

2

1

S

S

S

xB

Sai da base Sai da base

Coluna deColuna de

03050

03

10

01

120

020

001

18

12

4

2

1

3

2

1

TR

TB

RB

cc

RB

bS

xx

S

x

S

x

53000

23

20

01

100

010

001

18

12

4

2

1

3

2

1

TR

TB

RB

cc

RB

bx

xx

S

S

S

x

Programação LinearExemplo (2.a)

2a. Iteração

2

53

03

10

01

120

020

001

05003

1

1

1

RBcc

RBcc

TB

TR

TB

TR

30

6

6

4

]050[ˆˆ

B

TB xcz

6

6

4

18

12

4

120

020

001

ˆ

1

1

3

2

1

bB

S

x

S

xB

Programação LinearExemplo (2.b)

0

2

1

S

xxR

Entra na base Entra na base

23

6,0

6,1

4min

0

0

0

3

0

1

6

6

4

ˆ

,

,,

kR

kRkRkBB

x

xxRxx

6

6

4

ˆ

3

2

1

s

x

s

xB

3

0

1

3

0

1

120

020

0011

1kk RBR

Programação LinearExemplo (2.c)

Coluna deColuna de

Sai da base Sai da base

00350

01

10

00

320

020

101

18

12

4

2

3

1

2

1

TR

TB

RB

cc

RB

bS

Sx

x

x

S

x

30050

31

00

10

120

020

001

18

12

4

2

1

3

2

1

TR

TB

RB

cc

RB

bS

xx

S

x

S

x

Programação LinearExemplo (3.a)

3a. Iteração

2

31

01

10

00

320

020

101

35000

1

1

1

RBcc

RBcc

TB

TR

TB

TR

36

2

6

2

]350[ˆˆ

B

TB xcz

2

6

2

18

12

4

320

020

101

ˆ

1

1bBxB

Programação LinearExemplo (3.b)

Solução ótimaSolução ótima

Programação LinearExemplo (4)

Var. Decisões Valor Marg.

X1 Janelas 2 0

X2 Portas 6 0

S1 Montagem 2 0

S2 Laminação 0 -1,5

S3 Corte 0 -1

Z Lucro 36 1

Programação LinearSolução Inicial Viável (caso não trivial)

Não tem solução trivialNão tem solução trivial

Sempre tem solução trivialSempre tem solução trivial

Ambas formulações são equivalentes quando midi ,...,1,0

Programação LinearSolução Inicial Viável – Método do M-grande

m

iidM

1

ótima solução a encontrou Se midi ,...,1,0

grande mentesuficiente é não

ou viável,solução existe não Se

Mdi 0

Programação LinearSolução Inicial Viável – Método das 2 Fases

Resolver o problema da fase 1 usando as variáveis artificiais para formar uma base inicial viável. Se w = 0, então uma solução inicial viável foi obtida para o problema.

Fase 1Fase 1

Fase 2Fase 2

Se w = 0, usar solução ótima da fase 1 como solução inicial viável para a fase 2.

Exemplo

Uma empresa tem três tipos de máquinas de processamento, tendo cada uma delas velocidade e taxas de defeitos diferentes. Devem ser processadas 3500 peças por dia (8 horas/dia). Cada peça defeituosa custa à empresa US$ 1,00. Formule um modelo de PL para determinar a solução ótima para este problema.

Tipo Máquina Peças / hora Defeitos US$ / hora # Máquinas

I 20 5% 2,00 8

II 15 10% 1,75 10

III 10 0% 1,50 20

top related