Você está na página 1de 116

Programacao Linear PL

Luiza Amalia Pinto Cantao


luiza@sorocaba.unesp.br

Felipe Sanches Stark


fsstark@gmail.com

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

1.3.2 Mais do que matem


atica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Soluc
ao Geometrica ou gr
afica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.4.1

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

Metodo de Gauss-Jordan, caso m = n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

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

Posto (ra ) de uma matriz como um Conjunto de Vetores . . . . . . . . . . . . . . . . . . . 30

Conjuntos Convexos e Combinac


ao Convexa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.4.1

Conjunto Convexo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

2.4.2

Combinac
ao Convexa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

2.4.3

Interpretac
ao Geometrica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

2.4.4

Ponto Extremo de um Conjunto Convexo . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

Exerccios Propostos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33


SUMARIO

SUMARIO

M
etodo Simplex
3.1

Teorema Fundamental da Programac


ao Linear
3.1.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

Como lidar com vari


aveis irrestritas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

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

Princpios do Metodo Simplex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

3.2.9

Metodo Simplex na forma de quadros - Tableau Simplex . . . . . . . . . . . . . . . . . . . 46

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

Teoremas Fundamentais da Dualidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

Metodo Dual Simplex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75


4.3.1

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

Algoritmo Branch-And-Bound (B&B) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

6.3

Problema do Caixeiro-Viajante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

6.4

Problema da Mochila . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

6.2.1

6.5
7

SUMARIO

Resumo do algoritmo Branch-And-Bound (B&B) . . . . . . . . . . . . . . . . . . . . . . . 96

6.4.1

Mochila 0-1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

6.4.2

Mochila Inteira . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99

6.4.3

M
ultiplas Mochilas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99

6.4.4 Empacotamento de Mochilas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100


Exerccios Propostos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

O Uso de Excel e do lp solve para Problemas de Programac


ao Linear

104

7.1

Introduc
ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

7.2

MS-Excel Solver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

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.

E por volta do fim da decada de 60 que surgem as quest


oes educacionais envolvendo a PO, principalmente no
tocante da maior publicac
ao liter
aria do assunto e na presenca em cursos de p
os-graduac
ao. Nessa epoca aparece
a
area de programac
ao matem
atica, tendo como premissa casos de otimizac
ao de func
oes lineares sujeitos `
as
restric
oes lineares. No Brasil, a PO iniciou-se nessa decada tambem. O primeiro simp
osio de PO ocorreu em 1968
no ITA, em S
ao Jose dos Campos, SP. Em seguida, foi fundada a SOBRAPO (Sociedade Brasileira de Pesquisa
Operacional) que publica o peri
odico Pesquisa Operacional h
a mais de 25 anos.
Atualmente, a PO tem sido chamada de ciencia e tecnologia de decis
ao. O componente cientfico e ligado
`
as ideias e processos para modelar os problemas de tomada de decis
ao (objetivos e restric
oes da operac
ao),
a matem
atica se enquadra aqui na medida em que os modelos para otimizar sistemas numericos resultam de
inserc
oes de dados nos modelos. A tecnologia compreende a relac
ao software-hardware, podendo ser generalizada
como uma tecnologia da informac
ao (armazenamento, comunicac
ao e transmiss
ao - tanto de dados inseridos nos
modelos de otimizac
ao quanto nos resultados obtidos).

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)

3. Por serem dimens


oes fsicas da materia, tanto w quanto l devem ser positivos. Como h e estabelecido pelo
fornecedor do fabricante, n
ao entra nos c
alculos do volume, pois se acharmos a maior
area teremos o maior
volume para h.
4. A
area e A = wl.
Nossa quest
ao ent
ao e maximizar A sujeita a equac
ao (1.1) e das restric
oes do item 3. Para tanto, devemos
proceder como um problema de valor m
aximo do c
alculo:
Como L e um n
umero dado, pode ser tratado como constante, deste modo podemos deixar w em func
ao de
l, ou vice-versa.
w +l =

L 2l
L
= w =
2
2

Portanto a regi
ao do domnio de w e l e a reta
w=

L 2l
2

na qual a imagem est


a no plano z como a
area A. Assim, da mesma maneira que deixamos w em func
ao de
l, podemos deixar agora a
area A em func
ao apenas de l, substituindo o valor de w. Obtemos:

A=

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

Agora para achar um ponto m


aximo (ou mnimo) executamos a derivac
ao

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

Chegamos finalmente na soluc


ao (S):
L
4

w=

el=

L
4

Conclumos que a maior


area e obtida quando o ret
angulo e um quadrado de lado

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

assumir. Como no exemplo a seguir, trabalharemos muitos conceitos de Algebra


Linear (tratada na Programac
ao
Linear) ao longo da formulac
ao dos modelos e na obtenc
ao das respostas. Nestes problemas, as vari
aveis e as
restric
oes podem estar envolvidas em desigualdades, ou seja: o problema torna-se cada vez mais complexo `
a medida
em que esse fen
omeno, a ser modelado, sofre diversas influencias importantes. Para efeito ilustrativo, podemos
tomar um sistema mais restrito e apenas interpretativo, vejamos ent
ao.
Exemplo 2. Uma empresa produz dois produtos, P e Q, em cada uma de suas f
abricas, X e Y. Ao fabricar tais
produtos, os poluentes di
oxido de enxofre (SO2 ),
oxido ntrico (NOx ) e material particulado (MP) s
ao produzidos.
As quantidades de poluentes foram monitoradas e quantificadas ( em quilogramas) e est
ao dispostas pela matriz:

" SO2 NOx MP #


300 100 150
200

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

Qual o significado, por exemplo, do produto matricial de P.C ? Qual f


abrica polui mais, isto e, gera mais efluente
e consequentemente tem seu tratamento encarecido?

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

Figura 1.1: Estrutura b


asica envolvida na metodologia dos modelos da PO
Exemplo 3. Na implantac
ao de um barragem de grande consumo de concreto, decidiu-se utilizar como fontes de
agregrados gra
udos:
1. britas granticas pelo desmonte (desagregac
ao por explosivo) da rocha local;
(a) A composic
ao granulometrica e: 10% (19-38 mm), 20% (38-76 mm) e 70% (76-152 mm)
(b) O custo e $6, 00/m3
2. seixos rolados disponveis nos vales pr
oximos `
a barrragem;
(a) A composic
ao granulometrica e: 5% (2.4-19 mm), 35% (19-38 mm) e 60% (38-76 mm)
(b) O custo e $7, 00/m3
3. pedra britada comercial
(a) A composic
ao granulometrica e: 20% (2.4-19 mm), 78% (19-38 mm) e 2% (38-76 mm)
(b) O custo e $18, 00/m3
Por meio de um estudo previo, chegou-se em uma faixa de composic
ao granulometrica ideal, sendo:
10% da faixa de 2.4-19 mm
20% da faixa de 19-38 mm
35% da faixa de 38-76 mm
35% da faixa de 76-152 mm
O problema consiste em determinar as frac
oes de cada fonte para a composic
ao ideal, de forma a minimizar o
custo de produc
ao do concreto. As vari
avies de decis
ao s
ao:
x1 quantidade (m3 ) de britas granticas.
L. A. P. Cant
ao & F. S. Stark

Captulo 1. Introduc
ao `
a Pesquisa Operacional

PL

x2 quantidade (m3 ) de seixo rolado.


x3 quantidade (m3 ) de brita comercial.
Com isso o custo da mistura e dado por f (x1 , x2 , x3 ) = 6x1 + 7x2 + 18x3 .
Pelas restric
oes, custos e porcentagens de cada em cada frac
ao , obtemos:
0.05x2 + 0.10x3 0.10 Faixa (2.4-19 mm)
0.10x1 + 0.35x2 + 0.78x3 0.20 Faixa (19-38 mm)
0.20x1 + 0.60x2 + 0.02x3 0.35 Faixa (30-76 mm)
0.70x1 0.35 Faixa (76-152 mm)
Os ingredientes utilizados produzem uma unidade de mistura, ou seja, x1 + x2 + x3 = 1, e, completando as
restric
oes, temos as condic
oes de n
ao negatividade das vari
aveis: x1 0,x2 0 e x3 0. O modelo matem
atico
completo e dado por:
Minimizar

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

Outro exemplo comum e o de planejamento de produc


ao por v
arios ciclos de tempo (meses,semanas e dias).Vejamos
um exemplo deste tipo:
Exemplo 4. Durante o pr
oximo semestre, uma fabricante textil deve atender aos seguintes compromissos de sua
sec
ao de malharia:
Jan.
Fev.
Mar.

4000 pecas
2000 pecas
5000 pecas

Abr.
Mai.
Jun.

1000 pecas
4000 pecas
2000 pecas

Tabela 1.1: Dados do Planejamento.

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 )

Problemas de transporte ou alocac


ao de recursos em determinados percursos tambem s
ao alvos comuns de
estudos da PO.
Exemplo 5. Considere uma companhia distribuidora de bebidas que tem 2 centros de produc
ao (m = 2) - Araraquara e S
ao Jose dos Campos - e 3 mercados consumidores principais (n = 3) - S
ao Paulo, Belo Horizonte e Rio
de Janeiro. O custo unit
ario (cij ) de se transportar uma unidade do produto de cada centro de produc
ao a cada
mercado consumidor, bem como as demandas (bj ) de cada mercado e a quantidade disponvel do produto em cada
centro de produc
ao (ai ) no pr
oximo perodo, s
ao dados pela tabela abaixo.
Centro de Produc
ao
Araraquara (1)
S. J. Campos (2)
Demanda(mercado)

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

Tabela 1.2: Dados da produc


ao, distribuic
ao e consumo.

Como ficaria o sistema deste problema se quisessemos minimizar o custo do processo?

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.

1.3.2 Mais do que matem


atica
Ate agora, a PO parece apenas uma aplicac
ao matem
atica que tenta modelar numericamente o mundo real por
meio de aproximac
oes de suas vari
aveis, contudo a pesquisa envolve muito do conhecimento do decisor.
L. A. P. Cant
ao & F. S. Stark

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.

1.4.2 Tipos de soluc


ao e visualizac
ao gr
afica
Nesta subsec
ao est
ao apresentados, e resolvidos de forma gr
afica, alguns exemplos de Programac
ao Linear contendo duas vari
aveis. Apesar de ser restrita a problemas pequenos, a soluc
ao gr
afica oferece elementos facilitadores
para a compreens
ao dos procedimentos do metodo que ser
a exposto nos pr
oximos captulos.
Ilustremos as seguintes situac
oes: soluc
ao
unica, soluc
ao m
ultipla, soluc
ao ilimitada e soluc
ao infactvel a partir
do texto de [11].

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)

Figura 1.4: Soluc


ao
unica
Na ilustrac
ao, cada restric
ao est
a graficamente representada com sua respectiva reta (a),(b) e (c). Como s
ao
inequac
oes, os pontos que as satisfazem definem semi-espacos, isto e, a regi
ao acima ou abaixo da reta, `
a direita
ou `
a esquerda da reta. Por outro lado, a restric
ao (d) informa que a regi
ao est
a no primeiro quadrante do plano.
Logo, tem-se a regi
ao factvel (regi
ao escurecida da figura 1.4).
Tomando-se a func
ao objetivo como um tracejado, se a deslocarmos na regi
ao soluc
ao desde o vertice (0,0)
teremos um m
aximo no vertice (4,2).

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

Figura 1.5: Famlia de retas (a) e Vetor normal e direc


ao de Crescimento (b)

Maximizar x1

2x2

Sujeito a:

x1

2x2

2x1
x1

+ 3x2
+ x2

x1 0

(a)

5 (b)
6 (c)

x2 0

(d)

Note que para este caso o problema passa a ter um conjunto de m


ultiplas soluc
oes, consistindo nos pontos do
segmento da reta x1 + 2x2 entre os pontos (2, 3) e (4, 2).
Observe que a func
ao objetivo e paralela `
a inequac
ao apresentada na restric
ao (a), presente na figura 1.6) .

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)

Observe, na Figura 1.7, que o espaco de soluc


oes passa a ser ilimitado por todo o espaco `
a direita da reta (a)
e abaixo da reta (b). Portanto, nesta situac
ao, o problema tem uma soluc
ao tendendo ao infinito, pois a func
ao
objetivo pode se deslocar para a direita sem limitac
oes e aumentar o valor de Z indefinidamente.

L. A. P. Cant
ao & F. S. Stark

14

Captulo 1. Introduc
ao `
a Pesquisa Operacional

PL

Figura 1.6: M
ultiplas soluc
oes

Figura 1.7: Soluc


ao ilimitada

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

Figura 1.8: Soluc


