Escolar Documentos
Profissional Documentos
Cultura Documentos
Apostila PDF
Apostila PDF
Sum
ario
Introduc
ao `
a Pesquisa Operacional
1.1
1.2
Metodologia da PO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3
Tipos b
asicos de modelo de PO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3.1
1.4
1.5
2
Otimizac
ao (C
alculo Diferencial) e Sistemas de equac
oes (Algebra
Linear) na PO . . . . . . . . . .
Soluc
ao em PO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Introduc
ao - Descrevendo um problema anterior
1.4.2
Tipos de soluc
ao e visualizac
ao gr
afica . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Exerccios Propostos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Revis
ao Matem
atica
2.1
2.2
2.3
2.4
2.5
. . . . . . . . . . . . . . . . . . . . . . . 11
21
Equac
oes lineares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.1.1
Soluc
ao de um Sistema de Equac
oes Lineares . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.1.2
2.1.3
Operac
oes elementares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Soluc
ao de Sistema de Equaco
es Lineares, caso m = n . . . . . . . . . . . . . . . . . . . . 22
2.1.4
2.1.5
Soluc
ao de Sistema de Equaco
es Lineares, caso n > m . . . . . . . . . . . . . . . . . . . . 24
Mudanca de Base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.2.1
O Pivoteamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.2.2
Selec
ao das vari
aveis b
asicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.2.3
Construc
ao da Vari
aveis B
asicas e Vari
aveis Artificiais . . . . . . . . . . . . . . . . . . . . 27
Espacos Vetoriais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.3.1
Definic
ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.3.2
Operac
oes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.3.3
Combinac
ao Linear de Vetores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.3.4
2.3.5
Dimens
ao de um Espaco Vetorial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Base e Coordenadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.3.6
Conjunto Convexo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.4.2
Combinac
ao Convexa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.4.3
Interpretac
ao Geometrica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.4.4
Exerccios Propostos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
SUMARIO
SUMARIO
M
etodo Simplex
3.1
3.2
36
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Transic
ao da soluc
ao gr
afica para a soluc
ao algebrica . . . . . . . . . . . . . . . . . . . . 37
Metodo Simplex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.2.1
Modelo de Programac
ao Linear em forma de equac
ao - Forma Padr
ao . . . . . . . . . . . 37
3.2.2
Forma Padr
ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.2.3
Forma Can
onica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.2.4
Convers
ao de desigualdades em equac
oes com o lado direito n
ao negativo
3.2.5
3.2.6
3.2.7
Vari
aveis N
ao Positivas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Transformando o Problema de Maximizac
ao em Minimizac
ao . . . . . . . . . . . . . . . . 41
3.2.8
3.2.9
. . . . . . . . . 39
3.2.10 An
alise de Casos Especiais. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.2.11 Base Artificial. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
3.2.12 O Metodo do M-Grande . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
3.2.13 O Metodo das Duas Fases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
3.3
3.4
4
An
alise de Sensibilidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.3.1
An
alise de Sensibilidade gr
afica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.3.2
An
alise de Sensibilidade algebrica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Exerccios Propostos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Dualidade
4.1
Introduc
ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
4.2
Definic
ao do Problema Dual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
4.3
4.2.1
Propriedades da Dualidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
4.2.2
4.4
5
69
Resumo do Metodo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Exerccios Propostos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
M
etodos de Pontos Interiores
80
5.1
Introduc
ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
5.2
Notac
ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
5.3
Metodo Primal-Dual
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
5.3.1
A Trajet
oria Central . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
5.3.2
Estrutura Primal-Dual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
5.4
Metodo de Reduc
ao de Potencial (RP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
5.5
Implementac
ao de Algoritmos de Pontos Interiores . . . . . . . . . . . . . . . . . . . . . . . . . . 88
5.5.1
5.5.2
Soluc
ao Inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
Criterio de Parada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
5.5.3
Algoritmo Primal-Dual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
SUMARIO
Programac
ao Linear Inteira
91
6.1
Introduc
ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
6.2
6.3
Problema do Caixeiro-Viajante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
6.4
Problema da Mochila . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
6.2.1
6.5
7
SUMARIO
6.4.1
Mochila 0-1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
6.4.2
Mochila Inteira . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
6.4.3
M
ultiplas Mochilas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
104
7.1
Introduc
ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
7.2
7.3
lp solve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Refer
encias Bibliogr
aficas
111
CAPITULO
Introduc
ao `
a Pesquisa Operacional
Hist
orico da Pesquisa Operacional
A Pesquisa Operacional (PO) e um ramo da ciencia que cuida da criac
ao de metodologias especficas para
promover o gerenciamento de decis
oes. A origem da PO data da Segunda Guerra Mundial (1939-1945) e tem
relac
ao com o esforco envolvido no perodo do conflito para otimizar o uso dos recursos. Como exemplos, temos
o estudo do radar (inventado em 1934 na Inglaterra) para a interceptac
ao de avi
oes inimigos, estudos dentro das
divis
oes aereas aliadas, para melhorar a manutenc
ao e inspec
ao dos avi
oes, na escolha dos melhores modelos para
cada tipo de miss
ao e no aumento da probabilidade de alvejar um submarino.
A evoluc
ao da PO se deu de forma r
apida no p
os-guerra, em pases como Inglaterra e Estados Unidos. Em
1947, foi implantado o projeto SCOOP (Scientific Computation of Optimal Programs), no qual tinha por objetivo
a gest
ao aerea militar e contava com a participac
ao do matem
atico George Dantzig. Durante o projeto SCOOP,
Dantzig desenvolveu um dos metodos primordiais para a resoluc
ao de problemas envolvendo a otimizac
ao linear:
o SIMPLEX. Com a publicac
ao do metodo, a Programac
ao Linear (PL) tornou-se a primeira tecnica explcita,
permanecendo ate hoje a mais fundamental das tecnicas da PO.
Posteriormente houve surgimentos de sociedades cientficas, como a americana ORSA (Operations Research
Society of America) fundada em 1953; sendo ao longo da decada de 50 e 60 observado o crescimento no n
umero
de grupos de pesquisas operacionais e suas aplicac
oes tanto em setores p
ublicos quanto privados ao redor do globo.
Captulo 1. Introduc
ao `
a Pesquisa Operacional
PL
1.1 Otimizac
ao (C
alculo Diferencial) e Sistemas de equac
oes
(Algebra
Linear) na PO
Ora, se a Pesquisa Operacional em seus prim
ordios hist
oricos era sin
onimo de Otimizac
ao, temos ent
ao uma
primeira ligac
ao com o C
alculo Diferencial. Trata-se dos chamados Problemas de Valores de M
aximos e Mnimos,
isto e, o ponto no qual a func
ao tem sua imagem no maior e no menor valor possvel. O grande entrave na PO
e muitas vezes a mecanizac
ao de como tais problemas s
ao passados, tornando a aprendizagem superficial e o
emprego de tais tecnicas pouco intuitivo. Vejamos um exemplo simples de valores extremos, em particular o valor
mximo.
Exemplo 1. Considere que um fabricante de produtos de limpeza tenha de calcular qual a melhor maneira de criar
uma embalagem retangular com uma determinada altura h (constante) para que o volume seja m
aximo, isto e,
a
area da base seja a maior possvel com um comprimento L de material (estipulado com base nos lucros e no
transporte), esse procedimento de otimizac
ao envolve reduc
ao de custos, resduos e impacto ao meio ambiente.
1. Primeiro, como trata-se de um ret
angulo, os lados opostos devem ter o mesmo tamanho, identificaremos a
largura de w e comprimento de l.
2. Com base na definic
ao 2w + 2l = L, ou seja,
w +l =
L
2
(1.1)
L 2l
L
= w =
2
2
Portanto a regi
ao do domnio de w e l e a reta
w=
L 2l
2
L 2l
2
l
Distribuindo l, temos:
A=
L. A. P. Cant
ao & F. S. Stark
Ll 2l 2
2
5
Captulo 1. Introduc
ao `
a Pesquisa Operacional
PL
A
=0
l
1
A
= (L 4l)
l
2
Portanto se
1
L
(L 4l) = 0 = L = 4l = l =
2
4
Se
w +l =
L
2
w=
el=
L
4
V =
L
, e que seu volume
4
L2 h
16
O exemplo acima (Exemplo 1) e simples, contudo, grande parte dos problemas de PO envolve n
umero maior
tanto de equac
oes (e inequac
oes) quanto de vari
aveis, incluindo restric
oes dos valores que as vari
aveis podem
250
400
Produto P
Produto Q
O custo di
ario para remover cada quilograma de poluente e (em reais) dado pela matriz:
X
16
14
30
24
18
20
Di
oxido de Enxofre
Oxido ntrico
Material Particulado
L. A. P. Cant
ao & F. S. Stark
Captulo 1. Introduc
ao `
a Pesquisa Operacional
PL
1.2 Metodologia da PO
A metodologia da PO segue etapas definidas como em qualquer projeto, podendo ser decomposto em 5 est
agios
b
asicos segundo [14]:
1. Identificac
ao do problema - envolve definir o escopo do problema sob investigac
ao. Essa func
ao deve ser
executada por toda a equipe de PO [14]. Em PO quanto mais complexo e multidisciplinar e um problema,
maior abrangencia de conhecimento e necess
aria e por consequencia uma equipe mais especializada. Nesta
etapa buscamos tres elementos b
asicos:
(a) descric
ao das alternativas de decis
ao;
(b) determinac
ao do objetivo de estudo;
(c) as limitac
oes sobre as quais o modelo est
a imposto.
2. Construc
ao do modelo -implica uma tentativa de traduzir a definic
ao do problema em relac
oes matem
aticas[14]. Se o modelo for simples e se ajustar `
a um dos metodos padr
oes, como a programac
ao
linear, ent
ao podemos chegar em soluc
oes com os algoritmos disponveis. J
a se o modelo for complexo, a
equipe pode simplificar a situac
ao tendendo `
a uma abordagem heurstica ou de simulac
ao. Em alguns casos,
ocorre a combinac
ao dos modelos matem
aticos, heursticos e simuladores.
3. Determinac
ao da soluc
ao do modelo -e de longe a fase mais simples ... porque se baseia na utilizac
ao
de algoritmos[14]. Neste est
agio ocorre o que se chama de an
alise de sensibilidade, essencial quando os
par
ametros do modelo n
ao podem ser aferidos com precis
ao.
4. Teste e validac
ao da soluc
ao proposta -verifica se o modelo proposto ... preve adequadamente o comportamento do sistema em estudo [14]. Em sistemas com uma base de dados hist
orica (p.e. pluviosidade
em uma regi
ao), o modelo e v
alido se, sob condic
oes similares de entrada, reproduz relativamente bem as
sadas anteriores. Porem, como geralmente a an
alise leva em conta os dados anteriores, o parecer tende a ser
favor
avel, o que exige cuidado com eventos futuros imprevisveis. Em sistemas sem base de dados, tende-se
a comparar o modelo com simulac
oes.
5. Implementac
ao da soluc
ao -envolve a traduc
ao dos resultados em instruc
oes operacionais inteligveis ...
emitidas as pessoas que administrar
ao o sistema recomendado[14].
1.3 Tipos b
asicos de modelo de PO
O uso de modelos e a essencia da pr
opria PO, ocorrendo quando h
a alta complexidade e elevado potencial de
retorno do investimento. Desta maneira, justifica-se a contratac
ao de uma equipe de especialistas, alocac
ao de
recursos disponveis e o desenvolvimento do projeto de PO.
A criac
ao de um modelo implica em algo simb
olico, que simplifica a realidade mediante o uso de relac
oes
matem
aticas de algumas vari
aveis envolvidas, porem mantem as essencias de causa-efeito do problema estudado.
No que tange a PO, podemos ter v
arios exemplos cl
assicos de modelos, entre um dos mais b
asicos e interessantes
temos os problemas que envolvem misturas (rac
oes, fertilizantes, concreto, alimentos, poluentes, entre outros).
Esses tipos de problemas consistem em combinac
ao de materiais (naturais ou n
ao) para gerar novos materiais ou
produtos com caractersticas desej
aveis, como e o caso por exemplo das misturas de massa de reboco (cal, areia,
cimento e
agua) ou de concreto (areia, brita, cimento e
agua), que em proporc
oes diferentes ou com a adic
ao de
alguma subst
ancia adquirem propriedades para um fim especfico, como acabamento e fundac
ao, respectivamente.
L. A. P. Cant
ao & F. S. Stark
Captulo 1. Introduc
ao `
a Pesquisa Operacional
PL
Captulo 1. Introduc
ao `
a Pesquisa Operacional
PL
6x1
Sujeito a:
7x2
18x3
0.05x2
0.10x3
0.10
0.10x1
0.35x2
0.78x3
0.20
0.20x1
0.60x2
0.02x3
0.35
0.70x1
x1
+ x2
x1 0
+ x3
x2 0
0.35
x3 0
4000 pecas
2000 pecas
5000 pecas
Abr.
Mai.
Jun.
1000 pecas
4000 pecas
2000 pecas
Ao final de dezembro, h
a 500 pecas em estoque e a empresa s
o tem capacidade para produzir 3000 pecas
mensais. Entretanto, usando horas extras, a empresa pode produzir ate 600 pecas a mais que sua capacidade
nominal.
O custo vari
avel de produzir uma peca e de R$ 3 por peca, e o custo de produzir em horas extras e de R$ 3.4
por peca. Alem disso, pecas que ficam em estoque de um mes para outro provocam custo aproximado de R$ 0.25
por peca.
Monte um modelo linear que satisfaca a demanda, mas com minimizac
ao dos custos de produc
ao.
A soluc
ao est
a em se definir xt , yt e et para t = 1:6, para indicarem respectivamente a produc
ao nominal, em
horas extras, e estoque ao final de cada mes.
L. A. P. Cant
ao & F. S. Stark
Captulo 1. Introduc
ao `
a Pesquisa Operacional
Min
Suj. a:
f (x) =
PL
3(x1
++
x6 )
3.4(y1
++
y6 )
0.25(e1
x1
y1
500
e1
4000
x2
y2
e1
e2
2000
x3
y3
e2
e3
5000
x4
y4
e3
e4
1000
x5
y5
e4
e5
4000
x6
y6
e5
e6
2000
xt
3000
yt
xt ,
yt ,
600
et
para
1:6
+ + e6 )
Mercado
S
ao Paulo(1)
4
11
500
Belo Horizonte(2)
2
7
400
Rio de Janeiro(3)
5
4
900
Suprimento(ai )
800
1000
1.3.1 Soluc
ao em PO
Como dito no final do item anterior, nem sempre um problema tem uma soluc
ao possvel, em contrapartida,
surgem problemas que aceitam diversos conjuntos de valores como soluc
ao do sistema. Deste modo devemos
expressar algumas terminologias importantes quanto ao assunto soluc
ao, como:
1. Soluc
ao - Qualquer especificac
ao de valores, dentro do domnio da func
ao objetivo f(x), para as vari
aveis de
decis
ao, independentemente de se tratar de uma escolha desej
avel ou permissvel.
2. Soluc
ao vi
avel - soluc
ao que satisfaz todas as restric
oes do problema.
3. Soluc
ao
otima - e aquela que permite a ocorrencia do melhor valor da f(x), isto e, maximiza ou minimiza
seu valor de acordo com o desejado. Pode ser
unica ou n
ao.
10
Captulo 1. Introduc
ao `
a Pesquisa Operacional
PL
N
ao e raro encontrar a PO como tema de trabalho de uma equipe inteira de profissionais de diversas
areas (matem
aticos, engenheiros, bi
ologos, administradores, economistas, soci
ologos e ate psic
ologos) pois, a complexidade
ou mesmo a incerteza envolvida na situac
ao e tamanha que requer um tratamento sobre divesos pontos de vista.
A exemplo disso, podemos considerar um acontecimento em um predio comercial. As pessoas comecaram
a reclamar na gerencia sobre o fato de esperarem muito tempo o elevador instalado no empreendimento. A
construc
ao de mais um elevador seria invi
avel, o mesmo poderia ser dito de se aumentar a velocidade do elevador
(comprometendo a estrutura da construc
ao ou a seguranca das pessoas `
a bordo do elevador).
O que fazer ent
ao?
A resposta e simples! Um dos profissionais contratados foi um psic
ologo. Este sugeriu que fossem espelhadas
as paredes externas da porta de cada andar do elevador, pois com isso as pessoas passariam mais tempo se vendo
diante do espelho e vendo os outros que estavam esperando. Com essa ac
ao, `
a primeira vista estranha, a gerencia
do predio parou de receber tantas reclamac
oes.
Sendo assim, afirmamos que deve haver atenc
ao quando o assunto do problema e algo que envolve opini
oes
humanas ou vari
aveis muito incertas. Neste caso, pode ser necess
ario o auxlio de func
oes n
ao lineares (func
ao
objetivo e/ou restric
oes, nos levando a aplicac
ao de tecnicas da Programac
ao N
ao Linear), ou mesmo do emprego
de outras teorias, como a Teoria Fuzzy, por exemplo.
1.4 Soluc
ao Geom
etrica ou gr
afica
1.4.1 Introduc
ao - Descrevendo um problema anterior
Ao se trabalhar com equac
oes lineares um dos modos de visualizar a soluc
ao e o de criar graficamente as retas
que cada equac
ao representa, sobretudo em equac
oes de problemas pequenos (duas vari
aveis). Deste modo, as
intersecc
oes das equac
oes s
ao os possveis pontos de soluc
ao, vejamos o Exemplo 1 do incio deste captulo, se
fizermos a reta de w em func
ao de l, teremos uma reta no plano xy (figura 1.2).
Figura 1.2: Gr
afico de w versus l (ou l versus w )
L. A. P. Cant
ao & F. S. Stark
11
Captulo 1. Introduc
ao `
a Pesquisa Operacional
PL
Sabemos ent
ao que a soluc
ao est
a sobre a reta, porem, n
ao podemos afirmar quais valores fornecem a soluc
ao
do sistema. Contudo, temos a func
ao
area A = w l no plano z, devemos ent
ao com o auxlio de um programa
computacional chutar os valores de w e l para ent
ao gerar o gr
afico de A versus l e A versus w, com isso vemos
uma par
abola (figura 1.3).
Figura 1.3: Gr
afico de A versus l (ou A versus w )
Pela figura 1.3, fica evidente que a soluc
ao de valor mais alto dentro do espaco da soluc
ao e pr
oximo `
a metade
do valor possvel das vari
aveis, tanto para w quanto l. Este valor e 0.25, ou 25% de L.
Devemos ressaltar que neste caso, como a func
ao objetivo era uma vari
avel multiplicada pela outra, o gr
afico
resultante foi uma par
abola, o que n
ao configura em um caso de otimizac
ao linear (Programac
ao Linear), sendo
apenas uma maneira ilustrativa sobre o uso gr
afico dentro dos modelos de Pesquisa Operacional.
Soluc
ao
unica
Exemplo 6. Seja o problema de PL:
L. A. P. Cant
ao & F. S. Stark
12
Captulo 1. Introduc
ao `
a Pesquisa Operacional
PL
Maximizar 2x1
3x2
Sujeito a:
x1
2x2
(a)
2x1
3x2
(b)
x1
+ x2
(c)
x1 0
x2 0
(d)
Identificac
ao do ponto
otimo
Uma vez que a regi
ao factvel foi encontrada, o ponto
otimo do exemplo 6 pode ser encontrado de duas maneiras
equivalentes, de acordo com a figura 1.5
Temos ent
ao, na situac
ao (a) foram tracadas duas retas paralelas `
a func
ao objetivo, com valores de Z = 9 e
Z = 12, respectivamente e averiguamos em qual direc
ao a func
ao objetivo cresce, isto e, no mesmo sentido dos
eixos no primeiro quadrante.
J
a na segunda situac
ao (b), encontramos o gradiente da func
ao (derivadas parciais em cada vari
avel), o vetor
(2, 3), que e exatamente normal `
a func
ao objetivo. O vetor normal indica a direc
ao de crescimento da func
ao.
Analogamente ao caso (a), a func
ao e deslocada ate alcancar o(s) ponto(s) da regi
ao vi
avel com maior valor de Z.
Soluc
ao m
ultipla
Exemplo 7. Seja o problema apresentado anteriormente, porem com mudanca na func
ao objetivo:
L. A. P. Cant
ao & F. S. Stark
13
Captulo 1. Introduc
ao `
a Pesquisa Operacional
PL
Maximizar x1
2x2
Sujeito a:
x1
2x2
2x1
x1
+ 3x2
+ x2
x1 0
(a)
5 (b)
6 (c)
x2 0
(d)
Soluc
ao ilimitada
Exemplo 8. Seja o problema de PL (Exemplo 6), com uma insero de uma restrio (d) :
Maximizar 2x1
3x2
Sujeito a:
2x2
2x1
3x2
x1
+ x2
x1
x1 0
x2 0
(a)
(b)
(c)
(d)
L. A. P. Cant
ao & F. S. Stark
14
Captulo 1. Introduc
ao `
a Pesquisa Operacional
PL
Figura 1.6: M
ultiplas soluc
oes
Soluc
ao infactvel
Exemplo 9. Seja o problema de PL (Exemplo 6), contudo com as restric
oes (a) e (c) modificadas nos sinais de
desigualdade :
Maximizar
2x1
3x2
Sujeito a:
x1
2x1
+
+
2x2
3x2
8
5
(a)
(b)
x1
x2
(c)
x1
x2
(d)
x1 0
x2 0
(e)
Com a adic
ao de uma nova restric
ao ao problema do Exemplo 9, temos um conjunto vazio de soluc
ao, pois
L. A. P. Cant
ao & F. S. Stark
15
Captulo 1. Introduc
ao `
a Pesquisa Operacional
PL
(b) x1 2x2 5
(d) x1 + x2 0
(e) x1 + x2 0
2. Identifique a direc
ao de crescimento de z em cada um dos seguintes casos:
(a) Maximizar f (x) = x1 x2
x1
2x
1
x1
+2x2
3x2
+3x2
,x2
L. A. P. Cant
ao & F. S. Stark
16
Captulo 1. Introduc
ao `
a Pesquisa Operacional
PL
Max
Sujeito a
x1
+2x2
6x1
+10x2
30
4x1
+3x2
12
x1
+2x2
10
x1
x1 ,
x2
Utilize o metodo gr
afico para resolver o sistema.
5. A Roda S.A produz dois modelos de autom
oveis: sed
a e utilit
ario. A tabela a seguir mostra o n
umero m
aximo
de veculos que podem ser vendido em cada um dos pr
oximos tres meses:
M
es 1
M
es 2
M
es 3
Sed
as
1200
1600
1300
Uilit
arios
600
700
500
A
8
5
12
3
B
3
7
9
6
C
5
4
8
5
D
6
5
7
4
Disponbilidade
15.000 h
20.000 kg
40.000 hm
/
Dadas as disponibilidades e os requerimentos para cada produto, como determinar um plano de produc
ao
semanal, de forma a maximizar o lucro? Tente escrever o sistema na forma padr
ao.
7. Este problema envolve um processo de transporte de agragados para a construc
ao de uma rodovia. Suponha
que, para a construc
ao de uma rodovia, n
ao estejam disponveis na regi
ao das jazidas de richas adequadas `
a
L. A. P. Cant
ao & F. S. Stark
17
Captulo 1. Introduc
ao `
a Pesquisa Operacional
PL
obtenc
ao de pedra britada. Faz-se necess
ario, portanto, o transporte desse material de jazidas mais pr
oximas
para alguns pontos convenientes preestabelecidos ao longo do caminho onde ser
a implantada a estrada (figura
1.9), ao menor custo.
Figura 1.9: Pedreiras fornecedoras da pedra britada P1, P2, P3, P4; pontos de dep
osito de material D1, D2, D3
e do trajeto da rodovia R.
Nesse problema, temos m = 4 jazidas correspondentes `
as origens e n = 3 dep
ositos correspondentes aos
destinos, cujos dados est
ao na tabela a seguir.
Pedreiras
1
2
3
4
Demanda bj
Dep
osito 1
30
12
27
37
697
Dep
osito 2
13
40
15
25
421
Dep
osito 3
21
26
35
19
612
Oferta ai
433
215
782
300
/
L. A. P. Cant
ao & F. S. Stark
18
Captulo 1. Introduc
ao `
a Pesquisa Operacional
Minf (xij ) =
Suj. a
PL
30x11
+13x12
+21x13
+40x21
40x22
+26x23
+27x31
15x32
+35x33
+37x41
25x42
+19x43
x11
+x12
+x13
433
x21
+x22
+x23
215
x31
+x32
+x33
782
x41
+x42
+x43
300
x21
+x31
+x41
x12
+x22
+x32
+x42
= 421
x13
xij
+x23
+x33
0
+x43
= 612
= 697
Para verificar uma mudanca no problema, imagine se por um problema estrutural, o Dep
osito 2 tenha de
ser fechado. Como ficaria o modelo se 45% da demanda deste dep
osito tenha de ir para o Dep
osito 1 e o
restante para o Dep
osito 3?
8. Um fabricante de geladeiras precisa decidir quais modeos deve produzir em uma de suas plantas e de acordo
com uma pesquisa de consumo, o mercado consome no m
aximo 1500 unidades do modelo Luxo e 1600 do
B
asico por mes que vir
a. A f
abrica disp
oe de 25000 homens-hora por mes, sendo que cada modelo Luxo
precisa de 10 homens-hora e o B
asico 8 homens-hora. A linha de montagem e integrada (produz os dosi
modelos em conjunto) e pode produzir ate 4500 unidades por mes, com lucro sobre o modelo Luxo de $ 100
e o B
asico de $ 50.
Deseja-se maximizar os lucros da venda dos produtos desta f
abrica. Como seria o modelo de PL para este
problema?
9. Quatro cidades descarregam
aguas servidas na mesma corrente. A cidade 1 est
a a montante, seguida da
cidade 2, cidade 3 e por fim a cidade 4 `
a jusante da corrente. Medidas ao longo do corpo de
agua, as
dist
ancias entre as cidades s
ao de aproximadamente 15 milhas entre si. Um dos par
ametros de medida em
aguas servidas e a demanda bioqumica de oxigenio (DBO), que e a quantidade de oxigenio requerida para
estabilizar os poluentes presentes na
agua.
A Agencia de Protec
ao Ambiental estabeleceu um m
aximo de carga de DBO, expressaem lb de DBO por
gal
ao. A remoc
ao de poluentes das
aguas servidas ocorre de duas formas: depurac
ao natural e tratamento de
esgoto antes do despejo nos corpos de
agua. O objetivo ent
ao, e determinar a melhor eficiencia econ
omica
de cada umas das estac
oes localizadas nas quatro cidades (a eficiencia m
axima possvel de uma estac
ao e de
99%).
Para montarmos um modelo, devemos citar as vari
aveis como:
Q1 - fluxo da corrente (gal
oes/hora) na sada da cidade 1;
p1 - taxa de descarga deDBO (lb/hora);
x1 - eficiencia da estac
ao 1 ( 0.99);
b1 - m
axima carga de DBO permissvel na cidade 1 (lb.DBO/gal
ao).
Para satisfazer o requisito de carga de DBO na descarga da cidade 1 para a 2, precisamos ter:
p1 (1 x1 ) b1 Q1
L. A. P. Cant
ao & F. S. Stark
19
Captulo 1. Introduc
ao `
a Pesquisa Operacional
PL
(1 r12 )p1 (1 x1 ) + p2 (1 x2 ) b2 Q2
O coeficiente r12 ( 1) representa a frac
ao de resduos removida no trecho 1 - 2 por decomposic
ao. Para a
descarga da cidade 3, a restric
ao e:
(1 r 23)[(1 r12 )p1 (1 x1 ) + p2 (1 x2 )] + p3 (1 x3 ) b3 Q3
A partir do que foi apresentado (usando os dados da tabela abaixo e considerando a remoc
ao por decomposic
ao
de 6% para os quatro trechos da corrente) determine a maior eficiencia econ
omica para as quatro estac
oes.
Caracterstica
Qi (gal
ao/hora)
pi (lb/hora)
bi (lb.DBO/gal
ao)
Custo do tratamento
($/lb.DBO removida)
Cidade 1
(i = 1)
215000
500
0.00085
Cidade 2
(i = 2)
220000
3000
0.0009
Cidade 3
(i = 3)
200000
6000
0.0008
Cidade 4
(i = 4)
210000
1000
0.0008
0.20
0.25
0.15
0.18
L. A. P. Cant
ao & F. S. Stark
20
CAPITULO
Revis
ao Matem
atica
Conceitos B
asicos
As obras liter
arias de Programac
ao Linear, escritas na decada de 60, traziam revis
oes extensas de
algebra
linear, determinantes, matrizes, espacos vetoriais, convexidade etc. Essas revis
oes eram essenciais, pois na epoca
os conte
udos visados no curso n
ao eram devidamente estudados nos cursos de graduac
ao da epoca.
Desde ent
ao, houve significativa mudanca no currculo dos cursos de administrac
ao, economia e engenharia.
J
a no ensino medio, por exemplo, o aluno toma contato com as matrizes, e tem um aprofundamento de
algebra
linear colocada como elemento dos currculos mnimos dos cursos de graduac
ao na
area de Exatas.
A apresentac
ao de conceitos b
asicos passa a ter prop
osito de unificac
ao do conhecimento, de nomenclatura
e fixac
ao da notac
ao usada. A revis
ao a seguir tem um ponto de vista da Programac
ao Linear, de modo que a
mesma e orientada para antecipar o entendimento dos metodos de otimizac
ao.
2.1 Equac
oes lineares
Um sistema de m equac
oes linerares e n vari
aveis tem a seguinte representac
ao algebrica:
a11 + a12 x2 + ... + a1n xn = b1
a21 + a22 x2 + ... + a2n xn = b2
..
.
am1 + am2 x2 + ... + amn xn = bm
Podemos escrever o sistema na notac
ao Ax = b, isto e, na forma matricial, como :
a11
a12
...
a1n
x1
b1
a21
...
a22
...
...
..
.
a2n
...
x2
..
.
b2
..
.
am1
am2
...
amn
xn
bn
Um sistema de equac
oes lineares (SEL) e denominado homogeneo se b = 0.
Captulo 2. Revis
ao Matem
atica
PL
2.1.1 Soluc
ao de um Sistema de Equac
oes Lineares
Uma soluc
ao de um SEL e um conjunto de valores xj (j = 1, ..., n) se satisfaz simultaneamente todas as
equac
oes do sistema. Pela resoluc
ao de um sistema, temos 3 alternativas de soluc
oes:
Tem uma
unica soluc
ao;
Possui um conjunto infinito de soluc
oes, ou m
ultiplas solues;
N
ao tem soluc
ao para o sistema;
Quando o sistema apresentar m = n (matriz quadrada), a indicac
ao de qual dessas alternativas ocorre e dada
pelo determinante (D) da matriz, a saber:
Quando D = 0 , indica indeterminac
ao (infinitas soluc
oes) ou um sistema sem soluc
ao;
Quando D 6= 0 , indica que o sistema e crameriano
2.1.2 Operac
oes elementares
As operac
oes elementares, conforme ([11]), de um sistema consistem em transformac
oes realizadas no sistema.
S
ao elas:
I.
Troca de linhas;
II.
Multiplicac
ao de uma linha por escalar n
ao nulo;
III.
Combinac
oes lineares de linhas;
2.1.3 Soluc
ao de Sistema de Equac
oes Lineares, caso m = n
Nesta subsec
ao, podemos resumir a forma de algumas soluc
oes para alguns tipos de sistemas Ax = b, assim:
Todo sistema homogeneo tem soluc
ao x = 0, chamada soluc
ao trivial;
1. Se a matriz A e n
ao singular e o sistema homogeneo, s
o existe a soluc
ao trivial (x = 0);
2. Se a matriz A e singular, o sistema homogeneo e indeterminado, pois D = 0.
Se a matriz A e n
ao singular e o sistema n
ao homogeneo, a soluc
ao e
unica e o sistema e textitcrameriano.
Como A e n
ao singular, sua inversa (A1 ) existe. Assim:
Ax = b
A1 (Ax) = A1 b
Ix = A1 b
x = A1 b.
sistema crameriano
e aquele o qual tem um determinante da matriz A um n
umero diferente de zero, significando que o sistema
tem soluc
ao
unica - tal resultado tem ligac
ao com a regra de Cramer.
L. A. P. Cant
ao & F. S. Stark
22
Captulo 2. Revis
ao Matem
atica
PL
1 3
1
2
x1
2 x2 = 7
1
1
x3
x1
5/19
7/19
1/19
7/19 7 = 3
1
1
3/19
x2 = 3/19 8/19
4/19
2/19
x3
A soluc
ao do sistema e ent
ao x1 = 2, x2 = 3 e x3 = 1.
Devemos ent
ao encontrar a matriz inversa para obter a soluc
ao de um sistema? A resposta pr
atica e n
ao,
pois computacionalmente este metodo e caro devido ao excesso de c
alculos necess
arios para a determinac
ao de
matrizes inversas de sistemas complexos, alem disto, a inversa s
o e passvel de c
alculo em matrizes quadradas e
com determinante diferente de zero, sendo assim invi
avel metodologicamente como visto no captulo de Introduc
ao
`
a Pesquisa Operacional. Nos pr
oximos t
opicos explicaremos alguns metodos mais pr
aticos na obtenc
ao de soluc
oes
para os sistemas lineares, sejam eles casos m = n ou n > m.
2.1.4 M
etodo de Gauss-Jordan, caso m = n
Tendo como finalidade a construc
ao, atraves de operac
oes elementares, de uma matriz unit
aria, e um metodo
adequado para as rotinas computacionais para a resoluc
ao dos sistemas lineares, uma vez que envolve um algoritmo
mais r
apido de ser implementado e calculado pelo processador. Considere o Exemplo 10:
2x1
x1
2x1
x2
x2
2x2
3x3
+ 2x3
= 2
=
7
= 1
x3
a. operac
oes elementares sobre x1 : Dividir a 1a linha por 2, adicionar `
a 2a linha a primeira multiplicada
por(-1) e adicionar `
a 3a linha a 1a vezes (-2).
x1
3x3 /2
3x2 /2
7x3 /2
x2
3x3
=
3
x2 /2
b. operac
oes elementares sobre x2 : Dividir a 2a linha por 2 , adicionar `
a 1a linha a 2a multiplicada por
12 e adicionar `
a 3a linha a 2a vezes (1).
x1
x2
x3 /3
7x3 /3
19x3
= 16/3
=
c. operac
oes elementares sobre x3 : Dividir a 3a linha por
3a multiplicada por
1
3
5/3
19/3
3
9,
resultando em x3 = 1. Somar `
a 1a linha a
e somar `
a 2a linha a 3a multiplicada por 73 .
x1
L. A. P. Cant
ao & F. S. Stark
=
2
= 3
x2
x3
23
Captulo 2. Revis
ao Matem
atica
PL
2.1.5 Soluc
ao de Sistema de Equac
oes Lineares, caso n > m
Se considerarmos o sistema matricial, com Amn com n > m :
a11
a12
...
a1n
x1
b1
a21
.
.
.
a22
..
.
...
..
.
a2n
..
.
x2
..
.
b2
..
.
am1
am2
...
amn
bm
xn
x1
2x2
+ x3
+ x4
x1
x2
x3
x5
A partir desse sistema (e todos os casos n > m, podemos realizar diversas considerac
oes e generalizac
oes, a
saber:
1. Em notac
ao matricial (Ax = b), temos:
"
x1
#
x2
.
x3
1
x4
0
"
#
= 2
x5
2. O sistema anterior possui cinco vari
aveis e duas equac
oes, portanto, oferece uma infinidade de soluc
oes.
Podem-se arbitrar valores para 5 2 = 3 vari
aveis e resolver o sistema em relac
ao `
as duas vari
aveis restantes.
Para o sistema original ter soluc
ao, pelo menos um dos subsistemas ser
a crameriano.
3. O sistema tem uma soluc
ao trivial (chamada de b
asica), que consiste em atribuir o valor nulo em tres das
vari
aveis e chegar-se no valor das outras duas. Como exemplo:
x1 = x2 = x3 = 0 e x4 = 2 e x5 = 4.
Neste caso, x1 ,x2 e x3 s
ao chamadas vari
aveis n
ao b
asicas, e x4 , x5 s
ao ditas vari
aveis b
asicas.
4. Vari
avel b
asica e uma vari
avel respons
avel por uma equac
ao na qual ela tem coeficiente 1, enquanto nas
demais equac
oes seu coeficiente e 0.
L. A. P. Cant
ao & F. S. Stark
24
Captulo 2. Revis
ao Matem
atica
PL
5. Sistema can
onico e um sistema no qual a cada equac
ao temos uma vari
avel b
asica associada. Visto de forma
matricial, tal sistema remete a uma matriz identidade embutida na matriz A (n
ao obstante fora de ordem).
6. Uma base B do sistema e dada pelo conjunto de vetores coluna correspondentes `
as vari
aveis b
asicas. No
exemplo, a base e formada pelos vetores coluna A4 e A5 , ou B = [A4 A5 ]. Como x4 e x5 s
ao as vari
aveis
associadas `
a base, e comum referir-se `
a base B = x4 x5
7. Em um sistema de cinco vari
aveis e duas equac
oes, a variedade de soluc
oes triviais, ou b
asicas e dada pela
permutac
ao:
5
5!
= 10
3!2!
8. As soluc
oes triviais distintas, se existentes, podem ser obtidas por processos de mudanca de base (conforme
ser
a explicado na pr
oxima subsec
ao).
akj
akj
= akj , de modo a zerar o coeficiente
=
ar j
1
x1
2x2
+x3
+x4
x2
23
x4
+x5
x1
x2
3x3
x4
+2x5
2x3
x4
+x5
O Pivoteamento em Notac
ao Matricial
A mudanca de base pode ser vista como uma multipicac
ao matricial, exemplificada na situac
ao a seguir:
L. A. P. Cant
ao & F. S. Stark
25
Captulo 2. Revis
ao Matem
atica
PL
1. Suponha que a matriz A, do sistema linear A = bx, possa ser escrita pela composic
ao de tres colunas
A = [B|N|I], sendo B e a base atual, I a base original e N os demais vetores (contendo as vari
aveis n
ao
b
asicas).
2. Seja B1 a inversa da base atual, ent
ao podemos escrever a sequencia:
B1 [B|N|I]x = B1 b
[I|B1 N|B1 ]x = B1 b
No exemplo 11 aplicamos os conceitos anteriores, para chegar-se ao resultado apresentado no exemplo 12:
"
#
x1
.
2
.
. = 4
x5
"
|1
2|
1|
|1
0|
|1
1|
| 1|
|0
1|
"
|1
0|
| 3|
|1
2|
|0
1|
| 2|
|1
1|
B 1 B = I
B 1 N
"
#
x1
.
6
.. =
2
x5
B 1
Portanto a nova base B = [a1 a2 ] pode ser obtida a partir do sistema original por dois modos:
a. operac
oes elementares (metodo
" Gauss-Jordan);
#
"
1 2
1
1
b. sejam a base desejada B =
e sua inversa B =
1 1
1
original por B1 , obtendo-se B1 Ax = B1 b.
2
1
#
; pre-multiplicando o sistema
2.2.2 Selec
ao das vari
aveis b
asicas
Em problemas de Programac
ao Linear, existe a restric
ao suplementar de que x 0, isto e, todas as vari
aveis
devem ser n
ao negativas. Assim, possivelmente, nem todas as soluc
oes b
asicas de um sistema ser
ao factveis
(possveis de serem aplicadas ao modelo), na medida em que nem todas vir
ao a satisfazer a restric
ao adicional.
Definic
oes
Por se tratar de uma revis
ao para a PO, devemos focar a mesma sobre os atributos e conhecimentos que ser
ao
exigidos a seguir, para tanto, apresentamos um resumo das definic
oes introduzidas ate este ponto:
Vari
avel b
asica: e uma vari
avel relacionada a uma equac
ao com coeficiente 1 nesta equac
ao e 0 nas demais;
Soluc
ao b
asica: e aquela obtida fazendo-se as vari
aveis n
ao b
asicas iguais `
a zero e identificando-se a soluc
ao
do sistema linear;
Soluc
ao b
asica vi
avel: e uma soluc
ao b
asica na qual todas as vari
aveis b
asicas satisfazem `
a restric
ao
suplementar x 0;
L. A. P. Cant
ao & F. S. Stark
26
Captulo 2. Revis
ao Matem
atica
PL
2.2.3 Construc
ao da Vari
aveis B
asicas e Vari
aveis Artificiais
Forma Geral
Dado um sistema linear padr
ao, uma forma de se obter um conjunto de vari
aveis b
asicas desenvolvida pela
Programac
ao Linear e de realizar-se o acrescimo ao sistema de um conjunto de vari
aveis b
asicas (x a ), denominadas
artificiais, ou seja:
a
Ax + Ix = b
ou
A|I
"
#
=b
xa
Ax b Ax + Ix = b
ou
A|I
"
x
xf
#
=b
Uma soluc
ao inicial vi
avel b
asica e quando xf = b e x = 0. Ao contr
ario das vari
aveis artificiais do caso geral,
as vari
aveis de folga (ou excesso) tem sua interpretac
ao como a quantidade dos valores de b n
ao utilizadas.
Vamos exemplificar este sistema e a explicac
ao anterior mediante um exemplo.
Exemplo 13. Suponha o sistema de restric
oes:
400
x1
x1
L. A. P. Cant
ao & F. S. Stark
x2
500
2x2
900
27
Captulo 2. Revis
ao Matem
atica
PL
x3
x2
x1
=
+ x4
2x2
x5
400
500
900
Se as vari
aveis do sistema original representarem:
x1 = n
umero de bolos do tipo 1 a serem produzidos;
x2 = n
umero de bolos do tipo 2 a serem produzidos;
b1 = 400 = quantidade de ovos disponveis;
b2 = 500 = quantidade de ac
ucar disponvel;
b3 = 900 = quantidade de farinha disponvel.
Nessas condic
oes, as vari
aveis de folga significam
x3 = quantidade de ovos n
ao utilizados;
x4 = quantidade de ac
ucar n
ao utilizado;
x5 = quantidade de farinha n
ao utilizada.
Com isto, encerramos a subsec
ao de Mudanca de Base.
2.3.2 Operac
oes
Algumas operac
oes b
asicas dos vetores de um espaco vetorial s
ao, como j
a ditas, a adic
ao de um elemento a
outro e a multiplicac
ao por um n
umero escalar real. Em notac
ao matem
atica, se tivermos dois vetores (C e D) e
um escalar (), demonstramos as operac
oes como:
C + D = (c1 , c2 ) + (d1 , d2 ) = (c1 + d1 , c2 + d2 );
C = (c1 , c2 ) = (c1 , c2 ).
Podemos ver as operac
oes representadas nas figuras 2.1 e 2.2.
2.3.3 Combinac
ao Linear de Vetores
Se A1 , A2 , A3 . . . , An s
ao vetores pertencentes ao espaco vetorial Rm e se x1 , x2 , . . . , xn s
ao n
umeros reais,
ent
ao o vetor b Rm , obtido por:
b = A 1 x1 + A 2 x2 + + A n xn
e chamado de combinac
ao linerar dos vetores A1 , A2 , A3 , . . . , An .
Da combinac
ao linear podemos tirar duas conclus
oes sobre os vetores, a saber:
L. A. P. Cant
ao & F. S. Stark
28
Captulo 2. Revis
ao Matem
atica
PL
L. A. P. Cant
ao & F. S. Stark
29
Captulo 2. Revis
ao Matem
atica
PL
2.3.4 Dimens
ao de um Espaco Vetorial
Um espaco vetorial Rm e de dimens
ao m se:
Existirem m vetores v1 , v2 , . . . , vm linearmente independentes pertencentes a Rm .
N
ao existirem (m + 1) vetores linearmente independentes pertencentes a Rm .
A = 1
1
2
Empregando-se o conceito de vetores LI, primeiro aos vetores coluna e depois aos vetores linha, temos:
L. A. P. Cant
ao & F. S. Stark
30
Captulo 2. Revis
ao Matem
atica
PL
1 x1 + 5 x2 + 0 x3 1 x4 = 0
0
2
6
0
2
Note que o sistema admite uma infinidade de soluc
oes n
ao triviais; portanto, o posto e inferior a quatro. Ao
escolhermos apenas tres vetores quaisquer, encontramos um posto igual a 3 (ra = 3).
Aplicando aos vetores linha:
h
x1 +
x2
x3 =
Essa equac
ao vetorial fornece o sistema de equac
oes:
x1
2x1
x2
+2x3
5x2
x2
=0
=0
+6x3
=0
2x3
=0
portanto x1 = x2 = x3 = 0, logo ra = 3.
Mudanca de Base
Seja uma base no espaco Rm constituda pelos vetores e1 , e2 , . . . , em . Nessa base, qualquer vetor y Rm e
expresso por uma combinac
ao linear definida univocamente 2 , sendo y1 , y2 , . . . , ym as coordenadas do vetor y, isto
e:
y = y1 e1 + y2 e2 + + yk ek + . . . + y m em
Podemos permutar, na base, o vetor ek pelo vetor y (somente se yk 6= 0). Assim:
ek =
y1
y2
1
ym
e1 e2 + yk y
em
yk
yk
yk
yk
Essa express
ao mostra o vetor ek expresso em uma base constituda pelos vetores y e ei , em que i = 1, 2, . . . , m,
e i 6= k.
Estas express
oes s
ao importantes para casos de mudanca de base, pois, imagine algum outro vetor x Rm .
Como exemplo, na base original, esse vetor seria representado por:
x = x1 e1 + x2 e2 + + xk ek + + xm em
2 Diz-se da rela
c
ao, ou da correspond
encia, entre dois conjuntos em que a cada elemento do primeiro conjunto corresponde apenas
um elemento do segundo, isto , uma funo injetora entre os conjuntos.
L. A. P. Cant
ao & F. S. Stark
31
Captulo 2. Revis
ao Matem
atica
PL
Em relac
ao `
a uma nova base (que inclui y), basta realizar uma substituic
ao de ek na express
ao anterior com a
resultante de ek :
x=
y1
x1 xk
yk
xk
ym
y2
e1 + x2 xk
e2 + + y + + x m xk
em
yk
yk
yk
n
X
a1j a2j
2.4.2 Combinac
ao Convexa
De forma an
aloga, podemos definir uma combinac
ao convexa de vetores. Dados n vetores A1 , A2 , . . . , An
pertencentes a um espaco vetorial Rn e i para i = 1 : n, temos:
y = 1 A1 + 2 A2 + . . . n An sendo
n
X
i = 1
e uma combinac
ao convexa dos vetores Ai , para i = 1, . . . , n.
"
#
"
#
1
3
Exemplo 15. Sejam os vetores A1 =
e A3 =
R2 . Seja o vetor b = A1 + (1 )A3 , com
0
0
0 1, representando uma combinac
ao convexa dos vetores, ou seja, obedecendo `
a regra de convexidade.
Se fizermos variar entre 0 e 1, o vetor b ser
a representado por pontos situados no segmento que une os
pontos A1 e A3 . Deste modo, vemos a figura 2.3 que ilustra a combinac
ao convexa do exemplo.
2.4.3 Interpretac
ao Geom
etrica
Portanto, pela definic
ao anterior, um conjunto convexo tem como interpretac
ao geometrica a seguinte situac
ao:
quaisquer pontos no segmento de reta formado por dois pontos quaisquer do conjunto X tem de pertencer a ele.
Em termos geometicos, como exemplo um conjunto do R2 temos a figura 2.4.
Esta interpretac
ao geometrica pode ser generalizada para outras dimens
oes. Temos ainda duas propriedades
dos conjuntos convexos:
L. A. P. Cant
ao & F. S. Stark
32
Captulo 2. Revis
ao Matem
atica
PL
2
1 3
a. A = 1 1
2
2
2
1
L. A. P. Cant
ao & F. S. Stark
33
Captulo 2. Revis
ao Matem
atica
b.
PL
A= 0
0
0
a.
x1
2x2
+2x3
4x4
=2
3x1
5x2
+x3
+3x4
=4
b.
2x1
+3x2
+5x3
=5
x1
4x2
2x3
=3
1 2 1 0 0
A = 2 3 0 1 0
1 2 0 0 1
usando os procedimentos de Gauss-Jordan, expresse A nas bases:
a. B1 =(A1 ,A4 ,A5 );
6. Calcule o posto de A:
1 1
1 1
A = 2 1 1 0
0 3
1 1
7. Nos problemas de (a) ate (e), resolver os sistemas pelo metodo de eliminac
ao de Gauss.
2x
x
x
(a) Para b1 = 2, b2 = 5 e b3 = 7.
+3y
b1
3y
+z
b2
+2y
b3
(d) Para b1 = 4, b2 = 3 e b3 = 2.
(b) Para b1 = 1, b2 = 6 e b3 = 0.
(c) Para b1 = 2, b2 = 8 e b3 = 9.
(e) Para b1 = 4, b2 = 7 e b3 = 9.
L. A. P. Cant
ao & F. S. Stark
34
Captulo 2. Revis
ao Matem
atica
PL
20
10
15
20
30
Resist
encias
30 40 50
10
15
15
20
15
15
22
20
20
30
34
34
100
20
25
28
37
0.5
1.0
3.0
5.0
A
A
A
A
Corrente
M
axima
Suportada
L. A. P. Cant
ao & F. S. Stark
35
CAPITULO
M
etodo Simplex
3.1 Teorema Fundamental da Programac
ao Linear
No Captulo 1, o metodo de resoluc
ao gr
afica de um problema foi utilizado apenas para casos de duas ou tres
vari
aveis. Para problemas maiores, este metodo torna-se impratic
avel, nesta situac
ao precisamos de uma tecnica
eficiente para resolver problemas de Programac
ao Linear (PL) com mais de tres vari
aveis. Uma dessas tecnicas
chama-se Metodo Simplex.
Para melhor compreender este metodo, devemos observar algumas considerac
oes sobre as soluc
oes dos sistemas
que representam os modelos, tomando como exemplo o item Identificac
ao do ponto
otimo do Captulo 1. Vimos
que:
(i) A func
ao objetivo assume necessariamente um valor m
aximo e um valor mnimo quando a regi
ao poliedral
convexa (factvel) for limitada;
(ii) Os vertices desempenham um papel fundamental na procura de m
aximos e mnimos para a func
ao objetivo.
O primeiro resultado acima nos diz que os valores extremos de uma func
ao afim1 s
ao assumidos nos pontos extremos dos segmentos (vertices). Da, podemos fazer colocac
oes e generalizac
oes2 , obtendo o Teorema
Fundamental da Programac
ao Linear:
Teorema 1. Seja f (x1 , . . . , xn ) = a1 x1 + + an xn + b, onde b uma constaante qualquer, definida numa regi
ao
poliedral convexa A do Rn . Suponha que f assuma um valor m
aximo (ou mnimo) nesta regi
ao. Ent
ao, se A possui
vertice(s), este valor m
aximo (ou mnimo) ser
a assumido num vertice.
Considerando um problema de Programac
ao Linear na forma padr
ao:
min
Sujeito a
f (x)
Ax
PL
(m + n)!
!
Soluc
oes b
asicas
m!n!
n+m
interac
oes para encontrar a soluc
ao
otima, pois o
m
algoritmo Simplex e um procedimento de busca, isto e, move-se de vertice factvel em vertice factvel ate encontrar
a soluc
ao b
asica factvel
otima.
3.1.1
Transic
ao da soluc
ao gr
afica para a soluc
ao alg
ebrica
No metodo gr
afico, a regi
ao de soluc
oes e delineada pelos meios-espacos (regi
oes delimitadas pelas restric
oes),
sendo possvel graficamente observar porque a regi
ao factvel tem um n
umero infinito de pontos de soluc
ao, uma
vez que nos exemplos citados, apresentava-se um plano e que por definic
ao compreende infinitos pontos (podendo
ser extendido aos casos do R3 . . . Rn , como volumes e passando para formas n
ao possveis de serem representadas
geometricamente).
No Metodo Simplex, a regi
ao de soluc
oes e representada por m equac
oes lineares simult
aneas e n vari
aveis n
ao
negativas. Neste caso, tambem ocorre um n
umero infinito de pontos de soluc
ao, dado que o n
umero de equac
oes
m e sempre menor que ou igual ao n
umero de vari
aveis n, pois se n
ao fosse assim, teramos no mnimo (m n)
equac
oes redundantes, ou seja, linearmente dependentes.
Contudo, antes de vermos como o Simplex atua diante desse fato de infinidade de soluc
oes, vejamos como
trabalhar com os metodos gr
afico e algebrico e as mudancas entre ambos. A Figura 3.1 ilustra esta transic
ao, de
um modo comparativo.
3.2 M
etodo Simplex
3.2.1 Modelo de Programac
ao Linear em forma de equac
ao - Forma Padr
ao
O desenvolvimento do c
alculos do Simplex e facilitado pela imposic
ao de dois requisitos `
as restric
oes do problema:
1. Todas as restric
oes (com excec
ao da n
ao negatividade das vari
aveis) s
ao equac
oes cujos lados direitos s
ao
n
ao negativos;
2. Todas as vari
aveis s
ao n
ao negativas.
A finalidade destes dois requisitos e padronizar e tornar mais eficiente os c
alculos de metodo simplex. Contudo,
antes apresentamos as disposic
oes dos problemas na Forma Padr
ao e na Forma Can
onica
L. A. P. Cant
ao & F. S. Stark
37
PL
max ou min
f (x) = c1 x1
c2 x2
...
cn xn
Sujeito a
a11 x1
a12 x2
...
a1n xn
b1
a21 x1
+
..
.
a22 x2
..
.
... +
..
.
a2n xn
..
.
b2
..
.
am1 x1
am2 x2
...
amn xn
bn
xi
0,
(i = 1 : n)
f (x) = cx
Ax =
x
em que:
L. A. P. Cant
ao & F. S. Stark
38
PL
c 1 x1
...
c2 x2
...
cn xn
(cn+1 xn+1
cn+m xn+m )
a11 x1
a12 x2
...
a1n xn
xn+1
= b1
a21 x1
..
.
a22 x2
..
.
... +
..
.
a2n xn
..
.
xn+2
..
.
= b2
..
.
am1 x1
am2 x2
...
+ amn xn
xn+m
= bm
x1 : xn+m
f (x) = cx
Sujeito a
Ax
3.2.4 Convers
ao de desigualdades em equac
oes com o lado direito n
ao negativo
Em restric
oes (), o lado direito pode ser considerado como a representac
ao de um limite imposto `
a disponibilidade de um determinado recurso, enquanto que o esquerdo, a utilizac
ao desse recurso limitado pelas vari
aveis
(operac
oes) do modelo. A diferenca entre um lado e outro pode ser interpretado como uma quantidade de recurso
n
ao utilizada ou uma folga.
Deste modo, para eliminarmos a desigualdade, fazemos a adic
ao de uma vari
avel de folga n
ao negativa (xfn )
ao lado esquerdo da inequac
ao. Considere o Exemplo 13 do Captulo 2, que faz uso dessa operac
ao matem
atica,
contudo, imagine a adic
ao da restric
ao a seguir:
3 Tais vari
aveis s
ao chamadas de tecnol
ogicas pois, dependem do modelo segundo o qual temos tecnologia para empregar naquele
instante - seja em aparelhos de medic
ao ou mesmo nos componentes envolvidos em processos de produc
ao, como m
aquinas que
processam um n
umero m
aximo ou um n
umero mnimo de determinada subst
ancia.
L. A. P. Cant
ao & F. S. Stark
39
PL
+
yi+1 = yi+1
yi+1
onde
yi+1
0
+
yi+1
0
3.2.6 Vari
aveis N
ao Positivas
Suponha um programa linear em que a vari
avel de decis
ao x n
ao possa ser positiva, ou seja, x 0. Nesse caso,
faz-se uma troca de vari
avel:
x = x 1 , em que x 1 0
L. A. P. Cant
ao & F. S. Stark
40
PL
3.2.8 Princpios do M
etodo Simplex
Suponha o modelo do Exemplo 6 do Captulo 1 resolvido graficamente. Com a auxlio desse exemplo, ser
ao
expostos, passo a passo, os Princpios do Simplex. Seja o modelo:
max
f (x)
Sujeito a:
2x1
3x2
x1
2x2
+ 3x2
+ x2
5
6
2x1
x1
x1
x2
f (x)
Sujeito a:
2x1
3x2
x1
2x1
+
+
2x2
3x2
+ x3
0x3
x1
x2
xi 0
para i = 1 : 5
0x4
0x5
+ x4
+ x5
=
=
8
5
x3
Vari
aveis B
asicas
x4
x5
(
Vari
aveis N
ao b
asicas
x1
x2
As vari
aveis definidas como nulas s
ao as n
ao b
asicas; as demais s
ao chamadas de vari
aveis b
asicas e formam
a base do sistema linear. A express
ao entrar na base significa fazer uma vari
avel n
ao b
asica deixar o valor nulo e
crescer ate o m
aximo valor que lhe seja possvel e, portanto, positiva ou eventualmente nula.
Como primeira soluc
ao do sistema, tem-se f (x) = 2(0) + 3(0) = 0. Observando que esse ponto corresponde
ao ponto da origem x1 = 0 e x2 = 0.
A Primeira Iterac
ao
Observando-se os coeficientes da func
ao objetivo, f (x) = 2x1 + 3x2 , ve-se que o aumento de x1 ou x2 , ou seja,
a entrada de qualquer uma delas na base, dever
a aumentar o valor de f (x), pois ambos tem coeficientes positivos
L. A. P. Cant
ao & F. S. Stark
41
PL
nessa func
ao. Como se deseja maximizar, parece intuitivo escolher primeiro aquela vari
avel cujo coeficiente e maior,
nesse caso a vari
avel x2 .
Para que a vari
avel x2 entre na base e aumente seu valor ao m
aximo, e necess
ario identificar qual vari
avel b
asica
deve sair da base e, portanto, se anular. Utilizamos o sistema a seguir para verificar as mudancas nos valores das
vari
aveis b
asicas x3 , x4 e x5 quando aumentamos o valor de x2 4 .
x1
2x2
2x1
3x2
x1
x2
x3
=
+ x4
+
x5
= (8 2x2 )
= (5 3x2 )
0
0
x5
(6 x2 )
7
2
14
x1 + (0)x2 + x3 x4 =
3
3
3
Somar `
a 3a linha a nova 2a linha multiplicada por (1) =
1
13
5
x1 + (0)x2 x4 + x5 =
3
3
3
7
x1
3
2x1
5
x1
3
+ x3
+
x2
2
x4
3
1
x4
3
1
x4
3
x5
14
3
Pelas vari
aveis, tem-se:
4 Ao
L. A. P. Cant
ao & F. S. Stark
42
PL
Vari
aveis B
asicas
x3
x2
x5
=
=
=
14
3
5
3
13
3
(
Vari
aveis N
ao b
asicas
O valor da func
ao objetivo f (x) = 2x1 + 3x2 = 2(0) + 3
5
3
x1
x4
= 5. Consultando-se a soluc
ao gr
afica, o ponto
5
obtido na segunda iterac
ao corresponde ao vertice (x1 ,x2 ) = 0, 3 . Necessitamos agora saber se a soluc
ao
encontrada e
otima, para tanto devemos expressar a func
ao objetivo em termos das vari
aveis n
ao b
asicas, nesse
momento sendo x1 e x4 .
Da segunda linha do sistema modificado obtemos x2 em termos das vari
aveis x1 e x4 , como:
x2 =
5 2
1
+ x 1 x4
3 3
3
Substituindo na func
ao objetivo:
f (x) = 2x1 + 3x2 = 2x1 + 3
5 2
1
+ x1 x4
3 3
3
= 5 + 4x1 x4
Desta express
ao, vemos que se valor de x4 aumentar, a func
ao decresce; enquanto que um aumento no valor de
x1 aumenta em quatro unidades a func
ao objetivo. Logo, a func
ao objetivo n
ao est
a no seu valor
otimo, podendo
aumentar caso x1 entre na base (e ainda x4 fique de fora).
Segunda Iterac
ao
Analogamente, para x1 entrar na base e aumentar de valor, e necess
ario identificar qual vari
avel (x2 , x3 ou x5 )
dever
a sair. Para acompanhar o raciocnio algebrico, reescrevemos o sistema modificado com x4 nulo:
7
x1
3
2x1
5x
1
3
+ x3
14
3
5
+ x2
+
x5
14 7
x1
x3 =
3
3
5 2
x2 = + x1
3 3
x5 = 13 5 x1
3
3
Na primeira restric
ao, a vari
avel x3 atinge o valor zero quando x1 = 2; na segunda, a vari
avel n
ao atinge o valor
zero pois o coeficiente de x1 e negativo, o que aumenta o valor quando colocado em func
ao de x1 ; na terceira, x5
13
se anula quando x1 = 13
.
Portanto,
=
x
=
min
2,
,
=
2.
1
5
5
Para x1 = 2, as vari
aveis assumem os valores:
L. A. P. Cant
ao & F. S. Stark
43
PL
x1 = 2
x2 = 3
x3 = 0
x
4 =0
x5 = 1
x1
+
+ x2
3
x3
7
2
x3
7
5
x3
7
+
+
2
x4
7
1
x4
7
1
x4
7
+ x5
Em que:
x1
Vari
aveis B
asicas
x2
x5
(
Vari
aveis N
ao b
asicas
x3
x4
x2
3
2 x3 +
7
2
3 x3 +
7
2
x4
7
1
x4
7
a func
ao objetivo f(x) fica como:
f (x) = 13
12
1
x3 + x4
7
7
Terceira Iterac
ao
Pela
ultima express
ao da func
ao objetivo, se x3 aumentar, a func
ao decresce; enquanto que se x4 aumentar,
a func
ao cresce, portanto, x4 deve entrar na base do sistema (note que aparentemente ela parecia n
ao ser uma
candidata a entrar na base). Temos o sistema como:
x1
+
+ x2
3
x3
7
2
x3
7
5
x3
7
+
+
2
x4
7
1
x4
7
1
x4
7
+ x5
Fazendo-se as comparac
oes dentro do sistema, com x3 = 0, obtemos para x1 , x2 e x5 respectivamente, um
= x4 = min{, 21, 7} = 7, portanto a vari
avel x5 sai da base para a entrada de x4 . Com as alteraco
es de
mudanca de base chegamos no sistema:
L. A. P. Cant
ao & F. S. Stark
44
PL
x1
x2
x3
2x5
x3
x5
7x5
5x3
+ x4
Em que:
x1
Vari
aveis B
asicas
x2
x4
(
Vari
aveis N
ao b
asicas
x3
x5
Chegamos assim `
a soluc
ao
otima no vertice (x1 , x2 ) = (4, 2), com f (x) = 14. Para efeito de confirmac
ao
algebrica, colocamos a func
ao em termos das vari
aveis n
ao b
asicas, obtendo:
f (x) = 14 x3 x5
Neste caso, verificamos que ambas as vari
aveis quando aumentadas, reduzem o valor da func
ao objetivo, isto e, a
soluc
ao encontrada e a melhor possvel.
A soluc
ao gr
afica e as soluc
oes encontradas
Na Figura 3.2 verificamos os pontos:
A para a soluc
ao trivial;
B para a primeira iterac
ao;
C para a segunda iterac
ao;
D para a terceira iterac
ao, com soluc
ao o
tima;
L. A. P. Cant
ao & F. S. Stark
45
PL
3.2.9 M
etodo Simplex na forma de quadros - Tableau Simplex
Utilizar o Tableau Simplex e um modo de visualizac
ao mais claro de uma iterac
ao e de melhor identificar os
procedimentos a serem feitos para as iterac
oes subsequentes. Para colocarmos o sistema na forma de quadros,
utilizaremos a func
ao f (x) como uma restric
ao e realizaremos as transformac
oes pertinentes ao modo can
onico.
Tomando o exemplo da subsec
ao anterior, obtemos:
max
f (x) 2x1
3x2
+0x3
Sujeito a:
x1
+2x2
+x3
2x1
+3x2
x1
+0x4
+0x5
+x4
+x2
xi 0
+x5
para
i =1:5
f (x)
1
0
0
0
x1
2
1
2
1
x2
3
2
3
1
x3
0
1
0
0
x4
0
0
1
0
x5
0
0
0
1
b
0
8
5
6
Linha
(0)
(1)
(2)
(3)
f (x)
1
0
0
0
x1
2
1
2
1
x2
3
2
3
1
x3
0
1
0
0
x4
0
0
1
0
x5
0
0
0
1
b
0
8
5
6
Linha
(0)
(1)
(2)
(3)
L. A. P. Cant
ao & F. S. Stark
46
PL
Base
max
x3
f (x)
1
0
x1
2
1
x2
3
2
x3
0
1
x4
0
0
x5
0
0
b
0
8
Linha
(0)
(1)
Raz
ao: min =
-/8/2 = 4
x4
-2
(2)
5/3 = 1.67
x5
(3)
6/1 = 6
A vari
avel que sai da base e x4 e o elemento a22 = 3 e chamado de piv
o. Em seguida realizamos as operac
oes
elementares (Metodo de Gauss-Jordan) para chegarmos a nova tabela:
Base
max
x3
x2
x5
f (x)
1
0
0
0
x1
4
7/3
2/3
5/3
x2
0
0
1
0
x3
0
1
0
0
x4
1
2/3
1/3
-1/3
x5
0
0
0
1
b
5
14/3
5/3
13/3
Linha
(0)
(1)
(2)
(3)
Ap
os a primeira iterac
ao, constatamos que f (x) = 5, quando as vari
aveis n
ao b
asicas forem zero. Entretanto,
como o coeficiente de x1 permanece negativo, se a vari
avel tiver acrescimo em seu valor, teremos um aumento na
func
ao f (x) e podemos melhorar o seu valor.
Para a entrada de x1 na base procedemos analogamente a x2 . A tabela do teste do coeficiente e:
Base
max
f (x)
1
x1
4
x2
0
x3
0
x4
1
x5
0
b
5
Linha
(0)
Raz
ao: min =
-/-
x3
7/3
2/3
14/3
(1)
(14/3)/(7/3) = 2
x2
x5
0
0
2/3
5/3
1
0
0
0
1/3
1/3
0
1
5/3
13/3
(2)
(3)
-/(13/3)/(5/3) = 13/5
f (x)
1
0
0
0
x1
0
1
0
0
x2
0
0
1
0
x3
12/7
3/7
2/7
5/7
x4
1/7
2/3
1/7
1/7
x5
0
0
0
1
b
13
2
3
1
Linha
(0)
(1)
(2)
(3)
47
PL
positiva sobre o valor de f (x) de modo que x4 deve entrar na base. Com o teste do coeficiente (tabela 3.7) sabemos
qual vari
avel sair
a.
Base
max
x1
x2
f (x)
1
0
0
x1
0
1
0
x2
0
0
1
x3
12/7
3/7
2/7
x4
1/7
2/3
1/7
x5
0
0
0
b
13
2
3
Linha
(0)
(1)
(2)
Raz
ao: min =
-/-/(3)/(1/7) = 21
x5
5/7
1/7
(3)
(1)/(1/7) = 7
A vari
avel x5 sai da base, portanto, realizamos novamente algumas operac
oes elementares para chegarmos a
tabela 3.8:
Base
max
x1
x2
x4
f (x)
1
0
0
0
x1
0
1
0
0
x2
0
0
1
0
x3
1
1
1
5
x4
0
0
0
1
x5
1
2
1
7
b
14
4
2
7
Linha
(0)
(1)
(2)
(3)
Observe que na linha(0) temos apenas termos com coeficientes positivos, sendo assim, o aumento de uma
dessas vari
aveis resultaria em um valor de f (x) menor que 14, n
ao desej
avel uma vez que queremos maximizar a
func
ao objetivo.
Ent
ao, temos a melhor resposta possvel para o caso, isto e, a soluc
ao
otima do sistema e f (x) = 14, com os
valores de: x1 = 4, x2 = 2 e x4 = 7. Substituindo na func
ao f (x):
f (x) = 2x1 + 3x2 + 0x3 + 0x4 + 0x5 = f (x) = 2(4) + 3(2) + 0(0) + 0(7) + 0(0) = f (x) = 14.
Agora veremos como os quadros se comportam quando temos M
ultiplas Soluc
oes e Soluc
oes Ilimitadas.
Tambem discutiremos Soluc
ao Inexistente, Escolha Inicial e Degenerac
ao.
3.2.10 An
alise de Casos Especiais.
M
ultiplas Soluc
oes.
Seja o modelo proposto:
max
Sujeito a:
f (x)
2x1
4x2
x1
2x2
x1
+ x2
x2
x1 ,
L. A. P. Cant
ao & F. S. Stark
48
PL
max
2x1
f (x)
Sujeito a:
4x2
0x3
x1
x3
x1
+ x2
+ x4
xi
0,
p/ i
2x2
0x4
1:4
f (x)
1
0
0
x1
2
1
1
x2
4
2
1
x3
0
1
0
x4
0
0
1
b
0
5
4
Linha
(0)
(1)
(2)
Ap
os as operac
oes necess
arias, com a entrada de x2 e a sada de x3 , obtemos o sistema abaixo:
Base
max
x2
x4
f (x)
1
0
0
x1
0
1/2
1/2
x2
0
1
0
x3
2
1/2
1/2
x4
0
0
1
b
10
5/2
3/2
Linha
(0)
(1)
(2)
5
, contudo, como
2
f (x)
1
0
0
x1
0
0
1
x2
0
1
0
x3
2
1
1
x4
0
1
2
b
10
1
3
Linha
(0)
(1)
(2)
Observe que ap
os a segunda iterac
ao, a vari
avel x4 ficou com coeficiente nulo. Isto indica que o
otimo da
func
ao neste caso est
a enquadrado na reta x1 + 2x2 = 5, que pertence `
a primeira restric
ao do problema.
Resumindo: na Soluc
ao M
ultipla, ocorre um processo no qual a vari
avel de entrada n
ao ocasiona mudanca no
valor da func
ao objetivo. E mesmo ap
os mais uma iterac
ao, a resposta permanece a mesma (exceto se a vari
avel
que for entrada n
ao e condizente com o criterio da func
ao objetivo - maximizac
ao ou minimizac
ao). Para mais
informac
oes, vide [14].
Soluc
ao Ilimitada.
Vejamos o problema:
L. A. P. Cant
ao & F. S. Stark
49
PL
max
f (x)
Sujeito a:
2x1
+ x2
x1
x2
40
x2
2x1
x1 ,
10
f (x)
2x1
Sujeito a:
x1
x2
x2
2x1
xi
0x3
x3
+
0,
0x4
+ x4
p/
1:4
b
0
5
4
Linha
(0)
(1)
(2)
10
40
Na forma de quadro:
Base
max
x3
x4
f (x)
1
0
0
x1
-2
1
2
x2
-1
-1
0
x3
0
1
0
x4
0
0
1
Neste caso, o que ocorre no quadro e que em algum passo do Metodo Simplex, haver
a na linha(0) uma vari
avel
xk com coeficiente indicando melhoria na func
ao objetivo, porem todos os coeficientes da coluna aik dessa vari
avel
s
ao n
ao positivos, n
ao possibilitando o teste do coeficiente (essa vari
avel pode ser aumentada indefinidamente,
uma vez que nenhuma outra se anular
a).
Neste exemplo ocorre esse fato antes da primeira iterac
ao. A visualizac
ao gr
afica e dada pela Figura 3.3.
Da Figura 3.3 (A) e a restric
ao 2x1 40, (B) a reta func
ao objetivo f (x) = 2x1 + x2 e (C) a restric
ao
x1 x2 10. Note que a func
ao tem como regi
ao de soluc
ao a intersecc
ao com a regi
ao factvel.
Soluc
ao Inexistente ou Infactvel.
Se o conjunto de restric
oes e incompatvel, o que significa conjunto soluc
ao vazio, a aplicac
ao do Metodo
Simplex produzir
a uma anomalia que impedir
a a identificac
ao da soluc
ao b
asica (pois nenhuma existe). Observe o
problema abaixo:
max
Sujeito a:
f (x)
3x1
2x2
2x1
x2
3x1
x1 ,
+
x2
4x2
12
0
A func
ao objetivo corta a regi
ao fora das duas
areas delimitadas pelas restric
oes, sendo assim, nenhum ponto
de soluc
ao e encontrado.
50
PL
L. A. P. Cant
ao & F. S. Stark
51
PL
Nesta sec
ao ser
ao abordados dois recursos para lidar com a situac
ao descrita anteriormente. Tais metodos
consistem na inserc
ao de vari
aveis artificiais, produzindo como consequencia uma base artificial. Com esse artifcio
espera-se que, por meio de pivoteamentos, a base artificial seja substituda por uma base com vari
aveis reais do
modelo.
Vari
aveis Artificiais.
` vezes, o modelo apresenta vari
Para o caso geral, introduzimos m vari
aveis artificiais a cada equac
ao. As
aveis
que s
o figuram em uma equac
ao, constituindo parte de uma base. Nesse caso, podemos economizar nas vari
aveis
a serem introduzidas, de modo que o n
umero de vari
aveis artificiais pode ser inferior a m.
Seja o sistema geral:
max
Suj. a:
c1 x1
c2 x2
...
cn xn
a11 x1
a12 x2
...
a1n xn
a21 x1
..
.
a22 x2
..
.
...
..
.
a2n xn
..
.
am1 x1
am2 x2
...
amn xn
x1 ,
...,
xn ,
xa1 ,
...,
xam
xa1
+
xa2
..
.
+xam
b1
=
=
b1
..
.
b1
Embora agora o problema esteja na forma esperada para ser utilizado pelo Metodo Simplex, temos vari
aveis
que n
ao fazem parte do sistema original. Na soluc
ao final desejamos que as vari
aveis extras sejam retiradas da
base estando no nvel zero. Para forcar a sada das vari
aveis artificiais, utilizamos dois metodos: Metodo do M
Grande e o Metodo das Duas Fases.
3.2.12 O M
etodo do M-Grande
O M
etodo do M-Grande, ou Big M, consiste em se acrescentar `
a func
ao objetivo do problema original as
vari
aveis artificiais com coeficientes negativos muito grandes (M) nos casos de maximizac
ao, ou (+M) no caso
de minimizac
ao.
Como se quer aperfeicoar a func
ao objetivo, as vari
aveis artificiais dever
ao ter seus valores reduzidos a zero e
sair da base. Se, ao final das iterac
oes necess
arias de otimizac
ao, for encontrado um valor
otimo de f (x), e todas
as vari
aveis artificiais estiverem nulas e fora da base, ent
ao este valor ser
a o mesmo do problema original, indicando
tambem o valor das vari
aveis de decis
ao.
Caso a soluc
ao
otima contenha uma vari
avel artificial, o problema e infactvel, apontando que nem todas as
vari
aveis artificiais puderam ser retiradas da base. Contudo, se na soluc
ao, o
otimo de f (x) conter alguma vari
avel
artificial na base com valor nulo, significa ent
ao que as equac
oes nas quais elas est
ao presentes s
ao redundantes
no sistema, podendo ser eliminadas.
A seguir apresentamos um exemplo de como esse metodo e utilizado em problemas manuais.
Exemplo 16. Seja o seguinte problema com duas vari
aveis:
min
Suj. a:
f (x)
4x1
3x1
+ x2
4x1
3x2
x1
2x2
x2
x1 ,
L. A. P. Cant
ao & F. S. Stark
+ x2
52
PL
f (x)
Suj. a:
4x1
x2
3x1
x2
4x1
3x2
x1
x1 ,
+
x2 ,
2x2
x3 ,
x4
x3
+
0
x4
A terceira equac
ao tem uma vari
avel da folga (x4 ), mas a primeira e a segunda n
ao tem. Colocamos ent
ao
vari
aveis artificiais Xa1 e Xa2 (est
ao em mai
usculo para destacar que tratam-se de vari
aveis artificiais) e com os
coeficientes M positivos, pois e um problema de minimizac
ao:
min
f (x)
Suj. a:
4x1
x2
MXa1
3x1
4x1
x1
x1 ,
x2
Xa1
3x2
+
x2 ,
2x2
x3 ,
x4 ,
MXa2
=
x3
Xa2
x4
=
0
Xa1 ,
+
Xa2 ,
f (x)
1
0
0
0
x1
-4
3
4
1
x2
-1
1
3
2
x3
0
0
-1
0
Xa1
100
1
0
0
Xa2
100
0
1
0
x4
0
0
0
1
b
0
3
6
4
Linha
(0)
(1)
(2)
(3)
L. A. P. Cant
ao & F. S. Stark
53
PL
Base
min
Xa1
Xa2
x4
f (x)
1
0
0
0
x1
696
3
4
1
x2
399
1
3
2
x3
-100
0
-1
0
Xa1
0
1
0
0
Xa2
0
0
1
0
x4
0
0
0
1
b
900
3
6
4
Linha
(0)
(1)
(2)
(3)
f (x)
1
0
0
0
x1
0
1
0
0
x2
167
1/3
5/3
5/3
x3
-100
0
-1
0
Xa1
-232
1/3
-4/3
-1/3
Xa2
0
0
1
0
x4
0
0
0
1
b
204
1
2
3
Linha
(0)
(1)
(2)
(3)
x1 =
2
9
; x2 =
5
5
com
f (x) =
17
.
5
3.2.13 O M
etodo das Duas Fases
O metodo das duas fases consiste em:
1. Primeira Fase
Coloque o sistema na forma de resoluc
ao do Simplex, incluindo as vari
aveis n
ao b
asicas e artificiais. Independentemente do requisito da func
ao objetivo maximizac
ao ou minimizac
ao faca um quadro com uma
func
ao de minimizac
ao da soma das vari
aveis artificiais no lugar da func
ao objetivo.
Se o valor mnimo da soma for positivo, o problema de PL n
ao tem soluc
ao vi
avel, ou seja, alguma(s)
das vari
aveis artificiais n
ao saiu da base;
Caso contr
ario, passamos `
a segunda fase.
2. Segunda Fase
Com a soluc
ao encontrada no sistema anterior, substitumos r por f (x) no quadro, utilizando posteriormente
essa mesma soluc
ao como a soluc
ao b
asica vi
avel inicial para o problema original.
Exemplo 17. Considere o problema de PL do Exemplo 16.
Fase I
min
r = Xa1 + Xa2
Sujeito a
3x1 + x2 + Xa1
4x1 + 3x2 x3 + Xa2
x1 + 2x2 + x4
x1 , x2 , x3 , x4 , Xa1 , Xa2
= 3
= 6
=
L. A. P. Cant
ao & F. S. Stark
54
PL
Base
r
Xa1
Xa2
x4
x1
-7
3
4
1
x2
-4
1
3
2
x3
1
0
1
0
Xa1
0
1
0
0
Xa2
0
0
1
0
x4
0
0
0
1
f (x)
9
3
6
4
x1
0
1
0
0
x2
0
0
1
0
x3
0
1/5
3/5
1
Xa1
1
3/5
4/5
1
Xa2
1
-1/5
3/5
1
x4
0
0
0
1
f (x)
0
3/5
6/5
1
formulac
ao do problema de PL) e passar para a Fase II.
Fase II
Escrevemos o problema original como:
min
Sujeito a
f (x) = 4x1 + x2
1
x1 + x 3
5
3
x2 x 3
5
x3 + x4
x1 , x 2 , x 3 , x 4
=
=
=
3
5
6
5
1
3.3 An
alise de Sensibilidade
Considere a quest
ao a seguir: dada a soluc
ao
otima de um problema de Programac
ao Linear, para quais faixas
de valores dos coeficientes a soluc
ao
otima seria mantida? Para responder essa quest
ao, fazemos o que se chama
de An
alise de Sensibilidade.
De modo geral, os par
ametros em modelos de PL n
ao s
ao exatos. Com a an
alise de sensibilidade podemos
averiguar o impacto dessa incerteza sobre a qualidade da soluc
ao
otima. Por exemplo, no caso do lucro unit
ario
L. A. P. Cant
ao & F. S. Stark
55
PL
estimado de um produto, se a an
alise de sensibilidade revelar que a soluc
ao
otima n
ao muda para uma variac
ao de
10% no lucro unit
ario, podemos concluir que a soluc
ao e mais encorpada do que quando a faixa de indiferenca e
de apenas 1%.
Os tipos de an
alises a serem feitas podem ser agrupadas de acordo com as alterac
oes em:
Alterac
oes Simples
alterac
oes nos coeficientes de custo, cj ;
alterac
oes nas constantes bi ;
alterac
oes nas restric
oes, como adic
ao (ou exclus
oes) de restric
oes ou vari
aveis.
Alterac
oes Sistem
aticas - Programac
ao Param
etrica
alterac
oes sistem
aticas nos cj ;
alterac
oes sistem
aticas nos bi ;
Note que quando falamos de An
alise de Sensibilidade, estamos nos referindo `
as alterac
oes pontuais, uma de
cada vez. Caso existam modificac
oes simult
aneas em diversas partes do problema, devemos consider
a-lo como
novo, resolvendo-o desde o nicio.
Nesta sec
ao trataremos graficamente e algebricamente dos casos:
1. Alterac
oes nas constantes bi (lado direito das restric
oes);
2. Alterac
oes nos coeficientes de custo, cj (coeficientes da func
ao objetivo).
Para tanto utilizaremos exemplos.
3.3.1 An
alise de Sensibilidade gr
afica
Alterac
oes nas constantes bi (lado direito das restric
oes)
Exemplo 18. A Jobco produz dois produtos em duas m
aquinas. Uma unidade do produto 1 requer duas horas
na m
aquina 1 e uma hora na m
aquina 2. Para o produto 2, uma unidade requer uma hora da m
aquina 1 e tres
horas da m
aquina 2. As receitas por unidade dos produtos 1 e 2 s
ao $30 e $20, respectivamente. O tempo de
processamento di
ario disponvel para cada m
aquina e oito.
Representando o n
umero di
ario de unidade de produtos 1 e 2 por x1 e x2 , respectivamente, o modelo e dado
como:
max f (x) =
30x1
20x2
Sujeito a
2x1
x2
(M
aquina 1)
x1
3x2
(M
aquina 2)
x2
x1 ,
L. A. P. Cant
ao & F. S. Stark
56
PL
Figura 3.4: Gr
afico de an
alise de sensibilidade da soluc
ao
otima a variac
oes na disponibilidade de recursos.
Taxa de variac
ao na
receita resultante do
aquina
capacidade da m
(ponto C para ponto G)
=
= 142 128 = $14/h.
zg zc
(Alterac
ao na capacidade)
98
L. A. P. Cant
ao & F. S. Stark
57
PL
Usando c
alculos semelhantes, voce pode verificar que o preco dual para a capacidade da m
aquina 2 e de $2/h e
permanece v
alido para variac
oes (aumentos ou reduc
oes) que deslocam sua restric
ao paralelamente para qualquer
ponto sobre o segmento de reta DE, o que resulta nos seguintes limites:
Capacidade mnima da m
aquina 2 (em D = (4, 0))
1 4 + 3 0 = 4/h
Capacidade m
axima da m
aquina 2 (em D = (0, 8))
1 0 + 3 8 = 24/h
A conclus
ao e que o preco dual de $2/h para a m
aquina 2 continuar
a aplic
avel para a faixa:
4 horas Capacidade da m
aquina 2 24 horas
Os limites calculados para as m
aquinas 1 e 2 s
ao denominados faixas de viabilidade.
Os precos duais permitem tomar decis
oes econ
omicas sobre o problema de PL como demonstram as respostas
`
as perguntas apresentadas a seguir.
1. Se Jobco puder aumentar a capacidade de ambas as m
aquinas, qual deve receber maior prioridade?
dada uma sugest
2. E
ao para aumentar as capacidades as m
aquinas 1 e 2 ao custo adicional de $10/h. Isso e
aconselh
avel?
Pense na resposta e o porque da decis
ao.
Alterac
oes nos coeficientes de custo, cj (coeficientes da func
ao objetivo)
Exemplo 19. A figura 3.5 mostra o gr
afico da regi
ao de soluc
oes do problema da Jobco apresentado no Exemplo
18. A soluc
ao
otima ocorre no ponto C (x1 = 3.2; x2 = 1.6; f (x) = 128).
Figura 3.5: An
alise de sensibilidade da soluc
ao
otima `
as variac
oes nas receitas unit
arias (coeficientes da func
ao
objetivo).
L. A. P. Cant
ao & F. S. Stark
58
PL
Alterac
oes nas receitas unit
arias (isto e, nos coeficientes da func
ao objetivo) alterar
ao da inclinac
ao de f (x).
Contudo, como podemos ver pela figura, a soluc
ao
otima continuar
a no ponto C contanto que a func
ao objetivo
esteja entre as retas BF e DE (retas que representam as restric
oes das m
aquinas 1 e 2, respectivamente), as duas
restric
oes que definem o ponto
otimo. Isso significa que h
a uma faixa para os coeficientes da func
ao objetivo que
manter
a inalterada a soluc
ao
otima em C.
Podemos escrever a func
ao objetivo no formato geral.
max f (x) = c1 x1 + c2 x2
Agora imagine que a reta f (x) gire em torno de C no sentido hor
ario e anti-hor
ario. A soluc
ao
otima permanecer
a
no ponto C enquanto f (x) = c1 x1 + c2 x2 estiver entre as duas retas, x1 + 3x2 = 8 e 2x1 + x2 = 8. Isso significa
que a raz
ao
c1
c2
1
3
3
c2
1
ou
0.333
c1
2
c3
Essa informac
ao pode fornecer respostas imediatas referentes `
a soluc
ao
otima, como demonstram as respostas
`
as perguntas a seguir.
1. Suponha que as receitas unit
arias para os produtos 1 e 2 sejam alteradas para $35 e $25, respectivamente.
A soluc
ao o
tima atual permanecer
a a mesma?
2. Suponha que a receita unit
aria do produto 2 seja fixada em um valor atual de c2 = $20. Qual e a faixa de
variac
ao para c1 , a receita unit
aria do produto 1, que manter
a a soluc
ao
otima inalterada?
Tente responder as quest
oes.
3.3.2 An
alise de Sensibilidade alg
ebrica
Alterac
oes nas constantes bi (lado direito das restric
oes)
Esta sec
ao estende a an
alise ao modelo geral de PL. Um exemplo numerico ser
a usado para facilitar a apresentac
ao.
Exemplo 20. A Toyco monta tres tipos de brinquedos trens, caminh
oes e carros usando tres operac
oes. Os
limites di
arios dos tempos disponveis para as tres operac
oes s
ao 430, 460 e 420 minutos, respectivamente, e as
receitas por unidade de trem, caminh
ao e carro de brinquedos s
ao $3, $2 e $5 ,respectivamente. Os tempos de
montagem por trem nas tres operac
oes s
ao 1, 2 e 1 minutos, respectivamente. Os tempos correspondentes por
caminh
ao e por carro s
ao (3, 0, 2) e (1, 4, 0) minutos (o tempo zero indica que a operac
ao n
ao foi usada).
Representando o n
umero di
ario de unidades montadas de trens, caminh
oes e carros,respectivamente, o problema
de PL associado e dado por:
max f (x) =
3x1
2x2
5x3
Sujeito a
x1
2x2
x3
2x3
x1
4x2
x1 ,
x2 ,
x3
3x1
430 (Operac
ao 1)
460 (Operac
ao 2)
420
(Operac
ao 3)
59
PL
Base
max
x2
x3
x6
f(x)
1
0
0
0
x1
4
-1/4
3/2
2
x2
0
1
0
0
x3
0
0
1
0
x4
1
1/2
0
-2
x5
2
-1/4
1/2
1
x6
0
0
0
1
b
1350
100
230
20
Linha
(0)
(1)
(2)
(3)
A soluc
ao recomenda a fabricac
ao de 100 caminh
oes e 230 carros, mas nenhum trem. A receita associada e
$1350.
Determinac
ao de precos duais
As restric
oes do modelo ap
os a adic
ao das vari
aveis de folga x4 , x5 e x6 podem ser expressas como
x1
2x2
x3
+ x4
430 (Operac
ao 1)
3x1
2x3
+ x5
460 (Operac
ao 2)
x1
4x2
+ x6
420 (Operac
ao 3)
2x2
x3
430 x4
(Operac
ao 1)
3x1
2x3
460 x5
(Operac
ao 2)
x1
4x2
420 x6
(Operac
ao 3)
ou
x1
Essa equac
ao revela que
1. um aumento de 1 minuto no tempo de operac
ao 1 provoca um aumento de $1 em f (x);
2. um aumento de 1 minuto no tempo de operac
ao 2 provoca um aumento de $2 em f (x);
3. um aumento de 1 minuto no tempo de operac
ao 3 n
ao altera f (x);
L. A. P. Cant
ao & F. S. Stark
60
PL
Vari
avel
de folga
x4
x5
x4
Coeficiente da vari
avel de
folga na linha (0)
1
2
0
Preco dual
($/minuto)
1
2
0
Esses c
alculos mostram como os precos duais s
ao determinados de acordo com a tabela simplex
otima para
restric
oes . Para restric
oes , a mesma ideia continua aplic
avel, exceto que o preco dual assumir
a o sinal oposto
do associado `
a restric
ao . Quanto ao caso em que a restric
ao for uma equac
ao, a determinac
ao do preco dual
com base na tabela simplex
otima requer c
alculos mais aprimorados (vide [Taha]).
Determinac
ao das faixas de viabilidade
Agora que j
a determinamos os precos duais, mostreremos como s
ao determinadas as faixas de viabilidade nas
quais os precos permanecem v
alidos. Representando as variac
oes (positivas ou negativas) nos tempos di
arios de
fabricac
ao alocados `
as operac
oes 1, 2 e 3 por D1 , D2 e D3 , respectivamente, o modelo pode ser expresso da
seguinte maneira:
x1
2x2
3x1
+
+
x3
2x3
430 + D1
460 + D2
(Operac
ao 1)
(Operac
ao 2)
x1
4x2
420
(Operac
ao 3)
x1 ,
x2 ,
x3
+ D3
f(x)
1
0
0
0
x1
-3
1
3
1
x2
-2
2
0
4
x3
-5
1
2
0
x4
0
1
0
0
x5
0
0
1
0
x6
0
0
0
1
LD
0
430
460
420
D1
0
1
0
0
D2
0
0
1
0
D3
0
0
0
1
As colunas sob D1 , D2 e D3 s
ao identicas `
as que est
ao sob as colunas b
asicas iniciais x4 , x5 e x6 . Isso significa
que, quando executamos as mesmas iterac
oes simplex que as do modelo original, as colunas dos dois grupos devem
ter resultados identicos tambem. Na verdade, a nova tabela
otima ficar
a:
L. A. P. Cant
ao & F. S. Stark
61
Base
max
x2
x3
x6
f(x)
1
0
0
0
PL
x1
4
-1/4
3/2
2
x2
0
1
0
0
x3
0
0
1
0
x4
1
1/2
0
-2
x5
2
-1/4
1/2
1
x6
0
0
0
1
LD
1350
100
230
20
D1
1
1/2
0
-2
D2
2
-1/4
1/2
1
D3
0
0
0
1
x2
x3
x6
1350 + D1 + 2D2
1
1
100 + D1 D2
2
4
1
= 230 + D2
2
20 2D1 + D2 + D3
A soluc
ao atual permanece vi
avel, contanto que todas as vari
aveis sejam n
ao negativas, o que resulta nas
seguintes condic
oes de viabilidade:
x2
x3
x6
1
1
100 + D1 D2
2
4
1
= 230 + D2
2
=
20 2D1 + D2 + D3
0
0
0
Quaisquer variac
oes simult
aneas de D1 , D2 e D3 que satisfacam essas desigualdades manter
ao a soluc
ao vi
avel.
Se todas as condic
oes forem satisfeitas, ent
ao a nova soluc
ao
otima pode ser encontrada por meio de substituic
ao
direta de D1 , D2 e D3 nas equac
oes dadas anteriormente.
Vejamos tres situac
oes sobre o resultado acima:
1. Suponha que o tempo de fabricac
ao disponvel para as operac
oes 1, 2 e 3 sejam 480, 440 e 410 minutos,
respectivamente. Para esta situac
ao a soluc
ao atual permanece vi
avel?
2. E se os tempos forem 400, 482 e 450 minutos?
3. Como calculamos as faixas de viabilidade individuais que resultam da variac
ao dos recursos um por vez?
Desenvolva cada item.
Alterac
oes nos coeficientes de custo, cj (coeficientes da func
ao objetivo)
Exemplo 21. Definic
ao de custo reduzido. Para facilitar a explicac
ao da an
alise de sensibilidade da func
ao
objetivo, primeiro precisamos definir custos reduzidos. No modelo da Toyco, a func
ao objetivo f (x) na tabela
otima e:
62
PL
Determinac
ao das faixas de otimalidade
Agora voltemos nossa atenc
ao `
a determinac
ao das condic
oes que manter
ao uma soluc
ao
otima inalterada. A
apresentac
ao e baseada na definic
ao de custo reduzido.
No modelo da Toyco, representamos a variac
ao nas receitas unit
arias para caminh
oes, trens e carros de brinquedo
por d1 , d2 e d3 , respectivamente. Desse modo, a func
ao objetivo se torna:
max f (x) = (3 + d1 )x1 + (2 + d2 )x2 + (5 + d3 )x3
O procedimento para a an
alise de sensibilidade e o mesmo para o lado direito, realizado anteriormente. Com
as variac
oes simult
aneas, a linha (0) na tabela simplex inicial aparece como:
Base
max
f(x)
1
x1
3 d1
x2
2 d2
x3
5 d3
x4
0
x5
0
x6
0
Soluc
ao
0
L. A. P. Cant
ao & F. S. Stark
63
Base
max
x2
x3
x6
f(x)
1
0
0
0
PL
x1
4 14 d2 + 32 d3 d1
-1/4
3/2
-1/4
x2
0
1
0
0
x3
0
0
1
0
x4
1 + 12 d2
1/2
0
-2
x5
2 41 d2 + 12 d3
-1/4
0
1
x6
0
0
1/2
1
Soluc
ao
1350 + 100d2 + 230d3
100
230
20
x1
x4
x5
1
4 d2 +
4
1
= 1 + d2
2
1
= 2 d2 +
4
=
3
d3 d1
2
1
d3
2
Essas condic
oes devem ser satisfeitas simultaneamente para manter a otimalidade da soluc
ao
otima atual.
Considere uma modificac
ao como:
1. Para ilustrar a utilizac
ao dessas condic
oes, suponha que a func
ao objetivo da Toyco seja alterada de
max f (x) = 3x1 + 2x2 + 5x3
para
max f (x) = 2x1 + x2 + 6x3
A soluc
ao o
tima ser
a mantida?
12x1
9x2
10x3
x1
1
2 x1
x3
x2
7
4 x2
x3
3x1 +
x1 , x2 ,
7x2
x3
5x3
0
Sujeito a
L. A. P. Cant
ao & F. S. Stark
x1
2x2
6x1
x1
10x2
x1 , x2
30
6
0
64
PL
5x1
Sujeito a
2x2
x1
x2
2x1 +
x 1 , x2
x2 10
0
x1
2x2
3x3
x1
2x1
+
+
2x2
x2
+
+
3x3
5x3
x1
2x2
x3
x 3 , x4
x1 , x2 ,
x4
=
15
= 20
+ x4
10
2x1
3x2
x1
2x2
2x1
3x2
x1
x2
x1 , x2
Sujeito a
2x1
3x2
x1
3x2
3x1
2x2
x1 , x2
2x1
3x2
6x1
7x2
9x3
x1
x2
x1 , x3
x2
L. A. P. Cant
ao & F. S. Stark
5x3
4x3
65
PL
ao b
asica
A convers
ao na forma de equac
ao envolve utilizar a substituic
ao x2 = x2 x2+ . Mostre que a soluc
n
ao pode incluir ambas, x2 e x2+ , simultaneamente.
8. Considere o seguinte problema de PL:
max f (x) =
Sujeito a
x1
x1
+
+
3x2
x2
x1
x2
x1
x2
2x2
2x3
4x4
40
2x1
x2
x3
2x4
4x1
2x2
x3
x4
x3 , x 4
x1 , x2 ,
10
x1
Sujeito a
5x1
x2
6x1
x3
3x1
x4
x2 , x 3 , x 4
x1 ,
16x1
15x2
Sujeito a
40x1
31x2
124
x1
x2
x1
x1 ,
L. A. P. Cant
ao & F. S. Stark
x2
66
PL
3x2
4x1
x1
+ 5x2
+ 2x2
6x1
7x2
8x2
x1 ,
x2
4x1
(1)
10 (2)
5 (3)
3
(4)
(5)
2x1
5x2
Sujeito a
3x1
2x2
2x1
x2
x1 , x2
67
PL
L. A. P. Cant
ao & F. S. Stark
68
CAPITULO
Dualidade
4.1 Introduc
ao
A cada modelo de PL, a partir de agora denominado Primal (P), corresponde um outro denominado Dual (D). O
relacionamento dos dois modelos e extremamente instigante e capaz de enriquecer a compreens
ao da Programac
ao
Linear e da sua interpretac
ao econ
omica.
No problema Primal busca-se a otimizac
ao dos nveis de atividades das vari
aveis de decis
ao, entendidas como as
vari
aveis reais do problema em an
alise. No problema Dual a preocupac
ao se d
a com recursos disponveis, avaliados
a seus precos sombra (precos duais). Desse modo, o presente captulo est
a fortemente relacionado com o final do
anterior. Alem disso, as soluc
oes dos dois problemas est
ao de tal modo inter-relacionadas pois da soluc
ao
otima do
problema Primal e possvel reconhecer a soluc
ao do Dual. Inversamente, na soluc
ao
otima do Dual identificamos
a soluc
ao do Primal.
Inicialmente, mostraremos que o Dual e resultado de um problema de Programac
ao Linear, e, por meio de
exemplos simples, apresentamos as propriedades do relacionamento entre os dois problemas. Seguem, sem demonstrac
oes formais, mas por meio de apelos intuitivos, os teoremas b
asicos da dualidade, completando o captulo
com a apresentac
ao do Metodo Dual Simplex.
4.2 Definic
ao do Problema Dual
Em grande parte dos tratamentos de PL, o dual e definido para os v
arios formatos do primal dependendo do
sentido de otimizac
ao (maximizac
ao ou minimizac
ao), dos tipos de restric
oes (, ou =) e da orientac
ao das
vari
aveis (n
ao negativas ou irrestrita). Esse tipo de tratamento e um pouco confuso e, por essa raz
ao, oferecemos
uma definic
ao
unica que abranja todas as formas do primal.
Nossa definic
ao do problema dual requer expressar o problema primal na forma de equac
oes (todas as restric
oes
s
ao equac
oes cujo lado direito e n
ao negativo e todas as vari
aveis s
ao n
ao negativas). Esse requisito e consistente
com o formato da tabela simplex inicial. Por consequencia, quaisquer resultados obtidos com base na soluc
ao
otima do problema primal se aplicar
Captulo 4. Dualidade
PL
maneira:
Maximizar ou Minimizar
Sujeito a
f (x)
n
X
n
X
cj xj
i=1
aij xj
bi ,
i =1:m
xj
0,
j = 1 : n.
i=1
As vari
aveis xj , j = 1 : n incluem as vari
aveis de sobra, de folga e artificiais, se houver.
A tabela 4.1 mostra como o problema dual e construdo com base no problema primal.
Vari
aveis primais do problema
x1
x2
...
xj
...
xn
Vari
aveis
duais do
problema
y1
y2
..
.
c1
c2
...
cj
...
cn
Lado
direito
a11
a21
..
.
a12
a22
..
.
...
...
..
.
a1j
a2j
..
.
...
...
..
.
a1n
a2n
..
.
b1
b2
..
.
ym
am1
am2
...
amj
...
amn
bm
Problema dual
Objetivo
Tipos de restric
oes
Minimizac
ao
Maximizac
ao
f (x)
5x1
12x2
4x3
x1
2x2
x3
10
x1
x2
3x3
x3
x1 ,
L. A. P. Cant
ao & F. S. Stark
x2 ,
70
Captulo 4. Dualidade
PL
Na forma padr
ao:
max
f (x)
5x1
Sujeito a
12x2
x1
2x2
x1
x2
x1 ,
4x3
0x4
x3
x4
3x3
x2 ,
x3 ,
x4
10
As vari
aveis duais s
ao 10y1 e 8y2 . O Problema Dual fica como:
min f (y)
10y1
8y2
y1
y2
2y1
y2
12
y1
y1
+
+
3y2
0y2
4
0
Sujeito a
y1 ,
y2
irrestritas
f (x)
15x1
12x2
x1
2x2
2x1
4x2
x2
Sujeito a
x1 ,
Na forma padr
ao:
min
f (x)
15x1
12x2
0x3
0x4
x1
2x2
x3
0x4
2x1
4x2
0x3
x4
x4
Sujeito a
x1 ,
x2 ,
x3 ,
As vari
aveis duais s
ao 3y1 e 5y2 . O Problema Dual fica como:
max
Sujeito a
f (y)
3y1
y1
+ 5y2
+ 2y2
15
2y1
4y2
12
y1
0
y2
y1 ,
y2
0
irrestritas
L. A. P. Cant
ao & F. S. Stark
71
Captulo 4. Dualidade
PL
max
f (x)
10x1
7x2
15x3
5x1
4x2
x3
2x1
3x2
S. a
x1 ,
80
(y1 )
5x3
30
(y2 )
x3
x2 ,
f (y)
S. a
80y1
30y2
5y1
2y2
10
(x1 )
4y1
3y2
(x2 )
y1
5y2
15
(x3 )
y2
y1 ,
Do dual para o primal (ou o processo dual se considerarmos o sistema anterior como um primal):
max
f (x)
10x1
7x2
15x3
5x1
4x2
x3
80
(y1 )
2x1
3x2
5x3
30
(y2 )
x3
S. a
x1 ,
x2 ,
Propriedade 2. Se a restric
ao m do primal e uma igualdade (=), ent
ao a vari
avel ym do dual e sem restric
ao de
sinal.
max
f (x)
S. a
5x1
2x2
3
5x1
x1
x1 ,
(y1 )
x2
(y2 )
2x2
(y3 )
x2
f (x)
S. a
5x1
2x2
x2
2x2
x2
5x1
x1
x1 ,
3
4
(y1 )
(y2 )
(y3 )
Para o dual:
max
S. a
f (y)
3y1
4(y2 y2+ )
y1
y1 ,
L. A. P. Cant
ao & F. S. Stark
(y2 y2+ )
y2 , y2+ ,
9y3
y3
2y3
y3
72
Captulo 4. Dualidade
PL
Propriedade 3. Se a restric
ao m do primal e maior que ou igual (), ent
ao a vari
avel ym do dual e n
ao positiva.
max
f (x)
S. a
5x1
2x2
x2
2x2
x2
x1
x1
x1 ,
Colocando todas as restric
oes como menor igual ():
max
f (x)
S. a
5x1
2x2
(y1 )
x2
(y2 )
2x2
(y3 )
x2
x1
x1
x1 ,
Construindo o dual:
min f (y)
S. a
3y1
4y2
y1
y1 ,
y2
9y3
y3
2y3
y3
y2 ,
3y1
4y2
y1
y20
y1 ,
y20
9y3
y3
2y3
y3
0
0
Propriedade 4. Se a vari
avel xj do primal e sem restric
ao de sinal, ent
ao a restric
ao j do dual e uma igualdade
(=).
Propriedade 5. Se a vari
avel xj do primal e n
ao positiva, ent
ao a restric
ao j do dual e maior ou igual ().
L. A. P. Cant
ao & F. S. Stark
73
Captulo 4. Dualidade
PL
Primal (max)
k-esima restric
ao e ()
k-esima restric
ao e (=)
k-esima restric
ao e ()
p-esima vari
avel primal xp 0
p-esima vari
avel primal irrestrita de sinal
p-esima vari
avel primal xp 0
Dual (max)
Dual (min)
k-esima vari
avel dual e positiva yk 0
k-esima vari
avel dual irrestrita de sinal
k-esima vari
avel dual yk 0
p-esima restric
ao e ()
p-esima restric
ao e (=)
p-esima restric
ao e ()
Primal (min)
Corol
arios dos Teoremas
Abaixo temos alguns corol
arios pertinentes aos Teoremas.
1. Se o primal e ilimitado (fp (x) = +), o dual n
ao tem soluc
ao vi
avel;
L. A. P. Cant
ao & F. S. Stark
74
Captulo 4. Dualidade
PL
2. Inversamente, se o dual n
ao tem soluc
ao vi
avel, ent
ao o primal e ilimitado;
3. Se o dual e ilimitado (fd (y) = ), o primal n
ao tem soluc
ao vi
avel;
4. Inversamente, se o primal n
ao tem soluc
ao vi
avel, ent
ao o dual e ilimitado;
XXX Primal
Dual XXXX
Tem Soluc
ao Factvel
N
ao Tem Soluc
ao Factvel
Tem soluc
ao Factvel
N
ao Tem Soluc
ao Factvel
max fp = min fd
min fd =
max fp =
Pode ocorrer
4.3 M
etodo Dual Simplex
O Metodo Dual Simplex e aplicado em situac
oes em que a soluc
ao inicial do primal e infactvel, porem os
elementos da linha da func
ao objetivo s
ao todos n
ao negativos, indicando otimalidade. O metodo procura alcancar
a factibilidade primal tornando as vari
aveis xj n
ao negativas, mas preservando a factibilidade dual (mantendo a
linha objetivo n
ao negativa).
4.3.1 Resumo do M
etodo
Suponha que o quadro do metodo apresente as seguintes caractersticas:
ao e
Todos os elementos da linha objetivo s
ao n
ao negativos, ou seja, cj 0, para j = 1 : m. Esta condic
denominada otimalidade primal ou soluc
ao dual factvel;
A coluna b apresenta pelo menos um elemento negativo, isto e, a condic
ao de n
ao negatividade das vari
aveis
n
ao e atendida. Diz-se que a soluc
ao primal e infactvel.
O Metodo Dual Simplex e aplicado seguindo os passos:
1. Selec
ao da vari
avel a deixar a base: escolha uma das vari
aveis negativas, de preferencia a mais negativa.
Seja br = min{bi para bi < 0}
Assim, a vari
avel b
asica correspondente `
a linha r sai da base e a linha r e a linha do piv
o.
2. Selec
ao da vari
avel que entra na base: introduzir na base aquela vari
avel cujo coeficiente na linha objetivo
atingir zero mais rapidamente, quando um m
ultiplo da linha r for somado `
a linha objetivo.
Podem ocorrer dois fatos:
L. A. P. Cant
ao & F. S. Stark
75
Captulo 4. Dualidade
PL
(a) A avaliac
ao da vari
avel a entrar na base se restringe `
as vari
aveis n
ao b
asicas que tem um coeficiente
negativo na linha r . A aplicac
ao da l
ogica anterior conduz `
a regra dos coeficientes
ck
= max
j
ar j
cj
para ar j < 0
ar j
Assim, a vari
avel xk entra na base. Podemos seguir para o passo 3.
(b) Caso ar j 0 para todo j = 1 : n, ou seja, a linha r n
ao contem elementos negativos, ent
ao o problema
n
ao tem soluc
ao factvel. Devemos parar ent
ao com a tentativa de resoluc
ao.
3. Achar uma nova soluc
ao b
asica em que a vari
avel xk se torna b
asica. Isto equivale a efetuar um pivoteamento simplex em torno do elemento ar k . V
a para o passo 4.
4. Teste da Factibilidade Primal: se todos os bi , i = 1 : m forem n
ao negativos a soluc
ao obtida e o
tima,
ent
ao podemos parar; caso contr
ario, voltar ao passo 1.
Problemas de Minimizac
ao
H
a duas formas de tratar problemas deste tipo. S
ao elas:
1. Consiste na convers
ao do problema de minimizac
ao em um problema de maximizac
ao.
2. Consiste em inverter o criterio de escolha da vari
avel a entrar na base, para o seguinte
cs
= min
j
ar s
cj
para ar j > 0
ar j
Assim, a vari
avel xs entra na base.
Observe o exemplo a seguir.
Exemplo 24. Dado o problema linear
max
f (x)
S. a
x1
x2
x3
9
x1
x1
x1 ,
x2
x2 ,
x3
x3
f (x)
x1
x1
x1
x1 ,
+
+
x2
x2
x2 ,
x3
0x4
x4
x3
x3 ,
+
+
x4 ,
0x5
x5
= 9
= 2
x5
Ap
os colocar o problema na forma padr
ao escrevemos o quadro Simplex (Tabela 4.5).
Pela checagem das vari
aveis vemos que x2 entra, pois o aumento desta resulta em aumento de f (x). Sai x5 ,
uma vez que o teste de coeficiente s
o e possvel para esta (Tabela 4.6).
L. A. P. Cant
ao & F. S. Stark
76
Captulo 4. Dualidade
PL
Base
Max
x4
x5
f(x)
1
0
0
x1
1
1
1
x2
-1
0
1
x3
1
0
1
x4
0
1
0
x5
0
0
1
b
0
9
2
Linha
(0)
(1)
(2)
f(x)
1
0
0
x1
2
1
1
x2
0
0
1
x3
2
0
1
x4
0
1
0
x5
1
0
1
b
2
9
2
Linha
(0)
(1)
(2)
Chegamos no valor m
aximo de f (x) uma vez que nenhuma outra vari
avel e propicia ao aumento de f (x) (os
coeficientes das vari
aveis x1 e x3 s
ao positivos).
Ent
ao, f (x) = 2 e x = (0, 2, 0, 9, 0).
2. Construindo e resolvendo o Dual.
max
f (x)
S. a
x1
x2
x3
x2
x3
(y1 )
(y2 )
x3 ,
x1
x1
x1 ,
x2 ,
Na forma dual:
min f (y) =
9y1
2y2
S.a
y1
y2
y2
y1 ,
1
1
y2
y2
Ap
os colocar na forma padr
ao temos o quadro Dual Simplex (a coluna b foi renomeada para identificar o
vetor b dual, assim bd ) Tabela 4.7.
Base
Min
y3
y4
y5
f(y)
1
0
0
0
y1
-9
-1
0
0
y2
-2
-1
-1
-1
y3
0
1
0
0
y4
0
0
1
0
y5
0
0
0
1
bd
0
1
-1
1
Linha
(0)
(1)
(2)
(3)
L. A. P. Cant
ao & F. S. Stark
77
Captulo 4. Dualidade
PL
Base
Min
y3
y2
y5
f(y)
1
0
0
0
y1
-9
-1
0
0
y2
0
0
1
0
y3
0
1
0
0
y4
-2
-1
-1
-1
y5
0
0
0
0
bd
2
2
1
2
Linha
(0)
(1)
(2)
(3)
f (x)
S. a
3x1
2x2
4x1
2x1
3x2
2x2
x1
x2
10
f (x)
2x1
2x1
x1
S. a
x1
3x2
+ 3x2
+ 2x2
6
8
x2
x2
x1 ,
(a) Escreva o problema Dual.
f (x)
6x1
4x2
3x1
7x2
8x3
5x4
x5
2x1
x2
2x4
9x5
x5
0
R
x1 ,
L. A. P. Cant
ao & F. S. Stark
x2 ,
x3
3x3
x3 ,
7x4
5x5
x4
78
Captulo 4. Dualidade
PL
f (x)
3x1
S. a
x2
5x3
6x1
3x2
5x3
45
(m
ao-de-obra)
3x1
4x2
5x3
30
(materia-prima)
x3
x1 ,
x2 ,
f (x)
S. a
x1
x2
x3
x1
2x2
x3
x1
x2
x3
x3
x1 ,
x2 ,
f (x)
S. a
5x1
2x2
x1
x2
2x1
3x2
x2
x1 ,
min
(b)
f (x)
S. a
6x1
6x1
3x2
+ x3
3x1
4x2
+ x3
x2 ,
x3
x1 ,
max
(c)
S. a
f (x)
3x2
x1
x2
2x1
x2
3x1
x2
x2
x1 ,
7. A BagCo produz jaquetas e bolsas de couro. Uma jaqueta requer 8m2 e uma bolsa, apenas 2m2 . Os requisitos
de m
ao-de-obra para os dois produtos s
ao 12 e 5 horas, respectivamente. As disponibilidades semanais atuais
de couro e m
ao-de-obra est
ao limitadas a 1200m2 e 1850 horas. A empresa vende jaquetas e bolsas a $350 e
$120, respectivamente. O objetivo e determinar a programac
ao de produc
ao que maximize a receita lquida.
A BagCo est
a considerando uma expans
ao de produc
ao. Qual e o preco m
aximo de compra que a empresa
deve pagar pelo couro adicional e para a m
ao-de-obra?
L. A. P. Cant
ao & F. S. Stark
79
CAPITULO
M
etodos de Pontos Interiores
5.1 Introduc
ao
A ideia dos Metodos de Pontos Interiores foi desenvolvida por Karmarkar, em 1984, quando ele publicou um
artigo que buscava a soluc
ao de um problema de Programac
ao Linear (PL) atraves do interior da regi
ao vi
avel.
Deste ent
ao, houve muitas modificac
oes no metodo, permanecendo a ideia b
asica: a de caminhar pelo interior da
regi
ao vi
avel .
Atualmente existem tres classes de metodos: os que consideram apenas problemas no formato primal, outros
apenas no formato dual e, finalmente metodos que extraem informac
oes dos dois problemas, conhecidos como
Metodos Primais-Duais. Esta
ultima classe ser
a abordada aqui, com base em [12].
5.2 Notac
ao
A maior parte do desenvolvimento te
orico de algoritmos para (PL) e feita para problemas com restrico
es do
tipo igualdade (problemas na forma padr
ao, como desenvolvido no Captulo 3). No Captulo 4 o denominamos
como Problema Primal (PP). O PL tambem pode ser formulado com restric
oes de desigualdades, que se chama
Problema Dual (PD). Os dois problemas (PP e PD) s
ao relacionados por express
oes simples, que permitem traduzir
metodos desenvolvidos em um formato para o outro (vide Captulo 4).
Considere o problema no formato primal (ou padr
ao):
min cT x
(PP)
S. a
Ax
onde A Rnn , b Rm e c, x Rn .
Suporemos que a matriz A tenha posto completo. O conjunto de soluc
oes vi
aveis de (PP) e definido por:
P = {x Rn / Ax = b, x 0}
O interior de P definido por:
P 0 = {x Rn / Ax = b, x > 0}
e o conjunto das soluc
oes interiores de (PP). Suporemos P 0 6= .
Todo ponto satisfazendo x P 0 ser
a denominado de ponto interior.
PL
Associado ao (PP) temos o (PD), que consiste basicamente dos mesmos dados organizados de maneira diferente:
max
(PD)
bT y
S. a AT y + z =
irrestrito
z0
(viabilidade dual)
Ax
x0
(viabilidade primal)
XZe
(5.1)
(folgas complementares)
(x, y, z) / Ax = b, AT y + z = c, (x, z) 0
(x, y, z) / Ax = b, AT y + z = c, (x, z) > 0
respectivamente. Assumiremos 0 6= .
L. A. P. Cant
ao & F. S. Stark
81
PL
5.3 M
etodo Primal-Dual
Os metodos primais-duais est
ao estritamente relacionados ao consagrado Metodo de Newton para soluco
es de
sistemas de equac
oes, lineares ou n
ao. Uma iterac
ao primal-dual e, em
ultima inst
ancia, uma iterac
ao adaptada
do metodo de Newton, proveniente das condic
oes de KKT (5.1).
Podemos escrever as condic
oes de KKT na forma de uma equac
ao, em conjunto com uma restric
ao. A equac
ao
provem das pr
oprias condic
oes de otimalidade e a restric
ao continua sendo a de n
ao negatividade. Obtemos ent
ao:
Ax b
F (x, y, z) = AT y + z c = 0,
XZe
(x, y) 0
(5.2)
xk+1
xk + xk
xk
k+1 k
y
= y + yk = yk J1 (x, y, z)F (x, y, z)
zk+1
zk + zk
zk
(5.3)
ou ainda,
xk
L. A. P. Cant
ao & F. S. Stark
82
PL
xk
J(x, y, z) = yk = F (x, y, z)
zk
sendo:
J(x, y, z) = 0
AT
I .
X
0
Z
0
AT
0
Axk b
xk
0
I yk = AT yk + zk c
X k Zk e
zk
X
0
Z
AT
0
xk
I yk =
0
X
zk
Xk Zk e
Atualizando as vari
aveis (x, y, z) temos:
(xk+1 , yk+1 , zk+1 ) = (xk , yk , zk ) + k (xk , yk , zk ).
Os metodos primais-duais s
ao variac
oes do metodo de Newton obtidos a partir de modificac
oes na maneira
de calcular (xk , yk , zk ), a direc
ao de busca, e k , o par
ametro que controla o tamanho do passo em cada
iterac
ao. O valor de k pode atuar no algoritmo de dois modos:
Mantendo o novo ponto no interior da regi
ao vi
avel e.
Cuidando para que (x, z) permaneca longe das fronteiras do quadrante n
ao negativo, (x, z) > 0. Direc
oes
calculadas a partir de pontos pr
oximos a este quadrante tendem a ser distorcidas levando a pouco, se algum,
progresso.
A ideia da trajet
oria central nos auxlia nas quest
oes acima.
5.3.1 A Trajet
oria Central
Uma das maneiras de manter o algoritmo do tipo primal-dual no interior da regi
ao vi
avel e fazer com que a
trajet
oria gerada pelo metodo de Newton esteja em alguma vizinhanca da denominada trajet
oria central.
Matematicamente, a trajet
oria central C e um caminho de pontos estritamente vi
aveis, (x , y , z ) C 0 ,
parametrizado por um escalar > 0, de modo que
AT y + z
z0
(viabilidade dual)
Ax
x0
(viabilidade primal)
XZe
(x, z) >
(folgas complementares)
(5.4)
A trajet
oria central e um recurso interessante pois quando 0, a equac
ao (5.4) equac
ao (5.1). Ent
ao, se
L. A. P. Cant
ao & F. S. Stark
83
PL
1X
xT z
xi z i =
,
n
n
(5.5)
i=1
0
Z
0
AT
0
0
xk
0
0
I yk =
k
Xk Zk e + e
z
X
(5.6)
f (x, z) =
X
1 T
log(xi zi ).
x z
i=1
= 0
= 0
Zx + Xz
= XZe + e
(5.7)
Isolando z da
ultima equac
ao de (5.7), temos:
Z = Ze + X1 e X1 Zx
(5.8)
(5.9)
medida.
L. A. P. Cant
ao & F. S. Stark
84
PL
X1 Z
AT
#"
x
y
"
=
0
X1 e + Ze
(5.10)
Como X e Z s
ao matrizes diagonais e n
ao singulares, podemos isolar x de (5.10), obtendo assim, um novo
sistema equivalente:
AZ1 XAT y
z
x
= A Xe Z1 e
= AT y
= Xe + Z
(5.11)
1
eZ
Xz
Estrutura Primal-Dual
Fase I
Passo 1: (Inicializac
ao) Faca k = 0 e encontre (x0 , y0 , z0 ) 0 uma soluc
ao inicial.
Fase II
Passo 2: (Otimalidade) Se o ponto (xk , yk , zk ) satisfaz os criterios de otimalidade, pare.
Passo 3: (C
alculo da direc
ao de busca) Seja k [0, 1] e k =
(xk )T zk
. Calcule:
n
T
k
AZ1
k Xk A y
A Xk e k k Z1
k e
zk
AT yk
xk
1
k
Xk e + k k Z1
k e Zk Xk z
(5.12)
Passo 4: (Atualizac
ao)
xk+1 , yk+1 , zk+1 = xk , yk , zk + k xk , yk , zk
Faca k = k + 1 e volte ao passo 2.
Na Fase I do algoritmo calculamos uma soluc
ao inicial para o problema e na Fase II, calculamos a direc
ao de
busca e atualizamos a soluc
ao ate obtermos a soluc
ao
otima.
5.4 M
etodo de Reduc
ao de Potencial (RP)
O Metodo de Reduc
ao de Potencial e uma variante dos algoritmos que usam passos de Newton e parte de uma
classe maior de metodos, denominados Metodos de Penalizac
ao. De um modo geral, um metodo de penalizac
ao
2 M
etodo
L. A. P. Cant
ao & F. S. Stark
85
PL
modifica a func
ao objetivo acrescentando um termo que (i) aumente muito seu valor quando determinada condic
ao
de controle e violada e (ii) tende a zero quando nos aproximamos da soluc
ao
otima. Este termo e conhecido
usualmente de func
ao de barreira ou func
ao potencial.
Karmarkar usou uma func
ao potencial para a Programac
ao Linear sob a forma:
n
X
log cT x L
log xi
i=1
x1
S. a
x1
x2
x3
x2
x1 ,
x2 ,
+
x3 ,
x4
x4
1.5
1
0.5
0
-0.5
-1
-1.5
0
0.5
1.5
0.4
1
0.5
0.3
0
0.2
0.1
0.2
0.3
0.4
0.50
0.1
0.2
0.3
0.4
0.5
-0.5
0.1
-1
-1.5
0
0.1
0.2
0.3
0.4
0.5
Figura 5.1: Gr
afico e curvas de nvel de (x1 , x2 ).
Depois da publicac
ao do algoritmo de Karmarkar, houve muitos avancos nos algoritmos que usam esta func
ao;
porem a maioria das novas tecnicas ainda baseava-se nos valores das vari
aveis primais. A partir de 1987 os
algoritmos passaram a utilizar de forma mais balanceada vari
aveis primais-duais. Nessa linha temos a func
ao de
potencial primal-dual de Tanabe-Todd-Ye, definida por:
(x, y) = log xT z
n
X
log xi zi
(5.13)
i=1
para um par
ametro > n.
Os algoritmos baseados em usam a func
ao potencial apenas para monitorar o progressoe provar a convergencia. Este progresso refere-se ao potencial atribudo a cada ponto de 0 por e que diminui a medida
que nos aproximamos da soluc
ao. Como todos os algoritmos baseados na estrutura primal-dual, o algoritmo de
reduc
ao de potencial obtem sua direc
ao de busca pela execuc
ao de (5.12) para algum k (0, 1). O tamanho do
passo k e escolhido para minimizar ao longo da direc
ao de busca.
L. A. P. Cant
ao & F. S. Stark
86
PL
Voltando a equac
ao (5.13), faremos algumas modificac
oes algebricas para extrairmos algumas propriedades de
. Primeiramente vamos somar e subtrair dois novos termos, como segue:
(x, y) = log xT z n log xT z
n
X
i=1
(x, y)
h
x1 z1
x2 z2
xN zn i
log xT z n log xT z log T n + log T n + . . . + log T n + n log n,
x z
x z
x z
n
X
xi zi
( n) log xT z
log xT z + n log n
i=1
n
X
i=1
log
xi zi
xT z
n
+ n log n.
(5.14)
De (5.14) percebemos que faz o balanceamento entre dualidade e centralidade. Se xT z e pequeno, favorecemos
xT z
a dualidade e se nenhum xi zi e muito menor do que a media =
, favorecemos a centralidade.
n
Duas propriedades importantes podem ser ent
ao observadas:
1. + se xi zi 0, para algum i , mas =
xT z
n
ao tende a zero;
n
Algoritmo de Reduc
ao de Potencial Primal-Dual
n
, onde < n e o par
ametro de (5.14). O passo k e escolhido para minimizar
() ao longo da direc
ao de busca e mantendo a viabilidade.
Este algoritmo toma k =
Algoritmo RP
Fase I
Passo 1: (Inicializac
ao) Faca k = 0, > n e encontre (x0 , y0 , z0 ) 0 .
Fase II:
Passo 2: (Otimalidade) Se o ponto (xk , yk , zk ) satisfaz os criterios de otimalidade, pare.
L. A. P. Cant
ao & F. S. Stark
87
PL
Passo 3: (C
alculo da direc
ao de busca) Seja k =
n
e resolva (5.12) para obter (xk , yk , zk ).
Passo 4: (C
alculo do tamanho do passo) Calcule:
max = sup { [0, 1] / (x, z) + (x, z) 0} ,
e escolha k de k = ar g min(0,max ) (xk + xk , zk + zk ).
Passo 5: (Atualizac
ao)
(xk+1 , yk+1 , zk+1 ) = (xk , yk , zk ) + k (xk , yk , zk ).
Faca k = k + 1 e volte ao passo 2.
5.5 Implementac
ao de Algoritmos de Pontos Interiores
Na sec
ao 5.3.2 definimos uma estrutura geral para o algoritmo Primal-Dual e na sec
ao 5.4 definimos algumas
variantes desta estrutra. Porem, durante estas sec
oes, tomamos como conhecida uma soluc
ao inicial e omitimos
o criterio de parada do algoritmo. Trataremos nesta sec
ao destes t
opicos, bem como de uma estrutura mais
completa para o algoritmo Primal-Dual.
5.5.1 Soluc
ao Inicial
Ate aqui, discutimos sobre algoritmos de Pontos Interiores, supondo conhecida uma soluc
ao inicial. A dificuldade
em obter uma soluc
ao inicial e equivalente a de aplicar o algoritmo ate a soluc
ao
otima; por isso, muitos algoritmos
te
oricos assumem a existencia de um ponto inicial e o usam para inicializar o algoritmo. O processo de encontrar
uma soluc
ao inicial e conhecida como Fase I do algoritmo e o processo de resolver o algoritmo ate a otimalidade,
de Fase II. Ent
ao, nesta sec
ao, abordaremos a Fase I do algoritmo Primal-Dual.
Seja (x0 , y0 , z0 ) com (x0 , z0 ) > 0 uma soluc
ao primal-dual inicial invi
avel. Para obter uma soluc
ao vi
avel
considere os seguintes problemas primal e dual artificiais:
(PPA)
min
cT x + MP xn+1
S. a
Ax + (b Ax0 )xn+1
T 0
(A y + z c) x + xn+2
=
=
b
MD
0
e
max
bT y + MD ym+1
S. a
AT y + (AT y0 + z0 c)ym+1 + z
(PDA)
(b Ax0 )T y + zn+1
ym+1 + zn+2
(z, zn+1 , zn+2 )
= c
= MP
=
88
PL
(5.15)
(5.16)
0
0
0
0
0
ent
ao (x0 , xn+1
, xn+2
) e (y0 , ym+1
, z0 , zn+1
, zn+2
) s
ao soluc
oes vi
aveis para os problemas artificiais (PPA) e (PDA),
respectivamente.
0
0
0
0
0
Os valores de xn+1
, xn+2
, ym+1
, zn+1
e zn+2
podem ser obtidos como segue.
0
b(1 xn+1
)
Ax (1
0
xn+1
)
(5.17)
= 0
= 1
(5.18)
(5.19)
= MD (AT y0 + z0 c)T x 0 ,
0
zn+1
= MP (b Ax0 )T y 0 ,
0
zn+2
(5.20)
1.
L. A. P. Cant
ao & F. S. Stark
89
PL
5.5.2 Crit
erio de Parada
Ao contr
ario do metodo Simplex, o algoritmo de Ponto Interior Primal-Dual nunca encontra uma soluc
ao exata
para o problema PL. Por isso, o algoritmo precisa usar um criterio de parada para decidir quando a iterac
ao corrente
est
a pr
oxima o suficiente da soluc
ao
otima.
Muitos algoritmos consideram uma boa soluc
ao aproximada a soluc
ao que possui os resduos primal rb = Ax b
e dual rc = AT y + z c e a metrica dual suficientemente pequenos. Para esse fim pode-se usar medidas relativas
diminuindo os problemas de escala dos dados. Testes tpicos para uma soluc
ao (x, y, z) s
ao:
krb k
1 + kbk
krc k
1 + kck
=
=
kAx bk
1
1 + kbk
kAT y + z ck
1
1 + kck
|cT x bT y|
1
1 + |cT x|
(5.21)
onde 1 e a toler
ancia. Naturalmente outros criterios podem ser adotados em concord
ancia com a aplicac
ao a um
problema especfico.
=
=
kAx bk
1
1 + kbk
kAT y + z ck
1
1 + kck
|cT x bT y|
1
1 + |cT x|
ent
ao pare. A soluc
ao encontrada e
otima.
Passo 3: (C
alculo da direc
ao de busca) Seja k [0, 1] e k =
(xk )T zk
. Seja k [0, 1]. Calcule:
n
T
k
AZ1
k Xk A y
A Xk e k k Z1
k e
zk
AT yk
xk
1
k
Xk e + k k Z1
k e Zk Xk z
Passo 4: (Atualizac
ao)
xk+1 , yk+1 , zk+1 = xk , yk , zk + k xk , yk , zk
Faca k = k + 1 e volte ao passo 2.
L. A. P. Cant
ao & F. S. Stark
90
CAPITULO
Programac
ao Linear Inteira
6.1 Introduc
ao
Como descrito em [2], problemas de Programac
ao Linear Inteiro (PLI) pertencem a otimizac
ao discreta ou
combinat
oria pois algumas das vari
aveis fazem parte de um conjunto discreto, tipicamente, um subconjunto dos
n
umeros inteiros.
Um problema com vari
aveis inteiras e reais e denominada de Programac
ao Linear Inteira Mista (PLIM) quando
tem a seguinte forma:
max
f (x, y) =
S. a
cx
dy
Ax
+ Dy
x
y
Rn+
Zp+
f (x) =
S. a
cx
Ax
Zn+
e se todas as vari
aveis assumem valores 0 ou 1, tem-se um problema de Programac
ao 0-1 ou Bin
aria (PB), escrito
como:
max
S. a
f (x) =
cx
Ax
Bn+
Captulo 6. Programac
ao Linear Inteira
PL
f (x) =
5x1
4x2
x1
x2
(R1)
10x1
6x2
45
(R2)
x1 ,
x2
x1 ,
x2
Z2+
(6.1)
L. A. P. Cant
ao & F. S. Stark
92
Captulo 6. Programac
ao Linear Inteira
PL
Como a soluc
ao
otima do problema relaxado n
ao satisfaz a condic
ao de integralidade, o algoritmo B&B modifica
a regi
ao de soluco
es de modo a identificar a soluc
ao
otima do problema de PLI. Primeiramente, selecionamos uma
das vari
aveis inteiras cujo valor
otimo em PL1 seja n
ao inteiro. Selecionamos a vari
avel x1 = 3.75, tomando
3 < x1 < 4 da regi
ao de soluc
oes de PL1 com nenhum valor inteiro de x1 , podendo retir
a-la da regi
ao total. Esse
passo faz surgir dois problemas de PL que s
ao equivalentes ao PL1. A regi
ao criada e apresentada na figura 6.2,
elaborada como:
Regi
ao PL2 = Regi
ao PL1 + (x1 3)
Regi
ao PL3 = Regi
ao PL1 + (x1 4)
f (x) =
5x1
4x2
x1
x2
10x1
6x2
45
x1
x1 ,
x2
(6.2)
L. A. P. Cant
ao & F. S. Stark
93
Captulo 6. Programac
ao Linear Inteira
PL
1
PL1
x1 = 3.75, x2 = 1.25
f (x) = 23.75
x1 3
x1 4
2
PL2
x1 = 3, x2 = 2
f (x) = 23
Limite inferior
3
PL3
x1 = 4, x2 = 0.83
f (x) = 23.33
Agora poderemos mostrar mais sobre como funciona o algoritmo B&B. Baseado no problema do exemplo 25,
e se:
1. No PL1, em vez de x1 escolhessemos x2 como vari
avel de ramificac
ao?
2. Ao selecionar o pr
oximo subproblema a ser examinado, resolvessemos PL3 em vez de PL2?
Se fizermos a alterac
ao sugerida no item 1 e 2, os c
alculos resultantes mudar
ao, como veremos a seguir. A
figura 6.4 mostra todos os subproblemas envolvidos.
A criac
ao dos subproblemas PL4 e PL5 advem da soluc
ao n
ao inteira de PL3. Temos ent
ao:
Regi
ao PL4 = Regi
ao PL3 + (x2 0) = Regi
ao PL1 + (x1 4) + (x2 0)
Regi
ao PL5 = Regi
ao PL3 + (x2 1) = Regi
ao PL1 + (x1 4) + (x2 1)
Agora, temos tres subproblemas a serem examinados: PL2, PL4 e PL5. Suponha que optemos por examinar
PL5 em primeiro lugar. O PL5 n
ao tem nenhuma soluc
ao e, em decorrencia, est
a descartado. Em seguida,
L. A. P. Cant
ao & F. S. Stark
94
Captulo 6. Programac
ao Linear Inteira
PL
1
PL1
x1 = 3.75, x2 = 1.25
f (x) = 23.75
x1 4
x1 3
2
PL2
x1 = 3, x2 = 2
f (x) = 23
Limite inferior
PL3
x1 = 4, x2 = 0.83
f (x) = 23.33
x2 0
x2 1
PL4
x1 = 4.5, x2 = 0
f (x) = 22.5
PL5
x1 4
Sem solucao.
x1 5
6
PL6
x1 = 4, x2 = 0
f (x) = 20
PL7
Sem solucao.
95
Captulo 6. Programac
ao Linear Inteira
PL
de encontrarmos a soluc
ao
otima.
Dos dois cen
arios apresentados anteriormente, podemos concluir que a execuc
ao do metodo B&B n
ao garante
uma soluc
ao PLI global1 , apenas de soluc
oes locais (dependendo do tamanho e complexidade do problema).
Podemos utilizar outros algoritmos matem
aticos auxiliares ao B&B, como o algoritmo de Planos de Corte2 , que
atuando em conjunto com algoritmo B&B forma o algoritmo chamado de Branch-and-Cut.Ainda, como visto, o
algoritmo pode caminhar em dois sentidos na procura da soluo tima, isto , verticalmente (busca em profundidade)
e horizontalmente (busca em largura).
Os metodos heursticos3 podem ser aplicados tambem para melhorar a qualidade da soluc
ao e/ou auxiliar na
decis
ao de qual ramo seguir. H
a casos em que aplica-se apenas tecnicas heursticas na soluc
ao de um problema de
PLI, pois os metodos convencionais n
ao s
ao capazes de fornecerem respostas ao problema.
L. A. P. Cant
ao & F. S. Stark
96
Captulo 6. Programac
ao Linear Inteira
PL
O algoritmo B&B pode ser estendido diretamente a problemas mistos (nos quais apenas algumas das vari
aveis
s
ao inteiras). Se uma vari
avel for contnua, simplesmente nunca a selecionamos como uma vari
avel de ramificac
ao.
Um subproblema vi
avel fornece um novo limite para o valor dos coeficientes da func
ao objetivo se os valores das
vari
aveis discretas forem inteiras e se o valor da func
ao objetivo for melhor em relac
ao ao limite atual.
Ap
os a explicac
ao e a sntese do algoritmo Branch-and-Bound, vamos citar dois grandes tipo de problemas que
fazem uso do algoritmo para suas respectivas resoluc
oes. O primeiro e o problema de circuitos entre cidades, no
qual um caixeiro-viajante faz suas vendas e entregas, isto e, o problema do caixeiro-viajante; o segundo e um
problema de alocac
ao de recursos em um determinado espaco compartimentado, como uma mochila, constituindo
ent
ao, o problema da mochila.
n X
X
dij xij
i=1 j>i
S. a
xji
j<i
X X
xij
,i =1:n
(6.3)
j>i
xij
iS j S,
/ j>i
X X
xij
, S N, 3 |S|
i S
/ jS, j>i
jnk
2
Bn(n1)/2
A func
ao objetivo do problema (6.3) expressa a minimizac
ao da dist
ancia total da rota, a primeira restric
ao imp
oe
que cada cidade tenha somente uma cidade sucessora imediata e uma cidade predecessora imediata. A segunda
restric
ao elimina sub-rotas pois para cada conjunto S, existem no mnimo duas arestas entre as cidades de S e as
cidades n
ao pertencentes a S. A cardinalidade
de S e no mnimo 3 (tres), pois um ciclo em um grafo n
ao orientado
jnk
tem pelo menos 3 n
os e no m
aximo
, pois ao se eliminar ciclos com k n
os, eliminam-se ciclos com n k n
os
2
(vide figura 6.5 (c)). A
ultima restric
ao indica o tipo de vari
aveis.
A figura 6.5 apresenta possveis cen
arios de um TSP com 5 cidades, onde os circulos representam as cidades
e as linhas, conhecidas como arcos, as ligac
oes entre estas cidades, neste caso abordado s
ao rotas de duas vias
(simetria ida e volta), como mostra a figura 6.5 (a). O item (b) apresenta uma possvel soluc
ao (
otima ou vi
avel)
para este exemplo gr
afico e o item (c) uma soluc
ao de subcircuitos (soluc
ao invi
avel).
5 O problema do caixeiro viajante aparece na literatura (estrangeira ou nacional) com a sigla TSP que
e a abreviatura de traveling
salesman problem.
L. A. P. Cant
ao & F. S. Stark
97
Captulo 6. Programac
ao Linear Inteira
PL
5
4
3
1
5
4
98
Captulo 6. Programac
ao Linear Inteira
Defina as vari
aveis:
PL
(
xj =
1
0
se o produto j e selecionado
caso contr
ario
O problema e, ent
ao, formulado como:
n
X
max f (x) =
j=1
n
X
S. a
pj xj
(6.4)
aj xj
Bn
j=1
A func
ao objetivo do problema (6.4) expressa a maximizac
ao do retorno esperado, a primeira restric
ao indica que
o capital b n
ao pode ser excedido e a
ultima restric
ao representa o tipo de vari
aveis.
Esse problema e denominado problema da mochila devido `
a analogia do problema que envolve a decis
ao de
quais itens carregar em uma mochila sem exceder um dado limite de peso.
Exemplo 26. Considere um capital para investimento b = 100, n = 8 projetos e os seguintes vetores de par
ametros:
p = [pj ] = [41 33 14 25 32 32 9 19]
a = [aj ] = [47 40 17 27 34 23 5 44]
A soluc
ao
otima e dada por x2 = x4 = x6 = x7 = 1. Esta soluc
ao utiliza 40 + 27 + 23 + 5 = 95 unidades do capital.
6.4.3 M
ultiplas Mochilas
Considere n itens que devem ser colocadas em m mochilas de capacidades distintas bi , i = 1 : m. Cada item
j tem uma lucratividade pj e um peso wj e o problema consiste em selecionar m subconjuntos distintos de itens,
tal que cada subconjunto ocupe uma capacidade de no m
aximo bi e o lucro total seja maximizado. Este problema
ocorre em situac
oes de carregamento de conteineres e em situac
oes de corte nas ind
ustrias de papel e aco.
Defina as vari
aveis:
(
xij =
1
0
n X
n
X
pj xij
i=1 j=1
n
X
wj xij
bi
i =1:n
j =1:n
Bmn
(6.5)
j=1
xij
i=1
L. A. P. Cant
ao & F. S. Stark
99
Captulo 6. Programac
ao Linear Inteira
PL
A func
ao objetivo do problema (6.5) representa a maximizac
ao do lucro total, a primeira restric
ao garante que a
capacidade bi da mochila i n
ao pode ser excedida, a segunda restric
ao indica que se o item j e escolhido, ent
ao ele
e colocado em um
unica mochila e a
ultima restric
ao representa o tipo de vari
aveis.
(
e
xij =
1,
0, caso contr
ario
Tem-se, ent
ao, a seguinte formulac
ao:
min f (x) =
n
X
yi
i=1
S. a
j =1:n
wj xij
byi
i =1:n
Bmn
Bn
i=1
n
X
xij
(6.6)
j=1
A func
ao objetivo do problema (6.6) minimiza o n
umero de mochilas. Note que o limitante superior do n
umero
de mochilas e igual ao n
umero de itens n. O conjuto de equac
oes expresso pela primeira restric
ao asseguram que
cada item j e colocado em uma
unica mochila, o conjunto de equac
oes expresso pela segunda restric
ao imp
oem
que se a mochila e usada, ent
ao sua capacidade b n
ao pode ser excedida. Finalmente, as duas
ultimas restric
oes
indicam o tipo das vari
aveis.
6 Problemas
de carregamento tridimensionais s
ao complexos e usualmente resolvidos por m
etodos heursticos.
L. A. P. Cant
ao & F. S. Stark
100
Captulo 6. Programac
ao Linear Inteira
PL
(a)
max
f (x) =
S. a
max
5x1
7x2
2x1
x2
13
9
0
5x1
x1 ,
9x2
x2
41
0
x1 ,
x2
3x1
2x2
2x1
5x2
4x1
x1 ,
2x2
x2
x2
x1 ,
f (x) =
S. a
(b)
max
f (x) =
S. a
x1
x2
2x1
5x2
16
6x1
5x2
27
x1 ,
x2
x1 ,
x2
f (x) =
S. a
2x1
x2
10x1
10x2
10x1
5x2
x1 ,
x2
x1 ,
x2
Z2+
x1
x2
2x1
2x2
7x1
3x2
22
x2
Z2+
x1
(a) Graficamente.
(b) Pelo metodo branch-and-bound.
4. Agora vamos `
a um problema de um caixeiro-viajante, que na verdade e um representante comercial e vendedor
de publicac
oes liter
arias. Este profissional mora na cidade de Basin, e deve visitar uma vez por mes quatro
clientes localizados nas cidades de Wald, Bom, Mena e Kiln. A tabela 6.1 d
a as dist
ancias em milhas entre
as diferentes cidades.
O objetivo e minimizar a dist
ancia total percorrida pelo vendedor, formule ent
ao a quest
ao como um problema
de PLI7 .
7 Se
L. A. P. Cant
ao & F. S. Stark
101
Captulo 6. Programac
ao Linear Inteira
PL
Basin
Wald
Bon
Mena
Kiln
Basin
0
120
220
150
210
Predadores
40
29
20
25
20
19
37
10
35
35
Presas
17
24
22
22
57
32
7
11
27
32
Tabela 6.2: N
umero de presas e predadores por regi
ao.
6. Um caminh
ao de entrega de
oleo de uma empresa contem cinco compartimentos, com capacidade para 2700,
2800, 1100, 1800 e 3400 gal
oes de combustveis, respectivamente. A empresa deve entregar tres tipos de
combustveis A, B e C para um cliente. Parte da demanda pode n
ao ser atendida, mas, neste caso, a empresa
deve arcar com os custos. As demandas, penalidades por gal
ao n
ao entregue e o n
umero m
aximo de gal
oes
de demanda n
ao atendidas s
ao descritas na tabela 6.3. Cada compartimento pode levar apenas um tipo de
combustvel. Formule o problema de carregar o caminh
ao de forma a minimizar os custos de n
ao atendimento
da demanda.
Combustvel
Demanda
A
B
C
2900
4000
4900
M
aximo de demanda
n
ao atendida
500
500
500
L. A. P. Cant
ao & F. S. Stark
102
Captulo 6. Programac
ao Linear Inteira
PL
7. Experimente colocar este problema em um software como o TORA/Solver/AMPL8 . Este problema foi projetado para demonstrar o comportamento bizarro do algoritmo B&B ate mesmo para problemas pequenos. Em
particular, observe como muitos subproblemas ser
ao examinados antes do software achar o
otimo e quantos
s
ao necess
arios para verificar a otimalidade. Seja o problema:
min
f (y) =
S. a
y
2(x1
+ x2
x3
+ ...
+ x5 )
15
Todas as vari
aveis s
ao (0, 1)
(a) Use a opc
ao autom
atica do TORA para mostrar que, embora a soluc
ao
otima seja encontrada ap
os 9
subproblemas, mais de 25.000 subproblemas s
ao examinados antes de confirmar a otimalidade.
(b) Mostre que o Solver exibe uma experiencia semelhante `
a do TORA. No Solver, voce pode observar a
mudanca no n
umero de ramos gerados (subproblemas) na parte inferior da planilha.
(c) Resolva o problema com o AMPL e mostre que a soluc
ao obtida instantaneamente com 0 iterac
oes
simplex MIP e 0 n
os B&B. A raz
ao para esse desenpenho superior s
o pode ser atribuda `
as etapas
preparat
orias executadas pelo AMPL e/ou pelo resolvedor CPLEX antes de resolver o problema.
8 Para
maiores informac
oes consulte [14].
L. A. P. Cant
ao & F. S. Stark
103
CAPITULO
f (x) =
12x1
8x2
6x3
S. a
2x1
x2
x3
3x1
4x2
48
4x1
x2
2x3
24
x3
x1 ,
x2 ,
16
(7.1)
PL
L. A. P. Cant
ao & F. S. Stark
105
PL
L. A. P. Cant
ao & F. S. Stark
106
PL
R1
R2
R3
max f (x)
Express
ao
algebrica
2x1 + x2 + x3
3x1 + 4x2
4x1 + x2 + 2x3
12x1 + 8x2 + 6x3
=B2*$B$6
=B3*$B$6
=B4*$B$6
=B5*$B$6
F
ormula na
planilha
+ C2*$C$6 +
+ C3*$C$6 +
+ C4*$C$6 +
+ C5*$C$6 +
D2*$D$6
D3*$D$6
D4*$D$6
D5*$D$6
Inserida
na celula
E2
E3
E4
F7
Na pr
atica, basta que se digite a f
ormula para a celula E2 e ent
ao copie para as demais celulas. Para fazer isso
corretamente, devem ser usadas as referencias fixas $B$6, $C$6 e $D$6, que representam as vari
aveis x1 , x2 e x3 .
Para programas maiores e mais eficiente digitar (ou procurar no cone de f
ormulas):
=SOMARPRODUTO(B2:D2;$B$6:$D$6)
na celula E2 e copiar para as demais. Agora todos os par
ametros est
ao prontos para serem vinculados ao solver.
A figura 7.6 mostra a janela aberta ap
os selecionar o cone Solver. Primeiramente, define-se a func
ao objetivo
celula $F$7, o sentido da otimizac
ao igual a M
ax, e as celulas das vari
aveis $B$6:$D$6.
Estas informac
oes deixam claro para o Solver que as vari
aveis definidas pelas celulas $B$6, $C$6 e $D$6 s
ao
determinadas pela maximizac
ao da func
ao objetivo na celula $F$7.
A p
oxima etapa e estabelecer as restric
oes dos problemas clicando em Adicionar na caixa de di
alogo Par
ametros
do Solver. A caixa Adicionar restric
oes ser
a exibida, como mostra a figura 7.7 para facilitar a digitac
ao dos
elementos das restric
oes:
$E$2:$E$4 <= $G$2:$G$4
L. A. P. Cant
ao & F. S. Stark
107
PL
L. A. P. Cant
ao & F. S. Stark
108
PL
109
PL
formulac
ao do modelo.
A caixa de di
alogo Resultados do Solver lhe dar
a oportunidade de requisitar mais detalhes sobre a soluc
ao,
incluindo o relat
orio de sensibilidade, como mostram as figuras 7.10, 7.11 e 7.12.
L. A. P. Cant
ao & F. S. Stark
110
lp solve
7.3 lp solve
ao Linear Inteira Mista, vide [9]. Como o primeiro
O software lp solve e um solver para problemas de Programac
passo na resoluc
ao de um problema de Programac
ao Inteira e a de relaxar a condic
ao de integralidade das vari
aveis,
ou seja, resolver um problema de Programac
ao Linear, sua aplicabilidade e direta em PL. O software lp solve e
livre (licensa LGPL), baseado no Metodo Simplex Revisado (para PL) e Branch-and-Bound (para Programac
ao
Inteira).
Note que, este solver e exclusivo para problemas lineares, ou seja, as equac
oes do problema devem ser de
primeira ordem. Por outro lado, o Excel Solver permite a resoluc
ao de problemas n
ao lineares.
Este software foi desenvolvido por Michel Berkelaar na Eindhoven University of Technology. O trabalho de
Jeroen Dirks fez a transic
ao da vers
ao b
asica 1.5 para a vers
ao completa 2.0. lp solve possui uma comunidade
via Yahoo group http://groups.yahoo.com/group/lp solve/, onde vc encontra as
ultimas fontes, execut
aveis
para plataforma comum, exemplos, manuais e mensagens de ajuda sobre o lp sove.
A instalac
ao deste software e relativamente simples e pode ser feita atraves do site
http://sourceforge.net/projects/lpsolve/.
Ap
os a instalac
ao, em ambiente Windows, aparecer
a um cone na sua
area de trabalho permitindo o acesso
direto. A figura 7.13 apresenta a tela inicial do solver.
Considere o problema (7.1), sua implementac
ao e direta, como mostra a figura 7.14.
No menu superior, selecione a opc
ao Action e Solve. A tecla F9 e o atalho deste comando, como apresentado
na figura 7.15.
A figura 7.16 mostra a mensagem de resoluc
ao do problema em quest
ao.
As janelas apresentadas pelas figuras 7.16 e 7.17 mostram o problema em forma matricial e os valores das
vari
aveis ap
os o processo de otimizac
ao, respectivamente.
111
lp solve
112
lp solve
113
lp solve
114
Refer
encias Bibliogr
aficas
[1] E. L. de Andrade. Introduc
ao `
a Pesquisa Operacional: M
etodos e Modelos para An
alise de Decis
ao. Terceira Edic
ao.
LTC, 2004.
[2] M. Arenales, V. Armentano, R. Morabito e H. Yanasse. Pesquisa Operacional. Elsevier, 2007.
[3] M. S. Bazaraa, J. J. Jarvis e H. D. Sherali. Linear Programming and Network Flows. Second Edition, John Wiley and
Sons, 1990.
115