Análise de sensibilidade, dualidade e
análise pós-otimização
Pesquisa Operacional - 2019/2
Introdução• Uma das hipóteses de um modelo de PPL é assumir que
todos os parâmetros do modelo são determinísticos.
max ou min Z = f(x1, x2, . . . , xn) = c1x1 + c2x2 + . . . + cnxn
sujeito à a11x1 + a12x2 + . . . + a1nxn{ ≤ , = , ≥ }b1
a21x1 + a22x2 + . . . + a2nxn{ ≤ , = , ≥ }b2
am1x1 + am2x2 + . . . + amnxn{ ≤ , = , ≥ }bm
...
...
...
...
x1, x2, . . . , xn ≥ 0 (restrição de não-negatividade)
cj ; aij ; bi são conhecidos com certeza
• A estimativa desses parâmetros é baseada em previsões futuras;
• Mudanças podem ocorrer até que a solução final seja implementada;
• Exemplos:
• Alterações nas quantidades de recursos disponíveis;
• Introdução de um novo produto;
• Variação de preço de um produto;
• Aumento ou diminuição dos custos de produção…
Análise de sensibilidade
• É fundamental no estudos de PPL;
• Objetivo:
• Investigar os efeitos que determinadas alterações nos parâmetros do modelo causariam na solução ótima.
Análise de sensibilidade
• CASO 1: análise de sensibilidade
• Estuda-se a variação (limite inferior e superior) que os coeficientes da função objetivo e as constantes bi podem assumir, sem alterar a solução ótima do modelo inicial ou sem alterar a região de soluções viáveis.
• Considera-se a alteração de um parâmetro por vez.
Análise de sensibilidade
• CASO 2: análise de sensibilidade pós-otimização
• É empregado quando, após mudanças nos parâmetros do modelo, a solução ótima do modelo é afetada.
• Torna-se necessário recalcular a nova solução ótima do modelo.
• Pode-se considerar mais de uma alteração de parâmetro por vez.
Teoria da dualidade
• Antes do estudo do CASO 2: análise de sensibilidade pós-otimização é preciso estudar a teoria da dualidade.
• Os conceitos da teoria de dualidade são usados na análise pós-otimização.
• Todo PPL original é chamado primal, está associado a outro problema chamado dual.
Teoria da dualidade
• Para um problema de maximização com n variáveis e m restrições, o respectivo dual será um problema de minimização com m variáveis e n restrições.
• Apesar de possuírem características distintas, ambos os problemas levam a mesma solução ótima.
• Pode ser mais conveniente resolver um problema de programação linear a partir do problema dual.
Análise de sensibilidade
• Primeiro estudo:
• Análise de sensibilidade do modelo em função de alterações em um dos coeficientes da função objetivo, sem alterar a solução básica original do modelo (a solução básica permanece ótima).
• Observe: como um dos coeficientes da função objetivo é alterado, o valor da função objetivo z também muda.
ExemploA empresa Romes Calçados está interessada em planejar sua produção de chinelos e tamancos para o próximo verão.
Os produtos passam pelo processo de corte, montagem e acabamento.
O lucro unitário por chinelo e tamanco fabricado é de R$15,00 e R$20,00, respectivamente.
A tabela mostra o total de horas de mão de obra (horas-homem) necessárias para produzir uma unidade de cada componente em cada processo de fabricação, além do tempo total disponível por semana, também em horas-homem.
SETORTempo (horas-homem) para processar 1 unidade Tempo disponível
(hora-homem/semana)Chinelo TamancoCorte 5 4 240
Montagem 4 8 360Acabamento 0 7,5 300
Solução
As variáveis de decisão do modelo são:
x1 = quantidade de chinelos a serem produzidos semanalmente
x2 = quantidade de tamancos a serem produzidos semanalmente
O lucro unitário por chinelo e tamanco fabricado é de R$15,00 e R$20,00, respectivamente.
max z = 15x1 + 20x2
SETORTempo (horas-homem) para processar 1 unidade Tempo disponível
(hora-homem/semana)Chinelo TamancoCorte 5 4 240
Montagem 4 8 360Acabamento 0 7,5 300
max z = 15x1 + 20x2
sujeito a 5x1 + 4x2 ≤ 240 (1)4x1 + 8x2 ≤ 360 (2)
7,5x2 ≤ 300 (3)
xj ≥ 0 j = 1,2
1
2
3
x1 = 20, x2 = 35 z = 15(20) + 20(35) = 1000
Análise de Sensibilidade
• Faremos agora uma análise de sensibilidade a partir de alterações nos valores dos coeficientes da função objetivo, efetuando uma alteração por vez.
• O objetivo é determinar o intervalo de valores que cada coeficiente da função objetivo pode assumir, mantendo os demais coeficientes constantes, sem afetar a solução básica do modelo (a solução básica permanece ótima).
Análise de Sensibilidade
• Essa análise baseia-se na comparação entre os coeficientes angulares das restrições ativas (tratadas como restrições de igualdade) com o coeficiente angular da função objetivo.
• As restrições ativas são aquelas que definem a solução ótima do modelo.
• Se as restrições inativas do modelo forem eliminadas, a solução ótima não será afetada.
Coeficiente angular da função objetivo a partir de sua equação reduzida
z = c1x1 + c2x2
x2 = −c1
c2x1 +
zc2
Forma reduzida:
Coeficiente angular da FO
Intervalo de valores para ci que não alteram
a solução básica original do modelo
1
2
RESTRIÇÕESATIVAS
coef. angular das restrições ativas
5x1 + 4x2 ≤ 240 (1)
4x1 + 8x2 ≤ 360 (2)
x2 = −54
x1 + 60 → m1 = −54
x2 = −12
x1 + 45 → m2 = −12
x2 = −c1
c2x1 +
zc2
(FO)
−54
≤ −c1
c2≤ −
12
⇒ 0,5 ≤c1
c2≤ 1,25
ExemploA partir do problema da empresa Romes Calçados, faça uma análise de sensibilidade considerando as seguintes alterações:
a) Suponha que houve um aumento nos lucros unitários do chinelo e tamanco para R$20,00 e R$25,00, respectivamente, em função de reduções de custos de produção, principalmente mão de obra.
Verificar se a solução básica permanece ótima. Em caso positivo, qual o novo valor de z?
max z = 15x1 + 20x2 (FO original)
max z = 20x1 + 25x2 (nova FO)
max z = 20x1 + 25x2 (nova FO)
c1
c2=
2025
= 0,8
0,5 ≤c1
c2≤ 1,25 CONTINUA VÁLIDA!
x1 = 20, x2 = 35 z = 20(20) + 25(35) = 1275
A SOLUÇÃO ÓTIMA É A MESMA.
a)
b) Quais as possíveis variações em c2 que manteriam a solução básica do modelo original? OBS.: Os demais parâmetros permanecem constantes.
max z = 15x1 + 20x2 (FO original)
0,5 ≤c1
c2≤ 1,25 subst. c1 = 15
0,5c2 ≤ 15 ⇒ c2 ≤ 30
1,25c2 ≥ 15 ⇒ c2 ≥ 12
⇒ 12 ≤ c2 ≤ 30 ⇒ co2 − 8 ≤ c2 ≤ co
2 + 10
c) Quais as possíveis variações em c1 que manteriam a solução básica do modelo original? OBS.: Os demais parâmetros permanecem constantes.
0,5 ≤c1
c2≤ 1,25 subst. c2 = 20
0,5 ⋅ 20 ≤ c1 ≤ 1,25 ⋅ 20
⇒ 10 ≤ c1 ≤ 25 ⇒ co1 − 5 ≤ c1 ≤ co
1 + 10
max z = 15x1 + 20x2 (FO original)
d) Imagine que houve um aumento no custo do couro, o principal insumo para a fabricação do tamanco, diminuindo seu lucro unitário para R$18,00.
Para que a solução básica do modelo original permaneça inalterada, o lucro unitário de chinelos deverá satisfazer qual intervalo?
0,5 ≤c1
c2≤ 1,25 subst. c2 = 18
0,5 ⋅ 18 ≤ c1 ≤ 1,25 ⋅ 18
9 ≤ c1 ≤ 22,5
Exercício avaliativo• Considere o problema de maximização
max z = 15x1 + 20x2
sujeito a 4x1 + 8x2 ≤ 360 (1)
xj ≥ 0 j = 1,2
x1 ≤ 60 (2)
• Determinar:
a) A solução gráfica do PPL dado.
b) As possíveis variações em c1 que manteriam a solução básica do modelo original, mantendo os demais parâmetros constantes.
c) Faça o mesmo para c2.
Análise de sensibilidade• Segundo estudo:
• A análise de sensibilidade a partir de alterações no valor de uma bi (disponibilidade de recursos).
• É baseada no conceito de preço-sombra (shadow price):
• definido como o acréscimo (ou decréscimo) no valor da função objetivo caso seja adicionada (ou retirada) uma unidade na quantidade atual de recursos disponíveis da i-ésima restrição.
Preço-sombra
Pi =Δz+1
Δbi,+1=
z+1 − z0
+1
• O cálculo do preço-sombra (� ) caso seja adicionada 1 unidade de recurso em � é:
Pibo
i
acréscimo no valor da função objetivo z caso
seja adicionada 1 unidade de recurso em � bo
i
valor inicial da função objetivo
novo valor dafunção objetivo após
ser adicionada 1 unidade em �bo
i
acréscimo em � . A definição de preço-sombra considera
um acréscimo de 1 unidade na quantidade de recursos i.
boi
Preço-sombra
Pi =Δz−1
Δbi,−1=
z−1 − z0
−1=
z0 − z−1
1
• O cálculo do preço-sombra (� ) caso seja retirada 1 unidade de recurso em � é:
Pibo
i
decréscimo no valor da função objetivo z caso
seja retirada 1 unidade de recurso em � bo
ivalor inicial da função objetivo
novo valor dafunção objetivo após
ser retirada 1 unidade em �bo
i
decréscimo em � . A definição de preço-sombra considera
um decréscimo de 1 unidade na quantidade de recursos i.
boi
Interpretação• O preço-sombra pode ser interpretado como:
• o preço justo a ser pago pela utilização de uma unidade do recurso i
ou
• o custo de oportunidade de recursos pela perda de uma unidade do recurso
O preço-sombra é o nome dado às variáveis de decisão do problema dual.
Análise de sensibilidade• Definido o preço-sombra para o recurso i (� ), o objetivo
dessa análise de sensibilidade é determinar o intervalo de valores em que pode variar de forma que o preço-sombra permanece constante.
Pi
bi
b0i − q ≤ bi ≤ b0
i + p
acréscimo permissível de p unidades em �boi
decréscimo permissível de q unidades em �boi
Preço-sombra constante
• O intervalo deve ser determinado de modo a satisfazer a seguinte relação:
Δz+p
Δbi,+p=
Δz−q
Δbi,−q=
z+p − z0
p=
z0 − z−q
q= Pi
acréscimo no valor da função objetivo z caso
seja adicionada p unidade de recurso em � bo
i
decréscimo no valor da função objetivo z caso
seja adicionada p unidade de recurso em � bo
i
decréscimo de q unidades em �bo
i
acréscimo de P unidades em �bo
i
Intervalo especificado em que o preço-sombra permanece constante
• Se fossem adicionadas p unidades em � , o valor da função objetivo cresceria �
• Essa equação também pode ser interpretada como o preço justo a ser pago pela utilização de p unidades do recurso i, sendo proporcional ao preço-sombra.
• Se fossem adicionadas q unidades em � , o valor da função objetivo decresceria �
• Essa equação também pode ser interpretada como o custo de oportunidade pela perda de q unidades do recurso i.
boi
Δz+p = Pi × p
boi
Δz−p = Pi × q
Preço sombra
• O cálculo do preço-sombra é válido somente para as restrições ativas (que definem a solução ótima do modelo).
• Caso contrário, variações em � dentro da região de soluções viáveis não influenciarão a solução ótima do modelo, concluindo que o preço-sombra para restrições não ativas é zero.
bi
• Resolvendo o problema de forma gráfica, à medida que a quantidade de recursos � varia, a i-ésima restrição se desloca paralelamente à i-ésima restrição original.
• A solução ótima do modelo atual continua sendo determinada pela interseção das mesmas retas ativas do modelo original.
• Enquanto a interseção dessas retas ocorrer dentro da região de soluções viáveis o acréscimo no valor da função objetivo pela utilização de p unidades do recurso i ou o decréscimo pela perda de q unidades do mesmo recurso será proporcional ao preço-sombra
• o preço-sombra permanecerá constante para o intervalo �
• Para qualquer valor de � fora desse intervalo, será necessário recalcular a nova solução ótima do modelo, já que a região de soluções viáveis é alterada.
bi
b0i − q ≤ bi ≤ b0
i + p
bi
ExemploA partir do problema da empresa Romes Calçados, faça uma análise de sensibilidade em função de alterações nos recursos:
a) O preço-sombra para cada setor (corte, montagem e acabamento).
b) Determinar o decréscimo e o acréscimo máximo permissível para cada � que manteriam seu preço-sombra constante (quando o mesmo é positivo) ou que não alterariam a solução ótima do modelo inicial (quando o preço-sombra for nulo).
bi
max z = 15x1 + 20x2
sujeito a 5x1 + 4x2 ≤ 240 (1)4x1 + 8x2 ≤ 360 (2)
7,5x2 ≤ 300 (3)
xj ≥ 0 j = 1,2
Solução
x1 = 20, x2 = 35 z = 15(20) + 20(35) = 1000
CORTE
MONTAGEM
ACABAMENTO
1) Alterações na disponibilidade de recursos do setor de CORTE
• Se o tempo disponível para o setor de cortes aumentar em uma hora-homem, a primeira restrição de:
de 5x1 + 4x2 ≤ 240 (1)para 5x1 + 4x2 ≤ 241
H(x1 = 20,333; x2 = 34,833)
Z = 1001,667
NOVA SOLUÇÃO ÓTIMA
• Preço-sombra para o setor de CORTES (� ), considerando o acréscimo de uma hora-homem na disponibilidade de recursos:
P1
P1 =Δz+1
Δbi,+1=
z+1 − z0
+1=
1001,667 − 1000241 − 240
= 1,667
• A cada hora-homem adicionada para o setor de corte, a função objetivo cresce 1,667;
• O preço justo pago por cada hora-homem utilizada no setor de corte é 1,667
• Preço-sombra para o setor de CORTES (� ), considerando o decréscimo de uma hora-homem na disponibilidade de recursos:
P1
P1 =1000 − 998,333
240 − 239= 1,667
• A cada hora-homem retirada para o setor de corte, a função objetivo decresce 1,667;
• O custo de oportunidade por cada hora-homem perdida no setor de corte é 1,667
de 5x1 + 4x2 ≤ 240 (1)para 5x1 + 4x2 ≤ 239
x1 = 16,667; x2 = 35,167
Z = 998,333
• O objetivo é determinar o intervalo de valores em que � pode variar de forma que o preço-sombra permaneça constante.
b1
b0i − q ≤ bi ≤ b0
i + p
• Enquanto isso correr:
• �P1 × p = 1,667 × p e P1 × q = 1,667 × q
� cresceb1
12 � decresceb1
A solução ótima do modelo original é determinada pela interseção das retas (1) e (2)
Preço-sombra será constante no segmento
DGD(10,40)
G(90,0)
• Enquanto a interseção das equações � e � ocorrer dentro da região de soluções viáveis (segmento DG), o preço-sombra permanecerá constante.
• Os pontos D e G representam os limites inferiores e superior para � .
• Qualquer ponto fora desse segmento resultará em uma nova solução básica,
5x1 + 4x2 = b14x1 + 8x2 = 360
b1
• Os limites inferiores e superiores para � podem ser determinados substituindo-se as coordenadas dos pontos D(10,40) e G(90,0) em � :
• Limite inferior para � (ponto D): �
• Limite superior para � (ponto G): �
• Enquanto o valor de � estiver dentro do intervalo � o preço sombra permanecerá constante.
• �
b1
5x1 + 4x2
b1 5 × 10 + 4 × 40 = 210
b1 5 × 90 + 4 × 0 = 450
b1210 ≤ b1 ≤ 450
b01 = 240 ⇒ b0
1 − 30 ≤ b1 ≤ b01 + 210
b0i − q ≤ bi ≤ b0
i + p
• Para � , o preço a ser pago pela utilização dessas 210 horas-homem para o setor de corte será
• �
• Se fossem adicionadas 210 horas-homem no tempo total disponível para o setor de corte, a função objetivo cresceria R$350,00.
p = 210
P1 × 210 = 1,667 × 210 = 350
• Para � , o custo de oportunidade pela perda dessas 30 horas-homem para o setor de corte será
• �
• Se fossem retiradas 30 horas-homem no tempo total disponível para o setor de corte, a função objetivo decresceria R$50,00.
q = 30
P1 × 30 = 1,667 × 30 = 50
install.packages(c("lpSolve"))
# coeficientes de x1 e x2 na função objetivo
func.objetivo <- c(15,20)
# coeficientes de x1 e x2 nas restrições
coeficientes.restricoes <- matrix(c(5,4,4,8,0,7.5),ncol = 2,byrow = TRUE)
# sinal das restrições
direcao.restricoes <- c("<=","<=","<=")
# limite das restrições
limites.restricoes <- c(240,360,300)
#solucão
solucao.problema <- lpSolve::lp(direction = "max",
objective.in = func.objetivo,
const.mat = coeficientes.restricoes,
const.dir = direcao.restricoes,
const.rhs = limites.restricoes,
compute.sens=TRUE)
# valor da função objetivo na solução
solucao.problema$objval
# Valores para as variáveis
solucao.problema$solution
# Coeficientes de sensibilidade de FO
solucao.problema$sens.coef.from
solucao.problema$sens.coef.to
# Preço-sombra
solucao.problema$duals
# limites para bi
solucao.problema$duals.from
solucao.problema$duals.to
> solucao.problema
Success: the objective function is 1000
> # Valores para as variáveis
> solucao.problema$solution
[1] 20 35
> solucao.problema$sens.coef.from
[1] 10 12
> solucao.problema$sens.coef.to
[1] 25 30
> solucao.problema$duals
[1] 1.666667 1.666667 0.000000 0.000000 0.000000
> solucao.problema$duals.from
[1] 2.10e+02 1.92e+02 -1.00e+30 -1.00e+30 -1.00e+30
> solucao.problema$duals.to
[1] 4.50e+02 3.84e+02 1.00e+30 1.00e+30 1.00e+30
Exercício avaliativo
2) Faça a análise de sensibilidade para alterações na disponibilidade de recursos do setor de MONTAGEM.
Confira o resultado no R.
3) Análise de sensibilidade para alterações na disponibilidade de recursos do setor de ACABAMENTO.
• A solução ótima do modelo original é determinada pelas restrições de corte e montagem.
• A restrição de acabamento (� ) não é ativa, alterações no valor de � dentro da região se soluções viáveis não influenciarão a solução ótima do modelo original.
• O seu preço-sombra é zero.
7,5x2 ≤ 300b3
Top Related