ao inconsistente
n
ao e possvel satisfazer a func
ao objetivo quanto `
as restric
oes (c) e (d) ao mesmo tempo.

1.5 Exerccios Propostos


1. Determine a regi
ao de soluc
oes vi
aveis para cada uma das seguintes restric
oes independentes, dado x1 , x2 0
(a) 3x1 + x2 6

(c) 2x1 3x2 12

(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

(c) Maximizar f (x) = x1 + 2x2

(b) Maximizar f (x) = 5x1 6x2

(d) Maximizar f (x) = 3x1 + x2

3. Dado o sistema de express


oes lineares:

x1

2x
1

x1

+2x2

3x2

+3x2

,x2

Determine graficamente a soluc


ao
otima nos casos :
a. Min f (x) = 2x1 ;

b. Max f (x) = 4x2 ;

c. Max f (x) = 3x1 + 3x2 .

4. Suponha um modelo de programac


ao linear:

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

Tabela 1.3: Dados da produc


ao.

Sabe-se que cada sed


a e vendido a $ 8.000 e custa $ 6.000 para produzi-lo. O utilit
ario tem venda de $
9.000 e custo de $ 7.500.
O custo de manter os veculos em estoque e de $ 250 para o sed
a e $ 300 para o utilit
ario. Durante cada
mes, no m
aximo 1500 veculo podem ser produzidos e, por restric
oes de produc
ao, pelo menos 2/3 dos carros
produzidos devem ser sed
as.
No incio do mes 1, h
a 300 sed
as e 200 utilit
arios em estoque.
(a) Formule um problema de programac
ao linear que maximize o lucro da companhia.
(b) Suponha que exista a possibilidade deproduzir ate 600 veculos em horas extras. Entretanto, tal produc
ao
provoca um aumento de $ 800 no custo de cada unidade.
Mostre como incorporar tal decis
ao ao modelo de programac
ao linear.
6. Seja uma empresa que produz quatro produtos, A, B, C e D. A fabricac
ao de cada unidade desses produtos
exige m
ao-de-obra, materia-prima e processamento mec
anico, gerando um certo lucro, de acordo com a
tabela:
Recurso
M
ao-de-obra (homens-hora/unidade)
Materia-prima (kg/unidade)
Processamento mec
anico (horas-m
aquina)
Lucro (R$/unidade)

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
/

Tabela 1.4: Dados do problema.

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
/

Tabela 1.5: Dados do problema de transporte.

As quantidades ofertadas (ai -


ultima coluna) e demandas (bj -
ultima linha), em toneladas, bom como os
custos de transportar 1 tonelada de pedra da pedreira i para o dep
osito j (cij - que e func
ao de v
arios fatores,
como tempo de viagem, condic
oes das estradas de acesso, condic
oes dos veculos que servem a trajet
oria
em quest
ao etc.), s
ao as representac
oes do que est
a envolvido no problema.
Se xij e a vari
avel de decis
ao que representa a quantidade transportada de rochas da jazida i para o ponto
de dep
osito j, podemos formular este problema da seguinte maneira:

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

De modo semelhante, no fim da cidade 2:


(1 r12 )(Descarga de DBO no trecho 1 - 2) + (Descarga de DBO no trecho 2 - 3) b2 Q2
ou

(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

Tabela 1.6: Dados do problema de gerenciamento de


agua.

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

e portanto, possui uma


unica soluc
ao possvel.

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;

A seguir veremos os casos de soluc


ao dos SEL onde m = n e m 6= n

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.

Exemplo 10. Seja o sistema na forma matricial:


1 Um

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

Calculando-se a matriz inversa de A, e aplicando-a como visto, obtem-se a soluc


ao:

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

Deste modo, chegamos `


a mesma soluc
ao do Exemplo 10, como x1 = 2, x2 = 3 e x3 = 1. Fica a observac
ao
de que a maneira mais f
acil para n
ao se perder durante os c
alculos e realiz
a-los com o auxlio da matriz ampliada
da forma A = (A|b).
Este metodo de transformac
ao da A para a identidade (I) tambem e chamada de Escalonamento.

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

De uma matriz retangular como esta, podemos encontrar diversas soluc


oes com as aplicac
oes anteriormente
discutidas, pois e possvel obter v
arias submatrizes quadradas. Como nota, o n
umero superior de v
ari
aveis em
relac
ao `
as equac
oes e o que de mais comum ocorre no processo de modelagem, dada a complexidade da realidade,
mesmo que reduzida.
Vamos explicitar alguns conceitos e definic
oes, mediante um exemplo, dados pela Programac
ao Linear.
Exemplo 11. Seja um sistema
(

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

2.2 Mudanca de Base


2.2.1 O Pivoteamento
A operac
ao de mudar a base e feita segundo operac
oes elementares, sendo equivalente a um conjunto de
operac
oes do tipo Gauss-Jordan, aplicada a uma vari
avel qualquer do problema (escolhida como b
asica).
Supondo que a vari
avel xi seja b
asica e pertenca a linha r do sistema, a ac
ao de pivotear, tendo em vista a
inserc
ao de xj no lugar, consiste nos passos:
1. Dividir por ar j a r-esima equac
ao, resultando em ar j = 1 no sistema modificado;
2. Adicionar `
a k-esima equac
ao k = 1, 2, . . . , m, k 6= r ,

akj
akj
= akj , de modo a zerar o coeficiente
=
ar j
1

de xj nessa k-esima linha.


Exemplo 12. Com o exemplo 11 podemos ilustrar o pivoteamento, substituindo x1 por x4 na base. Temos ent
ao
i = 4 e j = 1 com r = 2, e deste modo como a11 = 1, n
ao precisamos fazer a divis
ao por a11 ; da mesma maneira
como a21 = 1, basta somar `
a 2 equac
ao a 1 multiplicada por (1) para se obter uma nova base, B = [A1 , A5 ], e
o sistema resultante:
(

x1

2x2

+x3

+x4

x2

23

x4

+x5

Se prosseguirmos para B = [A1 , A2 ], o sistema resultante seria:


(

x1
x2

3x3

x4

+2x5

2x3

x4

+x5

Obs: Utilizaremos este resultado a seguir.

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|

Explicitando na base mudada por pivoteamento, temos analogamente:

"

|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

Base do Sistema: e dada pelo conjunto das vari


aveis b
asicas, ou seja, pelos vetores coluna associados aos
coeficientes das vari
aveis b
asicas de todas as equac
oes;
Operac
ao Pivotar - Pivot Operation: e uma sequencia de operac
oes elementares que fazem uma vari
avel
tornar-se b
asica;
Conjunto Vi
avel: e dado por todas as soluc
oes vi
aveis do sistema linear, incluindo-se a restric
ao suplementar
x 0.

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

Neste caso, uma soluc


ao inicial consistiria em anular as vari
aveis originais e deixar as vari
aveis artificiais na base
do sistema. Esse metodo cria uma soluc
ao b
asica para o sistema de equac
oes, embora `
a custa da introduc
ao de
mais vari
aveis, inexistentes originalmente, contudo, por meio de operac
oes elementares para sucessivas trocas de
base, as mesmas podem ser colocadas como vari
aveis n
ao b
asicas e anuladas.
Podemos acrescentar ainda que, a respeito deste metodo, temos:
Se o sistema for incompatvel o metodo falha;
Se houver uma equac
ao redundante (dependencia linear), a soluc
ao de base encontrada ter
a uma vari
avel
artificial na base com valor nulo.
Forma Can
onica
Sistema can
onico e aquele em que cada equac
ao linear possui uma vari
avel b
asica associada a ela e o sistema
de equac
oes identifica um soluc
ao trivial. Um caso particular, porem frequente, e aquele que o sistema original e
dado na forma de desigualdade, Ax b. Neste caso, introduzem-se vari
aveis de folga, xf , que medem a diferenca
entre o lado direito e o lado esquerdo (como veremos nos modelos de PO, tambem teremos vari
aveis de excesso
quando Ax b).
Matricialmente a situac
ao seria:
f

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

Aplicando-se tres vari


aveis de folga (x3 , x4 e x5 ), temos:
x1

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 Espacos Vetoriais


2.3.1 Definic
ao
Um espaco vetorial V e um conjunto de elementos denominados vetores, tal que a soma de dois de seus
elementos ou a multiplicac
ao de um de seus elementos por escalar ( R) tambem pertence a V.
Alem disso, todo espaco vetorial contem um vetor nulo 0 e o vetor oposto, sendo:
C + 0 = C, para todo C V; C + (C) = 0, com o vetor oposto C.

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

Figura 2.1: Soma de vetores

Figura 2.2: Muiltiplicac


ao de vetores (com = 1)

L. A. P. Cant
ao & F. S. Stark

29

Captulo 2. Revis
ao Matem
atica

PL

Vetores Linearmente Independentes: Suponha um conjunto de vetores n


ao nulos A1 , A2 , A3 . . . , An pertencentes ao espaco vetorial Rm e x1 , x2 , x3 . . . , xn n
umeros reais. Se a equac
ao vetorial:
A 1 x1 + A 2 x2 + + A n xn = 0
s
o for satisfeita para x1 = x2 = = xn = 0, ent
ao dizemos que os vetores A1 , A2 , . . . , An s
ao linearmente
independentes (LI)
Vetores Linearmente Dependentes: Suponha um conjunto de vetores n
ao nulos A1 , A2 , A3 . . . , An pertencentes ao espaco vetorial Rm e x1 , x2 , x3 . . . , xn n
umeros reais. Se a equac
ao vetorial:
A 1 x1 + A 2 x2 + + A n xn = 0
for satisfeita para algum xk com k (1, 2, . . . , n) diferente de zero, ent
ao dizemos que os vetores A1 , A2 , . . . , An
s
ao linearmente dependentes (LD).

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 .

2.3.5 Base e Coordenadas


Um conjunto de vetores v1 , v2 , . . . , vm Rm e uma base de Rm se:
Eles forem LI;
Qualquer vetor y Rm puder ser obtido por uma combinac
ao linear desses vetores, isto e:
y = y1 v1 + y1 v1 + + ym vm
Desta maneira, os coeficientes (y1 , y2 , . . . , ym ), unicamente definidos, s
ao as coordenadas do vetor y em
relac
ao `
a base v1 , v2 , . . . , vm .

2.3.6 Posto (ra ) de uma matriz como um Conjunto de Vetores


Dada uma matriz Amn , seja Bmn a matriz-linha reduzida `
a forma escada linha equivalente a A. O posto de
A, denotado por ra = 3, e o n
umero de linhas (ou colunas) n
ao nulas de B.
Exemplo 14. Seja a matriz

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

Aplicando aos vetores coluna:

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.

Base de uma Matriz


Se uma matriz Amxn , m n, tem n colunas A1 , A2 , . . . , An , das quais m linhas Ar , As , . . . , Ap s
ao linearmente
independentes, ent
ao a matriz quadrada B = [Ar , As , . . . , Ap ], de ordem m, e uma base de A.

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

O processo de mudar a base de um espaco e tambem denominado pivoteamento, exatamente an


alogo ao
discutido anteriormente.

Produto Escalar (Interno) entre Dois Vetores


Sejam os vetores A1 e A2 pertencentes a um espaco vetorial Rm . O produto escalar, ou produto interno,
desses dois vetores pode ser definido pela express
ao a seguir, envolvendo a soma dos produtos dos componentes
correspondentes. Quando dois vetores A1 e A2 s
ao ortogonais, ent
ao o produto escalar ser
a nulo.
A1 .A2 = a11 a21 + a12 a22 + + a1n a2n =

n
X

a1j a2j

2.4 Conjuntos Convexos e Combinac


ao Convexa
2.4.1 Conjunto Convexo
Seja um conjunto X Rm . Dado dois pontos quaisquer x1 e x2 X pertencentes ao conjunto e [0, 1]. Se
x1 + (1 )x2 X ent
ao, diz-se que X e um conjunto convexo. N
ao obedecendo a relac
ao, ent
ao e dito n
ao
convexo.

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

Figura 2.3: Combinac


ao convexa do exemplo 15.
1. A intersecc
ao de conjuntos convexos tambem e um conjunto convexo;
2. A soma (ou a subtrac
ao) de dois conjuntos convexos e tambem um conjunto convexo.
C1 + C2 = {A1 + A2 : A1 C1 , A2 C2 } e convexo
C1 C2 = {A1 A2 : A1 C1 , A2 C2 } e convexo

Figura 2.4: Exemplo de um conjunto convexo e outro n


ao convexo no R2 .

2.4.4 Ponto Extremo de um Conjunto Convexo


Suponha C um conjunto convexo. Ent
ao A C e um ponto extremo de C se n
ao for possvel express
a-lo como
uma combinac
ao convexa de quaisquer outros dois pontos distintos pertencentes aos conjunto.

2.5 Exerccios Propostos


1. Determine a inversa da matriz A usando os recursos do Metodo de Gauss-Jordan. Para tanto, escreva a
matriz identidade I com a mesma dimens
ao, ao lado direito. Em seguida aplique operac
oes elementares no
sistema expandido que transformem a matriz A na matriz I, e verifique que a matriz I se transforma na
inversa A1 :

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

2. Verifique que os seguintes conjuntos de vetores formam uma base no R3 :


a. (1, -1, 2); (0, 5, 0); (2, 0, 6);

c. (1, 0, 0); (1, 1, 0); (1, 1, 1);

b. (-1, 5, 1); (2, 0, -2); (1, 0, 4);


3. Expresse o vetor (1, 1, 1) em cada base existente do exerccio anterior.
4. Encontre todas as soluc
oes b
asicas dos sistemas

a.

x1

2x2

+2x3

4x4

=2

3x1

5x2

+x3

+3x4

=4

b.

2x1

+3x2

+5x3

=5

x1

4x2

2x3

=3

5. Dada a matriz A com cinco colunas A1 ,A2 ,A3 ,A4 ,A5 :

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

b. B1 =(A1 ,A2 ,A5 );

c. B1 =(A1 ,A2 ,A3 ).

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.

8. (Engenharia de Controle e Automac


ao) Deseja-se construir um circuito como o mostrado na figura 2.5.
onde V1 = 280V , V2 = 100V , V3 = 50V , R1 = 20, R2 = 30, R3 = 50, R4 = 40 e R5 = 100.
Disp
oe-se de uma tabela de precos de v
arios tipos de resistencias; assim como as correntes que elas suportam
sem queimar.
De que tipo devemos escolher cada resistencia para que o circuito funcione com seguranca e a sua fabricac
ao
seja a de menor custo possvel?

L. A. P. Cant
ao & F. S. Stark

34

Captulo 2. Revis
ao Matem
atica

PL

Figura 2.5: Sistema de circuito

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

Tabela 2.1: Dados das resistencias disponveis.

