programação linear teoria e modelagem matemática prof. antônio sérgio coelho...
Post on 18-Apr-2015
116 Views
Preview:
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
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
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