9. (Engenharia Ambiental) Necessita-se adubar um terreno, de acordo com um plano de recuperac


ao, acrescentado a cada 10m2 : 140 g de nitrato, 190g de fosfato e 205 g de pot
assio.
Disp
oe-se de quatro qualidade de adubo com as respectivas caractersticas, incluindo sua unidade de custo
de produc
ao (u.c.p):
(a) Cada quilograma do adubo I custa 5 u.c.p e contem 10 g de nitrato, 10 g de fostato e 100 g de pot
assio;
(b) Cada quilograma do adubo II custa 6 u.c.p e contem 10 g de nitrato, 100 g de fostato e 30 g de
pot
assio;
(c) Cada quilograma do adubo III custa 5 u.c.p e contem 50 g de nitrato, 20 g de fostato e 20 g de pot
assio;
(d) Cada quilograma do adubo IV custa 15 u.c.p e contem 20 g de nitrato, 40 g de fostato e 35 g de
pot
assio;
Quanto de cada adubo devemos misturar para conseguir o efeito desejado se estamos dispostos a gastar 54
u.c.p a cada 10m2 com a adubac
ao?

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

onde A e uma matriz m (n + m) de posto m, ent


ao:
i) se h
a uma soluc
ao factvel, h
a uma soluc
ao b
asica factvel.
ii) se h
a uma soluc
ao factvel
otima, h
a uma soluc
ao b
asica facvel
otima.
1 Fun
c
ao
2 Para

linear mais contantes.


mais informaco
es e deduco
es do teorema consultar p
aginas 368/369 em [4].

Captulo 3. Metodo Simplex

PL

Do teorema anterior e da equivalencia entre soluc


ao b
asica factvel e vertice temos que o Metodo Simplex e
finito, pois um sistema linear de m equac
oes com (m + n) inc
ognitas tem no m
aximo, por combinac
ao:
m+n

(m + n)!

Logo, o Simplex efetua um n


umero menor que

!
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

3.2.2 Forma Padr


ao
A forma padr
ao e aquela em que as restric
oes s
ao expressas por meio de equac
oes lineares:

L. A. P. Cant
ao & F. S. Stark

37

Captulo 3. Metodo Simplex

PL

Figura 3.1: Transic


ao de soluc
ao gr
afica para algebrica.

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)

Em termos de matrizes, pode-se representar a forma padr


ao da PL como:
min
Sujeito a

f (x) = cx
Ax =

x
em que:

L. A. P. Cant
ao & F. S. Stark

38

Captulo 3. Metodo Simplex

PL

A = matriz m n dos coeficientes tecnol


ogicos 3 .
b = matriz m 1 das constantes do lado direito.
x = matriz n 1 das vari
aveis de decis
ao.
c = vetor 1 n dos coeficientes da func
ao objetivo f (x).

3.2.3 Forma Can


onica
Diz-se que o sistema est
a na forma can
onica quando, embutida na matriz dos coeficientes, encontra-se a
matriz identidade. Em consequencia, esse sistema admite uma soluc
ao trivial em que as vari
aveis n
ao associadas
`
as colunas da matriz identidade s
ao nulas.
O sistema a seguir exemplifica um problema de PL com restric
oes na forma can
onica. Alem disso, se para todo
i = 1 : m, bi 0, a soluc
ao e tambem vi
avel, com xn+1 = bi , enquanto as demais vari
aveis x1 , . . . , xn s
ao nulas.
max ou min f (x) =
Sujeito a

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

Note que na func


ao objetivo, temos as vari
aveis de folga ou excesso representadas dentro do parenteses.
Uma outra situac
ao muito conveniente e quando as restric
oes originais se apresentam com sinal , enquanto
o vetor b 0, o que corresponde, em notac
ao matricial, ao problema de PL:
min

f (x) = cx

Sujeito a

Ax

Nesse caso, todas as restric


oes transformam-se em equac
oes mediante a inclus
ao de vari
aveis de folga (ou
excesso), uma para cada desigualdade, e o sistema para a forma can
onica.
A seguir mostraremos como lidar com desigualdades e vari
aveis irrestritas, convertendo os problemas para a
forma can
onica.

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

Captulo 3. Metodo Simplex

PL

x1 + x2 10 = x1 + x2 + xf3 = 10, com xf3 0


De forma an
aloga, se a restric
ao for () ent
ao, conseguimos a igualdade com a subtrac
ao de uma vari
avel
de sobra (ou excesso) n
ao negativa ao lado esquerdo da inequac
ao. Temos a restric
ao:
x1 + x2 10 = x1 + x2 xf3 = 10, com xf3 0
Agora, o
unico requisito e deixar o lado direito da inequac
ao resultante n
ao negativo. Como exemplo:
x1 + x2 10 = x1 x2 xf3 = 10, com xf3 0

x1 + x2 10 = x1 x2 + xf3 = 10, com xf3 0


Assim, faz-se a transformac
ao em igualdade, e em seguida multiplica-se por (-1).

3.2.5 Como lidar com vari


aveis irrestritas
Em alguns casos, as vari
aveis podem oscilar entre positivo e negativo, talvez o melhor exemplo seja a contratac
ao
e a demiss
ao de funcion
arios em uma linha produtiva.
Se xi ( 0) for a quantidade de m
ao-de-obra no perodo i (um mes, uma quinzena etc), ent
ao xi+1 ( 0), a
quantidade necess
aria para o pr
oximo perodo i + 1 pode ser expresso como:
xi+1 = xi + yi+1
A vari
avel yi+1 deve ser irrestrita ao sinal, para permitir que xi+1 aumente ou diminua em relac
ao a xi , isto e,
dependa do n
umero de contratados e demitidos, respectivamente.
Podemos satisfazer o requisito da vari
avel n
ao negativa com a substituic
ao:

+
yi+1 = yi+1
yi+1

onde

yi+1
0

+
yi+1
0

Para mostrar que a substituic


ao e v
alida, suponha que no perodo 1 a m
ao-de-obra seja x1 = 30 e que no
perodo 2 tenha de aumentar em 10 trabalhadores chegando a 40. Em termos da substituic
ao, y2 e y2+ , ser
a
equivalente a y2+ = 0 e y2 = 10 ( resultando em y2 = 10). De maneira semelhante se for reduzida em 10, teremos
y2 = 0 e y2+ = 10 ( resultando em y2 = 10). A substituic
ao tambem permite a possibilidade de n
ao haver
alterac
ao na m
ao-de-obra, fazendo com que ambas as vari
aveis assumam um valor igual a zero.

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

Captulo 3. Metodo Simplex

PL

3.2.7 Transformando o Problema de Maximizac


ao em Minimizac
ao
Utilizando-se a relac
ao de max{f (x)} = min{f (x)}, uma situac
ao de maximizac
ao pode se transformar em
uma de minimizac
ao. Como exemplo, considere a par
abola:
Se f (x) = (x 3)2 + 4 = min f (x) = 4, no ponto x = 3;
Se f (x) = [(x 3)2 + 4] = max {f (x)} = 4, no ponto x = 3 .
Assim, ao se multiplicar a func
ao por (1), ela e substituda por outra simetrica em relac
ao ao eixo horizontal
e o mnimo de uma ocorre na mesma abscissa que o m
aximo da outra, naturalmente com sinal inverso. Ent
ao,
max{f (x)} = min{f (x)}.

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

Como dito, as inequac


oes do tipo () podem ser transformadas em equac
oes pela inserc
ao de tres vari
aveis de
folga, com peso nulo na func
ao objetivo, de modo que obtem-se o sistema na forma can
onica.
max

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

O sistema acima possui uma soluc


ao trivial, ou seja, fazendo x1 = 0 e x2 = 0, temos:

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

Captulo 3. Metodo Simplex

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

Mantendo-se x1 = 0 e deixando o sistema em func


ao de x2 temos:
x3
x4

= (8 2x2 )
= (5 3x2 )

0
0

x5

(6 x2 )

Ao se aumentar o valor de x2 em 1 unidade, o valor de x3 decresce 2 unidades, x4 descrece 3 unidades e x5


decresce 1 unidade. Para anular as outras vari
aveis e mante-las ainda n
ao negativa, devemos encontrar os valores
de x2 que facam isso, podendo em seguida em qual destas vari
aveis x2 apresenta seu valor mnimo (denotado por
 5 ).
Portanto,  = x2 = min{ 82 , 53 , 61 } = 53 , ou seja, para x2 = 53 , obtem-se x4 = 0, enquanto a demais vari
aveis
ao
permanecem n
ao negativas (s
ao factveis ao modelo). Logo, x4 sai da base, entrando x2 com valor 53 , e a func

5
objetivo passa a : f (x) = 2(0) + 3 3 = 5, isto e, j
a temos um valor de func
ao objetivo para a comparac
ao com
as pr
oximas iterac
oes.
A nova base ser
a formada por x2 , x3 e x5 . Para represent
a-la, basta transformar o sistema inicial, expressando-o
na nova base. Para isso, s
ao feitas operac
oes elementares no sistema, tornando os coeficientes de x2 um elemento
da matriz identidade, a saber:
1
5
2
Dividir a 2a linha por 3, o que resulta em = x1 + x2 + x4 =
3
3
3
Somar `
a 1a linha a nova 2a linha multiplicada por (2) =

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

Com essas alterac


oes, o sistema e reescrito conforme:

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

se realizar esse procedimento atente para manter as vari


aveis x3 , x4 e x5 n
ao negativas.
bi
do sistema, como j sendo o n
umero da vari
avel (coluna) e i o n
umero da equac
ao (linha)
aij
trabalhadas.
5O

 pode ser visto como a raz


ao

L. A. P. Cant
ao & F. S. Stark

42

Captulo 3. Metodo Simplex

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

Deixando o sistema em func


ao de x1 para todas as vari
aveis e considerando-as como zero, temos:

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

Captulo 3. Metodo Simplex

PL

x1 = 2

x2 = 3
x3 = 0

x
4 =0

x5 = 1

Para os valores encontrados das vari


aveis a func
ao objetivo f (x) = 2(2) + 3(3) = 13, o que e maior que o 5
encontrado na iterac
ao anterior. A nova base ser
a formada agora por x1 , x2 e x5 . Para represent
a-la e necess
ario
a aplicac
ao de operac
oes elementares, o que resulta em:

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

Comparando esse resultado com a soluc


ao gr
afica, nota-se que esta corresponde ao vertice (x1 ,x2 ) = (2, 3).
Agora realizamos o procedimento de colocar a func
ao objetivo em termos das vari
aveis n
ao b
asicas, utilizando as
equac
oes que possuem as vari
aveis x1 e x2 do sistema obtido:
x1

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

Captulo 3. Metodo Simplex

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:

Figura 3.2: Soluc


ao gr
afica, soluc
ao
unica.

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

Captulo 3. Metodo Simplex

PL

E, o ponto E e o ponto o qual iramos recair se em vez de x2 na primeira iterac


ao, se tivessemos escolhido
x1 , o que tambem economizaria uma iterac
ao, j
a que a segunda iterac
ao dessa escolha passaria ao ponto C
(verifique como exerccio).
Aqui, devemos ressaltar que n
ao h
a uma regra clara para a escolha de qual vari
avel entra e qual sai da base a
priori, como um palpite inicial, isso pode reduzir muitos passos de acordo com a extens
ao de quantas vari
aveis se
est
a trabalhando. Uma possibilidade e a escolha da vari
avel pelo coeficiente mais favor
avel possvel e outra e a de
se escolher aleatoriamente uma das vari
aveis com coeficiente favor
avel, independente do valor, contudo, n
ao h
a
provas de qual das duas seja melhor.
Na pr
oxima subsec
ao veremos como usar o Metodo Simplex na forma de quadros (tabelas).

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

Dado o sistema acima, podemos escreve-lo como a tabela 3.1 (tableau):


Base
max
x3
x4
x5

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)

Tabela 3.1: Dados apresentados na forma tableau.

Agora devemos iniciar a an


alise dos dados para efetuar as trocas de base. Comecamos com a linha (0), onde
est
ao os coeficientes de x1 e x2 , verificando que ambas as vari
aveis, quando aumentados seus valores, obrigam o
aumento da func
ao f (x) para que a equac
ao seja verdadeira (uma vez que os coeficientes de ambas s
ao negativos),
portanto, uma das duas deve entrar na base e uma das vari
aveis formadoras da atual base deve sair.
Como a vari
avel x2 apresenta maior coeficiente, esta ser
a escolhida para entrar primeiro na base. Procedemos
ent
ao com o destaque da coluna na qual est
a a vari
avel que entrar
a na base:
Base
max
x3
x4
x5

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)

Tabela 3.2: Comeco da verificac


ao da troca de vari
aveis.

L. A. P. Cant
ao & F. S. Stark

46

Captulo 3. Metodo Simplex

PL

Para escolhermos a vari


avel que sai da base, realizamos o teste do quociente para verificar qual o menor valor
de  e assim selecionar a vari
avel que dever
a sair da base. Esse teste consiste em dividir o valor de bi por aij (desde
que aij seja positivo), sendo j a coluna da vari
avel de entrada. Temos ent
ao:

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

Tabela 3.3: Teste do quociente para x2 .

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)

Tabela 3.4: Resultados da primeira iterac


ao.

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

Tabela 3.5: Teste do quociente para x1 .

Com a entrada de x1 , a vari


avel x3 deve sair da base. Realizando as operac
oes elementares pertinentes,
chegamos a tabela 3.6:
Base
max
x1
x2
x5

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)

Tabela 3.6: Resultados da segunda iterac


ao.

Verificando a linha(0) notamos que o coeficiente da vari


avel x4 e negativo, conclumos que esta exerce influencia
L. A. P. Cant
ao & F. S. Stark

47

Captulo 3. Metodo Simplex

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

Tabela 3.7: Teste do quociente para x4 .

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)

Tabela 3.8: Resultados da terceira iterac


ao.

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 ,

Reescrevendo o sistema para aplicarmos o Simplex, temos:

L. A. P. Cant
ao & F. S. Stark

48

Captulo 3. Metodo Simplex

PL

max

2x1

f (x)

Sujeito a:

4x2

0x3

x1

x3

x1

+ x2

+ x4

xi

0,

p/ i

2x2

0x4

1:4

Realizando-se a passagem para o quadro:


Base
max
x3
x4

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)

Tabela 3.9: Dados apresentados na forma de quadro.

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)

Tabela 3.10: Dados apresentados na forma de quadro.

Verificamos que o valor da func


ao f (x) para este caso e 10. A soluc
ao e x1 = 0 e x2 =
saber se existem outras tantas soluc
oes?

5
, contudo, como
2

Resposta: Devemos observar que o coeficiente de x1 ap


os a primeira iterac
ao e zero, isto e, a vari
avel x1 pode
entrar na base sem que ocasione mudanca na soluc
ao encontrada.
Vejamos ent
ao se procedermos com uma segunda iterac
ao, inserindo x1 e retirando-se x4 , com resultado
apresentado:
Base
max
x2
x1

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)

Tabela 3.11: Dados apresentados na forma de quadro.

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

Captulo 3. Metodo Simplex

PL

max

f (x)

Sujeito a:

2x1

+ x2

x1

x2

40

x2

2x1
x1 ,

10

Para aplicarmos o Metodo Simplex realizamos as mudancas, obtendo:


max

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

Tabela 3.12: Dados apresentados na forma de quadro.

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.

Escolha Inicial - Empate na Entrada.


Como dito, n
ao h
a um criterio claro quanto `
a escolha da vari
avel que dever
a entrar na base do sistema. Podemos
atentar para os coeficientes das vari
aveis na func
ao objetivo, isto e, qual a influencia deles quando os valores das
vari
aveis oscilam.
L. A. P. Cant
ao & F. S. Stark

50

Captulo 3. Metodo Simplex

PL

Figura 3.3: Regi


ao do Exemplo 3.12.
Em alguns casos, na func
ao objetivo pode ocorrer um empate nos coeficientes das vari
aveis, como por exemplo,
na func
ao 3x1 + 3x2 . Se ocorrer algo assim, tanto no incio quanto em alguma das iterac
oes (h
a mais de um
coeficiente com custos relativos iguais pleiteando entrada na base), a escolha fica aleat
oria.

Escolha no Termino de uma Iterac


ao - Empate na Sada e Degenerac
ao.
A ocorrencia deste caso est
a relacionada com a igualdade do mnimo durante o teste do quociente. Como no
empate na entrada, o que devemos fazer e escolher aletoriamente uma das duas vari
aveis que podem sair da base.
No caso do empate dos quocientes, ap
os se pivotar, a vari
avel mantida na base ficar
a com valor zero. Dizemos,
ent
ao, que a soluc
ao b
asica e degenerada. A degenerac
ao consiste em uma soluc
ao b
asica na qual uma das
vari
aveis b
asicas tem o valor zero. No comeco do uso do Metodo Simplex, essa problem
atica despertava interesse,
uma vez que poderia ocorrer o que se chama de ciclagem ou loop (quando uma vari
avel fica nula e tende a ser
tirada da base, contudo no novo passo a vari
avel que entrou n
ao ocasiona mudanca no valor da func
ao, gerando
assim um processo infinito de troca de base).
Em modelos reais, pelo arredondamento e pelos coeficientes menos exatos, esse problema tende a n
ao ocorrer.
Contudo, ressaltamos que se houver algum erro durante o processo de c
alculo computacional, esse fen
omeno n
ao
deve ser totalmente descartado.

3.2.11 Base Artificial.


Ate aqui todos os problemas apresentados estavam na forma can
onica (ou pelo menos em uma forma padr
ao
de f
acil transformac
ao) e com uma base inicial. Entretanto, apesar desta ser a condic
ao inicial para a aplicac
ao do
algoritmo, em muitos problemas n
ao se tem uma base inicial, impossibilitando o uso do Metodo Simplex.

L. A. P. Cant
ao & F. S. Stark

51

Captulo 3. Metodo Simplex

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

Captulo 3. Metodo Simplex

PL

Acrescentando duas vari


aveis x3 de sobra e x4 de folga, na forma de equac
oes temos:
min

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 ,

Agora temos uma soluc


ao b
asica inicial dada por (Xa1 , Xa2 , x4 ) = (3, 6, 4). Em muitas obras liter
arias, M
e manipulado algebricamente (n
ao est
a associado valor algum `
a vari
avel, usando-a apenas nos c
alculos), contudo,
como e mais usual a implementac
ao dos problemas na forma computacional, utilizaremos um valor numerico para
M.
O valor a ser escolhido deveria ser teoricamente infinito contudo, na rotina dos c
alculos em computadores, a
interac
ao entre n
umeros muito grandes e outros muito pequenos pode ocasionar erros de arredondamento. Para
evitar que tal fato ocorra, devemos escolher o valor de M suficientemente grande em relac
ao aos coeficientes
da func
ao objetivo, sendo assim, no presente caso utilizaremos M = 100, pois os coeficientes de x1 e x2 s
ao
respectivamente 4 e 1, ou seja, 100 e grande se comparado `
a esses valores.
O sistema em forma de quadros e:
Base
min
Xa1
Xa2
x4

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)

Tabela 3.13: Dados apresentados na forma de quadro.

Podemos observar no quadro, que a soluc


ao inicial resulta em f (x) = 900 e n
ao zero como mostrado na linha(0),
isto ocorre pois, os coeficientes de Xa1 e Xa2 s
ao nulos. Para colocarmos o sistema com essa caracterstica, e
torn
a-lo consistente, devemos operar com as outras linhas de maneira a anular os coeficientes das vari
aveis artificiais
na func
ao objetivo.
Fazendo-se a linha(1) e a linha(2) vezes 100 e somando-se a linha(0), obtemos os resultados que seguem na
Tabela 3.14.
Como trata-se de um problema de minimizac
ao, o coeficiente de maior valor positivo dever
a entrar na base,
neste caso a vari
avel e x1 . A raz
ao mnima da condic
ao de viabilidade especifica Xa1 como a vari
avel que sai. Ap
os
as operac
oes pertinentes, temos os resultados da Tabela 3.15.
Agora quem dever
a entrar e x2 , saindo Xa2 da base. Ap
os mais duas iterac
oes, a soluc
ao ser
a:

L. A. P. Cant
ao & F. S. Stark

53

Captulo 3. Metodo Simplex

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)

Tabela 3.14: Dados transformados para a realizac


ao dos passos do Simplex.
Base
min
x1
Xa2
x4

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)

Tabela 3.15: Dados apresentados na forma de quadro.

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
=

A Tabela 3.16 est


a associado ao problema acima.

L. A. P. Cant
ao & F. S. Stark

54

Captulo 3. Metodo Simplex

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

Tabela 3.16: Dados apresentados na forma de quadro.

Como no metodo M-grande, Xa1 e Xa2 s


ao substitudas na linha r usando:
rmodificada = rantiga + (1 linha Xa1 + 1 linha Xa2 )
A linha rmodificada e usada para resolver a Fase I do problema, fornecendo a Tabela 3.17
otima.
Base
r
x1
x2
x4

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

Tabela 3.17: Final da Fase I.


3
6
, x2 =
e x4 = 1. Nesse ponto,
5
5
as vari
aveis artificiais concluram sua miss
ao e podemos eliminar totalmente suas colunas da tabela (e da
Como mnimo r = 0, a Fase I produz a soluc
ao b
asica vi
avel x1 =

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

Em essencia, a Fase I e um procedimento que transforma as equac


oes de restric
ao originais de maneira a
fornecer uma soluc
ao b
asica vi
avel inicial para o problema, se houver.
Agora, aplica-se o metodo Simplex ate obter a soluc
ao
otima (verifique como exerccio).

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

Captulo 3. Metodo Simplex

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 ,

A figura 3.4 ilustra a variac


ao na soluc
ao
otima quando s
ao feitas alterac
oes na capacidade da m
aquina 1. Se
a capacidade di
aria for aumentada de oito horas para nove horas, a nova soluc
ao
otima ocorrer
a no ponto G.
A taxa de variac
ao em f (x)
otima resultante da alterac
ao da capacidade da m
aquina 1 pode ser calculada da
seguinte maneira:

L. A. P. Cant
ao & F. S. Stark

56

Captulo 3. Metodo Simplex

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

aumento de uma hora na

aquina
capacidade da m
(ponto C para ponto G)

=
= 142 128 = $14/h.
zg zc

(Alterac
ao na capacidade)
98

A taxa calculada fornece uma ligac


ao direta entre a entrada do modelo (recursos) e sua sada (receita total),que
representa o valor unit
ario equivalente de um recurso (em $/hora), isto e, a variac
ao no valor
otimo da func
ao
objetivo por unidade de variac
ao na disponibilidade do recurso (capacidade da m
aquina). Isso significa que uma
unidade de aumento (reduc
ao) na capacidade da m
aquina 1 aumentar
a (reduzir
a) a receita em $14. Embora o
valor unit
ario equivalente de um recurso seja uma descric
ao adequada da taxa de variac
ao da func
ao objetivo,
o nome tecnico, preco dual ou preco sombra, agora e um padr
ao na literatura de PL, e em todos os pacotes
comerciais.
Examinada a figura 3.4, podemos ver que o preco dual de 14/h permanece v
alido para variac
oes (aumentos
ou reduc
oes) na capacidade da m
aquina 1 que deslocam sua restric
ao paralelamente para qualquer ponto sobre o
segmento de reta BF . Isso significa que a faixa de aplicabilidade de determinado preco dual pode ser calculada da
seguinte maneira:
Capacidade mnima da m
aquina 1 (em B = (0, 2.67)) = 2 0 + 1 2.67 = 2.67/h
Capacidade m
axima da m
aquina 1 (em E = (8, 0)) = 2 8 + 1 0 = 16/h
Deste modo, podemos concluir que o preco dual permanecer
a v
alido para a faixa:
2.67/h Capacidade da m
aquina 1 16/h.
Variac
oes fora dessa faixa produzir
ao um preco dual (equivalente por unidade) diferente.

L. A. P. Cant
ao & F. S. Stark

57

Captulo 3. Metodo Simplex

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

Captulo 3. Metodo Simplex

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

pode variar entre

1
3

e 12 , o que resulta na seguinte condic


ao:
1
c1
2

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)

Usando x4 , x5 e x6 como vari


aveis de folga para as restric
oes das operac
oes 1, 2 e 3, respectivamente, a tabela
encontrada ao final da resoluc
ao e:
L. A. P. Cant
ao & F. S. Stark

59

Captulo 3. Metodo Simplex

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)

Tabela 3.18: Dados da soluc


ao
otima do problema .

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

Com essa representac


ao, as vari
aveis de folga tem as mesmas unidades (minutos) que os tempos de operac
ao.
Assim, podemos dizer que uma reduc
ao de 1 minuto na vari
avel de folga e equivalente ao aumento de 1 minuto
no tempo de operac
ao.
Podemos usar essas informac
oes para determinar os precos duais pela equac
ao de maximizac
ao de f (x) na
tabela
otima 3.18 abaixo:
f (x) + 4x1 + x4 + 2x5 + 0x6 = 1350
Essa equac
ao pode ser expressa como:
f (x) + 4x1 + x4 + 2x5 + 0x6 = 1350 = f (x) = 1350 4x1 + 1(x4 ) + 2(x5 ) + 0(x6 )
Dado que um decrescimo no valor de uma vari
avel de folga e equivalente a um aumento em seu tempo de
operac
ao, obtemos:
f (x)

1350 4x1 + 1 (aumento no tempo de Operac


ao 1)

2 (aumento no tempo de Operac


ao 2)

0 (aumento no tempo de Operac


ao 3)

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

Captulo 3. Metodo Simplex

PL

Resumindo, a linha (0) na tabela simplex o


tima fornece diretamente os precos duais, como mostra a Tabela
3.19.
Recurso
Operac
ao 1
Operac
ao 2
Operac
ao 3

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

Tabela 3.19: Precos duais .

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

Consideraremos o caso geral de alterac


oes simult
aneas. Os casos especiais de uma alterac
ao por vez s
ao
derivados desses resultados.
O procedimento e baseado em recalcular a tabela simplex
otima com o lado direito modificado, e depois derivar
as condic
oes que manter
ao a soluc
ao vi
avel, isto e, o lado direito da tabela
otima permanecer
a n
ao negativo. Para
mostrar como o lado direito e recalculado, comecamos modificando a coluna Soluc
ao da tabela inicial usando novos
lados direitos. Assim, a tabela simplex inicial ter
a o seguinte aspecto:
Base
max
x4
x5
x6

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

Tabela 3.20: Dados para c


alculos das faixas de viabilidade.

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

Captulo 3. Metodo Simplex

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

Tabela 3.21: Dados finais para os c


alculos das faixas de viabilidade.

A nova tabela simplex


otima fornece a seguinte soluc
ao
otima:
f (x)

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:

f (x) = 1350 4x1 x4 2x5


A soluc
ao
otima n
ao recomenda a produc
ao de trens de brinquedo (x1 = 0). Essa recomendac
ao e confirmada
pela informac
ao dada por f (x) porque cada unidade de aumento em x1 acima de seu nvel zero atual reduzir
ao
valor de f (x) em $4.
L. A. P. Cant
ao & F. S. Stark

62

Captulo 3. Metodo Simplex

PL

Podemos considerar o coeficiente de x1 como um custo unit


ario porque ele provoca uma reduc
ao na receita f (x).
Mas de onde vem esse custo? Sabemos que x1 tem sua receita unit
aria de $3 no modelo original. Tambem
sabemos que cada trem de brinquedo consome recursos (tempos de operac
oes) que, por sua vez, incorrem em
custo. Assim, a atratividade de x1 do ponto de vista da otimizac
ao depende dos valores relativos da receita por
unidade e do custo dos recursos consumidos por unidade. Essa relac
ao e formalizada ao se definir custo reduzido
como:
(Custo reduzido por unidade) = (Custo dos recursos consumidos por unidade) (Receita por unidade)
Para avaliar a relevencia dessa definic
ao, no modelo original da Toyco, a receita por unidade para caminh
oes de
brinquedo (= $2) e menor do que a para trens de brinquedo ($3). Ainda assim, a soluc
ao
otima aconselha fabricar
caminh
oes de brinquedo (x2 = 100 unidades) e nenhum trem. A raz
ao para esse resultado (aparentemente n
ao
intuitivo) e que o custo unit
ario dos recursos usados para caminh
oes de brinquedo (isto e, tempos de operac
oes)
e menor do que seu preco unit
ario. O oposto se aplica ao caso dos trens de brinquedo.
Pela definic
ao dada de custo reduzido, agora podemos ver que uma vari
avel n
ao lucrativa (como x1 ) pode vir
a ser lucrativa de dois modos:
1. Com o aumento da receita unit
aria;
2. Com a reduc
ao de custo unit
ario dos recursos consumidos.
Em grande parte das situac
oes reais, o preco por unidade pode n
ao ser uma opc
ao vi
avel porque seu valor e
determinado por condic
oes de mercado. Portanto, a opc
ao real e reduzir o consumo de recursos, talvez aumentando
a eficiencia do processo de produc
ao.

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

Tabela 3.22: Dados da linha (0).

Quando geramos as tabelas simplex usando a mesma sequencia das vari


aveis que entram e que saem do modelo
original (antes da introduc
ao das vari
aveis dj ), a iterac
ao
otima aparecer
a como segue na Tabela 3.23.
Como estamos lidando com um problema de maximizac
ao, a soluc
ao atual permanece
otima, contanto que os
novos custos reduzidos permanecam n
ao negativos para todas as vari
aveis n
ao b
asicas. Assim, temos as seguintes
condic
oes de otimalidade correspondentes `
as vari
aveis n
ao b
asicas x1 , x4 e x5 :

L. A. P. Cant
ao & F. S. Stark

63

Captulo 3. Metodo Simplex

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

Tabela 3.23: Nova tabela simplex.

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?

3.4 Exerccios Propostos


1. Resolva o programa linear em uma iterac
ao:
max f (x) =

12x1

9x2

10x3

x1
1
2 x1

x3

x2
7
4 x2

x3

3x1 +
x1 , x2 ,

7x2
x3

5x3
0

Sujeito a

2. Resolva o seguinte problema de programac


ao linear utilizando o Metodo Simplex:
max f (x) =
Sujeito a

L. A. P. Cant
ao & F. S. Stark

x1

2x2

6x1
x1

10x2

x1 , x2

30

6
0

64

Captulo 3. Metodo Simplex

PL

3. Utilize o Metodo Simplex para resolver o seguinte problema de Programac


ao Linear:
max f (x) =

5x1

Sujeito a

2x2

x1
x2
2x1 +
x 1 , x2

x2 10
0

4. Resolva, utilizando o Metodo das Duas Fases, o seguinte problema de programac


ao linear:
max f (x) =
Sujeito a

x1

2x2

3x3

x1
2x1

+
+

2x2
x2

+
+

3x3
5x3

x1

2x2

x3

x 3 , x4

x1 , x2 ,

x4
=
15
= 20
+ x4

10

5. Resolva o problema de programac


ao linear proposto a seguir e constate que a soluc
ao e ilimitada:
max f (x) =

2x1

3x2

x1

2x2

2x1

3x2

x1

x2

x1 , x2

Sujeito a

6. Considere o seguinte problema de PL:


max f (x) =
Sujeito a

2x1

3x2

x1

3x2

3x1

2x2

x1 , x2

(a) Expresse o problema em forma de equac


ao.
(b) Determine todas as soluc
oes b
asicas do problema e classifique-as como vi
aveis b
asicas e n
ao b
asicas.
(c) Use a substituic
ao direta na func
ao objetivo para determinar a soluc
ao b
asica vi
avel
otima.
(d) Verifique graficamente que a soluc
ao obtida em (c) e a soluc
ao
otima do problema de PL da,
conclua que a soluc
ao
otima pode ser determinada algebricamente considerando somente soluc
oes
b
asicas vi
aveis.
(e) Mostre como as soluc
oes b
asicas n
ao vi
aveis s
ao representadas graficamente na regi
ao de soluco
es.
7. Considere o seguinte problema de PL:
max f (x) =
Sujeito a

2x1

3x2

6x1

7x2

9x3

x1

x2

x1 , x3

x2

L. A. P. Cant
ao & F. S. Stark

5x3
4x3

65

Captulo 3. Metodo Simplex

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

(a) Determine todas as soluc


oes b
asicas vi
aveis do problema.
(b) Use substituic
ao direta na func
ao objetivo para determinar a melhor soluc
ao b
asica.
(c) Resolva o problema pelo metodo gr
afico e verifique que a soluc
ao obtida no item anterior e a
otima.
9. Considere o seguinte conjunto de restric
oes:
x1

2x2

2x3

4x4

40

2x1

x2

x3

2x4

4x1

2x2

x3

x4

x3 , x 4

x1 , x2 ,

10

Resolva o problema para cada uma das seguintes func


oes objetivo.
(a) max f (x) = 2x1 + x2 3x3 + 5x4 .
(b) max f (x)8x1 + 6x2 + 3x3 2x4 .
(c) max f (x) = 3x1 x2 + 3x3 + 4x4 .
(d) max f (x) = 5x1 4x2 + 6x3 8x4 .
10. Considere o seguinte problema de PL:
max f (x) =

x1

Sujeito a

5x1

x2

6x1

x3

3x1

x4

x2 , x 3 , x 4

x1 ,

(a) Resolva o problema por inspec


ao (n
ao use as operac
oes de linha por Gauss-Jordan) e justifique a resposta
em termos das soluc
oes b
asicas do Metodo Simplex.
(b) Repita o item anterior considerando que a func
ao objetivo exige min f (x) = x1 .
11. Considere o seguinte problema de PL:
max f (x) =

16x1

15x2

Sujeito a

40x1

31x2

124

x1

x2

x1
x1 ,
L. A. P. Cant
ao & F. S. Stark

x2

66

Captulo 3. Metodo Simplex

PL

(a) Resolva o problema pelo metodo simplex, no qual a vari


avel que entra na base e a vari
avel n
ao b
asica
que tem o coeficiente mais negativo na linha da func
ao objetivo.
(b) Resolva o problema pelo metodo simplex, sempre selecionando a vari
avel que entra na base como a
vari
avel n
ao b
asica que tem o coeficiente menos negativo na linha da func
ao objetivo.
(c) Compare o n
umero de iterac
oes dos dois itens anteriores. A selec
ao da vari
avel que entra na base como
vari
avel n
ao b
asica que tem o coeficiente mais negativo resulta em um n
umero menor de iterac
oes? A
que conclus
ao podemos chegar quanto `
a condic
ao de otimalidade?
(d) Suponha que o sentido de otimizac
ao seja mudado para minimizac
ao multiplicando f (x) por 1. Como
essa alterac
ao afeta as iterac
oes no metodo simplex?
12. Considere o seguinte conjunto de restric
oes:
2x1

3x2

4x1
x1

+ 5x2
+ 2x2

6x1

7x2

8x2

x1 ,

x2

4x1

(1)

10 (2)
5 (3)
3

(4)

(5)

Para cada um dos problemas a seguir, desenvolva a linha f (x) ap


os substituir as vari
aveis artificiais:
(a) max f (x) = 5x1 + 6x2 sujeito a (1), (3) e (4).
(b) max f (x) = 2x1 7x2 sujeito a (1), (2), (4) e (5).
(c) min f (x) = 3x1 + 6x2 sujeito a (3), (4) e (5).
(d) min f (x) = 4x1 + 6x2 sujeito a (1), (2) e (5).
(e) min f (x) = 3x1 + 2x2 sujeito a (1) e (5).
13. Mostre como o metodo do M-Grande vai indicar que o problema a seguir n
ao tem nenhuma soluc
ao vi
avel.
max f (x) =

2x1

5x2

Sujeito a

3x1

2x2

2x1

x2

x1 , x2

14. No modelo da Toyco determine se a soluc


ao atual mudar
a em cada umvdos seguintes casos
(a) f (x) = 2x1 + x2 + 4x3
(b) f (x) = 3x1 + 6x2 + x3
(c) f (x) = 8x1 + 3x2 + 9x3
15. A Electra produz quatro tipos de motores eletricos, cada um em uma linha de montagem separada. As
capacidades respectivas das linhas s
ao 500, 500, 800 e 750 motores por dia. O motor do tipo 1 usa oito
unidades de um certo componente eletr
onico, o motor do tipo 2 usa cinco unidades, o motor do tipo 3 usa
quatro unidades e o motor do tipo 4 usa seis unidades. O fabricante do componente pode fornecer 8000
pecas por dia. Os precos dos componentes para os respectivos tipos de motor s
ao $60, $40, $25 e $30 por
motor.
L. A. P. Cant
ao & F. S. Stark

67

Captulo 3. Metodo Simplex

PL

(a) Determine o mix


otimo de produc
ao di
ario.
(b) A atual programac
ao de produc
ao atende `
as necessidades da Electra. Contudo, devido `
a concorrencia,
pode ser que a empresa precise reduzir o preco do motor do tipo 2. Qual e a reduc
ao que pode ser
efetuada sem alterar a programac
ao da produc
ao atual?
(c) A Electra decidiu reduzir em 25% o preco de todos os tipos de motores. Use an
alise de sensibilidade
para determinar se a soluc
ao
otima permanecer
a inalterada.
(d) Atualmente, o motor do tipo 4 n
ao e produzido. De quanto deveria ser o aumento no preco desse motor
para ser includo na programac
ao de produc
ao?

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

ao diretamente ao problema dual associado.


Para mostrar como o problema dual e construdo, o problema primal e definido na forma de equac
oes da seguinte

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

Tabela 4.1: Construc


ao do problema dual com base no problema primal.
Efetivamente, temos:
1. Uma vari
avel dual e definida para cada equac
ao (restric
ao) primal;
2. Uma restric
ao dual e definida para cada vari
avel primal;
3. Os coeficientes da restric
ao (coluna) de uma vari
avel primal definem os coeficientes do lado esquerdo da
restric
ao dual e seus coeficientes na func
ao objetivo definem os coeficientes do lado direito;
4. Os coeficientes da func
ao objetivo do problema dual s
ao iguais aos coeficientes do lado direito das equac
oes
de restric
ao do problema primal.
As regras para determinar o sentido da otimizac
ao (maximizac
ao ou minimizac
ao), o tipo da restric
ao (,
ou =) e o sinal das vari
aveis duais est
ao na tabela 4.2.
Func
ao objetivo do
problema primal
Maximizac
ao
Minimizac
ao

Problema dual
Objetivo
Tipos de restric
oes
Minimizac
ao

Maximizac
ao

Sinal das vari


aveis
Irrestrita
Irrestrita

Tabela 4.2: Regras para construir o problema dual.


Observe que o sentido da otimizac
ao no dual e sempre oposto ao do primal. Os exemplos a seguir demonstram
a utilizac
ao das regras de construc
ao do problema dual e tambem que a definic
ao dada anteriormente incorpora
todas as formas do primal.
Exemplo 22. O Problema Primal e:
max
Sujeito a

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

Agora utilizaremos um exemplo de minimizac


ao como primal.
Exemplo 23. O Problema Primal e:
min

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

4.2.1 Propriedades da Dualidade


A partir do apresentado ate aqui, podemos enumerar cinco propriedades que fornecem ao fim um resumo das
regras de construc
ao para o problema dual.
Propriedade 1. O dual do dual e o primal.

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 ,

Para a forma dual do problema:


min

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

Para a forma padr


ao:
max

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 ,

Utilizando uma vari


avel substituta y20 = y2 , temos:
min f (y)
S. a

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

Sintese das Propriedades


A conclus
ao geral com base nos exemplos e nas propriedades e que as vari
aveis e restric
oes nos problemas
primal e dual s
ao definidas pelas regras na tabela 4.3.

4.2.2 Teoremas Fundamentais da Dualidade


Ate agora discutimos os conceitos b
asicos da dualidade e caracterizamos propriedades importantes para a
construc
ao do par primal-dual. Para completar a import
ancia da dualidade na Programac
ao Linear, faltam os
teoremas fundamentais. A presente sec
ao traz enunciados os teoremas e exemplos de sua aplicabilidade.

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)

Tabela 4.3: Regras para construir o problema dual.

Teorema da Folga Complementar


ao
otima para o problema primal de PL e yj (j = 1 : m) uma soluc
ao
otima do
Seja xj (j = 1 : n) uma soluc
problema dual. Ent
ao, o seguinte e verdade:
Se a k-esima restric
ao de um dos problemas tem folga n
ao-nula, ent
ao a k-esima vari
avel do outro problema
e zero;
Se a k-esima vari
avel de uma soluc
ao
otima de um dos problemas e positiva, a k-esima restric
ao do outro e
satisfeita com vari
avel de folga igual a zero.

Teorema Fraco da Dualidade


Seja o par primal-dual e seja x um ponto qualquer factvel para o problema primal, com o valor correspondente
fp (x) para a func
ao objetivo, e seja y um ponto qualquer factvel para o problema dual, com valor correspondente
fd (y) para a func
ao objetivo. Ent
ao, para o caso da maximizac
ao do problema primal, o Teorema Fraco da
Dualidade afirma que:
fp (x) fd (y)
Em termos intuitivos, o problema primal (P), que transforma insumos em produtos, busca maximizar a receita
dos produtos, max fp (x). J
a o problema dual (D) busca min fd (y), com a receita decorrente da venda das materiasprimas e o seu mnimo seria o valor que tornaria sua venda t
ao atrativa quanto a sua transformac
ao. Cabe relembrar
que, nessa interpretac
ao, os custos administrativos e de transformac
ao fsica s
ao ignorados.

Teorema do Criterio de Otimalidade


Seja um par primal-dual e seja x a soluc
ao
otima para o problema primal, com valor correspondente fp (x) para
a func
ao objetivo, e seja y a soluc
ao
otima para o problema dual, com valor correspondente fd (y) para a func
ao
objetivo. Ent
ao, o teorema do criterio de otimalidade estabelece que:
fp (x) = fd (y)

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;

Teorema Principal da Dualidade


Seja um par primal-dual (P) e (D) tal que ambos tenham soluc
oes factveis. Ent
ao, ambos tem soluc
oes o
timas,
x e y, tais que fp (x) = fd (y)

Quadro-resumo dos Teoremas


Seguindo os teoremas e as propriedades enunciadas anteriormente, podemos escrever o quadro 4.4, que resume
o relacionamento entre as soluc
oes Primal e Dual.
XXX

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

Tabela 4.4: Relac


oes entre as soluc
oes primal e dual.

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

1. Resolvendo este problema pelo Metodo Simplex (Primal).


Incluindo as vari
aveis de excesso.
max
S. a

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)

Tabela 4.5: Primeiro quadro com o problema primal.


Base
Max
x4
x2

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)

Tabela 4.6: Segundo quadro com o problema primal.

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)

Tabela 4.7: Primeiro quadro com o problema dual.

Como o caso e de minimizac


ao, buscaremos a vari
avel mais positiva (para que o valor de f (y) tenha de ser
o mais negativo possvel), sendo que y2 entra na base. A vari
avel que sai da base e y4 pois e a
unica na qual
podemos aplicar o teste do coeficiente. Ap
os as operac
oes elementares, temos a Tabela 4.8.

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)

Tabela 4.8: Primeiro quadro com o problema dual.

Aparentemente y4 poderia entrar na base, contudo os elementos de sua coluna s


ao todos negativos (o mesmo
ocorre com y1 ). Neste caso, paramos os passos e chegamos na soluc
ao f (y) = 2 e y = (0, 1, 2, 0, 2).
3. Por fim verificarmos a relac
ao entre as soluc
oes encontradas.
As soluc
oes encontradas s
ao iguais, logo max f (x) = min f (y). Isso ocorre pois ambos os problemas (primal
e dual) s
ao factveis.

4.4 Exerccios Propostos


1. Suponha o problema a seguir:
max

f (x)

S. a

3x1

2x2

4x1

2x1

3x2

2x2

x1
x2

10

Determine o Dual do problema.


2. Considere o seguinte problema de PL:
max

f (x)

2x1
2x1
x1

S. a

x1

3x2

+ 3x2
+ 2x2

6
8

x2

x2

x1 ,
(a) Escreva o problema Dual.

(b) Sabendo que a soluc


ao primal e: x1 = 2.4 e x2 = 3.6, use o Teorema da Folga Complementar para
determinar a sua soluc
ao dual.
3. De o Dual do problema a seguir numa tal forma que as vari
aveis Duais sejam n
ao-negativas:
max
S. a

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

4. Seja o seguinte problema primal:


max

f (x)

3x1

S. a

x2

5x3

6x1

3x2

5x3

45

(m
ao-de-obra)

3x1

4x2

5x3

30

(materia-prima)

x3

x1 ,

x2 ,

(a) Resolva o problema Primal pelo Metodo Simplex.


(b) Escreva o problema Dual e identifique sua soluc
ao
otima.
rent
(c) Suponha que 15 unidades adicionais de materia-prima podem ser obtidas ao custo de $10. E
avel
aceitar essa proposta?
(d) Ache a soluc
ao
otima caso a quantidade disponvel de materia-prima passse para 60 unidades.
(e) Para que valores de c1 a soluc
ao permanece
otima?
5. Resolver o problema Primal abaixo pelo Metodo Dual-Simplex, analisando e discutindo em seguida a soluc
ao
encontrada.
min

f (x)

S. a

x1

x2

x3

x1

2x2

x3

x1

x2

x3

x3

x1 ,

x2 ,

6. Escreva o problema Dual para cada um dos seguintes problemas Primais:


max
(a)

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.

Captulo 5. Metodos de Pontos Interiores

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

onde y Rm e z Rn . Neste caso, j


a consideramos o problema dual no formato padr
ao pela adic
ao da vari
avel z
(vari
avel de folga).
O conjunto de soluc
oes vi
aveis do (PP) e dado por:


D = (y, z) Rm Rn / AT y + z = c, z 0
O interior de D definido por:


D0 = (y, z) Rm Rn / AT y + z = c, z > 0
A teoria da dualidade nos mostra a relac
ao entre os problemas (PP) e (PD), ou seja, o conjunto de soluc
oes
primais nos fornece informac
ao sobre o conjunto de soluc
oes duais e vice-versa. Por exemplo, dados quaisquer
vetores de soluc
oes primais x para (PP) e (y, z) para (PD), temos:
bT y cT x.
A func
ao objetivo dual fornece um limite inferior para a func
ao objetivo primal, e a func
ao primal fornece um
limite superior para o dual. As duas func
oes objetivo coincidem no valor, isto e: bT y = cT x se, e somente se x
resolve (PP) e (y , z ) resolve (PD).
Considere as condic
oes de otimalidade, para esta classe de metodos, conhecidas como Condic
oes de KarushKuhn-Tucker ou (KKT), estabelecida pelo Teorema 2.
Teorema 2. Considere os problemas (PP) e (PD) acima. O vetor x e uma soluc
ao
otima do problema (PP) e
(y , z ) e uma soluc
ao
otima do problema (PD) se, e somente se:
AT y + z =

z0

(viabilidade dual)

Ax

x0

(viabilidade primal)

XZe

(5.1)

(folgas complementares)

onde X = di ag(x1 , x2 , . . . , xn ), Z = di ag(z1 , z2 , . . . , zn ) e e = (1, 1, . . . , 1)T .


Do Teorema 2, temos que o vetor (x , y , z ) e soluc
ao do sistema de equac
oes (5.1) se, e somente se x e
soluc
ao do (PP) e (y , z ) e soluc
ao do (PD). O vetor (x , y , z ) e chamado de soluc
ao primal-dual.
O conjunto de soluc
oes vi
aveis primais-duais e seu interior podem ser definidos como:


(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

Captulo 5. Metodos de Pontos Interiores

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)

com F : R2n+m R2n+m .


` equac
A
ao F (x, y, z) = 0 podemos aplicar o metodo de Newton para encontrar soluc
oes vi
aveis (x , y , z ),
porem respeitando o limite (x, y) > 0, o que garante estarmos no interior da regi
ao vi
avel (0 ).
O metodo de Newton consiste em gerar uma sequencia de pontos {xk } que convirja para a soluc
ao de uma
ao em
dada equac
ao G(x) = 0, onde G : Rn Rn , G C (Rn ) e x Rn . O metodo e baseado em uma expans
primeira ordem (serie de Taylor) da func
ao considerada:
G(x) G(xk ) + J(xk )(x xk )
com J sendo o Jacobiano de G. Desta forma, se xk+1 e soluc
ao da expans
ao acima, ent
ao vale J(xk )sk = G(xk ),
com xk+1 = xk + sk . Portanto, o Metodo de Newton consiste em gerar os passos sk e us
a-los para atualizar o
ponto xk .
Uma iterac
ao completa do metodo de Newton pode ser escrita como
xk+1 = xk J1 (xk )G(xk ).
Na aplicac
ao do Metodo de Newton surgem duas quest
oes: (i) a necessidade de uma soluc
ao inicial e, (ii) a
necessidade de exercermos algum controle sobre os passos, j
a que ele pode convergir para soluc
oes F (x, y, z) = 0
mas que n
ao satisfacam (x, y) > 0 (ditas soluco
es esp
urias).
O item (i) ser
a abordado na Sec
ao 5.5.1; por isso, consideraremos aqui que j
a temos uma soluc
ao inicial vi
avel.
O item (ii) e o respons
avel pelos diversos algoritmos que trabalham com a estrutura primal-dual. Cada um deles
possui uma maneira particular de limitar os passos de Newton, ou de alterar sua direc
ao, mantendo a viabilidade
da soluc
ao.
Escrevendo uma iterac
ao de Newton para a equac
ao F (x, y, z) = 0, obtemos:

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

yk = J1 (x, y, z)F (x, y, z)


zk

L. A. P. Cant
ao & F. S. Stark

82

Captulo 5. Metodos de Pontos Interiores

PL

pre-multiplicando por J(x, y, z):

xk

J(x, y, z) = yk = F (x, y, z)
zk
sendo:

J(x, y, z) = 0

AT

I .
X

Portanto, para obter uma iterac


ao de Newton para a equac
ao F (x, y, z) = 0, rescrevemos J(xk )sk = G(xk )
como:

0
Z

0
AT
0

Axk b
xk
0

I yk = AT yk + zk c
X k Zk e
zk
X

Se o ponto corrente (xk , yk , zk ) e estritamente vi


avel (Axk = b, AT yk + zk = c e (x, z) > 0), ent
ao o sistema
acima toma a forma:

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

Captulo 5. Metodos de Pontos Interiores

PL

C converge para algum ponto, deve ser para uma soluc


ao primal-dual do (PP). Desse modo, C atua como um guia,
evitando soluc
oes esp
urias pois mantem os produtos xi zi estritamente positivos, mas tendendo a zero `
a mesma
velocidade.
Mais ainda: a maioria dos algoritmos primais-duais tomam direc
oes C com > 0, ou seja, direc
oes dentro do
quadrante positivo definido por (x, z) > 0. Essa escolha de direc
oes permite que passos maiores sejam dados em
relac
ao `
as direc
oes de Newton puras, sem violar a condic
ao de positividade, que chamaremos de direc
ao de busca.
Para descrever a direc
ao de busca modificada, introduziremos um par
ametro de centralizac
ao [0, 1] e uma
metrica1 dual definida por:
n

1X
xT z
xi z i =
,
n
n

(5.5)

i=1

ou seja, uma media entre os produtos xi zi .


As equac
oes de passo tomam agora a forma:

0
Z

0
AT
0

0
xk
0

0
I yk =

k
Xk Zk e + e
z
X

(5.6)

Atraves do controle de e podemos gerar uma vizinhanca da trajet


oria central em que os novos passos
calculados de acordo com a equac
ao (5.6) tenham melhor progresso do que os passos de Newton puros.
Considere um conjunto estritamente vi
avel H 0 :


H 0 = (x, z) / (x, y, z) 0 para algum y Rm
e uma func
ao de barreira definida por:
n

f (x, z) =

X
1 T
log(xi zi ).
x z

i=1

Teorema 3. Suponha 0 6= e seja um n


umero positivo. Ent
ao f tem um
unico mnimo local em H 0 , que
satisfaz as condic
oes de trajet
oria central (5.4).
Retornando `
as equac
oes de (5.6), podemos escreve-la na forma de equac
oes, como segue:
AT y + z
Ax

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

Escrevendo (5.8) na primeira equac


ao de (5.7), temos:
AT y X1 Zx = Ze X1 e.
1 m
etrica:

(5.9)

medida.

L. A. P. Cant
ao & F. S. Stark

84

Captulo 5. Metodos de Pontos Interiores

PL

Escrevendo a segunda equac


ao de (5.7) e a equac
ao (5.9) na forma matricial, com z isolado (equac
ao (5.8)):
"

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

O passo mais difcil e calcular a primeira equac


ao de (5.11), mas o primeiro termo envolve uma matriz definida

2 T
1/2 1/2
positiva AD A , onde D = Z
X
, podendo ent
ao ser aplicada a Fatorac
ao de Cholesky 2 para resolver o
sistema.

5.3.2 Estrutura Primal-Dual


Atraves dos conceitos apresentados ate aqui, podemos definir uma estrutura geral para os algoritmos primaisduais. O metodo abordado na pr
oxima sec
ao (Sec
ao 5.4) e um caso especial desta estrutura.

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

especfico para matrizes do tipo definida positiva.

L. A. P. Cant
ao & F. S. Stark

85

Captulo 5. Metodos de Pontos Interiores

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

onde = n + 1 e L e um limite inferior para o valor da func


ao objetivo, provando sua convergencia e resultados de
complexidade por mostrar que sua func
ao diminui, pelo menos um valor constante em cada iterac
ao. Por exemplo,
para o problema:
min

x1

S. a

x1

x2
x3
x2

x1 ,

x2 ,

+
x3 ,

x4

x4

cujo o tipo e um quadrado de lado 1 no plano (x1 , x2 ), a func


ao de Karmarkar torna-se: (x1 , x2 ) = 3 log(x1 +x2 )
log x1 log x2 . Observe a Figura 5.1 como a func
ao decresce rapidamente na imediac
ao do
otimo, x = (0, 0).

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

Captulo 5. Metodos de Pontos Interiores

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

log xi zi + n log xT z n log n + n log n.

i=1

Aplicando as propriedades de logaritmos:


(x, y)

(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

Ou seja, podemos rescrever a func


ao (5.13) da seguinte maneira:
(x, y) = ( n) log xT z

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

2. se, e somente se (x, y, z) 0 .


De acordo com as condic
oes de KKT, s
o estaremos no
otimo se xT z = 0. Portanto, e desej
avel que o metodo
aproveita a func
ao de barreira de modo a forcar 0.
A propriedade (1) e o efeito de barreira, pois para que 0, todas as componentes de xT z devem ir a zero.
Caso s
o algumas tendam a zero, +, funcionando
ent
ao como uma barreira.
!
n
X
xi zi
log xT z + n log n tem um limite inferior. Portanto, se, e somente
Por outro lado, o termo
i=1

se ( n) log xT z , o que implica que xT z 0. Ent


ao, o metodo de Reduc
ao de Potencial gera iterac
oes
no sentido de levar 0, usando informac
oes fornecidas por estas duas propriedades.

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

Captulo 5. Metodos de Pontos Interiores

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

=
=

(x, xn+1 , 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
=

onde xn+1 e ym+1 s


ao vari
aveis artificiais primal e dual, respectivamente, com seus coeficientes de custo artificiais
MP e MD . O coeficiente dessas vari
aveis na primeira restric
ao de (PPA) e na primeira de (PDA) correspondem
a uma medida de inviabilidade da apriximac
ao inicial. A vari
avel xn+2 corresponde `
a vari
avel dual artificial ym+1 e
zn+1 , zn+2 s
ao vari
aveis duais de folga correspondentes a xn+1 e xn+2 . Essas vari
aveis s
ao necess
arias para manter
a relac
ao de dualidade entre dois problemas.
Fixando-se MP e MD com valores que dominam a func
ao objetivo primal e dual, garantimos que a direc
ao de
busca e dominada pela direc
ao vi
avel. Se um ponto vi
avel existe, ent
ao durante o processo iterativo as vari
aveis
L. A. P. Cant
ao & F. S. Stark

88

Captulo 5. Metodos de Pontos Interiores

PL

artificiais gradualmente convergem para zero.


Podemos escolher MP e MD de maneira que:
MP > (b Ax0 )T y0 ,

(5.15)

MD > (AT y + z0 c)T x0 ,

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

Seja Ax + (b Ax0 )xn+1 = b e tomemos x = x0 . Ent


ao:
0
Ax0 + (b Ax0 )xn+1

0
b(1 xn+1
)

Ax (1

0
xn+1
)

(5.17)

Mas a segunda equac


ao de (5.17) s
o ser
a verdadeira quando:
0
1 xn+1
0
xn+1

= 0
= 1

(5.18)

Procedendo analogamente para AT y + (AT y0 + z0 c)ym+1 + z = c, obtemos:


ym+1 = 1.

(5.19)

Das demais restric


oes obtemos:
0
xn+2

= MD (AT y0 + z0 c)T x 0 ,

0
zn+1

= MP (b Ax0 )T y 0 ,

0
zn+2

(5.20)

1.

A partir daqui, buscamos as soluc


oes de (PPA) e (PDA) de maneira que se relacionam com os problemas
originais (PP) e (PD), respectivamente, de acordo com o Teorema a seguir.
Teorema 4. Sejam x e (y , z ) soluc
oes
otimas dos problemas originais (PP) e (PD), respectivamente. Suponha
que:
MP > (b Ax0 )T y0 ,
e
MD > (AT y + z0 c)T x0 .
Ent
ao as duas afirmac
oes abaixo s
ao verdadeiras:
1. Uma soluc
ao vi
avel (x, x n+1 , x n+2 ) de (PPA) e um ponto de mnimo se, e somente se x resolve (PP) e
x n+1 = 0.
2. Uma soluc
ao vi
avel (y, y m+1 , z, z n+1 , z n+2 ) de (PDA) e um ponto de m
aximo se, e somente se (y, z) resolve
(PD) e y m+1 = 0.
Observe que este e exatamente o metodo do M-Grande, tradicionalmente usado em associac
ao com o Simplex
e aqui adaptado para os metodos primais-duais.

L. A. P. Cant
ao & F. S. Stark

89

Captulo 5. Metodos de Pontos Interiores

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.

5.5.3 Algoritmo Primal-Dual


Como
ultimo t
opico deste captulo, daremos uma estrutura mais completa do algoritmo primal-dual.
Fase I
Passo 1: (Inicializac
ao) Faca k = 0 e encontre (x0 , y0 , z0 ) 0 uma soluc
ao inicial e defina 1 0 uma toler
ancia
suficientemente pequena.
Fase II
Passo 2: (Otimalidade) Se
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|

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+

em que A Rmn , D Rmp , c R1n , d R1p e b Rm1 representando os par


ametros do problema. Os
vetores x Rn1 e y Zp1 as vari
aveis do problema. Rn+ representa o espaco dos vetores com n componentes
reais e Zp+ o espaco dos vetores com p componentes inteiras n
ao negativas.
Quando todas as vari
aveis s
ao inteiras, tem-se o problema de Programac
ao Linear Inteira (PLI):
max

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+

em que Bn+ representa o espaco dos vetores com n componentes bin


arias.
Os algoritmos de (PLI) s
ao baseados na explorac
ao do sucesso computacional da resoluc
ao de problemas de
Programac
ao Linear (PL), uma vez que os problemas que tratam de soluc
oes inteiras fazem uma busca dentro da
regi
ao factvel. Os algoritmos possuem tres passos como estrategia de resoluc
ao, sendo:
1. Relaxar a regi
ao de soluc
oes de PLI eliminando a restric
ao inteira imposta a estas vari
aveis e substituindo
qualquer vari
avel bin
aria y pela contnua 0 y 1. Neste passo, transformamos um problema linear inteiro

Captulo 6. Programac
ao Linear Inteira

PL

em um problema linear (PL).


2. Faz-se ent
ao a resoluc
ao do PL relaxado e identifica-se uma soluc
ao
otima contnua. A resoluc
ao desta etapa
pode ser atraves dos metodos j
a aprendidos anteriormente, como o Metodo Simplex.
3. Comecando do ponto
otimo contnuo, adicionam-se restric
oes especiais que modifiquem iterativamente a
regi
ao de soluc
oes de PL de maneira que, a certa altura, resultar
a em um ponto extremo
otimo que dever
a
satisfazer os requisitos de integralidade.
Os algoritmos existentes desenvolvidos para PLI, executam a etapa 3 acrescentando restric
oes especiais. S
ao
dois os metodos mais conhecidos: branch-and-bound (B&B) e planos de corte. Apresentaremos aqui uma introduc
ao ao algoritmo B&B.

6.2 Algoritmo Branch-And-Bound (B&B)


Explicaremos neste t
opico, com o auxlio de um exemplo numerico, os detalhes envolvidos no metodo do B&B
geral.
Exemplo 25. Seja o PLI abaixo:
max
S. a

f (x) =

5x1

4x2

x1

x2

(R1)

10x1

6x2

45

(R2)

x1 ,

x2

x1 ,

x2

Z2+

(6.1)

Os pontos de grade da figura 6.1 definem a regi


ao de soluc
oes do problema de PLI.

Figura 6.1: Regi


ao de soluc
oes de PLI (grade de pontos) e de PL1 (hachura).
A soluc
ao do problema (6.1) relaxado, ilustrado pela figura 6.1 (denominado como PL1), e dada pelos vertices
das duas restrico
es, ou seja, x1 = 3.75; x2 = 1.25 e f (x) = 23.75.

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)

Figura 6.2: Regi


ao de soluc
oes de PL2 e PL3.
Se usarmos esta l
ogica para eliminar a condic
ao de integralidade gerando regi
oes relaxadas impondo restric
oes
adequadas (que cercam a condic
ao de valores inteiros para as vari
aveis), teremos PLs cujos pontos extremos
otimos
satisfacam as restric
oes inteiras. Na verdade, resolveremos o PL1 lidando com uma sequencia de PLs contnuos.
As novas restric
oes, x1 3 e x1 4 s
ao mutuamente exclusivas, de modo que PL2 e PL3 nos n
os 2 e 3
devem ser tratadas como PLs separadas, como mostra o esquema da figura 6.3.
Essa dicotomizac
ao d
a origem ao termo ramificac
ao no algoritmo B&B, sendo neste caso, x1 denominada de
vari
avel de ramificac
ao. Como observado, no esquema (figura 6.3) apresentamos a soluc
ao de cada ramificac
ao,
entretanto, mostraremos como montar cada um dos PLs.
O PLI
otimo se encontra em PL2 ou em PL3. Em consequencia, os dois subproblemas devem ser examinados
e escolhemos arbitrariamente PL2 para ser o primeiro:
max
S. a

f (x) =

5x1

4x2

x1

x2

10x1

6x2

45

x1
x1 ,

x2

(6.2)

Resolvendo o problema (6.2), chegamos na resposta da ramificac


ao 2 do esquema da figura 6.3.

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

Figura 6.3: Utilizac


ao da vari
avel de ramificac
ao x1 para criar PL2 e PL3.
Note que a soluc
ao de PL2 apresenta valores inteiros para as vari
aveis x1 e x2 , deste modo dizemos que o
problema e incumbente e que n
ao precisa ser mais investigado, pois n
ao pode dar nenhuma soluc
ao melhor para
o PLI com esta ramificac
ao. Entretanto, n
ao podemos ainda afirmar que esta soluc
ao e a melhor soluc
ao para o
problema original pois, o PL3 ainda pode fornecer um valor melhor para f (x).
Afirmamos apenas que f (x) = 23, encontrada em PL2, e o limite inferior do valor
otimo para a func
ao
objetivo, isto e, qualquer subproblema n
ao examinado que apresente um valor menor que este deve ser descartado
como n
ao promissor. J
a se ele produzir uma soluc
ao melhor, atualizamos o valor do limite inferior como sendo o
desta nova soluc
ao.
Como f (x) = 23.75 em PL1 e todos os coeficientes da func
ao objetivo s
ao inteiros, e impossvel, para este
caso, que PL3 produza uma soluc
ao inteira melhor com f (x) > 23, assim descartamos PL3.
O algoritmo B&B agora est
a completo porque ambas, PL2 e PL3, foram examinadas e descartadas (a primeira
por produzir uma soluc
ao inteira e a segunda por n
ao ser capaz de melhorar tal soluc
ao). Assim, conclumos que a
soluc
ao
otima do PLI est
a associada com o limite inferior encontrado em PL2, ou seja, x1 = 3; x2 = 2 e f (x) = 23.

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.

Figura 6.4: Arvore


B&B alternativa.
examinamos PL4. A soluc
ao
otima e x1 = 4.5; x2 = 0 e f (x) = 22.5. O valor n
ao inteiro de x1 leva a dois ramos
x1 4 e x1 5, e `
a criac
ao dos subproblemas PL6 e PL7 com base em PL4.
Regi
ao PL6 = Regi
ao PL1 + (x1 4) + (x2 0) + (x1 4)
Regi
ao PL7 = Regi
ao PL1 + (x1 4) + (x2 0) + (x1 5)
Agora, os subproblemas PL2, PL6 e PL7 precisam ser examinados. Selecionando PL7, o problema n
ao tem
nenhuma soluc
ao vi
avel e, portanto, est
a descartado. Em seguida, selecionamos PL6, sendo que este problema d
a
a primeira soluc
ao inteira (x1 = 4; x2 = 0 e f (x) = 20) e, assim, fornece o primeiro limite inferior para o valor
otimo da func

ao objetivo para PLI.


Ficamos ainda com PL2, que d
a uma soluc
ao inteira melhor, como visto no exemplo. Deste modo, o limite
inferior e atualizado e nesse ponto, com todos os subproblemas interpretados, a melhor soluc
ao e a encontrada
para PL2. A sequencia de soluc
ao apresentada na figura 6.4 (PL1 PL3 PL5 PL4 PL7 PL6 PL2)
e a pior hip
otese de passos possveis para o problema do exemplo 25, pois foram percorridos todos os ramos antes
L. A. P. Cant
ao & F. S. Stark

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.

6.2.1 Resumo do algoritmo Branch-And-Bound (B&B)


Considere um problema de maximizac
ao e estabeleca um limite inferior inicial f (x) = para o valor dos
coeficientes da func
ao objetivo
otima do PLI. Seja i = 0.
1. Selecione um PLi , o pr
oximo subproblema a ser examinado. Resolva o PLi e tente interpret
a-lo usando uma
das tres condic
oes:
O valor
otimo de f (x) do PLi n
ao pode dar um valor objetivo melhor do que o limite inferior atual;
O PLi fornece uma soluc
ao inteira vi
avel melhor do que o limite inferior atual;
O PLi n
ao tem nenhuma soluc
ao vi
avel.
Surgem dois casos:
Se o PLi for interpretado e uma soluc
ao for encontrada, atualize o limite inferior. Se todos os subproblemas tiverem sido descartados, pare; o PLI
otimo est
a associado com o limite inferior finito atual. Se
n
ao existir nenhum limite inferior finito, o problema n
ao tem nenhuma soluc
ao vi
avel. Sen
ao, determine
i = i + 1, e repita a etapa 1 novamente.
Se o PLi n
ao for interpretada, v
a para a etapa 2 e ramifique.
2. Selecione uma das vari
aveis inteiras xj , cujo valor
otimo xj na soluc
ao do PLi seja n
ao inteiro. Elimine a
regi
ao:
bxj c < xj < bxj c + 1
(onde bv c define o maior inteiro v 4 ), criando dois subproblemas de PL que correspondem a
bxj c xj e xj bxj c + 1
Determine i = i + 1, e v
a para a etapa 1.
As etapas dadas se aplicam a problemas de maximizac
ao. Para minimizac
ao, substitumos o limite inferior por
um limite superior (cujo valor inicial e f (x) = +).
1 Solu
c
ao

global: melhor soluc


ao para o problema.
M
atodo de Planos de Corte n
ao ser
ao tratados neste texto, por
em a id
eia do m
etodo
e a de incorporar restric
oes que aproximem
a regi
ao relaxada ao conjunto de pontos inteiros factveis.
3 M
etodos heursticos s
ao m
etodos (ou t
ecnicas) sem um detalhado rigor matem
atico, podendo ser especfico para classes de
problemas.
4 Como exemplo, considere x = 3.8, assim bx c = 3 e o intervalo 3 < x < 4.
j
j
j
2O

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.

6.3 Problema do Caixeiro-Viajante


Historicamente, o problema do caixeiro-viajante5 tenta encontrar uma rota fechada mais curta (ou com menor
custo) entre n cidades, onde cada cidade e visitada exatamente uma vez, evitando subcircuitos, ou seja, dado um
determinado caminho, se este for percorrido poder
a apenas chegar em outros caminhos conectados, n
ao sendo
possvel excluir ou voltar pelo mesmo caminho. Essa classe de problemas e um dos mais estudados em matem
atica
computacional e sua aplicac
ao varia entre obter a melhor rota de uma frota de
onibus, logstica de embarque e
desembarque de passageiros em aerportos, tr
afego de rede de computadores, entre outros.
Especificamente, em uma situac
ao de n cidades, definimos:
(
xij =

1, se o caixeiro vai diretamente da cidade i `


a cidade j, i 6= j
0, caso contr
ario

Dado que dij e a dist


ancia da cidade i `
a cidade j, o problema e dado por
min f (x) =

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

(b) Solucao do circuito.

(a) Problema com 5 cidades.


2

3
1

5
4

(c) Solucao de subcircuitos.


Figura 6.5: Exemplo do problema do caixeiro-viajante com 5 cidades.

6.4 Problema da Mochila


Este problema lida com uma quest
ao de situac
ao na qual um ndividuo deve decidir quais s
ao os itens mais
valiosos para carregar em uma mochila, podendo se estender a situac
oes de corte e empacotamentos e ate carregamentos de veculos de determinadas dimens
oes. Sendo ent
ao, uma generalizac
ao metaf
orica para um problema
geral de alocac
ao de recurso no qual um
unico recurso limitado e designado a v
arias alternativas com o objetivo
de maximizar o retorno total.

6.4.1 Mochila 0-1


Um exemplo de problema da mochila 0-1 e a selec
ao de projetos, como descrito em [2]. Considere n projetos
e um capital b para investimento. O projeto j tem um custo aj e um retorno esperado pj . O problema consiste
em selecionar os projetos que maximizam o retorno total esperado sem ultrapassar o limite de capital.
L. A. P. Cant
ao & F. S. Stark

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.2 Mochila Inteira


Neste problema, a vari
avel de decis
ao xj 0, j = 1 : n, pode assumir um valor inteiro n
ao negativo, isto e,
pode-se levar diversas unidades do mesmo item na mochila. A formulac
ao e identica `
a da mochila 0-1, ao substituir
x Bn por x Zn+ .

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

se o item j e colocado na mochila i


caso contr
ario

O problema e formulado como:


max f (x) =
S. a

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.

6.4.4 Empacotamento de Mochilas


No problema anterior, o n
umero de mochilas e dado e alguns itens podem n
ao ser colocados nas mochilas. No
problema de empacotamento em mochilas, conhecido como bin packing, deseja-se determinar o n
umero mnimo de
mochilas de mesma capacidade b que empacotem n itens de peso wj , j = 1 : n. Este e um dos diversos problemas
de empacotamento, que envolvem tambem o arranjo de objetos em dispositivos bidimensionais e tridimensionais6 ,
tais como nos problemas de carregamentos de produtos sobre paletes ou dentro de conteineres ou caminh
oes.
Defina as vari
aveis:
(
1, se a mochila i e usada
yj =
0, caso contr
ario

(
e

xij =

1,

se o item j e colocado na mochila i

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

6.5 Exerccios Propostos


1. Desenvolva a
arvore do B&B para cada um dos seguintes problemas. Por conveniencia, sempre selecione x1
como a vari
avel de ramificac
ao no primeiro n
o.
(c)

(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

2. Mostre graficamente que o seguinte problema de PLI n


ao tem nenhuma soluc
ao vi
avel e ent
ao verifique o
resultado usando B&B.
max

f (x) =

S. a

2x1

x2

10x1

10x2

10x1

5x2

x1 ,

x2

x1 ,

x2

Z2+

3. Resolva o problema de programac


ao inteira:
max f (x) =
S. a

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

houver dificuldade na formulac


ao, observe o exemplo da p
agina 172 de [14].

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

Milhas entre as cidades


Wald Bon Mena Kiln
120
220
150
210
0
80
110
130
80
0
160
185
110
160
0
190
130
185
190
0

Tabela 6.1: Dist


ancias entre as cidades.

5. Um ecologista brasileiro, trabalhando na Amaz


onia, foi contratado para realizar a divis
ao de parte da floresta
em reservas florestais. Estudos recentes dividiram a floresta em dez regi
oes. O trabalho do ecologista
consiste em formar cinco reservas a partir dessas informac
oes, observando o n
umero de predadores e presas
que cada regi
ao contem. A tabela 6.2 mostra esses dados para cada regi
ao (em milhares). Os animais n
ao
podem ser removidos de sua regi
ao e cada reserva deve conter entre 80 mil e 130 mil animais. Sabe-se que o
ideal e que o n
umero de presas deve ser maior que o n
umero de predadores em uma reserva, para garantir o
equilbrio entre as especies. Formule um problema para ajudar o ecologista a formar cinco reservas garantindo
o equilbrio.
Regi
ao
1
2
3
4
5
6
7
8
9
10

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

Custo por gal


ao
n
ao entregue
10
8
6

M
aximo de demanda
n
ao atendida
500
500
500

Tabela 6.3: Custo de combustveis.

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

O Uso de Excel e do lp solve para Problemas de


Programac
ao Linear
7.1 Introduc
ao
A aplicac
ao bem sucedida da Programac
ao Matem
atica envolve habilidades tanto em Matem
atica quanto em
Computac
ao. Neste sentido, alguns softwares foram desenvolvidos para facilitar o uso desta importante ferramenta
de decis
ao. Para problemas de Programac
ao Linear (PL) podemos contar com os softwares Microsoft Office
r

Excel (ou MS-Excel), Planilha Eletr
onica do ambiente Open Office, lp solve (vide [9]), CPLEX (vide [5]), entre
outros. Abordaremos aqui as ferramentas para PL dos softwares Microsoft Office Excel e lp solve.
Para auxiliar na manipulac
ao destes softwares26, tomemos o exemplo abaixo (7.1).
max

f (x) =

12x1

8x2

6x3

S. a

2x1

x2

x3

3x1

4x2

48

4x1

x2

2x3

24

x3

x1 ,

x2 ,

16
(7.1)

7.2 MS-Excel Solver


Segundo [14], no Excel Solver a planilha e o meio de entrada e sada para problemas de PL. As figuras 7.1,
7.2, 7.3 e 7.4 mostram as etapas de instalac
ao.
A figura 6.1 mostra em destaque o menu principal da Planilha Excel. Neste menu, selecione o cone abaixo
Opc
oes do Excel.
A figura 7.2 apresenta a janela previamente escolhida. Escolha o cone Suplementos.
Na figura 7.3 utilize a opc
ao Solver e OK.
A figura 7.4 apresenta a Planilha do Excel, cujo menu superior localiza-se em Dados. Neste ambiente, o cone
Solver encontra-se `
a direita.
Finalizada a etapa de instalac
ao, podemos utiliz
a-lo para a resoluc
ao de problemas de Programac
ao Matem
atica.
Na figura 7.5 apresentamos os dados de entrada do problema (7.1). Note que a primeira linha e primeira coluna
foram utilizadas apenas para apresentar os ttulos. As colunas B, C e D entre as linhas 2 ate 5 (celulas B2:D5) e
coluna G entre as linhas 2 ate 4 (celulas G2:G4) s
ao os dados de entrada do problema.

Captulo 7. O Uso de Excel e do lp solve para Problemas de Programac


ao Linear

PL

Figura 7.1: 1o Passo para instalac


ao do Excel Solver.

Figura 7.2: 2o Passo para instalac


ao do Excel Solver.

L. A. P. Cant
ao & F. S. Stark

105

Captulo 7. O Uso de Excel e do lp solve para Problemas de Programac


ao Linear

PL

Figura 7.3: 3o Passo para instalac


ao do Excel Solver.

Figura 7.4: 4o Passo para instalac


ao do Excel Solver.

L. A. P. Cant
ao & F. S. Stark

106

Captulo 7. O Uso de Excel e do lp solve para Problemas de Programac


ao Linear

PL

Figura 7.5: Descric


ao do problema.
A coluna E (celulas E2:E4) e celula F7 contem as equac
oes relativas `
as restric
oes R1, R2, R3 e func
ao objetivo.
A tabela 7.1 mostra as func
oes do problema (7.1) e seu posicionamento nas celulas adequadas.

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

Tabela 7.1: Express


oes algebricas.

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

Captulo 7. O Uso de Excel e do lp solve para Problemas de Programac


ao Linear

PL

Figura 7.6: Solver.

Figura 7.7: Relacionando as restric


oes.
Uma maneira de entrar com as restric
oes de n
ao negatividade e clicar em Opc
oes na caixa de di
alogo Par
ametros
do Solver para acessar a caixa de di
alogo Opc
oes do Solver, como mostra a figura 7.8, selecionar Presumir n
ao
negatividade. Pode tambem selecionar Presumir modelo linear.
Para resolver o problema, clique Resolver em Par
ametros do Solver. Uma nova caixa de di
alogo, Resultado
do Solver dar
a o status da soluc
ao (figura 7.9). Se a montagem do problema estiver correta, o valor
otimo da

L. A. P. Cant
ao & F. S. Stark

108

Captulo 7. O Uso de Excel e do lp solve para Problemas de Programac


ao Linear

PL

Figura 7.8: Opc


oes do Solver.
func
ao objetivo aparecer
a na celula $F$7 e os valores de x1 , x2 e x3 ir
ao para as celulas $B$6, $C$6 e $D$6,
respectivamente.

Figura 7.9: Soluc


ao.
Se o problema n
ao tiver soluc
ao vi
avel, o Solver emitir
a a mensagem explcita Solver n
ao pode achar uma
soluc
ao vi
avel. Se o valor objetivo
otimo for ilimitado, o Solver emitir
a uma mensagem ambgua Os valores das
celulas de destino n
ao convergem. Em qualquer um dos casos, a mensagem indica que h
a algo errado com a
L. A. P. Cant
ao & F. S. Stark

109

Captulo 7. O Uso de Excel e do lp solve para Problemas de Programac


ao Linear

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.

Figura 7.10: Relat


orio de sensibilidade.

Figura 7.11: Relat


orio de resposta.

L. A. P. Cant
ao & F. S. Stark

110

lp solve

Captulo 7. O Uso de Excel e do lp solve para Problemas de Programac


ao Linear

Figura 7.12: Relat


orio de limites.

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

Captulo 7. O Uso de Excel e do lp solve para Problemas de Programac


ao Linear

Figura 7.13: O ambiente LP Solve.

Figura 7.14: Descric


ao do problema (7.1).

112

lp solve

Captulo 7. O Uso de Excel e do lp solve para Problemas de Programac


ao Linear

Figura 7.15: O cone de resoluc


ao.

Figura 7.16: Mensagem de resoluc


ao.

113

lp solve

Captulo 7. O Uso de Excel e do lp solve para Problemas de Programac


ao Linear

Figura 7.17: Resoluc


ao na forma matricial.

Figura 7.18: Resultados das vari


aveis de decis
ao.

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.

[4] J. L. Boldrin, S. I. R. Costa, V. L. Figueiredo e H. G. Wetzler. Algebra


Linear. 3a Edic
ao, Editora Harbra, 1980.

[5] http://www-01.ibm.com/software/integration/optimization/cplex-optimizer/. Ultimo


acesso em 03 de novembro de
2010.
[6] G. B. Dantzig. Linear Programming and Extensions. Eleventh Edition, Princeton University Press, 1998.
[7] M. C. Goldbarg e H. P. L. Luna. Otimizac
ao Combinat
oria e Programac
ao Linear. Editora Campus, 2000.
[8] G. Lachtermacher. Pesquisa Operacional. 4a Edic
ao, Pearson Prentice Hall, 2009.

[9] http://lpsolve.sourceforge.net/5.5/. Ultimo


acesso em 03 de novembro de 2010.
[10] D. G. Luenberger e Y. Ye. Linear and Nonlinear Programming. Third Edition, Spinger, 2008.
[11] N. D. Pizzolato e A. Gandolpho. T
ecnicas de Otimizac
ao. LTC, 2009.
[12] L. A. Pinto. M
etodos de Pontos Interiores para Programac
ao Inteira. UNESP Campus de S
ao Jos
e do Rio Preto,
Dissertac
ao de Mestrado, 1999.
[13] E. M. da Silva, E. M. da Silva, V. Goncalves e A. C. Murolo. Pesquisa Operacional para os cursos de Economia,
Administracao e Ci
encias Contbeis. Terceira Edic
ao, Editora Atlas, 1998.
[14] H. A. Taha. Pesquisa Operacional. 8a Edic
ao, Pearson Prentice Hall, 2008.
[15] R. J. Vanderbei. Linear Programming: Foundations and Extensions. Kluwer Academic Publishers, 1997.

115

Você também pode gostar