Vous êtes sur la page 1sur 116

Programacao Linear PL

Luiza Amalia Pinto Cantao


luiza@sorocaba.unesp.br
Felipe Sanches Stark
fsstark@gmail.com
Sumario
1 Introdu cao `a Pesquisa Operacional 4
1.1 Otimizacao (Calculo Diferencial) e Sistemas de equa coes (

Algebra Linear) na PO . . . . . . . . . . 5
1.2 Metodologia da PO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.3 Tipos basicos de modelo de PO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.3.1 Solu cao em PO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.3.2 Mais do que matematica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.4 Solucao Geometrica ou graca . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.4.1 Introducao - Descrevendo um problema anterior . . . . . . . . . . . . . . . . . . . . . . . 11
1.4.2 Tipos de solucao e visualiza cao graca . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.5 Exerccios Propostos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2 Revisao Matematica 21
2.1 Equa coes lineares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.1.1 Solu cao de um Sistema de Equa coes Lineares . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.1.2 Opera coes elementares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.1.3 Solu cao de Sistema de Equa coes Lineares, caso m = n . . . . . . . . . . . . . . . . . . . . 22
2.1.4 Metodo de Gauss-Jordan, caso m = n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.1.5 Solu cao de Sistema de Equa coes Lineares, caso n > m . . . . . . . . . . . . . . . . . . . . 24
2.2 Mudan ca de Base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.2.1 O Pivoteamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.2.2 Sele cao das variaveis basicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.2.3 Constru cao da Variaveis Basicas e Variaveis Articiais . . . . . . . . . . . . . . . . . . . . 27
2.3 Espacos Vetoriais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.3.1 Deni cao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.3.2 Opera coes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.3.3 Combina cao Linear de Vetores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.3.4 Dimensao de um Espa co Vetorial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.3.5 Base e Coordenadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.3.6 Posto (r
a
) de uma matriz como um Conjunto de Vetores . . . . . . . . . . . . . . . . . . . 30
2.4 Conjuntos Convexos e Combina cao Convexa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.4.1 Conjunto Convexo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.4.2 Combina cao Convexa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.4.3 Interpretacao Geometrica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.4.4 Ponto Extremo de um Conjunto Convexo . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.5 Exerccios Propostos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
1
SUM

ARIO SUM

ARIO
3 Metodo Simplex 36
3.1 Teorema Fundamental da Programa cao Linear . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.1.1 Transi cao da solu cao graca para a solucao algebrica . . . . . . . . . . . . . . . . . . . . 37
3.2 Metodo Simplex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.2.1 Modelo de Programa cao Linear em forma de equa cao - Forma Padrao . . . . . . . . . . . 37
3.2.2 Forma Padrao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.2.3 Forma Canonica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.2.4 Conversao de desigualdades em equa coes com o lado direito nao negativo . . . . . . . . . 39
3.2.5 Como lidar com variaveis irrestritas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.2.6 Variaveis Nao Positivas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.2.7 Transformando o Problema de Maximiza cao em Minimiza cao . . . . . . . . . . . . . . . . 41
3.2.8 Princpios do Metodo Simplex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.2.9 Metodo Simplex na forma de quadros - Tableau Simplex . . . . . . . . . . . . . . . . . . . 46
3.2.10 Analise de Casos Especiais. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.2.11 Base Articial. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
3.2.12 O Metodo do M-Grande . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
3.2.13 O Metodo das Duas Fases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
3.3 Analise de Sensibilidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.3.1 Analise de Sensibilidade graca . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.3.2 Analise de Sensibilidade algebrica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
3.4 Exerccios Propostos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
4 Dualidade 69
4.1 Introdu cao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
4.2 Denicao do Problema Dual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
4.2.1 Propriedades da Dualidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
4.2.2 Teoremas Fundamentais da Dualidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
4.3 Metodo Dual Simplex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
4.3.1 Resumo do Metodo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
4.4 Exerccios Propostos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
5 Metodos de Pontos Interiores 80
5.1 Introdu cao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
5.2 Notacao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
5.3 Metodo Primal-Dual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
5.3.1 A Trajetoria Central . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
5.3.2 Estrutura Primal-Dual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
5.4 Metodo de Redu cao de Potencial (RP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
5.5 Implementa cao de Algoritmos de Pontos Interiores . . . . . . . . . . . . . . . . . . . . . . . . . . 88
5.5.1 Solu cao Inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
5.5.2 Criterio de Parada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
5.5.3 Algoritmo Primal-Dual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
2
SUM

ARIO SUM

ARIO
6 Programa cao Linear Inteira 91
6.1 Introdu cao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
6.2 Algoritmo Branch-And-Bound (B&B) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
6.2.1 Resumo do algoritmo Branch-And-Bound (B&B) . . . . . . . . . . . . . . . . . . . . . . . 96
6.3 Problema do Caixeiro-Viajante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
6.4 Problema da Mochila . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
6.4.1 Mochila 0-1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
6.4.2 Mochila Inteira . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
6.4.3 Multiplas Mochilas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
6.4.4 Empacotamento de Mochilas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
6.5 Exerccios Propostos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
7 O Uso de Excel e do lp solve para Problemas de Programa cao Linear 104
7.1 Introdu cao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
7.2 MS-Excel Solver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
7.3 lp solve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Referencias Bibliogracas 111
3
CAP

ITULO 1
Introdu cao `a Pesquisa Operacional
Historico da Pesquisa Operacional
A Pesquisa Operacional (PO) e um ramo da ciencia que cuida da criacao de metodologias especcas para
promover o gerenciamento de decisoes. A origem da PO data da Segunda Guerra Mundial (1939-1945) e tem
rela cao com o esfor co envolvido no perodo do conito para otimizar o uso dos recursos. Como exemplos, temos
o estudo do radar (inventado em 1934 na Inglaterra) para a intercepta cao de avioes inimigos, estudos dentro das
divisoes aereas aliadas, para melhorar a manuten cao e inspecao dos avioes, na escolha dos melhores modelos para
cada tipo de missao e no aumento da probabilidade de alvejar um submarino.
A evolu cao da PO se deu de forma rapida no pos-guerra, em pases como Inglaterra e Estados Unidos. Em
1947, foi implantado o projeto SCOOP (Scientic Computation of Optimal Programs), no qual tinha por objetivo
a gestao aerea militar e contava com a participa cao do matematico George Dantzig. Durante o projeto SCOOP,
Dantzig desenvolveu um dos metodos primordiais para a resolu cao de problemas envolvendo a otimiza cao linear:
o SIMPLEX. Com a publicacao do metodo, a Programa cao Linear (PL) tornou-se a primeira tecnica explcita,
permanecendo ate hoje a mais fundamental das tecnicas da PO.
Posteriormente houve surgimentos de sociedades cientcas, 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 numero
de grupos de pesquisas operacionais e suas aplicacoes tanto em setores publicos quanto privados ao redor do globo.

E por volta do m da decada de 60 que surgem as questoes educacionais envolvendo a PO, principalmente no
tocante da maior publica cao literaria do assunto e na presen ca em cursos de pos-gradua cao. Nessa epoca aparece
a area de programa cao matematica, tendo como premissa casos de otimiza cao de fun coes lineares sujeitos `as
restri coes lineares. No Brasil, a PO iniciou-se nessa decada tambem. O primeiro simposio de PO ocorreu em 1968
no ITA, em Sao Jose dos Campos, SP. Em seguida, foi fundada a SOBRAPO (Sociedade Brasileira de Pesquisa
Operacional) que publica o periodico Pesquisa Operacional ha mais de 25 anos.
Atualmente, a PO tem sido chamada de ciencia e tecnologia de decisao. O componente cientco e ligado
`as ideias e processos para modelar os problemas de tomada de decisao (objetivos e restricoes da opera cao),
a matematica se enquadra aqui na medida em que os modelos para otimizar sistemas numericos resultam de
inser coes de dados nos modelos. A tecnologia compreende a rela cao software-hardware, podendo ser generalizada
como uma tecnologia da informa cao (armazenamento, comunica cao e transmissao - tanto de dados inseridos nos
modelos de otimiza cao quanto nos resultados obtidos).
4
Captulo 1. Introdu cao `a Pesquisa Operacional PL
1.1 Otimiza cao (Calculo Diferencial) e Sistemas de equa coes
(

Algebra Linear) na PO
Ora, se a Pesquisa Operacional em seus primordios historicos era sinonimo de Otimiza cao, temos entao uma
primeira liga cao com o Calculo Diferencial. Trata-se dos chamados Problemas de Valores de Maximos e Mnimos,
isto e, o ponto no qual a fun cao tem sua imagem no maior e no menor valor possvel. O grande entrave na PO
e muitas vezes a mecaniza cao de como tais problemas sao passados, tornando a aprendizagem supercial 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 maximo, 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 otimiza cao envolve reducao de custos, resduos e impacto ao meio ambiente.
1. Primeiro, como trata-se de um retangulo, os lados opostos devem ter o mesmo tamanho, identicaremos a
largura de w e comprimento de l.
2. Com base na denicao 2w + 2l = L, ou seja,
w + l =
L
2
(1.1)
3. Por serem dimensoes fsicas da materia, tanto w quanto l devem ser positivos. Como h e estabelecido pelo
fornecedor do fabricante, nao entra nos calculos do volume, pois se acharmos a maior area teremos o maior
volume para h.
4. A area e A = wl.
Nossa questao entao e maximizar A sujeita a equacao (1.1) e das restri coes do item 3. Para tanto, devemos
proceder como um problema de valor maximo do calculo:
Como L e um numero dado, pode ser tratado como constante, deste modo podemos deixar w em fun cao de
l , ou vice-versa.
w + l =
L
2
=w =
L 2l
2
Portanto a regiao do domnio de w e l e a reta
w =
L 2l
2
na qual a imagem esta no plano z como a area A. Assim, da mesma maneira que deixamos w em funcao de
l, podemos deixar agora a area A em funcao apenas de l, substituindo o valor de w. Obtemos:
A =
_
L 2l
2
_
l
Distribuindo l, temos:
A =
Ll 2l
2
2
L. A. P. Cantao & F. S. Stark 5
Captulo 1. Introdu cao `a Pesquisa Operacional PL
Agora para achar um ponto maximo (ou mnimo) executamos a deriva cao
A
l
= 0
A
l
=
1
2
(L 4l )
Portanto se
1
2
(L 4l ) = 0 =L = 4l =l =
L
4
Se
w + l =
L
2
Chegamos nalmente na solu cao (S):
w =
L
4
e l =
L
4
Conclumos que a maior area e obtida quando o retangulo e um quadrado de lado
L
4
, e que seu volume
V =
L
2
h
16
O exemplo acima (Exemplo 1) e simples, contudo, grande parte dos problemas de PO envolve numero maior
tanto de equa coes (e inequa coes) quanto de variaveis, incluindo restricoes dos valores que as variaveis podem
assumir. Como no exemplo a seguir, trabalharemos muitos conceitos de

Algebra Linear (tratada na Programa cao
Linear) ao longo da formulacao dos modelos e na obten cao das respostas. Nestes problemas, as variaveis e as
restri coes 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 inuencias importantes. Para efeito ilustrativo, podemos
tomar um sistema mais restrito e apenas interpretativo, vejamos entao.
Exemplo 2. Uma empresa produz dois produtos, P e Q, em cada uma de suas fabricas, X e Y. Ao fabricar tais
produtos, os poluentes dioxido de enxofre (SO
2
), oxido ntrico (NO
x
) e material particulado (MP) sao produzidos.
As quantidades de poluentes foram monitoradas e quanticadas ( em quilogramas) e estao dispostas pela matriz:
SO
2
NO
x
MP
P =
_
300 100 150
200 250 400
_
Produto P
Produto Q
O custo diario para remover cada quilograma de poluente e (em reais) dado pela matriz:
X Y
C =
_

_
16 24
14 18
30 20
_

_
Dioxido de Enxofre

Oxido ntrico
Material Particulado
Qual o signicado, por exemplo, do produto matricial de P.C ? Qual fabrica polui mais, isto e, gera mais euente
e consequentemente tem seu tratamento encarecido?
L. A. P. Cantao & F. S. Stark 6
Captulo 1. Introdu cao `a Pesquisa Operacional PL
1.2 Metodologia da PO
A metodologia da PO segue etapas denidas como em qualquer projeto, podendo ser decomposto em 5 estagios
basicos segundo [14]:
1. Identica cao do problema - envolve denir o escopo do problema sob investiga cao. Essa fun cao 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 necessaria e por consequencia uma equipe mais especializada. Nesta
etapa buscamos tres elementos basicos:
(a) descri cao das alternativas de decisao;
(b) determina cao do objetivo de estudo;
(c) as limitacoes sobre as quais o modelo esta imposto.
2. Constru cao do modelo -implica uma tentativa de traduzir a deni cao do problema em rela coes ma-
tematicas[14]. Se o modelo for simples e se ajustar `a um dos metodos padroes, como a programa cao
linear, entao podemos chegar em solu coes com os algoritmos disponveis. Ja se o modelo for complexo, a
equipe pode simplicar a situacao tendendo `a uma abordagem heurstica ou de simulacao. Em alguns casos,
ocorre a combina cao dos modelos matematicos, heursticos e simuladores.
3. Determina cao da solu cao do modelo -e de longe a fase mais simples ... porque se baseia na utiliza cao
de algoritmos[14]. Neste estagio ocorre o que se chama de analise de sensibilidade, essencial quando os
parametros do modelo nao podem ser aferidos com precisao.
4. Teste e valida cao da solucao proposta -verica se o modelo proposto ... preve adequadamente o com-
portamento do sistema em estudo [14]. Em sistemas com uma base de dados historica (p.e. pluviosidade
em uma regiao), o modelo e valido se, sob condi coes similares de entrada, reproduz relativamente bem as
sadas anteriores. Porem, como geralmente a analise leva em conta os dados anteriores, o parecer tende a ser
favoravel, o que exige cuidado com eventos futuros imprevisveis. Em sistemas sem base de dados, tende-se
a comparar o modelo com simula coes.
5. Implementa cao da solu cao -envolve a tradu cao dos resultados em instru coes operacionais inteligveis ...
emitidas as pessoas que administrarao o sistema recomendado[14].
1.3 Tipos basicos de modelo de PO
O uso de modelos e a essencia da propria PO, ocorrendo quando ha alta complexidade e elevado potencial de
retorno do investimento. Desta maneira, justica-se a contrata cao de uma equipe de especialistas, aloca cao de
recursos disponveis e o desenvolvimento do projeto de PO.
A cria cao de um modelo implica em algo simbolico, que simplica a realidade mediante o uso de relacoes
matematicas de algumas variaveis envolvidas, porem mantem as essencias de causa-efeito do problema estudado.
No que tange a PO, podemos ter varios exemplos classicos de modelos, entre um dos mais basicos e interessantes
temos os problemas que envolvem misturas (racoes, fertilizantes, concreto, alimentos, poluentes, entre outros).
Esses tipos de problemas consistem em combina cao de materiais (naturais ou nao) para gerar novos materiais ou
produtos com caractersticas desejaveis, 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 propor coes diferentes ou com a adi cao de
alguma substancia adquirem propriedades para um m especco, como acabamento e funda cao, respectivamente.
L. A. P. Cantao & F. S. Stark 7
Captulo 1. Introdu cao `a Pesquisa Operacional PL
Figura 1.1: Estrutura basica envolvida na metodologia dos modelos da PO
Exemplo 3. Na implanta cao de um barragem de grande consumo de concreto, decidiu-se utilizar como fontes de
agregrados graudos:
1. britas granticas pelo desmonte (desagrega cao por explosivo) da rocha local;
(a) A composicao granulometrica e: 10% (19-38 mm), 20% (38-76 mm) e 70% (76-152 mm)
(b) O custo e $6, 00/m
3
2. seixos rolados disponveis nos vales proximos `a barrragem;
(a) A composicao granulometrica e: 5% (2.4-19 mm), 35% (19-38 mm) e 60% (38-76 mm)
(b) O custo e $7, 00/m
3
3. pedra britada comercial
(a) A composicao granulometrica e: 20% (2.4-19 mm), 78% (19-38 mm) e 2% (38-76 mm)
(b) O custo e $18, 00/m
3
Por meio de um estudo previo, chegou-se em uma faixa de composicao 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 fracoes de cada fonte para a composi cao ideal, de forma a minimizar o
custo de produ cao do concreto. As variavies de decisao sao:
x
1
quantidade (m
3
) de britas granticas.
L. A. P. Cantao & F. S. Stark 8
Captulo 1. Introdu cao `a Pesquisa Operacional PL
x
2
quantidade (m
3
) de seixo rolado.
x
3
quantidade (m
3
) de brita comercial.
Com isso o custo da mistura e dado por f (x
1
, x
2
, x
3
) = 6x
1
+ 7x
2
+ 18x
3
.
Pelas restricoes, custos e porcentagens de cada em cada fracao , obtemos:
0.05x
2
+ 0.10x
3
0.10 Faixa (2.4-19 mm)
0.10x
1
+ 0.35x
2
+ 0.78x
3
0.20 Faixa (19-38 mm)
0.20x
1
+ 0.60x
2
+ 0.02x
3
0.35 Faixa (30-76 mm)
0.70x
1
0.35 Faixa (76-152 mm)
Os ingredientes utilizados produzem uma unidade de mistura, ou seja, x
1
+ x
2
+ x
3
= 1, e, completando as
restri coes, temos as condi coes de nao negatividade das variaveis: x
1
0,x
2
0 e x
3
0. O modelo matematico
completo e dado por:
Minimizar 6x
1
+ 7x
2
+ 18x
3
Sujeito a: 0.05x
2
+ 0.10x
3
0.10
0.10x
1
+ 0.35x
2
+ 0.78x
3
0.20
0.20x
1
+ 0.60x
2
+ 0.02x
3
0.35
0.70x
1
0.35
x
1
+ x
2
+ x
3
= 1
x
1
0 x
2
0 x
3
0
Outro exemplo comume o de planejamento de produ cao por varios ciclos de tempo (meses,semanas e dias).Vejamos
um exemplo deste tipo:
Exemplo 4. Durante o proximo semestre, uma fabricante textil deve atender aos seguintes compromissos de sua
se cao de malharia:
Jan. 4000 pecas Abr. 1000 pecas
Fev. 2000 pecas Mai. 4000 pe cas
Mar. 5000 pecas Jun. 2000 pe cas
Tabela 1.1: Dados do Planejamento.
Ao nal de dezembro, ha 500 pecas em estoque e a empresa so tem capacidade para produzir 3000 pe cas
mensais. Entretanto, usando horas extras, a empresa pode produzir ate 600 pe cas a mais que sua capacidade
nominal.
O custo variavel de produzir uma pe ca e de R$ 3 por pe ca, e o custo de produzir em horas extras e de R$ 3.4
por pe ca. Alem disso, pe cas que cam em estoque de um mes para outro provocam custo aproximado de R$ 0.25
por peca.
Monte um modelo linear que satisfa ca a demanda, mas com minimizacao dos custos de produ cao.
A solucao esta em se denir x
t
, y
t
e e
t
para t = 1:6, para indicarem respectivamente a produ cao nominal, em
horas extras, e estoque ao nal de cada mes.
L. A. P. Cantao & F. S. Stark 9
Captulo 1. Introdu cao `a Pesquisa Operacional PL
Min f (x) = 3(x
1
+ + x
6
) + 3.4(y
1
+ + y
6
) + 0.25(e
1
+ + e
6
)
Suj. a: x
1
+ y
1
+ 500 = e
1
+ 4000
x
2
+ y
2
+ e
1
= e
2
+ 2000
x
3
+ y
3
+ e
2
= e
3
+ 5000
x
4
+ y
4
+ e
3
= e
4
+ 1000
x
5
+ y
5
+ e
4
= e
5
+ 4000
x
6
+ y
6
+ e
5
= e
6
+ 2000
x
t
3000
y
t
600
x
t
, y
t
, e
t
0 para t = 1 : 6
Problemas de transporte ou aloca cao de recursos em determinados percursos tambem sao alvos comuns de
estudos da PO.
Exemplo 5. Considere uma companhia distribuidora de bebidas que tem 2 centros de producao (m = 2) - Arara-
quara e Sao Jose dos Campos - e 3 mercados consumidores principais (n = 3) - Sao Paulo, Belo Horizonte e Rio
de Janeiro. O custo unitario (c
i j
) de se transportar uma unidade do produto de cada centro de producao a cada
mercado consumidor, bem como as demandas (b
j
) de cada mercado e a quantidade disponvel do produto em cada
centro de produ cao (a
i
) no proximo perodo, sao dados pela tabela abaixo.
Mercado
Centro de Produ cao Sao Paulo(1) Belo Horizonte(2) Rio de Janeiro(3) Suprimento(a
i
)
Araraquara (1) 4 2 5 800
S. J. Campos (2) 11 7 4 1000
Demanda(mercado) 500 400 900
Tabela 1.2: Dados da produ cao, distribuicao e consumo.
Como caria o sistema deste problema se quisessemos minimizar o custo do processo?
1.3.1 Solu cao em PO
Como dito no nal do item anterior, nem sempre um problema tem uma solu cao possvel, em contrapartida,
surgem problemas que aceitam diversos conjuntos de valores como solu cao do sistema. Deste modo devemos
expressar algumas terminologias importantes quanto ao assunto solu cao, como:
1. Solu cao - Qualquer especica cao de valores, dentro do domnio da fun cao objetivo f(x), para as variaveis de
decisao, independentemente de se tratar de uma escolha desejavel ou permissvel.
2. Solu cao viavel - solu cao que satisfaz todas as restricoes do problema.
3. Solu cao 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 nao.
1.3.2 Mais do que matematica
Ate agora, a PO parece apenas uma aplica cao matematica que tenta modelar numericamente o mundo real por
meio de aproxima coes de suas variaveis, contudo a pesquisa envolve muito do conhecimento do decisor.
L. A. P. Cantao & F. S. Stark 10
Captulo 1. Introdu cao `a Pesquisa Operacional PL
Nao e raro encontrar a PO como tema de trabalho de uma equipe inteira de prossionais de diversas areas (ma-
tematicos, engenheiros, biologos, administradores, economistas, sociologos e ate psicologos) pois, a complexidade
ou mesmo a incerteza envolvida na situacao 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
constru cao de mais um elevador seria inviavel, o mesmo poderia ser dito de se aumentar a velocidade do elevador
(comprometendo a estrutura da construcao ou a seguran ca das pessoas `a bordo do elevador).
O que fazer entao?
A resposta e simples! Um dos prossionais contratados foi um psicologo. 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 acao, `a primeira vista estranha, a gerencia
do predio parou de receber tantas reclama coes.
Sendo assim, armamos que deve haver aten cao quando o assunto do problema e algo que envolve opinioes
humanas ou variaveis muito incertas. Neste caso, pode ser necessario o auxlio de fun coes nao lineares (fun cao
objetivo e/ou restricoes, nos levando a aplica cao de tecnicas da Programa cao Nao Linear), ou mesmo do emprego
de outras teorias, como a Teoria Fuzzy, por exemplo.
1.4 Solu cao Geometrica ou graca
1.4.1 Introdu cao - Descrevendo um problema anterior
Ao se trabalhar com equa coes lineares um dos modos de visualizar a solu cao e o de criar gracamente as retas
que cada equa cao representa, sobretudo em equacoes de problemas pequenos (duas variaveis). Deste modo, as
intersec coes das equa coes sao os possveis pontos de solucao, vejamos o Exemplo 1 do incio deste captulo, se
zermos a reta de w em funcao de l, teremos uma reta no plano xy(gura 1.2).
Figura 1.2: Graco de w versus l (ou l versus w)
L. A. P. Cantao & F. S. Stark 11
Captulo 1. Introdu cao `a Pesquisa Operacional PL
Sabemos entao que a solu cao esta sobre a reta, porem, nao podemos armar quais valores fornecem a solucao
do sistema. Contudo, temos a funcao area A = wl no plano z, devemos entao com o auxlio de um programa
computacional chutar os valores de w e l para entao gerar o graco de A versus l e A versus w, com isso vemos
uma parabola (gura 1.3).
Figura 1.3: Graco de A versus l (ou A versus w)
Pela gura 1.3, ca evidente que a solucao de valor mais alto dentro do espa co da solucao e proximo `a metade
do valor possvel das variaveis, tanto para w quanto l. Este valor e 0.25, ou 25% de L.
Devemos ressaltar que neste caso, como a fun cao objetivo era uma variavel multiplicada pela outra, o graco
resultante foi uma parabola, o que nao congura em um caso de otimiza cao linear (Programacao Linear), sendo
apenas uma maneira ilustrativa sobre o uso graco dentro dos modelos de Pesquisa Operacional.
1.4.2 Tipos de solucao e visualiza cao graca
Nesta subse cao estao apresentados, e resolvidos de forma graca, alguns exemplos de Programacao Linear con-
tendo duas variaveis. Apesar de ser restrita a problemas pequenos, a solucao graca oferece elementos facilitadores
para a compreensao dos procedimentos do metodo que sera exposto nos proximos captulos.
Ilustremos as seguintes situa coes: solu cao unica, solucao multipla, solucao ilimitada e solu cao infactvel a partir
do texto de [11].
Solu cao unica
Exemplo 6. Seja o problema de PL:
L. A. P. Cantao & F. S. Stark 12
Captulo 1. Introdu cao `a Pesquisa Operacional PL
Maximizar 2x
1
+ 3x
2
Sujeito a: x
1
+ 2x
2
8 (a)
2x
1
+ 3x
2
5 (b)
x
1
+ x
2
6 (c)
x
1
0 x
2
0 (d)
Figura 1.4: Solu cao unica
Na ilustracao, cada restri cao esta gracamente representada com sua respectiva reta (a),(b) e (c). Como sao
inequa coes, os pontos que as satisfazem denem semi-espa cos, isto e, a regiao acima ou abaixo da reta, `a direita
ou `a esquerda da reta. Por outro lado, a restri cao (d) informa que a regiao esta no primeiro quadrante do plano.
Logo, tem-se a regiao factvel (regiao escurecida da gura 1.4).
Tomando-se a fun cao objetivo como um tracejado, se a deslocarmos na regiao solu cao desde o vertice (0,0)
teremos um maximo no vertice (4,2).
Identica cao do ponto otimo
Uma vez que a regiao factvel foi encontrada, o ponto otimo do exemplo 6 pode ser encontrado de duas maneiras
equivalentes, de acordo com a gura 1.5
Temos entao, na situa cao (a) foram tracadas duas retas paralelas `a funcao objetivo, com valores de Z = 9 e
Z = 12, respectivamente e averiguamos em qual dire cao a funcao objetivo cresce, isto e, no mesmo sentido dos
eixos no primeiro quadrante.
Ja na segunda situa cao (b), encontramos o gradiente da funcao (derivadas parciais em cada variavel), o vetor
(2, 3), que e exatamente normal `a funcao objetivo. O vetor normal indica a direcao de crescimento da fun cao.
Analogamente ao caso (a), a funcao e deslocada ate alcan car o(s) ponto(s) da regiao viavel com maior valor de Z.
Solu cao multipla
Exemplo 7. Seja o problema apresentado anteriormente, porem com mudan ca na fun cao objetivo:
L. A. P. Cantao & F. S. Stark 13
Captulo 1. Introdu cao `a Pesquisa Operacional PL
Figura 1.5: Famlia de retas (a) e Vetor normal e dire cao de Crescimento (b)
Maximizar x
1
+ 2x
2
Sujeito a: x
1
+ 2x
2
8 (a)
2x
1
+ 3x
2
5 (b)
x
1
+ x
2
6 (c)
x
1
0 x
2
0 (d)
Note que para este caso o problema passa a ter um conjunto de multiplas solu coes, consistindo nos pontos do
segmento da reta x
1
+ 2x
2
entre os pontos (2, 3) e (4, 2).
Observe que a funcao objetivo e paralela `a inequacao apresentada na restri cao (a), presente na gura 1.6) .
Solu cao ilimitada
Exemplo 8. Seja o problema de PL (Exemplo 6), com uma insero de uma restrio (d) :
Maximizar 2x
1
+ 3x
2
Sujeito a: x
1
+ 2x
2
8 (a)
2x
1
+ 3x
2
5 (b)
x
1
+ x
2
6 (c)
x
1
0 x
2
0 (d)
Observe, na Figura 1.7, que o espa co de solucoes passa a ser ilimitado por todo o espa co `a direita da reta (a)
e abaixo da reta (b). Portanto, nesta situacao, o problema tem uma solu cao tendendo ao innito, pois a fun cao
objetivo pode se deslocar para a direita sem limita coes e aumentar o valor de Z indenidamente.
L. A. P. Cantao & F. S. Stark 14
Captulo 1. Introdu cao `a Pesquisa Operacional PL
Figura 1.6: Multiplas solu coes
Figura 1.7: Solu cao ilimitada
Solu cao infactvel
Exemplo 9. Seja o problema de PL (Exemplo 6), contudo com as restricoes (a) e (c) modicadas nos sinais de
desigualdade :
Maximizar 2x
1
+ 3x
2
Sujeito a: x
1
+ 2x
2
8 (a)
2x
1
+ 3x
2
5 (b)
x
1
+ x
2
6 (c)
x
1
+ x
2
7 (d)
x
1
0 x
2
0 (e)
Com a adicao de uma nova restricao ao problema do Exemplo 9, temos um conjunto vazio de solu cao, pois
L. A. P. Cantao & F. S. Stark 15
Captulo 1. Introdu cao `a Pesquisa Operacional PL
Figura 1.8: Solu cao inconsistente
nao e possvel satisfazer a fun cao objetivo quanto `as restri coes (c) e (d) ao mesmo tempo.
1.5 Exerccios Propostos
1. Determine a regiao de solu coes viaveis para cada uma das seguintes restri coes independentes, dado x
1
, x
2
0
(a) 3x
1
+ x
2
6
(b) x
1
2x
2
5
(c) 2x
1
3x
2
12
(d) x
1
+ x
2
0
(e) x
1
+ x
2
0
2. Identique a dire cao de crescimento de z em cada um dos seguintes casos:
(a) Maximizar f (x) = x
1
x
2
(b) Maximizar f (x) = 5x
1
6x
2
(c) Maximizar f (x) = x
1
+ 2x
2
(d) Maximizar f (x) = 3x
1
+ x
2
3. Dado o sistema de expressoes lineares:
_

_
x
1
+2x
2
0
2x
1
3x
2
3
x
1
+3x
2
6
x
1
,x
2
0
Determine gracamente a solu cao otima nos casos :
a. Min f (x) = 2x
1
; b. Max f (x) = 4x
2
; c. Max f (x) = 3x
1
+ 3x
2
.
4. Suponha um modelo de programacao linear:
L. A. P. Cantao & F. S. Stark 16
Captulo 1. Introdu cao `a Pesquisa Operacional PL
Max x
1
+2x
2
Sujeito a 6x
1
+10x
2
30
4x
1
+3x
2
12
x
1
+2x
2
10
x
1
6
x
1
, x
2
0
Utilize o metodo graco para resolver o sistema.
5. A Roda S.A produz dois modelos de automoveis: seda e utilitario. A tabela a seguir mostra o numero maximo
de veculos que podem ser vendido em cada um dos proximos tres meses:
Sedas Uilitarios
Mes 1 1200 600
Mes 2 1600 700
Mes 3 1300 500
Tabela 1.3: Dados da produ cao.
Sabe-se que cada seda e vendido a $ 8.000 e custa $ 6.000 para produzi-lo. O utilitario tem venda de $
9.000 e custo de $ 7.500.
O custo de manter os veculos em estoque e de $ 250 para o seda e $ 300 para o utilitario. Durante cada
mes, no maximo 1500 veculo podem ser produzidos e, por restricoes de produ cao, pelo menos 2/3 dos carros
produzidos devem ser sedas.
No incio do mes 1, ha 300 sedas e 200 utilitarios em estoque.
(a) Formule um problema de programa cao linear que maximize o lucro da companhia.
(b) Suponha que exista a possibilidade deproduzir ate 600 veculos em horas extras. Entretanto, tal producao
provoca um aumento de $ 800 no custo de cada unidade.
Mostre como incorporar tal decisao ao modelo de programa cao linear.
6. Seja uma empresa que produz quatro produtos, A, B, C e D. A fabrica cao de cada unidade desses produtos
exige mao-de-obra, materia-prima e processamento mecanico, gerando um certo lucro, de acordo com a
tabela:
Recurso A B C D Disponbilidade
Mao-de-obra (homens-hora/unidade) 8 3 5 6 15.000 h
Materia-prima (kg/unidade) 5 7 4 5 20.000 kg
Processamento mecanico (horas-maquina) 12 9 8 7 40.000 hm
Lucro (R$/unidade) 3 6 5 4 /
Tabela 1.4: Dados do problema.
Dadas as disponibilidades e os requerimentos para cada produto, como determinar um plano de produ cao
semanal, de forma a maximizar o lucro? Tente escrever o sistema na forma padrao.
7. Este problema envolve um processo de transporte de agragados para a construcao de uma rodovia. Suponha
que, para a constru cao de uma rodovia, nao estejam disponveis na regiao das jazidas de richas adequadas `a
L. A. P. Cantao & F. S. Stark 17
Captulo 1. Introdu cao `a Pesquisa Operacional PL
obten cao de pedra britada. Faz-se necessario, portanto, o transporte desse material de jazidas mais proximas
para alguns pontos convenientes preestabelecidos ao longo do caminho onde sera implantada a estrada (gura
1.9), ao menor custo.
Figura 1.9: Pedreiras fornecedoras da pedra britada P1, P2, P3, P4; pontos de deposito de material D1, D2, D3
e do trajeto da rodovia R.
Nesse problema, temos m = 4 jazidas correspondentes `as origens e n = 3 depositos correspondentes aos
destinos, cujos dados estao na tabela a seguir.
Pedreiras Deposito 1 Deposito 2 Deposito 3 Oferta a
i
1 30 13 21 433
2 12 40 26 215
3 27 15 35 782
4 37 25 19 300
Demanda b
j
697 421 612 /
Tabela 1.5: Dados do problema de transporte.
As quantidades ofertadas (a
i
- ultima coluna) e demandas (b
j
- ultima linha), em toneladas, bom como os
custos de transportar 1 tonelada de pedra da pedreira i para o deposito j (c
i j
- que e fun cao de varios fatores,
como tempo de viagem, condi coes das estradas de acesso, condicoes dos veculos que servem a trajetoria
em questao etc.), sao as representa coes do que esta envolvido no problema.
Se x
i j
e a variavel de decisao que representa a quantidade transportada de rochas da jazida i para o ponto
de deposito j , podemos formular este problema da seguinte maneira:
L. A. P. Cantao & F. S. Stark 18
Captulo 1. Introdu cao `a Pesquisa Operacional PL
Minf (x
i j
) = 30x
11
+13x
12
+21x
13
+40x
21
40x
22
+26x
23
+27x
31
15x
32
+35x
33
+37x
41
25x
42
+19x
43
Suj. a x
11
+x
12
+x
13
433
x
21
+x
22
+x
23
215
x
31
+x
32
+x
33
782
x
41
+x
42
+x
43
300
x
21
+x
31
+x
41
= 697
x
12
+x
22
+x
32
+x
42
= 421
x
13
+x
23
+x
33
+x
43
= 612
x
i j
0
Para vericar uma mudan ca no problema, imagine se por um problema estrutural, o Deposito 2 tenha de
ser fechado. Como caria o modelo se 45% da demanda deste deposito tenha de ir para o Deposito 1 e o
restante para o Deposito 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 maximo 1500 unidades do modelo Luxo e 1600 do
Basico por mes que vira. A fabrica disp oe de 25000 homens-hora por mes, sendo que cada modelo Luxo
precisa de 10 homens-hora e o Basico 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 Basico de $ 50.
Deseja-se maximizar os lucros da venda dos produtos desta fabrica. Como seria o modelo de PL para este
problema?
9. Quatro cidades descarregam aguas servidas na mesma corrente. A cidade 1 esta a montante, seguida da
cidade 2, cidade 3 e por m a cidade 4 `a jusante da corrente. Medidas ao longo do corpo de agua, as
distancias entre as cidades sao de aproximadamente 15 milhas entre si. Um dos parametros 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 Protecao Ambiental estabeleceu um maximo de carga de DBO, expressaem lb de DBO por
galao. A remocao de poluentes das aguas servidas ocorre de duas formas: depura cao natural e tratamento de
esgoto antes do despejo nos corpos de agua. O objetivo entao, e determinar a melhor eciencia economica
de cada umas das esta coes localizadas nas quatro cidades (a eciencia maxima possvel de uma esta cao e de
99%).
Para montarmos um modelo, devemos citar as variaveis como:
Q
1
- uxo da corrente (galoes/hora) na sada da cidade 1;
p
1
- taxa de descarga deDBO (lb/hora);
x
1
- eciencia da esta cao 1 ( 0.99);
b
1
- maxima carga de DBO permissvel na cidade 1 (lb.DBO/galao).
Para satisfazer o requisito de carga de DBO na descarga da cidade 1 para a 2, precisamos ter:
p
1
(1 x
1
) b
1
Q
1
L. A. P. Cantao & F. S. Stark 19
Captulo 1. Introdu cao `a Pesquisa Operacional PL
De modo semelhante, no m da cidade 2:
(1 r
12
)(Descarga de DBO no trecho 1 - 2) + (Descarga de DBO no trecho 2 - 3) b
2
Q
2
ou
(1 r
12
)p
1
(1 x
1
) + p
2
(1 x
2
) b
2
Q
2
O coeciente r
12
( 1) representa a fra cao de resduos removida no trecho 1 - 2 por decomposi cao. Para a
descarga da cidade 3, a restri cao e:
(1 r 23)[(1 r
12
)p
1
(1 x
1
) + p
2
(1 x
2
)] + p
3
(1 x
3
) b
3
Q
3
A partir do que foi apresentado (usando os dados da tabela abaixo e considerando a remo cao por decomposicao
de 6% para os quatro trechos da corrente) determine a maior eciencia economica para as quatro esta coes.
Caracterstica Cidade 1 Cidade 2 Cidade 3 Cidade 4
(i = 1) (i = 2) (i = 3) (i = 4)
Q
i
(galao/hora) 215000 220000 200000 210000
p
i
(lb/hora) 500 3000 6000 1000
b
i
(lb.DBO/galao) 0.00085 0.0009 0.0008 0.0008
Custo do tratamento
($/lb.DBO removida) 0.20 0.25 0.15 0.18
Tabela 1.6: Dados do problema de gerenciamento de agua.
L. A. P. Cantao & F. S. Stark 20
CAP

ITULO 2
Revisao Matematica
Conceitos Basicos
As obras literarias de Programa cao Linear, escritas na decada de 60, traziam revisoes extensas de algebra
linear, determinantes, matrizes, espa cos vetoriais, convexidade etc. Essas revisoes eram essenciais, pois na epoca
os conteudos visados no curso nao eram devidamente estudados nos cursos de gradua cao da epoca.
Desde entao, houve signicativa mudanca no currculo dos cursos de administra cao, economia e engenharia.
Ja 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 gradua cao na area de Exatas.
A apresenta cao de conceitos basicos passa a ter proposito de unicacao do conhecimento, de nomenclatura
e xa cao da notacao usada. A revisao a seguir tem um ponto de vista da Programa cao Linear, de modo que a
mesma e orientada para antecipar o entendimento dos metodos de otimizacao.
2.1 Equa coes lineares
Um sistema de m equa coes linerares e n variaveis tem a seguinte representa cao algebrica:
a
11
+ a
12
x
2
+ ... + a
1n
x
n
= b
1
a
21
+ a
22
x
2
+ ... + a
2n
x
n
= b
2
.
.
.
a
m1
+ a
m2
x
2
+ ... + a
mn
x
n
= b
m
Podemos escrever o sistema na nota cao Ax = b, isto e, na forma matricial, como :
_

_
a
11
a
12
. . . a
1n
a
21
a
22
. . . a
2n
. . . . . .
.
.
.
. . .
a
m1
a
m2
. . . a
mn
_

_
x
1
x
2
.
.
.
x
n
_

_
=
_

_
b
1
b
2
.
.
.
b
n
_

_
Um sistema de equa coes lineares (SEL) e denominado homogeneo se b = 0.
Captulo 2. Revisao Matematica PL
2.1.1 Solu cao de um Sistema de Equa coes Lineares
Uma solucao de um SEL e um conjunto de valores x
j
(j = 1, ..., n) se satisfaz simultaneamente todas as
equa coes do sistema. Pela resolucao de um sistema, temos 3 alternativas de solu coes:
Tem uma unica solu cao;
Possui um conjunto innito de solu coes, ou multiplas solues;
Nao tem solu cao para o sistema;
Quando o sistema apresentar m = n (matriz quadrada), a indica cao de qual dessas alternativas ocorre e dada
pelo determinante (D) da matriz, a saber:
Quando D = 0 , indica indetermina cao (innitas solu coes) ou um sistema sem solu cao;
Quando D = 0 , indica que o sistema e crameriano
1
e portanto, possui uma unica solu cao possvel.
2.1.2 Opera coes elementares
As opera coes elementares, conforme ([11]), de um sistema consistem em transformacoes realizadas no sistema.
Sao elas:
I. Troca de linhas;
II. Multiplica cao de uma linha por escalar nao nulo;
III. Combina coes lineares de linhas;
A seguir veremos os casos de solu cao dos SEL onde m = n e m = n
2.1.3 Solu cao de Sistema de Equa coes Lineares, caso m = n
Nesta subsecao, podemos resumir a forma de algumas solu coes para alguns tipos de sistemas Ax = b, assim:
Todo sistema homogeneo tem solu cao x = 0, chamada solu cao trivial;
1. Se a matriz A e nao singular e o sistema homogeneo, so existe a solucao trivial (x = 0);
2. Se a matriz A e singular, o sistema homogeneo e indeterminado, pois D = 0.
Se a matriz A e nao singular e o sistema nao homogeneo, a solu cao e unica e o sistema e textitcrameriano.
Como A e nao singular, sua inversa (A
1
) existe. Assim:
Ax = b A
1
(Ax) = A
1
b Ix = A
1
b x = A
1
b.
Exemplo 10. Seja o sistema na forma matricial:
1
Um sistema crameriano e aquele o qual tem um determinante da matriz A um numero diferente de zero, signicando que o sistema
tem solucao unica - tal resultado tem ligacao com a regra de Cramer.
L. A. P. Cantao & F. S. Stark 22
Captulo 2. Revisao Matematica PL
_

_
2 1 3
1 1 2
2 2 1
_

_
_

_
x
1
x
2
x
3
_

_ =
_

_
2
7
1
_

_
Calculando-se a matriz inversa de A, e aplicando-a como visto, obtem-se a solu cao:
_

_
x
1
x
2
x
3
_

_ =
_

_
5/19 7/19 1/19
3/19 8/19 7/19
4/19 2/19 3/19
_

_
_

_
2
7
1
_

_ =
_

_
2
3
1
_

_
A solucao do sistema e entao x
1
= 2, x
2
= 3 e x
3
= 1.
Devemos entao encontrar a matriz inversa para obter a solu cao de um sistema? A resposta pratica e nao,
pois computacionalmente este metodo e caro devido ao excesso de calculos necessarios para a determina cao de
matrizes inversas de sistemas complexos, alem disto, a inversa so e passvel de calculo em matrizes quadradas e
com determinante diferente de zero, sendo assim inviavel metodologicamente como visto no captulo de Introducao
`a Pesquisa Operacional. Nos proximos topicos explicaremos alguns metodos mais praticos na obten cao de solu coes
para os sistemas lineares, sejam eles casos m = n ou n > m.
2.1.4 Metodo de Gauss-Jordan, caso m = n
Tendo como nalidade a constru cao, atraves de opera coes elementares, de uma matriz unitaria, e um metodo
adequado para as rotinas computacionais para a resolu cao dos sistemas lineares, uma vez que envolve um algoritmo
mais rapido de ser implementado e calculado pelo processador. Considere o Exemplo 10:
_

_
2x
1
+ x
2
3x
3
= 2
x
1
x
2
+ 2x
3
= 7
2x
1
+ 2x
2
x
3
= 1
a. opera coes elementares sobre x
1
: Dividir a 1
a
linha por 2, adicionar `a 2
a
linha a primeira multiplicada
por(-1) e adicionar `a 3
a
linha a 1
a
vezes (-2).
_

_
x
1
+ x
2
/2 3x
3
/2 = 1
3x
2
/2 + 7x
3
/2 = 8
x
2
+ 3x
3
= 1
b. opera coes elementares sobre x
2
: Dividir a 2
a
linha por
_

3
2
_
, adicionar `a 1
a
linha a 2
a
multiplicada por
_

1
2
_
e adicionar `a 3
a
linha a 2
a
vezes (1).
_

_
x
1
x
3
/3 = 5/3
x
2
7x
3
/3 = 16/3
19x
3
= 19/3
c. opera coes elementares sobre x
3
: Dividir a 3
a
linha por
3
9
, resultando em x
3
= 1. Somar `a 1
a
linha a
3
a
multiplicada por
1
3
e somar `a 2
a
linha a 3
a
multiplicada por
7
3
.
_

_
x
1
= 2
x
2
= 3
x
3
= 1
L. A. P. Cantao & F. S. Stark 23
Captulo 2. Revisao Matematica PL
Deste modo, chegamos `a mesma solucao do Exemplo 10, como x
1
= 2, x
2
= 3 e x
3
= 1. Fica a observacao
de que a maneira mais facil para nao se perder durante os calculos e realiza-los com o auxlio da matriz ampliada
da forma A = (A|b).
Este metodo de transforma cao da A para a identidade (I) tambem e chamada de Escalonamento.
2.1.5 Solu cao de Sistema de Equa coes Lineares, caso n > m
Se considerarmos o sistema matricial, com A
mn
com n > m :
_

_
a
11
a
12
. . . a
1n
a
21
a
22
. . . a
2n
.
.
.
.
.
.
.
.
.
.
.
.
a
m1
a
m2
. . . a
mn
_

_
.
_

_
x
1
x
2
.
.
.
x
n
_

_
=
_

_
b
1
b
2
.
.
.
b
m
_

_
De uma matriz retangular como esta, podemos encontrar diversas solu coes com as aplica coes anteriormente
discutidas, pois e possvel obter varias submatrizes quadradas. Como nota, o numero superior de variaveis em
rela cao `as equacoes e o que de mais comum ocorre no processo de modelagem, dada a complexidade da realidade,
mesmo que reduzida.
Vamos explicitar alguns conceitos e deni coes, mediante um exemplo, dados pela Programacao Linear.
Exemplo 11. Seja um sistema
_
x
1
2x
2
+ x
3
+ x
4
= 2
x
1
x
2
x
3
+ x
5
= 2
A partir desse sistema (e todos os casos n > m, podemos realizar diversas consideracoes e generaliza coes, a
saber:
1. Em notacao matricial (Ax = b), temos:
_
1 2 1 1 0
1 1 1 0 1
_
.
_

_
x
1
x
2
x
3
x
4
x
5
_

_
=
_
2
4
_
2. O sistema anterior possui cinco variaveis e duas equa coes, portanto, oferece uma innidade de solucoes.
Podem-se arbitrar valores para 52 = 3 variaveis e resolver o sistema em rela cao `as duas variaveis restantes.
Para o sistema original ter solu cao, pelo menos um dos subsistemas sera crameriano.
3. O sistema tem uma solucao trivial (chamada de basica), que consiste em atribuir o valor nulo em tres das
variaveis e chegar-se no valor das outras duas. Como exemplo:
x
1
= x
2
= x
3
= 0 e x
4
= 2 e x
5
= 4.
Neste caso, x
1
,x
2
e x
3
sao chamadas variaveis nao basicas, e x
4
, x
5
sao ditas variaveis basicas.
4. Variavel basica e uma variavel responsavel por uma equa cao na qual ela tem coeciente 1, enquanto nas
demais equacoes seu coeciente e 0.
L. A. P. Cantao & F. S. Stark 24
Captulo 2. Revisao Matematica PL
5. Sistema canonico e um sistema no qual a cada equacao temos uma variavel basica associada. Visto de forma
matricial, tal sistema remete a uma matriz identidade embutida na matriz A (nao obstante fora de ordem).
6. Uma base B do sistema e dada pelo conjunto de vetores coluna correspondentes `as variaveis basicas. No
exemplo, a base e formada pelos vetores coluna A
4
e A
5
, ou B = [A
4
A
5
]. Como x
4
e x
5
sao as variaveis
associadas `a base, e comum referir-se `a base B = x
4
x
5
7. Em um sistema de cinco variaveis e duas equa coes, a variedade de solu coes triviais, ou basicas e dada pela
permuta cao:
_
5
2
_
=
5!
3!2!
= 10
8. As solu coes triviais distintas, se existentes, podem ser obtidas por processos de mudan ca de base (conforme
sera explicado na proxima subsecao).
2.2 Mudan ca de Base
2.2.1 O Pivoteamento
A opera cao de mudar a base e feita segundo opera coes elementares, sendo equivalente a um conjunto de
opera coes do tipo Gauss-Jordan, aplicada a uma variavel qualquer do problema (escolhida como basica).
Supondo que a variavel x
i
seja basica e perten ca a linha r do sistema, a a cao de pivotear, tendo em vista a
inser cao de x
j
no lugar, consiste nos passos:
1. Dividir por a
r j
a r-esima equa cao, resultando em a
r j
= 1 no sistema modicado;
2. Adicionar `a k-esima equa cao k = 1, 2, . . . , m, k = r ,
a
kj
a
r j
=
a
kj
1
= a
kj
, de modo a zerar o coeciente
de x
j
nessa k-esima linha.
Exemplo 12. Com o exemplo 11 podemos ilustrar o pivoteamento, substituindo x
1
por x
4
na base. Temos entao
i = 4 e j = 1 com r = 2, e deste modo como a
11
= 1, nao precisamos fazer a divisao por a
11
; da mesma maneira
como a
21
= 1, basta somar `a 2 equacao a 1 multiplicada por (1) para se obter uma nova base, B = [A
1
, A
5
], e
o sistema resultante:
_
x
1
2x
2
+x
3
+x
4
= 2
x
2
2
3
x
4
+x
5
= 2
Se prosseguirmos para B = [A
1
, A
2
], o sistema resultante seria:
_
x
1
3x
3
x
4
+2x
5
= 6
x
2
2x
3
x
4
+x
5
= 2
Obs: Utilizaremos este resultado a seguir.
O Pivoteamento em Notacao Matricial
A mudanca de base pode ser vista como uma multipica cao matricial, exemplicada na situa cao a seguir:
L. A. P. Cantao & F. S. Stark 25
Captulo 2. Revisao Matematica PL
1. Suponha que a matriz A, do sistema linear A = bx, possa ser escrita pela composi cao de tres colunas
A = [B|N|I], sendo B e a base atual, I a base original e N os demais vetores (contendo as variaveis nao
basicas).
2. Seja B
1
a inversa da base atual, entao podemos escrever a sequencia:
B
1
[B|N|I]x = B
1
b [I|B
1
N|B
1
]x = B
1
b
No exemplo 11 aplicamos os conceitos anteriores, para chegar-se ao resultado apresentado no exemplo 12:
_
|1 2| | 1| |1 0|
|1 1| | 1| |0 1|
_

_
x
1
.
.
.
x
5
_

_
=
_
2
4
_
B N I
Explicitando na base mudada por pivoteamento, temos analogamente:
_
|1 0| | 3| | 1 2|
|0 1| | 2| | 1 1|
_

_
x
1
.
.
.
x
5
_

_
=
_
6
2
_
B
1
B = I B
1
N B
1
Portanto a nova base B = [a
1
a
2
] pode ser obtida a partir do sistema original por dois modos:
a. opera coes elementares (metodo Gauss-Jordan);
b. sejam a base desejada B =
_
1 2
1 1
_
e sua inversa B
1
=
_
1 2
1 1
_
; pre-multiplicando o sistema
original por B
1
, obtendo-se B
1
Ax = B
1
b.
2.2.2 Sele cao das variaveis basicas
Em problemas de Programa cao Linear, existe a restri cao suplementar de que x 0, isto e, todas as variaveis
devem ser nao negativas. Assim, possivelmente, nem todas as solu coes basicas de um sistema serao factveis
(possveis de serem aplicadas ao modelo), na medida em que nem todas virao a satisfazer a restri cao adicional.
Deni coes
Por se tratar de uma revisao para a PO, devemos focar a mesma sobre os atributos e conhecimentos que serao
exigidos a seguir, para tanto, apresentamos um resumo das denicoes introduzidas ate este ponto:
Variavel basica: e uma variavel relacionada a uma equa cao com coeciente 1 nesta equa cao e 0 nas demais;
Solu cao basica: e aquela obtida fazendo-se as variaveis nao basicas iguais `a zero e identicando-se a solu cao
do sistema linear;
Solu cao basica viavel: e uma solu cao basica na qual todas as variaveis basicas satisfazem `a restricao
suplementar x 0;
L. A. P. Cantao & F. S. Stark 26
Captulo 2. Revisao Matematica PL
Base do Sistema: e dada pelo conjunto das variaveis basicas, ou seja, pelos vetores coluna associados aos
coecientes das variaveis basicas de todas as equacoes;
Opera cao Pivotar - Pivot Operation: e uma sequencia de opera coes elementares que fazem uma variavel
tornar-se basica;
Conjunto Viavel: e dado por todas as solu coes viaveis do sistema linear, incluindo-se a restri cao suplementar
x 0.
2.2.3 Constru cao da Variaveis Basicas e Variaveis Articiais
Forma Geral
Dado um sistema linear padrao, uma forma de se obter um conjunto de variaveis basicas desenvolvida pela
Programa cao Linear e de realizar-se o acrescimo ao sistema de um conjunto de variaveis basicas (x
a
), denominadas
articiais, ou seja:
Ax + Ix
a
= b ou
_
A|I
_
_
x
x
a
_
= b
Neste caso, uma solucao inicial consistiria em anular as variaveis originais e deixar as variaveis articiais na base
do sistema. Esse metodo cria uma solu cao basica para o sistema de equa coes, embora `a custa da introducao de
mais variaveis, inexistentes originalmente, contudo, por meio de opera coes elementares para sucessivas trocas de
base, as mesmas podem ser colocadas como variaveis nao basicas e anuladas.
Podemos acrescentar ainda que, a respeito deste metodo, temos:
Se o sistema for incompatvel o metodo falha;
Se houver uma equa cao redundante (dependencia linear), a solu cao de base encontrada tera uma variavel
articial na base com valor nulo.
Forma Canonica
Sistema can onico e aquele em que cada equa cao linear possui uma variavel basica associada a ela e o sistema
de equacoes identica um solu cao trivial. Um caso particular, porem frequente, e aquele que o sistema original e
dado na forma de desigualdade, Ax b. Neste caso, introduzem-se variaveis de folga, x
f
, que medem a diferenca
entre o lado direito e o lado esquerdo (como veremos nos modelos de PO, tambem teremos variaveis de excesso
quando Ax b).
Matricialmente a situa cao seria:
Ax b Ax + Ix
f
= b ou
_
A|I
_
_
x
x
f
_
= b
Uma solu cao inicial viavel basica e quando x
f
= b e x = 0. Ao contrario das variaveis articiais do caso geral,
as variaveis de folga (ou excesso) tem sua interpreta cao como a quantidade dos valores de b nao utilizadas.
Vamos exemplicar este sistema e a explica cao anterior mediante um exemplo.
Exemplo 13. Suponha o sistema de restri coes:
x
1
400
x
2
500
x
1
+ 2x
2
900
L. A. P. Cantao & F. S. Stark 27
Captulo 2. Revisao Matematica PL
Aplicando-se tres variaveis de folga (x
3
, x
4
e x
5
), temos:
x
1
+ x
3
= 400
x
2
+ x
4
= 500
x
1
+ 2x
2
+ x
5
= 900
Se as variaveis do sistema original representarem:
x
1
= numero de bolos do tipo 1 a serem produzidos;
x
2
= numero de bolos do tipo 2 a serem produzidos;
b
1
= 400 = quantidade de ovos disponveis;
b
2
= 500 = quantidade de a cucar disponvel;
b
3
= 900 = quantidade de farinha disponvel.
Nessas condicoes, as variaveis de folga signicam
x
3
= quantidade de ovos nao utilizados;
x
4
= quantidade de a cucar nao utilizado;
x
5
= quantidade de farinha nao utilizada.
Com isto, encerramos a subse cao de Mudan ca de Base.
2.3 Espa cos Vetoriais
2.3.1 Deni cao
Um espaco vetorial V e um conjunto de elementos denominados vetores, tal que a soma de dois de seus
elementos ou a multiplica cao 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 Opera coes
Algumas operacoes basicas dos vetores de um espaco vetorial sao, como ja ditas, a adi cao de um elemento a
outro e a multiplica cao por um numero escalar real. Em notacao matematica, se tivermos dois vetores (C e D) e
um escalar (), demonstramos as operacoes como:
C + D = (c
1
, c
2
) + (d
1
, d
2
) = (c
1
+ d
1
, c
2
+ d
2
);
C = (c
1
, c
2
) = (c
1
, c
2
).
Podemos ver as operacoes representadas nas guras 2.1 e 2.2.
2.3.3 Combina cao Linear de Vetores
Se A
1
, A
2
, A
3
. . . , A
n
sao vetores pertencentes ao espaco vetorial R
m
e se x
1
, x
2
, . . . , x
n
sao numeros reais,
entao o vetor b R
m
, obtido por:
b = A
1
x
1
+ A
2
x
2
+ + A
n
x
n
e chamado de combinacao linerar dos vetores A
1
, A
2
, A
3
, . . . , A
n
.
Da combinacao linear podemos tirar duas conclusoes sobre os vetores, a saber:
L. A. P. Cantao & F. S. Stark 28
Captulo 2. Revisao Matematica PL
Figura 2.1: Soma de vetores
Figura 2.2: Muiltiplica cao de vetores (com = 1)
L. A. P. Cantao & F. S. Stark 29
Captulo 2. Revisao Matematica PL
Vetores Linearmente Independentes: Suponha um conjunto de vetores nao nulos A
1
, A
2
, A
3
. . . , A
n
per-
tencentes ao espa co vetorial R
m
e x
1
, x
2
, x
3
. . . , x
n
numeros reais. Se a equacao vetorial:
A
1
x
1
+ A
2
x
2
+ + A
n
x
n
= 0
so for satisfeita para x
1
= x
2
= = x
n
= 0, entao dizemos que os vetores A
1
, A
2
, . . . , A
n
sao linearmente
independentes (LI)
Vetores Linearmente Dependentes: Suponha um conjunto de vetores nao nulos A
1
, A
2
, A
3
. . . , A
n
perten-
centes ao espa co vetorial R
m
e x
1
, x
2
, x
3
. . . , x
n
numeros reais. Se a equacao vetorial:
A
1
x
1
+ A
2
x
2
+ + A
n
x
n
= 0
for satisfeita para algum x
k
com k (1, 2, . . . , n) diferente de zero, entao dizemos que os vetores A
1
, A
2
, . . . , A
n
sao linearmente dependentes (LD).
2.3.4 Dimensao de um Espa co Vetorial
Um espaco vetorial R
m
e de dimensao m se:
Existirem m vetores v
1
, v
2
, . . . , v
m
linearmente independentes pertencentes a R
m
.
Nao existirem (m + 1) vetores linearmente independentes pertencentes a R
m
.
2.3.5 Base e Coordenadas
Um conjunto de vetores v
1
, v
2
, . . . , v
m
R
m
e uma base de R
m
se:
Eles forem LI;
Qualquer vetor y R
m
puder ser obtido por uma combina cao linear desses vetores, isto e:
y = y
1
v
1
+ y
1
v
1
+ + y
m
v
m
Desta maneira, os coecientes (y
1
, y
2
, . . . , y
m
), unicamente denidos, sao as coordenadas do vetor y em
rela cao `a base v
1
, v
2
, . . . , v
m
.
2.3.6 Posto (r
a
) de uma matriz como um Conjunto de Vetores
Dada uma matriz A
mn
, seja B
mn
a matriz-linha reduzida `a forma escada linha equivalente a A. O posto de
A, denotado por r
a
= 3, e o numero de linhas (ou colunas) nao nulas de B.
Exemplo 14. Seja a matriz
A =
_

_
1 0 2 0
1 5 0 1
2 0 6 2
_

_
Empregando-se o conceito de vetores LI, primeiro aos vetores coluna e depois aos vetores linha, temos:
L. A. P. Cantao & F. S. Stark 30
Captulo 2. Revisao Matematica PL
Aplicando aos vetores coluna:
_

_
1
1
2
_

_x
1
+
_

_
0
5
0
_

_x
2
+
_

_
2
0
6
_

_x
3
_

_
0
1
2
_

_x
4
=
_

_
0
0
0
_

_
Note que o sistema admite uma innidade de solu coes nao triviais; portanto, o posto e inferior a quatro. Ao
escolhermos apenas tres vetores quaisquer, encontramos um posto igual a 3 (r
a
= 3).
Aplicando aos vetores linha:
_
1 0 2 0
_
x
1
+
_
1 5 0 1
_
x
2
_
2 0 6 2
_
x
3
=
_
0 0 0 0
_
Essa equacao vetorial fornece o sistema de equa coes:
_

_
x
1
x
2
+2x
3
= 0
5x
2
= 0
2x
1
+6x
3
= 0
x
2
2x
3
= 0
portanto x
1
= x
2
= x
3
= 0, logo r
a
= 3.
Base de uma Matriz
Se uma matriz A
mxn
, m n, tem n colunas A
1
, A
2
, . . . , A
n
, das quais m linhas A
r
, A
s
, . . . , A
p
sao linearmente
independentes, entao a matriz quadrada B = [A
r
, A
s
, . . . , A
p
], de ordem m, e uma base de A.
Mudan ca de Base
Seja uma base no espa co R
m
constituda pelos vetores e
1
, e
2
, . . . , e
m
. Nessa base, qualquer vetor y R
m
e
expresso por uma combina cao linear denida univocamente
2
, sendo y
1
, y
2
, . . . , y
m
as coordenadas do vetor y, isto
e:
y = y
1
e
1
+ y
2
e
2
+ + y
k
e
k
+ . . . + y
m
e
m
Podemos permutar, na base, o vetor e
k
pelo vetor y (somente se y
k
= 0). Assim:
e
k
=
y
1
y
k
e
1

y
2
y
k
e
2
+
1
y
k
y
k
y
y
m
y
k
e
m
Essa expressao mostra o vetor e
k
expresso em uma base constituda pelos vetores y e e
i
, em que i = 1, 2, . . . , m,
e i = k.
Estas expressoes sao importantes para casos de mudanca de base, pois, imagine algum outro vetor x R
m
.
Como exemplo, na base original, esse vetor seria representado por:
x = x
1
e
1
+ x
2
e
2
+ + x
k
e
k
+ + x
m
e
m
2
Diz-se da relacao, ou da correspondencia, 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. Cantao & F. S. Stark 31
Captulo 2. Revisao Matematica PL
Em rela cao `a uma nova base (que inclui y), basta realizar uma substituicao de e
k
na expressao anterior com a
resultante de e
k
:
x =
_
x
1
x
k
y
1
y
k
_
e
1
+
_
x
2
x
k
y
2
y
k
_
e
2
+ +
x
k
y
k
y + +
_
x
m
x
k
y
m
y
k
_
e
m
O processo de mudar a base de um espa co e tambem denominado pivoteamento, exatamente analogo ao
discutido anteriormente.
Produto Escalar (Interno) entre Dois Vetores
Sejam os vetores A
1
e A
2
pertencentes a um espaco vetorial R
m
. O produto escalar, ou produto interno,
desses dois vetores pode ser denido pela expressao a seguir, envolvendo a soma dos produtos dos componentes
correspondentes. Quando dois vetores A
1
e A
2
sao ortogonais, entao o produto escalar sera nulo.
A
1
.A
2
= a
11
a
21
+ a
12
a
22
+ + a
1n
a
2n
=
n

i
a
1j
a
2j
2.4 Conjuntos Convexos e Combina cao Convexa
2.4.1 Conjunto Convexo
Seja um conjunto X R
m
. Dado dois pontos quaisquer x
1
e x
2
X pertencentes ao conjunto e [0, 1]. Se
x
1
+ (1 )x
2
X entao, diz-se que X e um conjunto convexo. Nao obedecendo a rela cao, entao e dito nao
convexo.
2.4.2 Combina cao Convexa
De forma analoga, podemos denir uma combinacao convexa de vetores. Dados n vetores A
1
, A
2
, . . . , A
n
pertencentes a um espa co vetorial R
n
e
i
para i = 1 : n, temos:
y =
1
A
1
+
2
A
2
+ . . .
n
A
n
sendo
n

i
= 1
e uma combina cao convexa dos vetores A
i
, para i = 1, . . . , n.
Exemplo 15. Sejam os vetores A
1
=
_
1
0
_
e A
3
=
_
3
0
_
R
2
. Seja o vetor b = A
1
+ (1 )A
3
, com
0 1, representando uma combina cao convexa dos vetores, ou seja, obedecendo `a regra de convexidade.
Se zermos variar entre 0 e 1, o vetor b sera representado por pontos situados no segmento que une os
pontos A
1
e A
3
. Deste modo, vemos a gura 2.3 que ilustra a combinacao convexa do exemplo.
2.4.3 Interpreta cao Geometrica
Portanto, pela denicao anterior, um conjunto convexo tem como interpreta cao geometrica a seguinte situa cao:
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 R
2
temos a gura 2.4.
Esta interpretacao geometrica pode ser generalizada para outras dimensoes. Temos ainda duas propriedades
dos conjuntos convexos:
L. A. P. Cantao & F. S. Stark 32
Captulo 2. Revisao Matematica PL
Figura 2.3: Combina cao convexa do exemplo 15.
1. A interseccao de conjuntos convexos tambem e um conjunto convexo;
2. A soma (ou a subtra cao) de dois conjuntos convexos e tambem um conjunto convexo.
C
1
+ C
2
= {A
1
+ A
2
: A
1
C
1
, A
2
C
2
} e convexo
C
1
C
2
= {A
1
A
2
: A
1
C
1
, A
2
C
2
} e convexo
Figura 2.4: Exemplo de um conjunto convexo e outro nao convexo no R
2
.
2.4.4 Ponto Extremo de um Conjunto Convexo
Suponha C um conjunto convexo. Entao A C e um ponto extremo de C se nao for possvel expressa-lo como
uma combinacao 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 dimensao, ao lado direito. Em seguida aplique opera coes elementares no
sistema expandido que transformem a matriz A na matriz I, e verique que a matriz I se transforma na
inversa A
1
:
a. A =
_

_
2 1 3
1 1 2
2 2 1
_

_
L. A. P. Cantao & F. S. Stark 33
Captulo 2. Revisao Matematica PL
b. A =
_

_
1 0 1
0 1 0
1 2 0
_

_
2. Verique que os seguintes conjuntos de vetores formam uma base no R
3
:
a. (1, -1, 2); (0, 5, 0); (2, 0, 6);
b. (-1, 5, 1); (2, 0, -2); (1, 0, 4);
c. (1, 0, 0); (1, 1, 0); (1, 1, 1);
3. Expresse o vetor (1, 1, 1) em cada base existente do exerccio anterior.
4. Encontre todas as solu coes basicas dos sistemas
a.
x
1
2x
2
+2x
3
4x
4
= 2
3x
1
5x
2
+x
3
+3x
4
= 4
b.
2x
1
+3x
2
+5x
3
= 5
x
1
4x
2
2x
3
= 3
5. Dada a matriz A com cinco colunas A
1
,A
2
,A
3
,A
4
,A
5
:
A =
_

_
1 2 1 0 0
2 3 0 1 0
1 2 0 0 1
_

_
usando os procedimentos de Gauss-Jordan, expresse A nas bases:
a. B
1
=(A
1
,A
4
,A
5
); b. B
1
=(A
1
,A
2
,A
5
); c. B
1
=(A
1
,A
2
,A
3
).
6. Calcule o posto de A:
A =
_

_
1 1 1 1
2 1 1 0
0 3 1 1
_

_
7. Nos problemas de (a) ate (e), resolver os sistemas pelo metodo de elimina cao de Gauss.
_

_
2x +3y z = b
1
x 3y +z = b
2
x +2y z = b
3
(a) Para b
1
= 2, b
2
= 5 e b
3
= 7.
(b) Para b
1
= 1, b
2
= 6 e b
3
= 0.
(c) Para b
1
= 2, b
2
= 8 e b
3
= 9.
(d) Para b
1
= 4, b
2
= 3 e b
3
= 2.
(e) Para b
1
= 4, b
2
= 7 e b
3
= 9.
8. (Engenharia de Controle e Automacao) Deseja-se construir um circuito como o mostrado na gura 2.5.
onde V
1
= 280V , V
2
= 100V , V
3
= 50V , R
1
= 20, R
2
= 30, R
3
= 50, R
4
= 40 e R
5
= 100.
Dispoe-se de uma tabela de precos de varios 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 fabricacao
seja a de menor custo possvel?
L. A. P. Cantao & F. S. Stark 34
Captulo 2. Revisao Matematica PL
Figura 2.5: Sistema de circuito
Resistencias
20 30 40 50 100
10 10 15 15 20 0.5 A Corrente
15 20 15 15 25 1.0 A Maxima
20 22 20 20 28 3.0 A Suportada
30 30 34 34 37 5.0 A
Tabela 2.1: Dados das resistencias disponveis.
9. (Engenharia Ambiental) Necessita-se adubar um terreno, de acordo com um plano de recupera cao, acres-
centado a cada 10m
2
: 140 g de nitrato, 190g de fosfato e 205 g de potassio.
Dispoe-se de quatro qualidade de adubo com as respectivas caractersticas, incluindo sua unidade de custo
de produ cao (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 potassio;
(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
potassio;
(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 potassio;
(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
potassio;
Quanto de cada adubo devemos misturar para conseguir o efeito desejado se estamos dispostos a gastar 54
u.c.p a cada 10m
2
com a aduba cao?
L. A. P. Cantao & F. S. Stark 35
CAP

ITULO 3
Metodo Simplex
3.1 Teorema Fundamental da Programa cao Linear
No Captulo 1, o metodo de resolu cao graca de um problema foi utilizado apenas para casos de duas ou tres
variaveis. Para problemas maiores, este metodo torna-se impraticavel, nesta situacao precisamos de uma tecnica
eciente para resolver problemas de Programa cao Linear (PL) com mais de tres variaveis. Uma dessas tecnicas
chama-se Metodo Simplex.
Para melhor compreender este metodo, devemos observar algumas considera coes sobre as solucoes dos sistemas
que representam os modelos, tomando como exemplo o item Identica cao do ponto otimo do Captulo 1. Vimos
que:
(i) A fun cao objetivo assume necessariamente um valor maximo e um valor mnimo quando a regiao poliedral
convexa (factvel) for limitada;
(ii) Os vertices desempenham um papel fundamental na procura de maximos e mnimos para a fun cao objetivo.
O primeiro resultado acima nos diz que os valores extremos de uma fun cao am
1
sao assumidos nos pon-
tos extremos dos segmentos (vertices). Da, podemos fazer colocacoes e generaliza coes
2
, obtendo o Teorema
Fundamental da Programa cao Linear:
Teorema 1. Seja f (x
1
, . . . , x
n
) = a
1
x
1
+ + a
n
x
n
+ b, onde b uma constaante qualquer, denida numa regiao
poliedral convexa A do R
n
. Suponha que f assuma um valor maximo (ou mnimo) nesta regiao. Entao, se A possui
vertice(s), este valor maximo (ou mnimo) sera assumido num vertice.
Considerando um problema de Programa cao Linear na forma padrao:
min f (x)
Sujeito a Ax = b
x 0
onde A e uma matriz m (n + m) de posto m, entao:
i) se ha uma solu cao factvel, ha uma solu cao basica factvel.
ii) se ha uma solu cao factvel otima, ha uma solucao basica facvel otima.
1
Funcao linear mais contantes.
2
Para mais informac oes e deduc oes do teorema consultar paginas 368/369 em [4].
Captulo 3. Metodo Simplex PL
Do teorema anterior e da equivalencia entre solu cao basica factvel e vertice temos que o Metodo Simplex e
nito, pois um sistema linear de m equa coes com (m + n) incognitas tem no maximo, por combina cao:
_
m + n
m
_
=
_
(m + n)!
m!n!
_
Solu coes basicas
Logo, o Simplex efetua um numero menor que
_
n + m
m
_
intera coes para encontrar a solu cao otima, pois o
algoritmo Simplex e um procedimento de busca, isto e, move-se de vertice factvel em vertice factvel ate encontrar
a solucao basica factvel otima.
3.1.1 Transi cao da solu cao graca para a solu cao algebrica
No metodo graco, a regiao de solu coes e delineada pelos meios-espa cos (regioes delimitadas pelas restri coes),
sendo possvel gracamente observar porque a regiao factvel tem um numero innito de pontos de solu cao, uma
vez que nos exemplos citados, apresentava-se um plano e que por denicao compreende innitos pontos (podendo
ser extendido aos casos do R
3
. . . R
n
, como volumes e passando para formas nao possveis de serem representadas
geometricamente).
No Metodo Simplex, a regiao de solu coes e representada por m equa coes lineares simultaneas e n variaveis nao
negativas. Neste caso, tambem ocorre um numero innito de pontos de solu cao, dado que o numero de equa coes
m e sempre menor que ou igual ao numero de variaveis n, pois se nao fosse assim, teramos no mnimo (m n)
equa coes redundantes, ou seja, linearmente dependentes.
Contudo, antes de vermos como o Simplex atua diante desse fato de innidade de solu coes, vejamos como
trabalhar com os metodos graco e algebrico e as mudan cas entre ambos. A Figura 3.1 ilustra esta transi cao, de
um modo comparativo.
3.2 Metodo Simplex
3.2.1 Modelo de Programa cao Linear em forma de equa cao - Forma Padrao
O desenvolvimento do calculos do Simplex e facilitado pela imposi cao de dois requisitos `as restri coes do pro-
blema:
1. Todas as restricoes (com excecao da nao negatividade das variaveis) sao equa coes cujos lados direitos sao
nao negativos;
2. Todas as variaveis sao nao negativas.
A nalidade destes dois requisitos e padronizar e tornar mais eciente os calculos de metodo simplex. Contudo,
antes apresentamos as disposi coes dos problemas na Forma Padrao e na Forma Canonica
3.2.2 Forma Padrao
A forma padrao e aquela em que as restricoes sao expressas por meio de equa coes lineares:
L. A. P. Cantao & F. S. Stark 37
Captulo 3. Metodo Simplex PL
Figura 3.1: Transi cao de solucao graca para algebrica.
max ou min f (x) = c
1
x
1
+ c
2
x
2
+ . . . + c
n
x
n
Sujeito a a
11
x
1
+ a
12
x
2
+ . . . + a
1n
x
n
= b
1
a
21
x
1
+ a
22
x
2
+ . . . + a
2n
x
n
= b
2
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
a
m1
x
1
+ a
m2
x
2
+ . . . + a
mn
x
n
= b
n
x
i
0, (i = 1 : n)
Em termos de matrizes, pode-se representar a forma padrao da PL como:
min f (x) = cx
Sujeito a Ax = b
x 0
em que:
L. A. P. Cantao & F. S. Stark 38
Captulo 3. Metodo Simplex PL
A = matriz m n dos coecientes tecnologicos
3
.
b = matriz m 1 das constantes do lado direito.
x = matriz n 1 das variaveis de decisao.
c = vetor 1 n dos coecientes da fun cao objetivo f (x).
3.2.3 Forma Canonica
Diz-se que o sistema esta na forma canonica quando, embutida na matriz dos coecientes, encontra-se a
matriz identidade. Em consequencia, esse sistema admite uma solu cao trivial em que as variaveis nao associadas
`as colunas da matriz identidade sao nulas.
O sistema a seguir exemplica um problema de PL com restri coes na forma canonica. Alem disso, se para todo
i = 1 : m, b
i
0, a solu cao e tambem viavel, com x
n+1
= b
i
, enquanto as demais variaveis x
1
, . . . , x
n
sao nulas.
max ou min f (x) = c
1
x
1
+ c
2
x
2
+ . . . + c
n
x
n
+ (c
n+1
x
n+1
+
. . . + c
n+m
x
n+m
)
Sujeito a a
11
x
1
+ a
12
x
2
+ . . . + a
1n
x
n
+ x
n+1
= b
1
a
21
x
1
+ a
22
x
2
+ . . . + a
2n
x
n
+ x
n+2
= b
2
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
a
m1
x
1
+ a
m2
x
2
+ . . . + a
mn
x
n
+ x
n+m
= b
m
x
1
: x
n+m
0
Note que na funcao objetivo, temos as variaveis de folga ou excesso representadas dentro do parenteses.
Uma outra situa cao muito conveniente e quando as restricoes originais se apresentam com sinal , enquanto
o vetor b 0, o que corresponde, em nota cao matricial, ao problema de PL:
min f (x) = cx
Sujeito a Ax b
x 0
Nesse caso, todas as restri coes transformam-se em equacoes mediante a inclusao de variaveis de folga (ou
excesso), uma para cada desigualdade, e o sistema para a forma canonica.
A seguir mostraremos como lidar com desigualdades e variaveis irrestritas, convertendo os problemas para a
forma canonica.
3.2.4 Conversao de desigualdades em equa coes com o lado direito nao negativo
Em restri coes (), o lado direito pode ser considerado como a representa cao de um limite imposto `a disponi-
bilidade de um determinado recurso, enquanto que o esquerdo, a utiliza cao desse recurso limitado pelas variaveis
(opera coes) do modelo. A diferen ca entre um lado e outro pode ser interpretado como uma quantidade de recurso
nao utilizada ou uma folga.
Deste modo, para eliminarmos a desigualdade, fazemos a adi cao de uma variavel de folga nao negativa (x
fn
)
ao lado esquerdo da inequa cao. Considere o Exemplo 13 do Captulo 2, que faz uso dessa opera cao matematica,
contudo, imagine a adi cao da restricao a seguir:
3
Tais variaveis sao chamadas de tecnologicas pois, dependem do modelo segundo o qual temos tecnologia para empregar naquele
instante - seja em aparelhos de medi cao ou mesmo nos componentes envolvidos em processos de produ cao, como maquinas que
processam um numero maximo ou um numero mnimo de determinada substancia.
L. A. P. Cantao & F. S. Stark 39
Captulo 3. Metodo Simplex PL
x
1
+ x
2
10 =x
1
+ x
2
+ x
f3
= 10, com x
f3
0
De forma analoga, se a restricao for () entao, conseguimos a igualdade com a subtra cao de uma variavel
de sobra (ou excesso) nao negativa ao lado esquerdo da inequa cao. Temos a restricao:
x
1
+ x
2
10 =x
1
+ x
2
x
f3
= 10, com x
f3
0
Agora, o unico requisito e deixar o lado direito da inequa cao resultante nao negativo. Como exemplo:
x
1
+ x
2
10 =x
1
x
2
x
f3
= 10, com x
f3
0
x
1
+ x
2
10 =x
1
x
2
+ x
f3
= 10, com x
f3
0
Assim, faz-se a transforma cao em igualdade, e em seguida multiplica-se por (-1).
3.2.5 Como lidar com variaveis irrestritas
Em alguns casos, as variaveis podem oscilar entre positivo e negativo, talvez o melhor exemplo seja a contrata cao
e a demissao de funcionarios em uma linha produtiva.
Se x
i
( 0) for a quantidade de mao-de-obra no perodo i (um mes, uma quinzena etc), entao x
i +1
( 0), a
quantidade necessaria para o proximo perodo i + 1 pode ser expresso como:
x
i +1
= x
i
+ y
i +1
A variavel y
i +1
deve ser irrestrita ao sinal, para permitir que x
i +1
aumente ou diminua em rela cao a x
i
, isto e,
dependa do numero de contratados e demitidos, respectivamente.
Podemos satisfazer o requisito da variavel nao negativa com a substitui cao:
y
i +1
= y

i +1
y
+
i +1
onde y

i +1
0 e y
+
i +1
0
Para mostrar que a substitui cao e valida, suponha que no perodo 1 a mao-de-obra seja x
1
= 30 e que no
perodo 2 tenha de aumentar em 10 trabalhadores chegando a 40. Em termos da substituicao, y

2
e y
+
2
, sera
equivalente a y
+
2
= 0 e y

2
= 10 ( resultando em y
2
= 10). De maneira semelhante se for reduzida em 10, teremos
y

2
= 0 e y
+
2
= 10 ( resultando em y
2
= 10). A substitui cao tambem permite a possibilidade de nao haver
altera cao na mao-de-obra, fazendo com que ambas as variaveis assumam um valor igual a zero.
3.2.6 Variaveis Nao Positivas
Suponha um programa linear em que a variavel de decisao x nao possa ser positiva, ou seja, x 0. Nesse caso,
faz-se uma troca de variavel:
x = x
1
, em que x
1
0
L. A. P. Cantao & F. S. Stark 40
Captulo 3. Metodo Simplex PL
3.2.7 Transformando o Problema de Maximiza cao em Minimiza cao
Utilizando-se a relacao de max{f (x)} = min{f (x)}, uma situa cao de maximiza cao pode se transformar em
uma de minimiza cao. Como exemplo, considere a parabola:
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 fun cao por (1), ela e substituda por outra simetrica em relacao ao eixo horizontal
e o mnimo de uma ocorre na mesma abscissa que o maximo da outra, naturalmente com sinal inverso. Entao,
max{f (x)} = min{f (x)}.
3.2.8 Princpios do Metodo Simplex
Suponha o modelo do Exemplo 6 do Captulo 1 resolvido gracamente. Com a auxlio desse exemplo, serao
expostos, passo a passo, os Princpios do Simplex. Seja o modelo:
max f (x) = 2x
1
+ 3x
2
Sujeito a: x
1
+ 2x
2
8
2x
1
+ 3x
2
5
x
1
+ x
2
6
x
1
0
x
2
0
Como dito, as inequa coes do tipo () podem ser transformadas em equa coes pela insercao de tres variaveis de
folga, com peso nulo na fun cao objetivo, de modo que obtem-se o sistema na forma canonica.
max f (x) = 2x
1
+ 3x
2
+ 0x
3
+ 0x
4
+ 0x
5
Sujeito a: x
1
+ 2x
2
+ x
3
= 8
2x
1
+ 3x
2
+ x
4
= 5
x
1
+ x
2
+ x
5
= 6
x
i
0 para i = 1 : 5
O sistema acima possui uma solucao trivial, ou seja, fazendo x
1
= 0 e x
2
= 0, temos:
Variaveis Basicas
_

_
x
3
= 8
x
4
= 5
x
5
= 6
Variaveis Nao basicas
_
x
1
= 0
x
2
= 0
As variaveis denidas como nulas sao as nao basicas; as demais sao chamadas de variaveis basicas e formam
a base do sistema linear. A expressao entrar na base signica fazer uma variavel nao basica deixar o valor nulo e
crescer ate o maximo valor que lhe seja possvel e, portanto, positiva ou eventualmente nula.
Como primeira solu cao do sistema, tem-se f (x) = 2(0) + 3(0) = 0. Observando que esse ponto corresponde
ao ponto da origem x
1
= 0 e x
2
= 0.
A Primeira Itera cao
Observando-se os coecientes da fun cao objetivo, f (x) = 2x
1
+3x
2
, ve-se que o aumento de x
1
ou x
2
, ou seja,
a entrada de qualquer uma delas na base, devera aumentar o valor de f (x), pois ambos tem coecientes positivos
L. A. P. Cantao & F. S. Stark 41
Captulo 3. Metodo Simplex PL
nessa fun cao. Como se deseja maximizar, parece intuitivo escolher primeiro aquela variavel cujo coeciente e maior,
nesse caso a variavel x
2
.
Para que a variavel x
2
entre na base e aumente seu valor ao maximo, e necessario identicar qual variavel basica
deve sair da base e, portanto, se anular. Utilizamos o sistema a seguir para vericar as mudancas nos valores das
variaveis basicas x
3
, x
4
e x
5
quando aumentamos o valor de x
2
4
.
_

_
x
1
+ 2x
2
+ x
3
= 8
2x
1
+ 3x
2
+ x
4
= 5
x
1
+ x
2
+ x
5
= 6
Mantendo-se x
1
= 0 e deixando o sistema em funcao de x
2
temos:
x
3
= (8 2x
2
) 0
x
4
= (5 3x
2
) 0
x
5
= (6 x
2
) 0
Ao se aumentar o valor de x
2
em 1 unidade, o valor de x
3
decresce 2 unidades, x
4
descrece 3 unidades e x
5
decresce 1 unidade. Para anular as outras variaveis e mante-las ainda nao negativa, devemos encontrar os valores
de x
2
que facam isso, podendo em seguida em qual destas variaveis x
2
apresenta seu valor mnimo (denotado por

5
).
Portanto, = x
2
= min{
8
2
,
5
3
,
6
1
} =
5
3
, ou seja, para x
2
=
5
3
, obtem-se x
4
= 0, enquanto a demais variaveis
permanecem nao negativas (sao factveis ao modelo). Logo, x
4
sai da base, entrando x
2
com valor
5
3
, e a fun cao
objetivo passa a : f (x) = 2(0) + 3
_
5
3
_
= 5, isto e, ja temos um valor de funcao objetivo para a comparacao com
as proximas itera coes.
A nova base sera formada por x
2
, x
3
e x
5
. Para representa-la, basta transformar o sistema inicial, expressando-o
na nova base. Para isso, sao feitas opera coes elementares no sistema, tornando os coecientes de x
2
um elemento
da matriz identidade, a saber:
Dividir a 2
a
linha por 3, o que resulta em =
2
3
x
1
+ x
2
+
1
3
x
4
=
5
3
Somar `a 1
a
linha a nova 2
a
linha multiplicada por (2) =
7
3
x
1
+ (0)x
2
+ x
3

2
3
x
4
=
14
3
Somar `a 3
a
linha a nova 2
a
linha multiplicada por (1) =
5
3
x
1
+ (0)x
2

1
3
x
4
+ x
5
=
13
3
Com essas altera coes, o sistema e reescrito conforme:
_

_
7
3
x
1
+ x
3

2
3
x
4
=
14
3
2x
1
+ x
2
+
1
3
x
4
= 5
5
3
x
1

1
3
x
4
+ x
5
= 6
Pelas variaveis, tem-se:
4
Ao se realizar esse procedimento atente para manter as variaveis x
3
, x
4
e x
5
nao negativas.
5
O pode ser visto como a razao
b
i
a
i j
do sistema, como j sendo o numero da variavel (coluna) e i o numero da equacao (linha)
trabalhadas.
L. A. P. Cantao & F. S. Stark 42
Captulo 3. Metodo Simplex PL
Variaveis Basicas
_

_
x
3
=
14
3
x
2
=
5
3
x
5
=
13
3
Variaveis Nao basicas
_
x
1
= 0
x
4
= 0
O valor da funcao objetivo f (x) = 2x
1
+ 3x
2
= 2(0) + 3
_
5
3
_
= 5. Consultando-se a solu cao graca, o ponto
obtido na segunda itera cao corresponde ao vertice (x
1
,x
2
) =
_
0,
5
3
_
. Necessitamos agora saber se a solu cao
encontrada e otima, para tanto devemos expressar a fun cao objetivo em termos das variaveis nao basicas, nesse
momento sendo x
1
e x
4
.
Da segunda linha do sistema modicado obtemos x
2
em termos das variaveis x
1
e x
4
, como:
x
2
=
5
3
+
2
3
x
1

1
3
x
4
Substituindo na fun cao objetivo:
f (x) = 2x
1
+ 3x
2
=2x
1
+ 3
_
5
3
+
2
3
x
1

1
3
x
4
_
=5 + 4x
1
x
4
Desta expressao, vemos que se valor de x
4
aumentar, a funcao decresce; enquanto que um aumento no valor de
x
1
aumenta em quatro unidades a fun cao objetivo. Logo, a fun cao objetivo nao esta no seu valor otimo, podendo
aumentar caso x
1
entre na base (e ainda x
4
que de fora).
Segunda Itera cao
Analogamente, para x
1
entrar na base e aumentar de valor, e necessario identicar qual variavel (x
2
, x
3
ou x
5
)
devera sair. Para acompanhar o raciocnio algebrico, reescrevemos o sistema modicado com x
4
nulo:
_

_
7
3
x
1
+ x
3
=
14
3
2x
1
+ x
2
= 5
5
3
x
1
+ x
5
= 6
Deixando o sistema em fun cao de x
1
para todas as variaveis e considerando-as como zero, temos:
_

_
x
3
=
14
3

7
3
x
1
x
2
=
5
3
+
2
3
x
1
x
5
=
13
3

5
3
x
1
Na primeira restri cao, a variavel x
3
atinge o valor zero quando x
1
= 2; na segunda, a variavel nao atinge o valor
zero pois o coeciente de x
1
e negativo, o que aumenta o valor quando colocado em fun cao de x
1
; na terceira, x
5
se anula quando x
1
=
13
5
. Portanto, = x
1
= min
_
2, ,
13
5
_
= 2.
Para x
1
= 2, as variaveis assumem os valores:
L. A. P. Cantao & F. S. Stark 43
Captulo 3. Metodo Simplex PL
_

_
x
1
= 2
x
2
= 3
x
3
= 0
x
4
= 0
x
5
= 1
Para os valores encontrados das variaveis a fun cao objetivo f (x) = 2(2) + 3(3) = 13, o que e maior que o 5
encontrado na itera cao anterior. A nova base sera formada agora por x
1
, x
2
e x
5
. Para representa-la e necessario
a aplicacao de operacoes elementares, o que resulta em:
_

_
x
1
+
3
7
x
3

2
7
x
4
= 2
+ x
2
+
2
7
x
3
+
1
7
x
4
= 3

5
7
x
3
+
1
7
x
4
+ x
5
= 1
Em que:
Variaveis Basicas
_

_
x
1
= 2
x
2
= 3
x
5
= 1
Variaveis Nao basicas
_
x
3
= 0
x
4
= 0
Comparando esse resultado com a solu cao graca, nota-se que esta corresponde ao vertice (x
1
,x
2
) = (2, 3).
Agora realizamos o procedimento de colocar a fun cao objetivo em termos das variaveis nao basicas, utilizando as
equa coes que possuem as variaveis x
1
e x
2
do sistema obtido:
x
1
= 2
3
7
x
3
+
2
7
x
4
x
2
= 3
2
7
x
3
+
1
7
x
4
a funcao objetivo f(x) ca como:
f (x) = 13
12
7
x
3
+
1
7
x
4
Terceira Itera cao
Pela ultima expressao da fun cao objetivo, se x
3
aumentar, a fun cao decresce; enquanto que se x
4
aumentar,
a funcao cresce, portanto, x
4
deve entrar na base do sistema (note que aparentemente ela parecia nao ser uma
candidata a entrar na base). Temos o sistema como:
_

_
x
1
+
3
7
x
3

2
7
x
4
= 2
+ x
2
+
2
7
x
3
+
1
7
x
4
= 3

5
7
x
3
+
1
7
x
4
+ x
5
= 1
Fazendo-se as comparacoes dentro do sistema, com x
3
= 0, obtemos para x
1
, x
2
e x
5
respectivamente, um
= x
4
= min{, 21, 7} = 7, portanto a variavel x
5
sai da base para a entrada de x
4
. Com as altera coes de
mudan ca de base chegamos no sistema:
L. A. P. Cantao & F. S. Stark 44
Captulo 3. Metodo Simplex PL
_

_
x
1
x
3
+ 2x
5
= 4
x
2
+ x
3
x
5
= 2
5x
3
+ x
4
+ 7x
5
= 7
Em que:
Variaveis Basicas
_

_
x
1
= 4
x
2
= 2
x
4
= 7
Variaveis Nao basicas
_
x
3
= 0
x
5
= 0
Chegamos assim `a solu cao otima no vertice (x
1
, x
2
) = (4, 2), com f (x) = 14. Para efeito de conrma cao
algebrica, colocamos a fun cao em termos das variaveis nao basicas, obtendo:
f (x) = 14 x
3
x
5
Neste caso, vericamos que ambas as variaveis quando aumentadas, reduzem o valor da funcao objetivo, isto e, a
solu cao encontrada e a melhor possvel.
A solucao graca e as solucoes encontradas
Na Figura 3.2 vericamos os pontos:
Figura 3.2: Solu cao graca, solu cao unica.
A para a solu cao trivial;
B para a primeira itera cao;
C para a segunda itera cao;
D para a terceira itera cao, com solu cao otima;
L. A. P. Cantao & F. S. Stark 45
Captulo 3. Metodo Simplex PL
E, o ponto E e o ponto o qual iramos recair se em vez de x
2
na primeira iteracao, se tivessemos escolhido
x
1
, o que tambem economizaria uma iteracao, ja que a segunda iteracao dessa escolha passaria ao ponto C
(verique como exerccio).
Aqui, devemos ressaltar que nao ha uma regra clara para a escolha de qual variavel entra e qual sai da base a
priori, como um palpite inicial, isso pode reduzir muitos passos de acordo com a extensao de quantas variaveis se
esta trabalhando. Uma possibilidade e a escolha da variavel pelo coeciente mais favoravel possvel e outra e a de
se escolher aleatoriamente uma das variaveis com coeciente favoravel, independente do valor, contudo, nao ha
provas de qual das duas seja melhor.
Na proxima subse cao veremos como usar o Metodo Simplex na forma de quadros (tabelas).
3.2.9 Metodo Simplex na forma de quadros - Tableau Simplex
Utilizar o Tableau Simplex e um modo de visualiza cao mais claro de uma iteracao e de melhor identicar os
procedimentos a serem feitos para as iteracoes subsequentes. Para colocarmos o sistema na forma de quadros,
utilizaremos a fun cao f (x) como uma restri cao e realizaremos as transforma coes pertinentes ao modo canonico.
Tomando o exemplo da subse cao anterior, obtemos:
max f (x) 2x
1
3x
2
+0x
3
+0x
4
+0x
5
= 0
Sujeito a: x
1
+2x
2
+x
3
= 8
2x
1
+3x
2
+x
4
= 5
x
1
+x
2
+x
5
= 6
x
i
0 para i = 1 : 5
Dado o sistema acima, podemos escreve-lo como a tabela 3.1 (tableau):
Base f (x) x
1
x
2
x
3
x
4
x
5
b Linha
max 1 2 3 0 0 0 0 (0)
x
3
0 1 2 1 0 0 8 (1)
x
4
0 2 3 0 1 0 5 (2)
x
5
0 1 1 0 0 1 6 (3)
Tabela 3.1: Dados apresentados na forma tableau.
Agora devemos iniciar a analise dos dados para efetuar as trocas de base. Come camos com a linha (0), onde
estao os coecientes de x
1
e x
2
, vericando que ambas as variaveis, quando aumentados seus valores, obrigam o
aumento da fun cao f (x) para que a equacao seja verdadeira (uma vez que os coecientes de ambas sao negativos),
portanto, uma das duas deve entrar na base e uma das variaveis formadoras da atual base deve sair.
Como a variavel x
2
apresenta maior coeciente, esta sera escolhida para entrar primeiro na base. Procedemos
entao com o destaque da coluna na qual esta a variavel que entrara na base:
Base f (x) x
1
x
2
x
3
x
4
x
5
b Linha
max 1 2 3 0 0 0 0 (0)
x
3
0 1 2 1 0 0 8 (1)
x
4
0 2 3 0 1 0 5 (2)
x
5
0 1 1 0 0 1 6 (3)
Tabela 3.2: Come co da vericacao da troca de variaveis.
L. A. P. Cantao & F. S. Stark 46
Captulo 3. Metodo Simplex PL
Para escolhermos a variavel que sai da base, realizamos o teste do quociente para vericar qual o menor valor
de e assim selecionar a variavel que devera sair da base. Esse teste consiste em dividir o valor de b
i
por a
i j
(desde
que a
i j
seja positivo), sendo j a coluna da variavel de entrada. Temos entao:
Base f (x) x
1
x
2
x
3
x
4
x
5
b Linha Razao: min =
max 1 2 3 0 0 0 0 (0) -/-
x
3
0 1 2 1 0 0 8 (1) 8/2 = 4
x
4
0 -2 3 0 1 0 5 (2) 5/3 = 1.67
x
5
0 1 1 0 0 1 6 (3) 6/1 = 6
Tabela 3.3: Teste do quociente para x
2
.
A variavel que sai da base e x
4
e o elemento a
22
= 3 e chamado de pivo. Em seguida realizamos as opera coes
elementares (Metodo de Gauss-Jordan) para chegarmos a nova tabela:
Base f (x) x
1
x
2
x
3
x
4
x
5
b Linha
max 1 4 0 0 1 0 5 (0)
x
3
0 7/3 0 1 2/3 0 14/3 (1)
x
2
0 2/3 1 0 1/3 0 5/3 (2)
x
5
0 5/3 0 0 -1/3 1 13/3 (3)
Tabela 3.4: Resultados da primeira itera cao.
Apos a primeira iteracao, constatamos que f (x) = 5, quando as variaveis nao basicas forem zero. Entretanto,
como o coeciente de x
1
permanece negativo, se a variavel tiver acrescimo em seu valor, teremos um aumento na
fun cao f (x) e podemos melhorar o seu valor.
Para a entrada de x
1
na base procedemos analogamente a x
2
. A tabela do teste do coeciente e:
Base f (x) x
1
x
2
x
3
x
4
x
5
b Linha Razao: min =
max 1 4 0 0 1 0 5 (0) -/-
x
3
0 7/3 0 1 2/3 0 14/3 (1) (14/3)/(7/3) = 2
x
2
0 2/3 1 0 1/3 0 5/3 (2) -/-
x
5
0 5/3 0 0 1/3 1 13/3 (3) (13/3)/(5/3) = 13/5
Tabela 3.5: Teste do quociente para x
1
.
Com a entrada de x
1
, a variavel x
3
deve sair da base. Realizando as operacoes elementares pertinentes,
chegamos a tabela 3.6:
Base f (x) x
1
x
2
x
3
x
4
x
5
b Linha
max 1 0 0 12/7 1/7 0 13 (0)
x
1
0 1 0 3/7 2/3 0 2 (1)
x
2
0 0 1 2/7 1/7 0 3 (2)
x
5
0 0 0 5/7 1/7 1 1 (3)
Tabela 3.6: Resultados da segunda itera cao.
Vericando a linha(0) notamos que o coeciente da variavel x
4
e negativo, conclumos que esta exerce inuencia
L. A. P. Cantao & F. S. Stark 47
Captulo 3. Metodo Simplex PL
positiva sobre o valor de f (x) de modo que x
4
deve entrar na base. Com o teste do coeciente (tabela 3.7) sabemos
qual variavel saira.
Base f (x) x
1
x
2
x
3
x
4
x
5
b Linha Razao: min =
max 1 0 0 12/7 1/7 0 13 (0) -/-
x
1
0 1 0 3/7 2/3 0 2 (1) -/-
x
2
0 0 1 2/7 1/7 0 3 (2) (3)/(1/7) = 21
x
5
0 0 0 5/7 1/7 1 1 (3) (1)/(1/7) = 7
Tabela 3.7: Teste do quociente para x
4
.
A variavel x
5
sai da base, portanto, realizamos novamente algumas operacoes elementares para chegarmos a
tabela 3.8:
Base f (x) x
1
x
2
x
3
x
4
x
5
b Linha
max 1 0 0 1 0 1 14 (0)
x
1
0 1 0 1 0 2 4 (1)
x
2
0 0 1 1 0 1 2 (2)
x
4
0 0 0 5 1 7 7 (3)
Tabela 3.8: Resultados da terceira itera cao.
Observe que na linha(0) temos apenas termos com coecientes positivos, sendo assim, o aumento de uma
dessas variaveis resultaria em um valor de f (x) menor que 14, nao desejavel uma vez que queremos maximizar a
fun cao objetivo.
Entao, temos a melhor resposta possvel para o caso, isto e, a solu cao otima do sistema e f (x) = 14, com os
valores de: x
1
= 4, x
2
= 2 e x
4
= 7. Substituindo na fun cao f (x):
f (x) = 2x
1
+ 3x
2
+ 0x
3
+ 0x
4
+ 0x
5
=f (x) = 2(4) + 3(2) + 0(0) + 0(7) + 0(0) =f (x) = 14.
Agora veremos como os quadros se comportam quando temos Multiplas Solu coes e Solu coes Ilimitadas.
Tambem discutiremos Solu cao Inexistente, Escolha Inicial e Degenera cao.
3.2.10 Analise de Casos Especiais.
Multiplas Solucoes.
Seja o modelo proposto:
max f (x) = 2x
1
+ 4x
2
Sujeito a: x
1
+ 2x
2
5
x
1
+ x
2
4
x
1
, x
2
0
Reescrevendo o sistema para aplicarmos o Simplex, temos:
L. A. P. Cantao & F. S. Stark 48
Captulo 3. Metodo Simplex PL
max f (x) 2x
1
4x
2
+ 0x
3
+ 0x
4
= 0
Sujeito a: x
1
+ 2x
2
+ x
3
= 5
x
1
+ x
2
+ + x
4
= 4
x
i
0, p/ i = 1 : 4
Realizando-se a passagem para o quadro:
Base f (x) x
1
x
2
x
3
x
4
b Linha
max 1 2 4 0 0 0 (0)
x
3
0 1 2 1 0 5 (1)
x
4
0 1 1 0 1 4 (2)
Tabela 3.9: Dados apresentados na forma de quadro.
Apos as opera coes necessarias, com a entrada de x
2
e a sada de x
3
, obtemos o sistema abaixo:
Base f (x) x
1
x
2
x
3
x
4
b Linha
max 1 0 0 2 0 10 (0)
x
2
0 1/2 1 1/2 0 5/2 (1)
x
4
0 1/2 0 1/2 1 3/2 (2)
Tabela 3.10: Dados apresentados na forma de quadro.
Vericamos que o valor da funcao f (x) para este caso e 10. A solu cao e x
1
= 0 e x
2
=
5
2
, contudo, como
saber se existem outras tantas solu coes?
Resposta: Devemos observar que o coeciente de x
1
apos a primeira itera cao e zero, isto e, a variavel x
1
pode
entrar na base sem que ocasione mudan ca na solucao encontrada.
Vejamos entao se procedermos com uma segunda itera cao, inserindo x
1
e retirando-se x
4
, com resultado
apresentado:
Base f (x) x
1
x
2
x
3
x
4
b Linha
max 1 0 0 2 0 10 (0)
x
2
0 0 1 1 1 1 (1)
x
1
0 1 0 1 2 3 (2)
Tabela 3.11: Dados apresentados na forma de quadro.
Observe que apos a segunda iteracao, a variavel x
4
cou com coeciente nulo. Isto indica que o otimo da
fun cao neste caso esta enquadrado na reta x
1
+ 2x
2
= 5, que pertence `a primeira restri cao do problema.
Resumindo: na Solu cao Multipla, ocorre um processo no qual a variavel de entrada nao ocasiona mudan ca no
valor da fun cao objetivo. E mesmo apos mais uma itera cao, a resposta permanece a mesma (exceto se a variavel
que for entrada nao e condizente com o criterio da funcao objetivo - maximiza cao ou minimiza cao). Para mais
informa coes, vide [14].
Solu cao Ilimitada.
Vejamos o problema:
L. A. P. Cantao & F. S. Stark 49
Captulo 3. Metodo Simplex PL
max f (x) = 2x
1
+ x
2
Sujeito a: x
1
x
2
10
2x
1
40
x
1
, x
2
0
Para aplicarmos o Metodo Simplex realizamos as mudan cas, obtendo:
max f (x) 2x
1
x
2
+ 0x
3
+ 0x
4
= 0
Sujeito a: x
1
x
2
+ x
3
= 10
2x
1
+ + x
4
= 40
x
i
0, p/ i = 1 : 4
Na forma de quadro:
Base f (x) x
1
x
2
x
3
x
4
b Linha
max 1 -2 -1 0 0 0 (0)
x
3
0 1 -1 1 0 5 (1)
x
4
0 2 0 0 1 4 (2)
Tabela 3.12: Dados apresentados na forma de quadro.
Neste caso, o que ocorre no quadro e que em algum passo do Metodo Simplex, havera na linha(0) uma variavel
x
k
com coeciente indicando melhoria na fun cao objetivo, porem todos os coecientes da coluna a
i k
dessa variavel
sao nao positivos, nao possibilitando o teste do coeciente (essa variavel pode ser aumentada indenidamente,
uma vez que nenhuma outra se anulara).
Neste exemplo ocorre esse fato antes da primeira itera cao. A visualiza cao graca e dada pela Figura 3.3.
Da Figura 3.3 (A) e a restricao 2x
1
40, (B) a reta fun cao objetivo f (x) = 2x
1
+ x
2
e (C) a restricao
x
1
x
2
10. Note que a fun cao tem como regiao de solu cao a intersec cao com a regiao factvel.
Solu cao Inexistente ou Infactvel.
Se o conjunto de restri coes e incompatvel, o que signica conjunto solucao vazio, a aplica cao do Metodo
Simplex produzira uma anomalia que impedira a identica cao da solu cao basica (pois nenhuma existe). Observe o
problema abaixo:
max f (x) = 3x
1
+ 2x
2
Sujeito a: 2x
1
+ x
2
2
3x
1
+ 4x
2
12
x
1
, x
2
0
A fun cao objetivo corta a regiao fora das duas areas delimitadas pelas restri coes, sendo assim, nenhum ponto
de solucao e encontrado.
Escolha Inicial - Empate na Entrada.
Como dito, nao ha um criterio claro quanto `a escolha da variavel que devera entrar na base do sistema. Podemos
atentar para os coecientes das variaveis na fun cao objetivo, isto e, qual a inuencia deles quando os valores das
variaveis oscilam.
L. A. P. Cantao & F. S. Stark 50
Captulo 3. Metodo Simplex PL
Figura 3.3: Regiao do Exemplo 3.12.
Em alguns casos, na funcao objetivo pode ocorrer um empate nos coecientes das variaveis, como por exemplo,
na funcao 3x
1
+ 3x
2
. Se ocorrer algo assim, tanto no incio quanto em alguma das itera coes (ha mais de um
coeciente com custos relativos iguais pleiteando entrada na base), a escolha ca aleatoria.
Escolha no Termino de uma Itera cao - Empate na Sada e Degenera cao.
A ocorrencia deste caso esta 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 variaveis que podem sair da base.
No caso do empate dos quocientes, apos se pivotar, a variavel mantida na base cara com valor zero. Dizemos,
entao, que a solu cao basica e degenerada. A degenera cao consiste em uma solucao basica na qual uma das
variaveis basicas tem o valor zero. No comeco do uso do Metodo Simplex, essa problematica despertava interesse,
uma vez que poderia ocorrer o que se chama de ciclagem ou loop (quando uma variavel ca nula e tende a ser
tirada da base, contudo no novo passo a variavel que entrou nao ocasiona mudanca no valor da fun cao, gerando
assim um processo innito de troca de base).
Em modelos reais, pelo arredondamento e pelos coecientes menos exatos, esse problema tende a nao ocorrer.
Contudo, ressaltamos que se houver algum erro durante o processo de calculo computacional, esse fenomeno nao
deve ser totalmente descartado.
3.2.11 Base Articial.
Ate aqui todos os problemas apresentados estavam na forma canonica (ou pelo menos em uma forma padrao
de facil transforma cao) e com uma base inicial. Entretanto, apesar desta ser a condicao inicial para a aplica cao do
algoritmo, em muitos problemas nao se tem uma base inicial, impossibilitando o uso do Metodo Simplex.
L. A. P. Cantao & F. S. Stark 51
Captulo 3. Metodo Simplex PL
Nesta secao serao abordados dois recursos para lidar com a situa cao descrita anteriormente. Tais metodos
consistem na insercao de variaveis articiais, produzindo como consequencia uma base articial. Com esse artifcio
espera-se que, por meio de pivoteamentos, a base articial seja substituda por uma base com variaveis reais do
modelo.
Variaveis Articiais.
Para o caso geral, introduzimos m variaveis articiais a cada equa cao.
`
As vezes, o modelo apresenta variaveis
que so guram em uma equa cao, constituindo parte de uma base. Nesse caso, podemos economizar nas variaveis
a serem introduzidas, de modo que o numero de variaveis articiais pode ser inferior a m.
Seja o sistema geral:
max c
1
x
1
+ c
2
x
2
+ . . . c
n
x
n
Suj. a: a
11
x
1
+ a
12
x
2
+ . . . a
1n
x
n
+ x
a1
= b
1
a
21
x
1
+ a
22
x
2
+ . . . a
2n
x
n
+ x
a2
= b
1
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
=
.
.
.
a
m1
x
1
+ a
m2
x
2
+ . . . a
mn
x
n
+x
am
= b
1
x
1
, . . . , x
n
, x
a1
, . . . , x
am
0
Embora agora o problema esteja na forma esperada para ser utilizado pelo Metodo Simplex, temos variaveis
que nao fazem parte do sistema original. Na solu cao nal desejamos que as variaveis extras sejam retiradas da
base estando no nvel zero. Para for car a sada das variaveis articiais, utilizamos dois metodos: Metodo do M
Grande e o Metodo das Duas Fases.
3.2.12 O Metodo do M-Grande
O Metodo do M-Grande, ou Big M, consiste em se acrescentar `a fun cao objetivo do problema original as
variaveis articiais com coecientes negativos muito grandes (M) nos casos de maximiza cao, ou (+M) no caso
de minimizacao.
Como se quer aperfei coar a fun cao objetivo, as variaveis articiais deverao ter seus valores reduzidos a zero e
sair da base. Se, ao nal das iteracoes necessarias de otimiza cao, for encontrado um valor otimo de f (x), e todas
as variaveis articiais estiverem nulas e fora da base, entao este valor sera o mesmo do problema original, indicando
tambem o valor das variaveis de decisao.
Caso a solu cao otima contenha uma variavel articial, o problema e infactvel, apontando que nem todas as
variaveis articiais puderam ser retiradas da base. Contudo, se na solucao, o otimo de f (x) conter alguma variavel
articial na base com valor nulo, signica entao que as equa coes nas quais elas estao presentes sao 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 variaveis:
min f (x) = 4x
1
+ x
2
Suj. a: 3x
1
+ x
2
= 3
4x
1
+ 3x
2
6
x
1
+ 2x
2
4
x
1
, x
2
0
L. A. P. Cantao & F. S. Stark 52
Captulo 3. Metodo Simplex PL
Acrescentando duas variaveis x
3
de sobra e x
4
de folga, na forma de equa coes temos:
min f (x) = 4x
1
+ x
2
Suj. a: 3x
1
+ x
2
= 3
4x
1
+ 3x
2
x
3
= 6
x
1
+ 2x
2
+ x
4
= 4
x
1
, x
2
, x
3
, x
4
0
A terceira equa cao tem uma variavel da folga (x
4
), mas a primeira e a segunda nao tem. Colocamos entao
variaveis articiais Xa
1
e Xa
2
(estao em maiusculo para destacar que tratam-se de variaveis articiais) e com os
coecientes M positivos, pois e um problema de minimizacao:
min f (x) = 4x
1
+ x
2
+ MXa
1
+ MXa
2
Suj. a: 3x
1
+ x
2
+ Xa
1
= 3
4x
1
+ 3x
2
x
3
+ Xa
2
= 6
x
1
+ 2x
2
+ x
4
= 4
x
1
, x
2
, x
3
, x
4
, Xa
1
, Xa
2
, 0
Agora temos uma solu cao basica inicial dada por (Xa
1
, Xa
2
, x
4
) = (3, 6, 4). Em muitas obras literarias, M
e manipulado algebricamente (nao esta associado valor algum `a variavel, usando-a apenas nos calculos), contudo,
como e mais usual a implementa cao dos problemas na forma computacional, utilizaremos um valor numerico para
M.
O valor a ser escolhido deveria ser teoricamente innito contudo, na rotina dos calculos em computadores, a
intera cao entre numeros muito grandes e outros muito pequenos pode ocasionar erros de arredondamento. Para
evitar que tal fato ocorra, devemos escolher o valor de M sucientemente grande em rela cao aos coecientes
da fun cao objetivo, sendo assim, no presente caso utilizaremos M = 100, pois os coecientes de x
1
e x
2
sao
respectivamente 4 e 1, ou seja, 100 e grande se comparado `a esses valores.
O sistema em forma de quadros e:
Base f (x) x
1
x
2
x
3
Xa
1
Xa
2
x
4
b Linha
min 1 -4 -1 0 100 100 0 0 (0)
Xa
1
0 3 1 0 1 0 0 3 (1)
Xa
2
0 4 3 -1 0 1 0 6 (2)
x
4
0 1 2 0 0 0 1 4 (3)
Tabela 3.13: Dados apresentados na forma de quadro.
Podemos observar no quadro, que a solu cao inicial resulta em f (x) = 900 e nao zero como mostrado na linha(0),
isto ocorre pois, os coecientes de Xa
1
e Xa
2
sao nulos. Para colocarmos o sistema com essa caracterstica, e
torna-lo consistente, devemos operar com as outras linhas de maneira a anular os coecientes das variaveis articiais
na funcao 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 minimiza cao, o coeciente de maior valor positivo devera entrar na base,
neste caso a variavel e x
1
. A razao mnima da condicao de viabilidade especica Xa
1
como a variavel que sai. Apos
as operacoes pertinentes, temos os resultados da Tabela 3.15.
Agora quem devera entrar e x
2
, saindo Xa
2
da base. Apos mais duas itera coes, a solu cao sera:
L. A. P. Cantao & F. S. Stark 53
Captulo 3. Metodo Simplex PL
Base f (x) x
1
x
2
x
3
Xa
1
Xa
2
x
4
b Linha
min 1 696 399 -100 0 0 0 900 (0)
Xa
1
0 3 1 0 1 0 0 3 (1)
Xa
2
0 4 3 -1 0 1 0 6 (2)
x
4
0 1 2 0 0 0 1 4 (3)
Tabela 3.14: Dados transformados para a realizacao dos passos do Simplex.
Base f (x) x
1
x
2
x
3
Xa
1
Xa
2
x
4
b Linha
min 1 0 167 -100 -232 0 0 204 (0)
x
1
0 1 1/3 0 1/3 0 0 1 (1)
Xa
2
0 0 5/3 -1 -4/3 1 0 2 (2)
x
4
0 0 5/3 0 -1/3 0 1 3 (3)
Tabela 3.15: Dados apresentados na forma de quadro.
x
1
=
2
5
; x
2
=
9
5
com f (x) =
17
5
.
3.2.13 O Metodo das Duas Fases
O metodo das duas fases consiste em:
1. Primeira Fase
Coloque o sistema na forma de resolucao do Simplex, incluindo as variaveis nao basicas e articiais. Inde-
pendentemente do requisito da fun cao objetivo maximiza cao ou minimiza cao faca um quadro com uma
fun cao de minimiza cao da soma das variaveis articiais no lugar da fun cao objetivo.
Se o valor mnimo da soma for positivo, o problema de PL nao tem solu cao viavel, ou seja, alguma(s)
das variaveis articiais nao saiu da base;
Caso contrario, passamos `a segunda fase.
2. Segunda Fase
Com a solu cao encontrada no sistema anterior, substitumos r por f (x) no quadro, utilizando posteriormente
essa mesma solu cao como a solucao basica viavel inicial para o problema original.
Exemplo 17. Considere o problema de PL do Exemplo 16.
Fase I
min r = Xa
1
+ Xa
2
Sujeito a 3x
1
+ x
2
+ Xa
1
= 3
4x
1
+ 3x
2
x
3
+ Xa
2
= 6
x
1
+ 2x
2
+ x
4
= 4
x
1
, x
2
, x
3
, x
4
, Xa
1
, Xa
2
0
A Tabela 3.16 esta associado ao problema acima.
L. A. P. Cantao & F. S. Stark 54
Captulo 3. Metodo Simplex PL
Base x
1
x
2
x
3
Xa
1
Xa
2
x
4
f (x)
r -7 -4 1 0 0 0 9
Xa
1
3 1 0 1 0 0 3
Xa
2
4 3 1 0 1 0 6
x
4
1 2 0 0 0 1 4
Tabela 3.16: Dados apresentados na forma de quadro.
Como no metodo M-grande, Xa
1
e Xa
2
sao substitudas na linha r usando:
r
modicada
= r
antiga
+ (1 linha Xa
1
+ 1 linha Xa
2
)
A linha r
modicada
e usada para resolver a Fase I do problema, fornecendo a Tabela 3.17 otima.
Base x
1
x
2
x
3
Xa
1
Xa
2
x
4
f (x)
r 0 0 0 1 1 0 0
x
1
1 0 1/5 3/5 -1/5 0 3/5
x
2
0 1 3/5 4/5 3/5 0 6/5
x
4
0 0 1 1 1 1 1
Tabela 3.17: Final da Fase I.
Como mnimo r = 0, a Fase I produz a solu cao basica viavel x
1
=
3
5
, x
2
=
6
5
e x
4
= 1. Nesse ponto,
as variaveis articiais concluram sua missao e podemos eliminar totalmente suas colunas da tabela (e da
formula cao do problema de PL) e passar para a Fase II.
Fase II
Escrevemos o problema original como:
min f (x) = 4x
1
+ x
2
Sujeito a x
1
+
1
5
x
3
=
3
5
x
2

3
5
x
3
=
6
5
x
3
+ x
4
= 1
x
1
, x
2
, x
3
, x
4
0
Em essencia, a Fase I e um procedimento que transforma as equacoes de restri cao originais de maneira a
fornecer uma solu cao basica viavel inicial para o problema, se houver.
Agora, aplica-se o metodo Simplex ate obter a solucao otima (verique como exerccio).
3.3 Analise de Sensibilidade
Considere a questao a seguir: dada a solu cao otima de um problema de Programa cao Linear, para quais faixas
de valores dos coecientes a solu cao otima seria mantida? Para responder essa questao, fazemos o que se chama
de Analise de Sensibilidade.
De modo geral, os parametros em modelos de PL nao sao exatos. Com a analise de sensibilidade podemos
averiguar o impacto dessa incerteza sobre a qualidade da solu cao otima. Por exemplo, no caso do lucro unitario
L. A. P. Cantao & F. S. Stark 55
Captulo 3. Metodo Simplex PL
estimado de um produto, se a analise de sensibilidade revelar que a solucao otima nao muda para uma variacao de
10% no lucro unitario, podemos concluir que a solu cao e mais encorpada do que quando a faixa de indiferen ca e
de apenas 1%.
Os tipos de analises a serem feitas podem ser agrupadas de acordo com as altera coes em:
Altera coes Simples
altera coes nos coecientes de custo, c
j
;
altera coes nas constantes b
i
;
altera coes nas restri coes, como adi cao (ou exclusoes) de restricoes ou variaveis.
Altera coes Sistematicas - Programa cao Parametrica
altera coes sistematicas nos c
j
;
altera coes sistematicas nos b
i
;
Note que quando falamos de Analise de Sensibilidade, estamos nos referindo `as altera coes pontuais, uma de
cada vez. Caso existam modica coes simultaneas em diversas partes do problema, devemos considera-lo como
novo, resolvendo-o desde o nicio.
Nesta secao trataremos gracamente e algebricamente dos casos:
1. Altera coes nas constantes b
i
(lado direito das restricoes);
2. Altera coes nos coecientes de custo, c
j
(coecientes da fun cao objetivo).
Para tanto utilizaremos exemplos.
3.3.1 Analise de Sensibilidade graca
Altera coes nas constantes b
i
(lado direito das restri coes)
Exemplo 18. A Jobco produz dois produtos em duas maquinas. Uma unidade do produto 1 requer duas horas
na maquina 1 e uma hora na maquina 2. Para o produto 2, uma unidade requer uma hora da maquina 1 e tres
horas da maquina 2. As receitas por unidade dos produtos 1 e 2 sao $30 e $20, respectivamente. O tempo de
processamento diario disponvel para cada maquina e oito.
Representando o numero diario de unidade de produtos 1 e 2 por x
1
e x
2
, respectivamente, o modelo e dado
como:
max f (x) = 30x
1
+ 20x
2
Sujeito a 2x
1
+ x
2
8 (Maquina 1)
x
1
+ 3x
2
8 (Maquina 2)
x
1
, x
2
0
A gura 3.4 ilustra a variacao na solu cao otima quando sao feitas altera coes na capacidade da maquina 1. Se
a capacidade diaria for aumentada de oito horas para nove horas, a nova solu cao otima ocorrera no ponto G.
A taxa de variacao em f (x) otima resultante da alteracao da capacidade da maquina 1 pode ser calculada da
seguinte maneira:
L. A. P. Cantao & F. S. Stark 56
Captulo 3. Metodo Simplex PL
Figura 3.4: Graco de analise de sensibilidade da solu cao otima a varia coes na disponibilidade de recursos.
_

_
Taxa de variacao na
receita resultante do
aumento de uma hora na
capacidade da maquina
(ponto C para ponto G)
_

_
= z
g
z
c
(Altera cao na capacidade)
= 142 128
9 8
= $14/h.
A taxa calculada fornece uma liga cao direta entre a entrada do modelo (recursos) e sua sada (receita total),que
representa o valor unitario equivalente de um recurso (em $/hora), isto e, a varia cao no valor otimo da fun cao
objetivo por unidade de varia cao na disponibilidade do recurso (capacidade da maquina). Isso signica que uma
unidade de aumento (reducao) na capacidade da maquina 1 aumentara (reduzira) a receita em $14. Embora o
valor unitario equivalente de um recurso seja uma descricao adequada da taxa de varia cao da funcao objetivo,
o nome tecnico, pre co dual ou preco sombra, agora e um padrao na literatura de PL, e em todos os pacotes
comerciais.
Examinada a gura 3.4, podemos ver que o preco dual de 14/h permanece valido para variacoes (aumentos
ou redu coes) na capacidade da maquina 1 que deslocam sua restri cao paralelamente para qualquer ponto sobre o
segmento de reta BF. Isso signica que a faixa de aplicabilidade de determinado pre co dual pode ser calculada da
seguinte maneira:
Capacidade mnima da maquina 1 (em B = (0, 2.67)) = 2 0 + 1 2.67 = 2.67/h
Capacidade maxima da maquina 1 (em E = (8, 0)) = 2 8 + 1 0 = 16/h
Deste modo, podemos concluir que o preco dual permanecera valido para a faixa:
2.67/h Capacidade da maquina 1 16/h.
Varia coes fora dessa faixa produzirao um pre co dual (equivalente por unidade) diferente.
L. A. P. Cantao & F. S. Stark 57
Captulo 3. Metodo Simplex PL
Usando calculos semelhantes, voce pode vericar que o preco dual para a capacidade da maquina 2 e de $2/h e
permanece valido para varia coes (aumentos ou redu coes) que deslocam sua restricao paralelamente para qualquer
ponto sobre o segmento de reta DE, o que resulta nos seguintes limites:
Capacidade mnima da maquina 2 (em D = (4, 0)) = 1 4 + 3 0 = 4/h
Capacidade maxima da maquina 2 (em D = (0, 8)) = 1 0 + 3 8 = 24/h
A conclusao e que o pre co dual de $2/h para a maquina 2 continuara aplicavel para a faixa:
4 horas Capacidade da maquina 2 24 horas
Os limites calculados para as maquinas 1 e 2 sao denominados faixas de viabilidade.
Os pre cos duais permitem tomar decisoes economicas sobre o problema de PL como demonstram as respostas
`as perguntas apresentadas a seguir.
1. Se Jobco puder aumentar a capacidade de ambas as maquinas, qual deve receber maior prioridade?
2.

E dada uma sugestao para aumentar as capacidades as maquinas 1 e 2 ao custo adicional de $10/h. Isso e
aconselhavel?
Pense na resposta e o porque da decisao.
Altera coes nos coecientes de custo, c
j
(coecientes da fun cao objetivo)
Exemplo 19. A gura 3.5 mostra o graco da regiao de solu coes do problema da Jobco apresentado no Exemplo
18. A solu cao otima ocorre no ponto C (x
1
= 3.2; x
2
= 1.6; f (x) = 128).
Figura 3.5: Analise de sensibilidade da solu cao otima `as variacoes nas receitas unitarias (coecientes da fun cao
objetivo).
L. A. P. Cantao & F. S. Stark 58
Captulo 3. Metodo Simplex PL
Altera coes nas receitas unitarias (isto e, nos coecientes da fun cao objetivo) alterarao da inclina cao de f (x).
Contudo, como podemos ver pela gura, a solu cao otima continuara no ponto C contanto que a fun cao objetivo
esteja entre as retas BF e DE (retas que representam as restricoes das maquinas 1 e 2, respectivamente), as duas
restri coes que denem o ponto otimo. Isso signica que ha uma faixa para os coecientes da fun cao objetivo que
mantera inalterada a solu cao otima em C.
Podemos escrever a fun cao objetivo no formato geral.
max f (x) = c
1
x
1
+ c
2
x
2
Agora imagine que a reta f (x) gire em torno de C no sentido horario e anti-horario. A solu cao otima permanecera
no ponto C enquanto f (x) = c
1
x
1
+ c
2
x
2
estiver entre as duas retas, x
1
+ 3x
2
= 8 e 2x
1
+ x
2
= 8. Isso signica
que a razao
c1
c2
pode variar entre
1
3
e
2
1
, o que resulta na seguinte condicao:
1
3

c
1
c
2

2
1
ou 0.333
c
1
c
3
2
Essa informa cao pode fornecer respostas imediatas referentes `a solu cao otima, como demonstram as respostas
`as perguntas a seguir.
1. Suponha que as receitas unitarias para os produtos 1 e 2 sejam alteradas para $35 e $25, respectivamente.
A solucao otima atual permanecera a mesma?
2. Suponha que a receita unitaria do produto 2 seja xada em um valor atual de c
2
= $20. Qual e a faixa de
varia cao para c
1
, a receita unitaria do produto 1, que mantera a solu cao otima inalterada?
Tente responder as questoes.
3.3.2 Analise de Sensibilidade algebrica
Altera coes nas constantes b
i
(lado direito das restri coes)
Esta se cao estende a analise ao modelo geral de PL. Um exemplo numerico sera usado para facilitar a apre-
senta cao.
Exemplo 20. A Toyco monta tres tipos de brinquedos trens, caminhoes e carros usando tres opera coes. Os
limites diarios dos tempos disponveis para as tres operacoes sao 430, 460 e 420 minutos, respectivamente, e as
receitas por unidade de trem, caminhao e carro de brinquedos sao $3, $2 e $5 ,respectivamente. Os tempos de
montagem por trem nas tres operacoes sao 1, 2 e 1 minutos, respectivamente. Os tempos correspondentes por
caminhao e por carro sao (3, 0, 2) e (1, 4, 0) minutos (o tempo zero indica que a opera cao nao foi usada).
Representando o numero diario de unidades montadas de trens, caminhoes e carros,respectivamente, o problema
de PL associado e dado por:
max f (x) = 3x
1
+ 2x
2
+ 5x
3
Sujeito a x
1
+ 2x
2
+ x
3
430 (Opera cao 1)
3x
1
+ 2x
3
460 (Opera cao 2)
x
1
+ 4x
2
420 (Opera cao 3)
x
1
, x
2
, x
3
0
Usando x
4
, x
5
e x
6
como variaveis de folga para as restri coes das opera coes 1, 2 e 3, respectivamente, a tabela
encontrada ao nal da resolu cao e:
L. A. P. Cantao & F. S. Stark 59
Captulo 3. Metodo Simplex PL
Base f(x) x
1
x
2
x
3
x
4
x
5
x
6
b Linha
max 1 4 0 0 1 2 0 1350 (0)
x
2
0 -1/4 1 0 1/2 -1/4 0 100 (1)
x
3
0 3/2 0 1 0 1/2 0 230 (2)
x
6
0 2 0 0 -2 1 1 20 (3)
Tabela 3.18: Dados da solu cao otima do problema .
A solu cao recomenda a fabrica cao de 100 caminhoes e 230 carros, mas nenhum trem. A receita associada e
$1350.
Determina cao de pre cos duais
As restricoes do modelo apos a adi cao das variaveis de folga x
4
, x
5
e x
6
podem ser expressas como
x
1
+ 2x
2
+ x
3
+ x
4
= 430 (Opera cao 1)
3x
1
+ 2x
3
+ x
5
= 460 (Opera cao 2)
x
1
+ 4x
2
+ x
6
= 420 (Opera cao 3)
ou
x
1
+ 2x
2
+ x
3
= 430 x
4
(Opera cao 1)
3x
1
+ 2x
3
= 460 x
5
(Opera cao 2)
x
1
+ 4x
2
= 420 x
6
(Opera cao 3)
Com essa representacao, as variaveis de folga tem as mesmas unidades (minutos) que os tempos de opera cao.
Assim, podemos dizer que uma redu cao de 1 minuto na variavel de folga e equivalente ao aumento de 1 minuto
no tempo de operacao.
Podemos usar essas informacoes para determinar os pre cos duais pela equacao de maximiza cao de f (x) na
tabela otima 3.18 abaixo:
f (x) + 4x
1
+ x
4
+ 2x
5
+ 0x
6
= 1350
Essa equacao pode ser expressa como:
f (x) + 4x
1
+ x
4
+ 2x
5
+ 0x
6
= 1350 =f (x) = 1350 4x
1
+ 1(x
4
) + 2(x
5
) + 0(x
6
)
Dado que um decrescimo no valor de uma variavel de folga e equivalente a um aumento em seu tempo de
opera cao, obtemos:
f (x) = 1350 4x
1
+ 1 (aumento no tempo de Opera cao 1)
+ 2 (aumento no tempo de Opera cao 2)
+ 0 (aumento no tempo de Opera cao 3)
Essa equacao revela que
1. um aumento de 1 minuto no tempo de opera cao 1 provoca um aumento de $1 em f (x);
2. um aumento de 1 minuto no tempo de opera cao 2 provoca um aumento de $2 em f (x);
3. um aumento de 1 minuto no tempo de opera cao 3 nao altera f (x);
L. A. P. Cantao & F. S. Stark 60
Captulo 3. Metodo Simplex PL
Resumindo, a linha (0) na tabela simplex otima fornece diretamente os pre cos duais, como mostra a Tabela
3.19.
Recurso Variavel Coeciente da variavel de Pre co dual
de folga folga na linha (0) ($/minuto)
Opera cao 1 x
4
1 1
Opera cao 2 x
5
2 2
Opera cao 3 x
4
0 0
Tabela 3.19: Pre cos duais .
Esses calculos mostram como os pre cos duais sao determinados de acordo com a tabela simplex otima para
restri coes . Para restricoes , a mesma ideia continua aplicavel, exceto que o preco dual assumira o sinal oposto
do associado `a restri cao . Quanto ao caso em que a restri cao for uma equacao, a determina cao do pre co dual
com base na tabela simplex otima requer calculos mais aprimorados (vide [Taha]).
Determina cao das faixas de viabilidade
Agora que ja determinamos os precos duais, mostreremos como sao determinadas as faixas de viabilidade nas
quais os pre cos permanecem validos. Representando as variacoes (positivas ou negativas) nos tempos diarios de
fabrica cao alocados `as opera coes 1, 2 e 3 por D
1
, D
2
e D
3
, respectivamente, o modelo pode ser expresso da
seguinte maneira:
x
1
+ 2x
2
+ x
3
430 + D
1
(Opera cao 1)
3x
1
+ 2x
3
460 + D
2
(Opera cao 2)
x
1
+ 4x
2
420 + D
3
(Opera cao 3)
x
1
, x
2
, x
3
0
Consideraremos o caso geral de altera coes simultaneas. Os casos especiais de uma altera cao por vez sao
derivados desses resultados.
O procedimento e baseado em recalcular a tabela simplex otima com o lado direito modicado, e depois derivar
as condi coes que manterao a solu cao viavel, isto e, o lado direito da tabela otima permanecera nao negativo. Para
mostrar como o lado direito e recalculado, come camos modicando a coluna Solu cao da tabela inicial usando novos
lados direitos. Assim, a tabela simplex inicial tera o seguinte aspecto:
Base f(x) x
1
x
2
x
3
x
4
x
5
x
6
LD D
1
D
2
D
3
max 1 -3 -2 -5 0 0 0 0 0 0 0
x
4
0 1 2 1 1 0 0 430 1 0 0
x
5
0 3 0 2 0 1 0 460 0 1 0
x
6
0 1 4 0 0 0 1 420 0 0 1
Tabela 3.20: Dados para calculos das faixas de viabilidade.
As colunas sob D
1
, D
2
e D
3
sao identicas `as que estao sob as colunas basicas iniciais x
4
, x
5
e x
6
. Isso signica
que, quando executamos as mesmas itera coes simplex que as do modelo original, as colunas dos dois grupos devem
ter resultados identicos tambem. Na verdade, a nova tabela otima cara:
L. A. P. Cantao & F. S. Stark 61
Captulo 3. Metodo Simplex PL
Base f(x) x
1
x
2
x
3
x
4
x
5
x
6
LD D
1
D
2
D
3
max 1 4 0 0 1 2 0 1350 1 2 0
x
2
0 -1/4 1 0 1/2 -1/4 0 100 1/2 -1/4 0
x
3
0 3/2 0 1 0 1/2 0 230 0 1/2 0
x
6
0 2 0 0 -2 1 1 20 -2 1 1
Tabela 3.21: Dados nais para os calculos das faixas de viabilidade.
A nova tabela simplex otima fornece a seguinte solu cao otima:
f (x) = 1350 + D
1
+ 2D
2
x
2
= 100 +
1
2
D
1

1
4
D
2
x
3
= 230 +
1
2
D
2
x
6
= 20 2D
1
+ D
2
+ D
3
A solu cao atual permanece viavel, contanto que todas as variaveis sejam nao negativas, o que resulta nas
seguintes condi coes de viabilidade:
x
2
= 100 +
1
2
D
1

1
4
D
2
0
x
3
= 230 +
1
2
D
2
0
x
6
= 20 2D
1
+ D
2
+ D
3
0
Quaisquer varia coes simultaneas de D
1
, D
2
e D
3
que satisfa cam essas desigualdades manterao a solu cao viavel.
Se todas as condi coes forem satisfeitas, entao a nova solu cao otima pode ser encontrada por meio de substitui cao
direta de D
1
, D
2
e D
3
nas equacoes dadas anteriormente.
Vejamos tres situa coes sobre o resultado acima:
1. Suponha que o tempo de fabricacao disponvel para as opera coes 1, 2 e 3 sejam 480, 440 e 410 minutos,
respectivamente. Para esta situacao a solu cao atual permanece viavel?
2. E se os tempos forem 400, 482 e 450 minutos?
3. Como calculamos as faixas de viabilidade individuais que resultam da varia cao dos recursos um por vez?
Desenvolva cada item.
Altera coes nos coecientes de custo, c
j
(coecientes da fun cao objetivo)
Exemplo 21. Deni cao de custo reduzido. Para facilitar a explica cao da analise de sensibilidade da fun cao
objetivo, primeiro precisamos denir custos reduzidos. No modelo da Toyco, a fun cao objetivo f (x) na tabela
otima e:
f (x) = 1350 4x
1
x
4
2x
5
A solu cao otima nao recomenda a produ cao de trens de brinquedo (x
1
= 0). Essa recomenda cao e conrmada
pela informa cao dada por f (x) porque cada unidade de aumento em x
1
acima de seu nvel zero atual reduzira o
valor de f (x) em $4.
L. A. P. Cantao & F. S. Stark 62
Captulo 3. Metodo Simplex PL
Podemos considerar o coeciente de x
1
como um custo unitario porque ele provoca uma redu cao na receita f (x).
Mas de onde vem esse custo? Sabemos que x
1
tem sua receita unitaria de $3 no modelo original. Tambem
sabemos que cada trem de brinquedo consome recursos (tempos de opera coes) que, por sua vez, incorrem em
custo. Assim, a atratividade de x
1
do ponto de vista da otimiza cao depende dos valores relativos da receita por
unidade e do custo dos recursos consumidos por unidade. Essa rela cao e formalizada ao se denir custo reduzido
como:
(Custo reduzido por unidade) = (Custo dos recursos consumidos por unidade) (Receita por unidade)
Para avaliar a relevencia dessa deni cao, no modelo original da Toyco, a receita por unidade para caminhoes de
brinquedo (= $2) e menor do que a para trens de brinquedo ($3). Ainda assim, a solu cao otima aconselha fabricar
caminhoes de brinquedo (x
2
= 100 unidades) e nenhum trem. A razao para esse resultado (aparentemente nao
intuitivo) e que o custo unitario dos recursos usados para caminhoes de brinquedo (isto e, tempos de opera coes)
e menor do que seu pre co unitario. O oposto se aplica ao caso dos trens de brinquedo.
Pela denicao dada de custo reduzido, agora podemos ver que uma variavel nao lucrativa (como x
1
) pode vir
a ser lucrativa de dois modos:
1. Com o aumento da receita unitaria;
2. Com a redu cao de custo unitario dos recursos consumidos.
Em grande parte das situacoes reais, o preco por unidade pode nao ser uma op cao viavel porque seu valor e
determinado por condi coes de mercado. Portanto, a op cao real e reduzir o consumo de recursos, talvez aumentando
a eciencia do processo de produ cao.
Determina cao das faixas de otimalidade
Agora voltemos nossa aten cao `a determina cao das condi coes que manterao uma solu cao otima inalterada. A
apresenta cao e baseada na denicao de custo reduzido.
No modelo da Toyco, representamos a varia cao nas receitas unitarias para caminhoes, trens e carros de brinquedo
por d
1
, d
2
e d
3
, respectivamente. Desse modo, a fun cao objetivo se torna:
max f (x) = (3 + d
1
)x
1
+ (2 + d
2
)x
2
+ (5 + d
3
)x
3
O procedimento para a analise de sensibilidade e o mesmo para o lado direito, realizado anteriormente. Com
as variacoes simultaneas, a linha (0) na tabela simplex inicial aparece como:
Base f(x) x
1
x
2
x
3
x
4
x
5
x
6
Solu cao
max 1 3 d
1
2 d
2
5 d
3
0 0 0 0
Tabela 3.22: Dados da linha (0).
Quando geramos as tabelas simplex usando a mesma sequencia das variaveis que entram e que saem do modelo
original (antes da introdu cao das variaveis d
j
), a itera cao otima aparecera como segue na Tabela 3.23.
Como estamos lidando com um problema de maximiza cao, a solu cao atual permanece otima, contanto que os
novos custos reduzidos permane cam nao negativos para todas as variaveis nao basicas. Assim, temos as seguintes
condi coes de otimalidade correspondentes `as variaveis nao basicas x
1
, x
4
e x
5
:
L. A. P. Cantao & F. S. Stark 63
Captulo 3. Metodo Simplex PL
Base f(x) x
1
x
2
x
3
x
4
x
5
x
6
Solu cao
max 1 4
1
4
d
2
+
3
2
d
3
d
1
0 0 1 +
1
2
d
2
2
1
4
d
2
+
1
2
d
3
0 1350 + 100d
2
+ 230d
3
x
2
0 -1/4 1 0 1/2 -1/4 0 100
x
3
0 3/2 0 1 0 0 1/2 230
x
6
0 -1/4 0 0 -2 1 1 20
Tabela 3.23: Nova tabela simplex.
x
1
= 4
1
4
d
2
+
3
2
d
3
d
1
0
x
4
= 1 +
1
2
d
2
0
x
5
= 2
1
4
d
2
+
1
2
d
3
0
Essas condi coes devem ser satisfeitas simultaneamente para manter a otimalidade da solu cao otima atual.
Considere uma modica cao como:
1. Para ilustrar a utiliza cao dessas condi coes, suponha que a fun cao objetivo da Toyco seja alterada de
max f (x) = 3x
1
+ 2x
2
+ 5x
3
para
max f (x) = 2x
1
+ x
2
+ 6x
3
A solucao otima sera mantida?
3.4 Exerccios Propostos
1. Resolva o programa linear em uma iteracao:
max f (x) = 12x
1
+ 9x
2
+ 10x
3
Sujeito a x
1
+ x
2
+ x
3
1
1
2
x
1
+
7
4
x
2
+ x
3
5
3x
1
+ 7x
2
+ 5x
3
5
x
1
, x
2
, x
3
0
2. Resolva o seguinte problema de programa cao linear utilizando o Metodo Simplex:
max f (x) = x
1
+ 2x
2
Sujeito a 6x
1
+ 10x
2
30
x
1
6
x
1
, x
2
0
L. A. P. Cantao & F. S. Stark 64
Captulo 3. Metodo Simplex PL
3. Utilize o Metodo Simplex para resolver o seguinte problema de Programa cao Linear:
max f (x) = 5x
1
+ 2x
2
Sujeito a x
1
4
x
2
5
2x
1
+ x
2
10
x
1
, x
2
0
4. Resolva, utilizando o Metodo das Duas Fases, o seguinte problema de programa cao linear:
max f (x) = x
1
+ 2x
2
+ 3x
3
x
4
Sujeito a x
1
+ 2x
2
+ 3x
3
= 15
2x
1
+ x
2
+ 5x
3
= 20
x
1
+ 2x
2
+ x
3
+ x
4
= 10
x
1
, x
2
, x
3
, x
4
0
5. Resolva o problema de programacao linear proposto a seguir e constate que a solu cao e ilimitada:
max f (x) = 2x
1
+ 3x
2
Sujeito a x
1
+ 2x
2
8
2x
1
+ 3x
2
5
x
1
+ x
2
6
x
1
, x
2
0
6. Considere o seguinte problema de PL:
max f (x) = 2x
1
+ 3x
2
Sujeito a x
1
+ 3x
2
6
3x
1
+ 2x
2
6
x
1
, x
2
0
(a) Expresse o problema em forma de equa cao.
(b) Determine todas as solucoes basicas do problema e classique-as como viaveis basicas e nao basicas.
(c) Use a substitui cao direta na funcao objetivo para determinar a solucao basica viavel otima.
(d) Verique gracamente que a solu cao obtida em (c) e a solu cao otima do problema de PL da,
conclua que a solu cao otima pode ser determinada algebricamente considerando somente solu coes
basicas viaveis.
(e) Mostre como as solucoes basicas nao viaveis sao representadas gracamente na regiao de solu c oes.
7. Considere o seguinte problema de PL:
max f (x) = 2x
1
+ 3x
2
+ 5x
3
Sujeito a 6x
1
+ 7x
2
9x
3
4
x
1
+ x
2
+ 4x
3
= 6
x
1
, x
3
0
x
2
R
L. A. P. Cantao & F. S. Stark 65
Captulo 3. Metodo Simplex PL
A conversao na forma de equacao envolve utilizar a substitui cao x
2
= x

2
x
+
2
. Mostre que a solu cao basica
nao pode incluir ambas, x

2
e x
+
2
, simultaneamente.
8. Considere o seguinte problema de PL:
max f (x) = x
1
+ 3x
2
Sujeito a x
1
+ x
2
2
x
1
+ x
2
4
x
1
R
x
2
0
(a) Determine todas as solucoes basicas viaveis do problema.
(b) Use substituicao direta na fun cao objetivo para determinar a melhor solu cao basica.
(c) Resolva o problema pelo metodo graco e verique que a solucao obtida no item anterior e a otima.
9. Considere o seguinte conjunto de restri coes:
x
1
+ 2x
2
+ 2x
3
+ 4x
4
40
2x
1
x
2
+ x
3
+ 2x
4
8
4x
1
2x
2
+ x
3
x
4
10
x
1
, x
2
, x
3
, x
4
0
Resolva o problema para cada uma das seguintes fun coes objetivo.
(a) max f (x) = 2x
1
+ x
2
3x
3
+ 5x
4
.
(b) max f (x)8x
1
+ 6x
2
+ 3x
3
2x
4
.
(c) max f (x) = 3x
1
x
2
+ 3x
3
+ 4x
4
.
(d) max f (x) = 5x
1
4x
2
+ 6x
3
8x
4
.
10. Considere o seguinte problema de PL:
max f (x) = x
1
Sujeito a 5x
1
+ x
2
= 4
6x
1
+ x
3
= 8
3x
1
+ x
4
= 3
x
1
, x
2
, x
3
, x
4
0
(a) Resolva o problema por inspecao (nao use as operacoes de linha por Gauss-Jordan) e justique a resposta
em termos das solucoes basicas do Metodo Simplex.
(b) Repita o item anterior considerando que a fun cao objetivo exige min f (x) = x
1
.
11. Considere o seguinte problema de PL:
max f (x) = 16x
1
+ 15x
2
Sujeito a 40x
1
+ 31x
2
124
x
1
+ x
2
1
x
1
3
x
1
, x
2
0
L. A. P. Cantao & F. S. Stark 66
Captulo 3. Metodo Simplex PL
(a) Resolva o problema pelo metodo simplex, no qual a variavel que entra na base e a variavel nao basica
que tem o coeciente mais negativo na linha da fun cao objetivo.
(b) Resolva o problema pelo metodo simplex, sempre selecionando a variavel que entra na base como a
variavel nao basica que tem o coeciente menos negativo na linha da fun cao objetivo.
(c) Compare o numero de itera coes dos dois itens anteriores. A sele cao da variavel que entra na base como
variavel nao basica que tem o coeciente mais negativo resulta em um numero menor de iteracoes? A
que conclusao podemos chegar quanto `a condi cao de otimalidade?
(d) Suponha que o sentido de otimiza cao seja mudado para minimiza cao multiplicando f (x) por 1. Como
essa alteracao afeta as itera coes no metodo simplex?
12. Considere o seguinte conjunto de restri coes:
2x
1
+ 3x
2
= 3 (1)
4x
1
+ 5x
2
10 (2)
x
1
+ 2x
2
5 (3)
6x
1
+ 7x
2
3 (4)
4x
1
+ 8x
2
5 (5)
x
1
, x
2
0
Para cada um dos problemas a seguir, desenvolva a linha f (x) apos substituir as variaveis articiais:
(a) max f (x) = 5x
1
+ 6x
2
sujeito a (1), (3) e (4).
(b) max f (x) = 2x
1
7x
2
sujeito a (1), (2), (4) e (5).
(c) min f (x) = 3x
1
+ 6x
2
sujeito a (3), (4) e (5).
(d) min f (x) = 4x
1
+ 6x
2
sujeito a (1), (2) e (5).
(e) min f (x) = 3x
1
+ 2x
2
sujeito a (1) e (5).
13. Mostre como o metodo do M-Grande vai indicar que o problema a seguir nao tem nenhuma solucao viavel.
max f (x) = 2x
1
+ 5x
2
Sujeito a 3x
1
+ 2x
2
6
2x
1
+ x
2
2
x
1
, x
2
0
14. No modelo da Toyco determine se a solucao atual mudara em cada umvdos seguintes casos
(a) f (x) = 2x
1
+ x
2
+ 4x
3
(b) f (x) = 3x
1
+ 6x
2
+ x
3
(c) f (x) = 8x
1
+ 3x
2
+ 9x
3
15. A Electra produz quatro tipos de motores eletricos, cada um em uma linha de montagem separada. As
capacidades respectivas das linhas sao 500, 500, 800 e 750 motores por dia. O motor do tipo 1 usa oito
unidades de um certo componente eletronico, 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
pe cas por dia. Os pre cos dos componentes para os respectivos tipos de motor sao $60, $40, $25 e $30 por
motor.
L. A. P. Cantao & F. S. Stark 67
Captulo 3. Metodo Simplex PL
(a) Determine o mix otimo de produ cao diario.
(b) A atual programacao de produ cao atende `as necessidades da Electra. Contudo, devido `a concorrencia,
pode ser que a empresa precise reduzir o pre co do motor do tipo 2. Qual e a redu cao que pode ser
efetuada sem alterar a programacao da producao atual?
(c) A Electra decidiu reduzir em 25% o pre co de todos os tipos de motores. Use analise de sensibilidade
para determinar se a solucao otima permanecera inalterada.
(d) Atualmente, o motor do tipo 4 nao e produzido. De quanto deveria ser o aumento no preco desse motor
para ser includo na programacao de producao?
L. A. P. Cantao & F. S. Stark 68
CAP

ITULO 4
Dualidade
4.1 Introdu cao
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 compreensao da Programa cao
Linear e da sua interpreta cao economica.
No problema Primal busca-se a otimizacao dos nveis de atividades das variaveis de decisao, entendidas como as
variaveis reais do problema em analise. No problema Dual a preocupa cao se da com recursos disponveis, avaliados
a seus pre cos sombra (pre cos duais). Desse modo, o presente captulo esta fortemente relacionado com o nal do
anterior. Alem disso, as solu coes dos dois problemas estao de tal modo inter-relacionadas pois da solu cao otima do
problema Primal e possvel reconhecer a solu cao do Dual. Inversamente, na solucao otima do Dual identicamos
a solucao do Primal.
Inicialmente, mostraremos que o Dual e resultado de um problema de Programa cao Linear, e, por meio de
exemplos simples, apresentamos as propriedades do relacionamento entre os dois problemas. Seguem, sem de-
monstra coes formais, mas por meio de apelos intuitivos, os teoremas basicos da dualidade, completando o captulo
com a apresenta cao do Metodo Dual Simplex.
4.2 Deni cao do Problema Dual
Em grande parte dos tratamentos de PL, o dual e denido para os varios formatos do primal dependendo do
sentido de otimiza cao (maximiza cao ou minimiza cao), dos tipos de restricoes (, ou =) e da orienta cao das
variaveis (nao negativas ou irrestrita). Esse tipo de tratamento e um pouco confuso e, por essa razao, oferecemos
uma denicao unica que abranja todas as formas do primal.
Nossa denicao do problema dual requer expressar o problema primal na forma de equa coes (todas as restricoes
sao equa coes cujo lado direito e nao negativo e todas as variaveis sao nao negativas). Esse requisito e consistente
com o formato da tabela simplex inicial. Por consequencia, quaisquer resultados obtidos com base na solu cao
otima do problema primal se aplicarao diretamente ao problema dual associado.
Para mostrar como o problema dual e construdo, o problema primal e denido na forma de equa coes da seguinte
Captulo 4. Dualidade PL
maneira:
Maximizar ou Minimizar f (x) =
n

i =1
c
j
x
j
Sujeito a
n

i =1
a
i j
x
j
= b
i
, i = 1 : m
x
j
0, j = 1 : n.
As variaveis x
j
, j = 1 : n incluem as variaveis de sobra, de folga e articiais, se houver.
A tabela 4.1 mostra como o problema dual e construdo com base no problema primal.
Variaveis primais do problema
x
1
x
2
. . . x
j
. . . x
n
Variaveis Lado
duais do c
1
c
2
. . . c
j
. . . c
n
direito
problema
y
1
a
11
a
12
. . . a
1j
. . . a
1n
b
1
y
2
a
21
a
22
. . . a
2j
. . . a
2n
b
2
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
y
m
a
m1
a
m2
. . . a
mj
. . . a
mn
b
m
Tabela 4.1: Constru cao do problema dual com base no problema primal.
Efetivamente, temos:
1. Uma variavel dual e denida para cada equacao (restri cao) primal;
2. Uma restricao dual e denida para cada variavel primal;
3. Os coecientes da restri cao (coluna) de uma variavel primal denem os coecientes do lado esquerdo da
restri cao dual e seus coecientes na fun cao objetivo denem os coecientes do lado direito;
4. Os coecientes da fun cao objetivo do problema dual sao iguais aos coecientes do lado direito das equa coes
de restricao do problema primal.
As regras para determinar o sentido da otimiza cao (maximizacao ou minimizacao), o tipo da restricao (,
ou =) e o sinal das variaveis duais estao na tabela 4.2.
Fun cao objetivo do Problema dual
problema primal Objetivo Tipos de restri coes Sinal das variaveis
Maximiza cao Minimiza cao Irrestrita
Minimiza cao Maximiza cao Irrestrita
Tabela 4.2: Regras para construir o problema dual.
Observe que o sentido da otimiza cao no dual e sempre oposto ao do primal. Os exemplos a seguir demonstram
a utiliza cao das regras de construcao do problema dual e tambem que a deni cao dada anteriormente incorpora
todas as formas do primal.
Exemplo 22. O Problema Primal e:
max f (x) = 5x
1
+ 12x
2
+ 4x
3
Sujeito a x
1
+ 2x
2
+ x
3
10
x
1
x
2
+ 3x
3
= 8
x
1
, x
2
, x
3
0
L. A. P. Cantao & F. S. Stark 70
Captulo 4. Dualidade PL
Na forma padrao:
max f (x) = 5x
1
+ 12x
2
+ 4x
3
+ 0x
4
Sujeito a x
1
+ 2x
2
+ x
3
+ x
4
= 10
x
1
x
2
+ 3x
3
= 8
x
1
, x
2
, x
3
, x
4
0
As variaveis duais sao 10y
1
e 8y
2
. O Problema Dual ca como:
min f (y) = 10y
1
+ 8y
2
Sujeito a y
1
+ y
2
5
2y
1
y
2
12
y
1
+ 3y
2
4
y
1
+ 0y
2
0
y
1
, y
2
irrestritas
Agora utilizaremos um exemplo de minimiza cao como primal.
Exemplo 23. O Problema Primal e:
min f (x) = 15x
1
+ 12x
2
Sujeito a x
1
+ 2x
2
3
2x
1
4x
2
5
x
1
, x
2
0
Na forma padrao:
min f (x) = 15x
1
+ 12x
2
+ 0x
3
+ 0x
4
Sujeito a x
1
+ 2x
2
x
3
+ 0x
4
= 3
2x
1
4x
2
+ 0x
3
+ x
4
= 5
x
1
, x
2
, x
3
, x
4
0
As variaveis duais sao 3y
1
e 5y
2
. O Problema Dual ca como:
max f (y) = 3y
1
+ 5y
2
Sujeito a y
1
+ 2y
2
15
2y
1
4y
2
12
y
1
0
y
2
0
y
1
, y
2
irrestritas
4.2.1 Propriedades da Dualidade
A partir do apresentado ate aqui, podemos enumerar cinco propriedades que fornecem ao m um resumo das
regras de constru cao para o problema dual.
Propriedade 1. O dual do dual e o primal.
L. A. P. Cantao & F. S. Stark 71
Captulo 4. Dualidade PL
max f (x) = 10x
1
+ 7x
2
+ 15x
3
S. a 5x
1
+ 4x
2
+ x
3
80 (y
1
)
2x
1
+ 3x
2
+ 5x
3
30 (y
2
)
x
1
, x
2
, x
3
0
Para a forma dual do problema:
min f (y) = 80y
1
+ 30y
2
S. a 5y
1
+ 2y
2
10 (x
1
)
4y
1
+ 3y
2
7 (x
2
)
y
1
+ 5y
2
15 (x
3
)
y
1
, y
2
0
Do dual para o primal (ou o processo dual se considerarmos o sistema anterior como um primal):
max f (x) = 10x
1
+ 7x
2
+ 15x
3
S. a 5x
1
+ 4x
2
+ x
3
80 (y
1
)
2x
1
+ 3x
2
+ 5x
3
30 (y
2
)
x
1
, x
2
, x
3
0
Propriedade 2. Se a restricao m do primal e uma igualdade (=), entao a variavel y
m
do dual e sem restricao de
sinal.
max f (x) = 5x
1
+ 2x
2
S. a 5x
1
3 (y
1
)
x
2
= 4 (y
2
)
x
1
+ 2x
2
9 (y
3
)
x
1
, x
2
0
Para a forma padrao:
max f (x) = 5x
1
+ 2x
2
S. a 5x
1
3 (y
1
)
x
2
4 (y
2
)
x
1
+ 2x
2
9 (y
3
)
x
1
, x
2
0
Para o dual:
max f (y) = 3y
1
+ 4(y

2
y
+
2
) + 9y
3
S. a y
1
+ y
3
5
(y

2
y
+
2
) + 2y
3
2
y
1
, y

2
, y
+
2
, y
3
0
L. A. P. Cantao & F. S. Stark 72
Captulo 4. Dualidade PL
Propriedade 3. Se a restri cao m do primal e maior que ou igual (), entao a variavel y
m
do dual e nao positiva.
max f (x) = 5x
1
+ 2x
2
S. a x
1
3
x
2
4
x
1
+ 2x
2
9
x
1
, x
2
0
Colocando todas as restricoes como menor igual ():
max f (x) = 5x
1
+ 2x
2
S. a x
1
3 (y
1
)
x
2
4 (y
2
)
x
1
+ 2x
2
9 (y
3
)
x
1
, x
2
0
Construindo o dual:
min f (y) = 3y
1
4y
2
+ 9y
3
S. a y
1
+ y
3
5
y
2
+ 2y
3
2
y
1
, y
2
, y
3
0
Utilizando uma variavel substituta y

2
= y
2
, temos:
min f (y) = 3y
1
4y
2
+ 9y
3
S. a y
1
+ y
3
5
y

2
+ 2y
3
2
y
1
, y
3
0
y

2
0
Propriedade 4. Se a variavel x
j
do primal e sem restri cao de sinal, entao a restri cao j do dual e uma igualdade
(=).
Propriedade 5. Se a variavel x
j
do primal e nao positiva, entao a restri cao j do dual e maior ou igual ().
Sintese das Propriedades
A conclusao geral com base nos exemplos e nas propriedades e que as variaveis e restri coes nos problemas
primal e dual sao denidas pelas regras na tabela 4.3.
4.2.2 Teoremas Fundamentais da Dualidade
Ate agora discutimos os conceitos basicos da dualidade e caracterizamos propriedades importantes para a
constru cao do par primal-dual. Para completar a importancia da dualidade na Programacao Linear, faltam os
teoremas fundamentais. A presente se cao traz enunciados os teoremas e exemplos de sua aplicabilidade.
L. A. P. Cantao & F. S. Stark 73
Captulo 4. Dualidade PL
Primal (max) Dual (min)
k-esima restricao e () k-esima variavel dual e positiva y
k
0
k-esima restricao e (=) k-esima variavel dual irrestrita de sinal
k-esima restricao e () k-esima variavel dual y
k
0
p-esima variavel primal x
p
0 p-esima restricao e ()
p-esima variavel primal irrestrita de sinal p-esima restricao e (=)
p-esima variavel primal x
p
0 p-esima restricao e ()
Dual (max) Primal (min)
Tabela 4.3: Regras para construir o problema dual.
Teorema da Folga Complementar
Seja x
j
(j = 1 : n) uma solu cao otima para o problema primal de PL e y
j
(j = 1 : m) uma solu cao otima do
problema dual. Entao, o seguinte e verdade:
Se a k-esima restri cao de um dos problemas tem folga nao-nula, entao a k-esima variavel do outro problema
e zero;
Se a k-esima variavel de uma solu cao otima de um dos problemas e positiva, a k-esima restri cao do outro e
satisfeita com variavel 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
f
p
(x) para a funcao objetivo, e seja y um ponto qualquer factvel para o problema dual, com valor correspondente
f
d
(y) para a fun cao objetivo. Entao, para o caso da maximiza cao do problema primal, o Teorema Fraco da
Dualidade arma que:
f
p
(x) f
d
(y)
Em termos intuitivos, o problema primal (P), que transforma insumos em produtos, busca maximizar a receita
dos produtos, max f
p
(x). Ja o problema dual (D) busca min f
d
(y), com a receita decorrente da venda das materias-
primas e o seu mnimo seria o valor que tornaria sua venda tao atrativa quanto a sua transforma cao. Cabe relembrar
que, nessa interpretacao, os custos administrativos e de transforma cao fsica sao ignorados.
Teorema do Criterio de Otimalidade
Seja um par primal-dual e seja x a solu cao otima para o problema primal, com valor correspondente f
p
(x) para
a fun cao objetivo, e seja y a solu cao otima para o problema dual, com valor correspondente f
d
(y) para a funcao
objetivo. Entao, o teorema do criterio de otimalidade estabelece que:
f
p
(x) = f
d
(y)
Corolarios dos Teoremas
Abaixo temos alguns corolarios pertinentes aos Teoremas.
1. Se o primal e ilimitado (f
p
(x) =+), o dual nao tem solu cao viavel;
L. A. P. Cantao & F. S. Stark 74
Captulo 4. Dualidade PL
2. Inversamente, se o dual nao tem solucao viavel, entao o primal e ilimitado;
3. Se o dual e ilimitado (f
d
(y) =), o primal nao tem solu cao viavel;
4. Inversamente, se o primal nao tem solucao viavel, entao o dual e ilimitado;
Teorema Principal da Dualidade
Seja um par primal-dual (P) e (D) tal que ambos tenham solucoes factveis. Entao, ambos tem solu coes otimas,
x e y, tais que f
p
(x) = f
d
(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 solu coes Primal e Dual.
X
X
X
X
X
X
X
X
X
X
Dual
Primal
Tem solu cao Factvel Nao Tem Solucao Factvel
Tem Solu cao Factvel max f
p
= min f
d
max f
p
=
Nao Tem Solucao Factvel min f
d
= Pode ocorrer
Tabela 4.4: Rela coes entre as solu coes primal e dual.
4.3 Metodo Dual Simplex
O Metodo Dual Simplex e aplicado em situa coes em que a solu cao inicial do primal e infactvel, porem os
elementos da linha da fun cao objetivo sao todos nao negativos, indicando otimalidade. O metodo procura alcan car
a factibilidade primal tornando as variaveis x
j
nao negativas, mas preservando a factibilidade dual (mantendo a
linha objetivo nao negativa).
4.3.1 Resumo do Metodo
Suponha que o quadro do metodo apresente as seguintes caractersticas:
Todos os elementos da linha objetivo sao nao negativos, ou seja, c
j
0, para j = 1 : m. Esta condi cao e
denominada otimalidade primal ou solucao dual factvel;
A coluna b apresenta pelo menos um elemento negativo, isto e, a condicao de nao negatividade das variaveis
nao e atendida. Diz-se que a solu cao primal e infactvel.
O Metodo Dual Simplex e aplicado seguindo os passos:
1. Sele cao da variavel a deixar a base: escolha uma das variaveis negativas, de preferencia a mais negativa.
Seja b
r
= min{b
i
para b
i
< 0}
Assim, a variavel basica correspondente `a linha r sai da base e a linha r e a linha do pivo.
2. Sele cao da variavel que entra na base: introduzir na base aquela variavel cujo coeciente na linha objetivo
atingir zero mais rapidamente, quando um multiplo da linha r for somado `a linha objetivo.
Podem ocorrer dois fatos:
L. A. P. Cantao & F. S. Stark 75
Captulo 4. Dualidade PL
(a) A avalia cao da variavel a entrar na base se restringe `as variaveis nao basicas que tem um coeciente
negativo na linha r . A aplica cao da logica anterior conduz `a regra dos coecientes
c
k
a
r j
= max
j
_
c
j
a
r j
para a
r j
< 0
_
Assim, a variavel x
k
entra na base. Podemos seguir para o passo 3.
(b) Caso a
r j
0 para todo j = 1 : n, ou seja, a linha r nao contem elementos negativos, entao o problema
nao tem solu cao factvel. Devemos parar entao com a tentativa de resolucao.
3. Achar uma nova solucao basica em que a variavel x
k
se torna basica. Isto equivale a efetuar um pivotea-
mento simplex em torno do elemento a
r k
. Va para o passo 4.
4. Teste da Factibilidade Primal: se todos os b
i
, i = 1 : m forem nao negativos a solu cao obtida e otima,
entao podemos parar; caso contrario, voltar ao passo 1.
Problemas de Minimiza cao
Ha duas formas de tratar problemas deste tipo. Sao elas:
1. Consiste na conversao do problema de minimizacao em um problema de maximiza cao.
2. Consiste em inverter o criterio de escolha da variavel a entrar na base, para o seguinte
c
s
a
r s
= min
j
_
c
j
a
r j
para a
r j
> 0
_
Assim, a variavel x
s
entra na base.
Observe o exemplo a seguir.
Exemplo 24. Dado o problema linear
max f (x) = x
1
+ x
2
x
3
S. a x
1
9
x
1
+ x
2
+ x
3
2
x
1
, x
2
, x
3
0
1. Resolvendo este problema pelo Metodo Simplex (Primal).
Incluindo as variaveis de excesso.
max f (x) = x
1
+ x
2
x
3
+ 0x
4
+ 0x
5
S. a x
1
+ x
4
= 9
x
1
+ x
2
+ x
3
+ x
5
= 2
x
1
, x
2
, x
3
, x
4
, x
5
0
Apos colocar o problema na forma padrao escrevemos o quadro Simplex (Tabela 4.5).
Pela checagem das variaveis vemos que x
2
entra, pois o aumento desta resulta em aumento de f (x). Sai x
5
,
uma vez que o teste de coeciente so e possvel para esta (Tabela 4.6).
L. A. P. Cantao & F. S. Stark 76
Captulo 4. Dualidade PL
Base f(x) x
1
x
2
x
3
x
4
x
5
b Linha
Max 1 1 -1 1 0 0 0 (0)
x
4
0 1 0 0 1 0 9 (1)
x
5
0 1 1 1 0 1 2 (2)
Tabela 4.5: Primeiro quadro com o problema primal.
Base f(x) x
1
x
2
x
3
x
4
x
5
b Linha
Max 1 2 0 2 0 1 2 (0)
x
4
0 1 0 0 1 0 9 (1)
x
2
0 1 1 1 0 1 2 (2)
Tabela 4.6: Segundo quadro com o problema primal.
Chegamos no valor maximo de f (x) uma vez que nenhuma outra variavel e propicia ao aumento de f (x) (os
coecientes das variaveis x
1
e x
3
sao positivos).
Entao, f (x) = 2 e x = (0, 2, 0, 9, 0).
2. Construindo e resolvendo o Dual.
max f (x) = x
1
+ x
2
x
3
S. a x
1
9 (y
1
)
x
1
+ x
2
+ x
3
2 (y
2
)
x
1
, x
2
, x
3
, 0
Na forma dual:
min f (y) = 9y
1
+ 2y
2
S.a y
1
+ y
2
1
y
2
1
y
2
1
y
1
, y
2
0
Apos colocar na forma padrao temos o quadro Dual Simplex (a coluna b foi renomeada para identicar o
vetor b dual, assim b
d
) Tabela 4.7.
Base f(y) y
1
y
2
y
3
y
4
y
5
b
d
Linha
Min 1 -9 -2 0 0 0 0 (0)
y
3
0 -1 -1 1 0 0 1 (1)
y
4
0 0 -1 0 1 0 -1 (2)
y
5
0 0 -1 0 0 1 1 (3)
Tabela 4.7: Primeiro quadro com o problema dual.
Como o caso e de minimiza cao, buscaremos a variavel mais positiva (para que o valor de f (y) tenha de ser
o mais negativo possvel), sendo que y
2
entra na base. A variavel que sai da base e y
4
pois e a unica na qual
podemos aplicar o teste do coeciente. Apos as opera coes elementares, temos a Tabela 4.8.
L. A. P. Cantao & F. S. Stark 77
Captulo 4. Dualidade PL
Base f(y) y
1
y
2
y
3
y
4
y
5
b
d
Linha
Min 1 -9 0 0 -2 0 2 (0)
y
3
0 -1 0 1 -1 0 2 (1)
y
2
0 0 1 0 -1 0 1 (2)
y
5
0 0 0 0 -1 0 2 (3)
Tabela 4.8: Primeiro quadro com o problema dual.
Aparentemente y
4
poderia entrar na base, contudo os elementos de sua coluna sao todos negativos (o mesmo
ocorre com y
1
). Neste caso, paramos os passos e chegamos na solu cao f (y) = 2 e y = (0, 1, 2, 0, 2).
3. Por m vericarmos a relacao entre as solu coes encontradas.
As solucoes encontradas sao iguais, logo max f (x) = min f (y). Isso ocorre pois ambos os problemas (primal
e dual) sao factveis.
4.4 Exerccios Propostos
1. Suponha o problema a seguir:
max f (x) = 3x
1
2x
2
S. a 4x
1
+ 2x
2
10
2x
1
3x
2
7
x
1
0
x
2
0
Determine o Dual do problema.
2. Considere o seguinte problema de PL:
max f (x) = 2x
1
+ 3x
2
S. a 2x
1
+ 3x
2
6
x
1
+ 2x
2
8
x
1
+ x
2
6
x
1
, x
2
0
(a) Escreva o problema Dual.
(b) Sabendo que a solu cao primal e: x
1
= 2.4 e x
2
= 3.6, use o Teorema da Folga Complementar para
determinar a sua solu cao dual.
3. De o Dual do problema a seguir numa tal forma que as variaveis Duais sejam nao-negativas:
max f (x) = 6x
1
+ 4x
2
+ x
3
+ 7x
4
+ 5x
5
S. a 3x
1
+ 7x
2
8x
3
+ 5x
4
+ x
5
= 2
2x
1
+ x
2
+ 3x
3
+ 2x
4
+ 9x
5
= 6
x
1
, x
2
, x
3
, x
4
0
x
5
R
L. A. P. Cantao & F. S. Stark 78
Captulo 4. Dualidade PL
4. Seja o seguinte problema primal:
max f (x) = 3x
1
+ x
2
+ 5x
3
S. a 6x
1
+ 3x
2
5x
3
45 (mao-de-obra)
3x
1
+ 4x
2
+ 5x
3
30 (materia-prima)
x
1
, x
2
, x
3
0
(a) Resolva o problema Primal pelo Metodo Simplex.
(b) Escreva o problema Dual e identique sua solu cao otima.
(c) Suponha que 15 unidades adicionais de materia-prima podem ser obtidas ao custo de $10.

E rentavel
aceitar essa proposta?
(d) Ache a solu cao otima caso a quantidade disponvel de materia-prima passse para 60 unidades.
(e) Para que valores de c
1
a solucao permanece otima?
5. Resolver o problema Primal abaixo pelo Metodo Dual-Simplex, analisando e discutindo em seguida a solucao
encontrada.
min f (x) = x
1
+ x
2
+ x
3
S. a x
1
2x
2
+ x
3
2
x
1
+ x
2
+ x
3
1
x
1
, x
2
, x
3
0
6. Escreva o problema Dual para cada um dos seguintes problemas Primais:
(a)
max f (x) = 5x
1
+ 2x
2
S. a x
1
+ x
2
2
2x
1
+ 3x
2
5
x
1
, x
2
0
(b)
min f (x) = 6x
1
+ 3x
2
S. a 6x
1
3x
2
+ x
3
2
3x
1
+ 4x
2
+ x
3
5
x
1
, x
2
, x
3
0
(c)
max f (x) = x
1
+ x
2
S. a 2x
1
+ x
2
= 5
3x
1
x
2
= 6
x
1
, x
2
R
7. A BagCo produz jaquetas e bolsas de couro. Uma jaqueta requer 8m
2
e uma bolsa, apenas 2m
2
. Os requisitos
de mao-de-obra para os dois produtos sao 12 e 5 horas, respectivamente. As disponibilidades semanais atuais
de couro e mao-de-obra estao limitadas a 1200m
2
e 1850 horas. A empresa vende jaquetas e bolsas a $350 e
$120, respectivamente. O objetivo e determinar a programa cao de produ cao que maximize a receita lquida.
A BagCo esta considerando uma expansao de produ cao. Qual e o pre co maximo de compra que a empresa
deve pagar pelo couro adicional e para a mao-de-obra?
L. A. P. Cantao & F. S. Stark 79
CAP

ITULO 5
Metodos de Pontos Interiores
5.1 Introdu cao
A ideia dos Metodos de Pontos Interiores foi desenvolvida por Karmarkar, em 1984, quando ele publicou um
artigo que buscava a solu cao de um problema de Programa cao Linear (PL) atraves do interior da regiao viavel.
Deste entao, houve muitas modica coes no metodo, permanecendo a ideia basica: a de caminhar pelo interior da
regiao viavel .
Atualmente existem tres classes de metodos: os que consideram apenas problemas no formato primal, outros
apenas no formato dual e, nalmente metodos que extraem informacoes dos dois problemas, conhecidos como
Metodos Primais-Duais. Esta ultima classe sera abordada aqui, com base em [12].
5.2 Nota cao
A maior parte do desenvolvimento teorico de algoritmos para (PL) e feita para problemas com restri c oes do
tipo igualdade (problemas na forma padrao, como desenvolvido no Captulo 3). No Captulo 4 o denominamos
como Problema Primal (PP). O PL tambem pode ser formulado com restri coes de desigualdades, que se chama
Problema Dual (PD). Os dois problemas (PP e PD) sao relacionados por expressoes simples, que permitem traduzir
metodos desenvolvidos em um formato para o outro (vide Captulo 4).
Considere o problema no formato primal (ou padrao):
(PP)
min c
T
x
S. a Ax = b
x 0
onde A R
nn
, b R
m
e c, x R
n
.
Suporemos que a matriz A tenha posto completo. O conjunto de solu coes viaveis de (PP) e denido por:
P = {x R
n
/ Ax = b, x 0}
O interior de P denido por:
P
0
= {x R
n
/ Ax = b, x > 0}
e o conjunto das solu coes interiores de (PP). Suporemos P
0
= .
Todo ponto satisfazendo x P
0
sera 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 dife-
rente:
(PD)
max b
T
y
S. a A
T
y + z = c
z 0
y irrestrito
onde y R
m
e z R
n
. Neste caso, ja consideramos o problema dual no formato padrao pela adi cao da variavel z
(variavel de folga).
O conjunto de solu coes viaveis do (PP) e dado por:
D =
_
(y, z) R
m
R
n
/ A
T
y + z = c, z 0
_
O interior de D denido por:
D
0
=
_
(y, z) R
m
R
n
/ A
T
y + z = c, z > 0
_
A teoria da dualidade nos mostra a rela cao entre os problemas (PP) e (PD), ou seja, o conjunto de solu coes
primais nos fornece informa cao sobre o conjunto de solucoes duais e vice-versa. Por exemplo, dados quaisquer
vetores de solu coes primais x para (PP) e (y, z) para (PD), temos:
b
T
y c
T
x.
A fun cao objetivo dual fornece um limite inferior para a fun cao objetivo primal, e a fun cao primal fornece um
limite superior para o dual. As duas fun coes objetivo coincidem no valor, isto e: b
T
y

= c
T
x

se, e somente se x

resolve (PP) e (y

, z

) resolve (PD).
Considere as condi coes de otimalidade, para esta classe de metodos, conhecidas como Condi coes de Karush-
Kuhn-Tucker ou (KKT), estabelecida pelo Teorema 2.
Teorema 2. Considere os problemas (PP) e (PD) acima. O vetor x

e uma solu cao otima do problema (PP) e


(y

, z

) e uma solu cao otima do problema (PD) se, e somente se:


A
T
y + z = c z 0 (viabilidade dual)
Ax = b x 0 (viabilidade primal)
XZe = 0 (folgas complementares)
(5.1)
onde X = di ag(x
1
, x
2
, . . . , x
n
), Z = di ag(z
1
, z
2
, . . . , z
n
) e e = (1, 1, . . . , 1)
T
.
Do Teorema 2, temos que o vetor (x

, y

, z

) e solucao do sistema de equa coes (5.1) se, e somente se x

e
solu cao do (PP) e (y

, z

) e solu cao do (PD). O vetor (x

, y

, z

) e chamado de solu cao primal-dual.


O conjunto de solucoes viaveis primais-duais e seu interior podem ser denidos como:
=
_
(x, y, z) / Ax = b, A
T
y + z = c, (x, z) 0
_

0
=
_
(x, y, z) / Ax = b, A
T
y + z = c, (x, z) > 0
_
respectivamente. Assumiremos
0
= .
L. A. P. Cantao & F. S. Stark 81
Captulo 5. Metodos de Pontos Interiores PL
5.3 Metodo Primal-Dual
Os metodos primais-duais estao estritamente relacionados ao consagrado Metodo de Newton para solu coes de
sistemas de equa coes, lineares ou nao. Uma iteracao primal-dual e, em ultima instancia, uma itera cao adaptada
do metodo de Newton, proveniente das condi coes de KKT (5.1).
Podemos escrever as condicoes de KKT na forma de uma equa cao, em conjunto com uma restri cao. A equa cao
provem das proprias condi coes de otimalidade e a restricao continua sendo a de nao negatividade. Obtemos entao:
F(x, y, z) =
_

_
Ax b
A
T
y + z c
XZe
_

_ = 0, (x, y) 0 (5.2)
com F : R
2n+m
R
2n+m
.
`
A equa cao F(x, y, z) = 0 podemos aplicar o metodo de Newton para encontrar solu coes viaveis (x

, y

, z

),
porem respeitando o limite (x, y) > 0, o que garante estarmos no interior da regiao viavel (
0
).
O metodo de Newton consiste em gerar uma sequencia de pontos {x
k
} que convirja para a solucao de uma
dada equacao G(x) = 0, onde G : R
n
R
n
, G C(R
n
) e x R
n
. O metodo e baseado em uma expansao em
primeira ordem (serie de Taylor) da fun cao considerada:
G(x) G(x
k
) + J(x
k
)(x x
k
)
com J sendo o Jacobiano de G. Desta forma, se x
k+1
e solu cao da expansao acima, entao vale J(x
k
)s
k
= G(x
k
),
com x
k+1
= x
k
+ s
k
. Portanto, o Metodo de Newton consiste em gerar os passos s
k
e usa-los para atualizar o
ponto x
k
.
Uma iteracao completa do metodo de Newton pode ser escrita como
x
k+1
= x
k
J
1
(x
k
)G(x
k
).
Na aplica cao do Metodo de Newton surgem duas questoes: (i) a necessidade de uma solucao inicial e, (ii) a
necessidade de exercermos algum controle sobre os passos, ja que ele pode convergir para solu coes F(x, y, z) = 0
mas que nao satisfacam (x, y) > 0 (ditas soluc oes espurias).
O item (i) sera abordado na Se cao 5.5.1; por isso, consideraremos aqui que ja temos uma solu cao inicial viavel.
O item (ii) e o responsavel 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 direcao, mantendo a viabilidade
da solucao.
Escrevendo uma itera cao de Newton para a equa cao F(x, y, z) = 0, obtemos:
_
_
_
x
k+1
y
k+1
z
k+1
_
_
_ =
_
_
_
x
k
+ x
k
y
k
+ y
k
z
k
+ z
k
_
_
_ =
_
_
_
x
k
y
k
z
k
_
_
_J
1
(x, y, z)F(x, y, z) (5.3)
ou ainda,
_
_
_
x
k
y
k
z
k
_
_
_ = J
1
(x, y, z)F(x, y, z)
L. A. P. Cantao & F. S. Stark 82
Captulo 5. Metodos de Pontos Interiores PL
pre-multiplicando por J(x, y, z):
J(x, y, z) =
_
_
_
x
k
y
k
z
k
_
_
_ = F(x, y, z)
sendo:
J(x, y, z) =
_

_
A 0 0
0 A
T
I
Z 0 X
_

_.
Portanto, para obter uma itera cao de Newton para a equa cao F(x, y, z) = 0, rescrevemos J(x
k
)s
k
= G(x
k
)
como:
_

_
A 0 0
0 A
T
I
Z 0 X
_

_
_

_
x
k
y
k
z
k
_

_ =
_

_
Ax
k
b
A
T
y
k
+ z
k
c
X
k
Z
k
e
_

_
Se o ponto corrente (x
k
, y
k
, z
k
) e estritamente viavel (Ax
k
= b, A
T
y
k
+z
k
= c e (x, z) > 0), entao o sistema
acima toma a forma:
_

_
A 0 0
0 A
T
I
Z 0 X
_

_
_

_
x
k
y
k
z
k
_

_ =
_

_
0
0
X
k
Z
k
e
_

_
Atualizando as variaveis (x, y, z) temos:
(x
k+1
, y
k+1
, z
k+1
) = (x
k
, y
k
, z
k
) +
k
(x
k
, y
k
, z
k
).
Os metodos primais-duais sao varia coes do metodo de Newton obtidos a partir de modica coes na maneira
de calcular (x
k
, y
k
, z
k
), a dire cao de busca, e
k
, o parametro que controla o tamanho do passo em cada
itera cao. O valor de
k
pode atuar no algoritmo de dois modos:
Mantendo o novo ponto no interior da regiao viavel e.
Cuidando para que (x, z) permaneca longe das fronteiras do quadrante nao negativo, (x, z) > 0. Dire coes
calculadas a partir de pontos proximos a este quadrante tendem a ser distorcidas levando a pouco, se algum,
progresso.
A ideia da trajetoria central nos auxlia nas questoes acima.
5.3.1 A Trajetoria Central
Uma das maneiras de manter o algoritmo do tipo primal-dual no interior da regiao viavel e fazer com que a
trajetoria gerada pelo metodo de Newton esteja em alguma vizinhanca da denominada trajetoria central.
Matematicamente, a trajetoria central C e um caminho de pontos estritamente viaveis, (x

, y

, z

) C
0
,
parametrizado por um escalar > 0, de modo que
A
T
y + z = c z 0 (viabilidade dual)
Ax = b x 0 (viabilidade primal)
XZe = e (folgas complementares)
(x, z) > 0
(5.4)
A trajetoria central e um recurso interessante pois quando 0, a equacao (5.4) equa cao (5.1). Entao, se
L. A. P. Cantao & F. S. Stark 83
Captulo 5. Metodos de Pontos Interiores PL
C converge para algum ponto, deve ser para uma solu cao primal-dual do (PP). Desse modo, C atua como um guia,
evitando solu coes espurias pois mantem os produtos x
i
z
i
estritamente positivos, mas tendendo a zero `a mesma
velocidade.
Mais ainda: a maioria dos algoritmos primais-duais tomam dire coes C com > 0, ou seja, direcoes dentro do
quadrante positivo denido por (x, z) > 0. Essa escolha de dire coes permite que passos maiores sejam dados em
rela cao `as dire coes de Newton puras, sem violar a condi cao de positividade, que chamaremos de dire cao de busca.
Para descrever a direcao de busca modicada, introduziremos um parametro de centraliza cao [0, 1] e uma
metrica
1
dual denida por:
=
1
n
n

i =1
x
i
z
i
=
x
T
z
n
, (5.5)
ou seja, uma media entre os produtos x
i
z
i
.
As equacoes de passo tomam agora a forma:
_

_
A 0 0
0 A
T
I
Z 0 X
_

_
_

_
x
k
y
k
z
k
_

_ =
_

_
0
0
X
k
Z
k
e + e
_

_ (5.6)
Atraves do controle de e podemos gerar uma vizinhan ca da trajetoria central em que os novos passos
calculados de acordo com a equa cao (5.6) tenham melhor progresso do que os passos de Newton puros.
Considere um conjunto estritamente viavel H
0
:
H
0
=
_
(x, z) / (x, y, z)
0
para algum y R
m
_
e uma fun cao de barreira denida por:
f

(x, z) =
1

x
T
z
n

i =1
log(x
i
z
i
).
Teorema 3. Suponha
0
= e seja um numero positivo. Entao f

tem um unico mnimo local em H


0
, que
satisfaz as condi coes de trajetoria central (5.4).
Retornando `as equacoes de (5.6), podemos escreve-la na forma de equa coes, como segue:
A
T
y + z = 0
Ax = 0
Zx + Xz = XZe + e
(5.7)
Isolando z da ultima equa cao de (5.7), temos:
Z = Ze + X
1
e X
1
Zx (5.8)
Escrevendo (5.8) na primeira equacao de (5.7), temos:
A
T
y X
1
Zx = Ze X
1
e. (5.9)
1
metrica: medida.
L. A. P. Cantao & F. S. Stark 84
Captulo 5. Metodos de Pontos Interiores PL
Escrevendo a segunda equa cao de (5.7) e a equacao (5.9) na forma matricial, com z isolado (equacao (5.8)):
_
A 0
X
1
Z A
T
_ _
x
y
_
=
_
0
X
1
e + Ze
_
. (5.10)
Como X e Z sao matrizes diagonais e nao singulares, podemos isolar x de (5.10), obtendo assim, um novo
sistema equivalente:
AZ
1
XA
T
y = A
_
Xe Z
1
e
_
z = A
T
y
x = Xe + Z
1
e Z
1
Xz
(5.11)
O passo mais difcil e calcular a primeira equa cao de (5.11), mas o primeiro termo envolve uma matriz denida
positiva
_
AD
2
A
T
, onde D = Z
1/2
X
1/2
_
, podendo entao ser aplicada a Fatora cao de Cholesky
2
para resolver o
sistema.
5.3.2 Estrutura Primal-Dual
Atraves dos conceitos apresentados ate aqui, podemos denir uma estrutura geral para os algoritmos primais-
duais. O metodo abordado na proxima se cao (Se cao 5.4) e um caso especial desta estrutura.
Estrutura Primal-Dual
Fase I
Passo 1: (Inicializa cao) Fa ca k = 0 e encontre (x
0
, y
0
, z
0
)
0
uma solucao inicial.
Fase II
Passo 2: (Otimalidade) Se o ponto (x
k
, y
k
, z
k
) satisfaz os criterios de otimalidade, pare.
Passo 3: (Calculo da dire cao de busca) Seja
k
[0, 1] e
k
=
(x
k
)
T
z
k
n
. Calcule:
AZ
1
k
X
k
A
T
y
k
= A
_
X
k
e
k

k
Z
1
k
e
_
z
k
= A
T
y
k
x
k
= X
k
e +
k

k
Z
1
k
e Z
1
k
X
k
z
k
(5.12)
Passo 4: (Atualiza cao)
_
x
k+1
, y
k+1
, z
k+1
_
=
_
x
k
, y
k
, z
k
_
+
k
_
x
k
, y
k
, z
k
_
Fa ca k = k + 1 e volte ao passo 2.
Na Fase I do algoritmo calculamos uma solucao inicial para o problema e na Fase II, calculamos a dire cao de
busca e atualizamos a solu cao ate obtermos a solu cao otima.
5.4 Metodo de Redu cao de Potencial (RP)
O Metodo de Redu cao de Potencial e uma variante dos algoritmos que usam passos de Newton e parte de uma
classe maior de metodos, denominados Metodos de Penaliza cao. De um modo geral, um metodo de penaliza cao
2
Metodo especco para matrizes do tipo denida positiva.
L. A. P. Cantao & F. S. Stark 85
Captulo 5. Metodos de Pontos Interiores PL
modica a funcao objetivo acrescentando um termo que (i) aumente muito seu valor quando determinada condi cao
de controle e violada e (ii) tende a zero quando nos aproximamos da solucao otima. Este termo e conhecido
usualmente de fun cao de barreira ou fun cao potencial.
Karmarkar usou uma fun cao potencial para a Programacao Linear sob a forma:
log
_
c
T
x L
_

i =1
log x
i
onde = n +1 e L e um limite inferior para o valor da fun cao objetivo, provando sua convergencia e resultados de
complexidade por mostrar que sua funcao diminui, pelo menos um valor constante em cada itera cao. Por exemplo,
para o problema:
min x
1
+ x
2
S. a x
1
+ x
3
= 1
x
2
+ x
4
= 1
x
1
, x
2
, x
3
, x
4
0
cujo o tipo e um quadrado de lado 1 no plano (x
1
, x
2
), a fun cao de Karmarkar torna-se: (x
1
, x
2
) = 3 log(x
1
+x
2
)
log x
1
log x
2
. Observe a Figura 5.1 como a fun cao decresce rapidamente na imedia cao do otimo, x

= (0, 0).
0
0.1
0.2
0.3
0.4
0.5
0
0.1
0.2
0.3
0.4
0.5
-1.5
-1
-0.5
0
0.5
1
1.5
0 0.1 0.2 0.3 0.4 0.5
0
0.1
0.2
0.3
0.4
0.5
-1.5
-1
-0.5
0
0.5
1
1.5
Figura 5.1: Graco e curvas de nvel de (x
1
, x
2
).
Depois da publicacao do algoritmo de Karmarkar, houve muitos avancos nos algoritmos que usam esta fun cao;
porem a maioria das novas tecnicas ainda baseava-se nos valores das variaveis primais. A partir de 1987 os
algoritmos passaram a utilizar de forma mais balanceada variaveis primais-duais. Nessa linha temos a fun cao de
potencial primal-dual de Tanabe-Todd-Ye, denida por:

(x, y) = log x
T
z
n

i =1
log x
i
z
i
(5.13)
para um parametro > n.
Os algoritmos baseados em

usam a funcao potencial apenas para monitorar o progressoe provar a con-


vergencia. Este progresso refere-se ao potencial atribudo a cada ponto de
0
por

e que diminui a medida


que nos aproximamos da solucao. Como todos os algoritmos baseados na estrutura primal-dual, o algoritmo de
redu cao de potencial obtem sua dire cao de busca pela execu cao de (5.12) para algum
k
(0, 1). O tamanho do
passo
k
e escolhido para minimizar

ao longo da direcao de busca.


L. A. P. Cantao & F. S. Stark 86
Captulo 5. Metodos de Pontos Interiores PL
Voltando a equacao (5.13), faremos algumas modica coes algebricas para extrairmos algumas propriedades de

. Primeiramente vamos somar e subtrair dois novos termos, como segue:

(x, y) = log x
T
z n log x
T
z
n

i =1
log x
i
z
i
+ n log x
T
z n log n + n log n.
Aplicando as propriedades de logaritmos:

(x, y) = log x
T
z n log x
T
z
_
log
x
1
z
1
x
T
z
n + log
x
2
z
2
x
T
z
n + . . . + log
x
N
z
n
x
T
z
n
_
+ n log n,

(x, y) = ( n) log x
T
z
n

i =1
log
x
i
z
i
x
T
z
n
+ n log n
Ou seja, podemos rescrever a fun cao (5.13) da seguinte maneira:

(x, y) = ( n) log x
T
z
n

i =1
log
x
i
z
i
x
T
z
n
+ n log n. (5.14)
De (5.14) percebemos que

faz o balanceamento entre dualidade e centralidade. Se x


T
z e pequeno, favorecemos
a dualidade e se nenhum x
i
z
i
e muito menor do que a media =
x
T
z
n
, favorecemos a centralidade.
Duas propriedades importantes podem ser entao observadas:
1.

+ se x
i
z
i
0, para algum i , mas =
x
T
z
n
nao tende a zero;
2.

se, e somente se (x, y, z)


0
.
De acordo com as condi coes de KKT, so estaremos no otimo se x
T
z = 0. Portanto, e desejavel que o metodo
aproveita a fun cao de barreira de modo a forcar 0.
A propriedade (1) e o efeito de barreira, pois para que 0, todas as componentes de x
T
z devem ir a zero.
Caso so algumas tendam a zero,

+, funcionando entao como uma barreira.


Por outro lado, o termo
_

i =1
log
x
i
z
i
x
T
z
n
+ n log n
_
tem um limite inferior. Portanto,

se, e somente
se ( n) log x
T
z , o que implica que x
T
z 0. Entao, o metodo de Reducao de Potencial gera itera coes
no sentido de levar 0, usando informa coes fornecidas por estas duas propriedades.
Algoritmo de Redu cao de Potencial Primal-Dual
Este algoritmo toma
k
=
n

, onde < n e o parametro de (5.14). O passo


k
e escolhido para minimizar

() ao longo da dire cao de busca e mantendo a viabilidade.


Algoritmo RP
Fase I
Passo 1: (Inicializa cao) Fa ca k = 0, > n e encontre (x
0
, y
0
, z
0
)
0
.
Fase II:
Passo 2: (Otimalidade) Se o ponto (x
k
, y
k
, z
k
) satisfaz os criterios de otimalidade, pare.
L. A. P. Cantao & F. S. Stark 87
Captulo 5. Metodos de Pontos Interiores PL
Passo 3: (Calculo da dire cao de busca) Seja
k
=
n

e resolva (5.12) para obter (x


k
, y
k
, z
k
).
Passo 4: (Calculo do tamanho do passo) Calcule:

max
= sup { [0, 1] / (x, z) + (x, z) 0} ,
e escolha
k
de
k
= ar g min
(0,max )

(x
k
+ x
k
, z
k
+ z
k
).
Passo 5: (Atualiza cao)
(x
k+1
, y
k+1
, z
k+1
) = (x
k
, y
k
, z
k
) +
k
(x
k
, y
k
, z
k
).
Fa ca k = k + 1 e volte ao passo 2.
5.5 Implementa cao de Algoritmos de Pontos Interiores
Na se cao 5.3.2 denimos uma estrutura geral para o algoritmo Primal-Dual e na se cao 5.4 denimos algumas
variantes desta estrutra. Porem, durante estas secoes, tomamos como conhecida uma solucao inicial e omitimos
o criterio de parada do algoritmo. Trataremos nesta se cao destes topicos, bem como de uma estrutura mais
completa para o algoritmo Primal-Dual.
5.5.1 Solu cao Inicial
Ate aqui, discutimos sobre algoritmos de Pontos Interiores, supondo conhecida uma solu cao inicial. A diculdade
em obter uma solu cao inicial e equivalente a de aplicar o algoritmo ate a solu cao otima; por isso, muitos algoritmos
teoricos assumem a existencia de um ponto inicial e o usam para inicializar o algoritmo. O processo de encontrar
uma solucao inicial e conhecida como Fase I do algoritmo e o processo de resolver o algoritmo ate a otimalidade,
de Fase II. Entao, nesta se cao, abordaremos a Fase I do algoritmo Primal-Dual.
Seja (x
0
, y
0
, z
0
) com (x
0
, z
0
) > 0 uma solu cao primal-dual inicial inviavel. Para obter uma solucao viavel
considere os seguintes problemas primal e dual articiais:
(PPA)
min c
T
x + M
P
x
n+1
S. a Ax + (b Ax
0
)x
n+1
= b
(A
T
y
0
+ z
0
c)
T
x + x
n+2
= M
D
(x, x
n+1
, x
n+2
) 0
e
(PDA)
max b
T
y + M
D
y
m+1
S. a A
T
y + (A
T
y
0
+ z
0
c)y
m+1
+ z = c
(b Ax
0
)
T
y + z
n+1
= M
P
y
m+1
+ z
n+2
= 0
(z, z
n+1
, z
n+2
) 0
onde x
n+1
e y
m+1
sao variaveis articiais primal e dual, respectivamente, com seus coecientes de custo articiais
M
P
e M
D
. O coeciente dessas variaveis na primeira restri cao de (PPA) e na primeira de (PDA) correspondem
a uma medida de inviabilidade da aprixima cao inicial. A variavel x
n+2
corresponde `a variavel dual articial y
m+1
e
z
n+1
, z
n+2
sao variaveis duais de folga correspondentes a x
n+1
e x
n+2
. Essas variaveis sao necessarias para manter
a relacao de dualidade entre dois problemas.
Fixando-se M
P
e M
D
com valores que dominam a fun cao objetivo primal e dual, garantimos que a dire cao de
busca e dominada pela dire cao viavel. Se um ponto viavel existe, entao durante o processo iterativo as variaveis
L. A. P. Cantao & F. S. Stark 88
Captulo 5. Metodos de Pontos Interiores PL
articiais gradualmente convergem para zero.
Podemos escolher M
P
e M
D
de maneira que:
M
P
> (b Ax
0
)
T
y
0
, (5.15)
e
M
D
> (A
T
y + z
0
c)
T
x
0
, (5.16)
entao (x
0
, x
0
n+1
, x
0
n+2
) e (y
0
, y
0
m+1
, z
0
, z
0
n+1
, z
0
n+2
) sao solu coes viaveis para os problemas articiais (PPA) e (PDA),
respectivamente.
Os valores de x
0
n+1
, x
0
n+2
, y
0
m+1
, z
0
n+1
e z
0
n+2
podem ser obtidos como segue.
Seja Ax + (b Ax
0
)x
n+1
= b e tomemos x = x
0
. Entao:
Ax
0
+ (b Ax
0
)x
0
n+1
= b
Ax
0
(1 x
0
n+1
) = b(1 x
0
n+1
)
(5.17)
Mas a segunda equa cao de (5.17) so sera verdadeira quando:
1 x
0
n+1
= 0
x
0
n+1
= 1
(5.18)
Procedendo analogamente para A
T
y + (A
T
y
0
+ z
0
c)y
m+1
+ z = c, obtemos:
y
m+1
= 1. (5.19)
Das demais restri coes obtemos:
x
0
n+2
= M
D
(A
T
y
0
+ z
0
c)
T
x
0
,
z
0
n+1
= M
P
(b Ax
0
)
T
y
0
,
z
0
n+2
= 1.
(5.20)
A partir daqui, buscamos as solu coes 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

) solu coes otimas dos problemas originais (PP) e (PD), respectivamente. Suponha
que:
M
P
> (b Ax
0
)
T
y
0
,
e
M
D
> (A
T
y + z
0
c)
T
x
0
.
Entao as duas armacoes abaixo sao verdadeiras:
1. Uma solucao viavel (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 solu cao viavel (y, y
m+1
, z, z
n+1
, z
n+2
) de (PDA) e um ponto de maximo 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 associa cao com o Simplex
e aqui adaptado para os metodos primais-duais.
L. A. P. Cantao & F. S. Stark 89
Captulo 5. Metodos de Pontos Interiores PL
5.5.2 Criterio de Parada
Ao contrario do metodo Simplex, o algoritmo de Ponto Interior Primal-Dual nunca encontra uma solu cao exata
para o problema PL. Por isso, o algoritmo precisa usar um criterio de parada para decidir quando a itera cao corrente
esta proxima o suciente da solu cao otima.
Muitos algoritmos consideram uma boa solu cao aproximada a solu cao que possui os resduos primal r
b
= Axb
e dual r
c
= A
T
y +zc e a metrica dual sucientemente pequenos. Para esse m pode-se usar medidas relativas
diminuindo os problemas de escala dos dados. Testes tpicos para uma solucao (x, y, z) sao:
r
b

1 +b
=
Ax b
1 +b

1
r
c

1 +c
=
A
T
y + z c
1 +c

1
|c
T
x b
T
y|
1 +|c
T
x|

1
(5.21)
onde
1
e a tolerancia. Naturalmente outros criterios podem ser adotados em concordancia com a aplicacao a um
problema especco.
5.5.3 Algoritmo Primal-Dual
Como ultimo topico deste captulo, daremos uma estrutura mais completa do algoritmo primal-dual.
Fase I
Passo 1: (Inicializa cao) Fa ca k = 0 e encontre (x
0
, y
0
, z
0
)
0
uma solu cao inicial e dena
1
0 uma tolerancia
sucientemente pequena.
Fase II
Passo 2: (Otimalidade) Se
r
b

1 +b
=
Ax b
1 +b

1
r
c

1 +c
=
A
T
y + z c
1 +c

1
|c
T
x b
T
y|
1 +|c
T
x|

1
entao pare. A solu cao encontrada e otima.
Passo 3: (Calculo da dire cao de busca) Seja
k
[0, 1] e
k
=
(x
k
)
T
z
k
n
. Seja
k
[0, 1]. Calcule:
AZ
1
k
X
k
A
T
y
k
= A
_
X
k
e
k

k
Z
1
k
e
_
z
k
= A
T
y
k
x
k
= X
k
e +
k

k
Z
1
k
e Z
1
k
X
k
z
k
Passo 4: (Atualiza cao)
_
x
k+1
, y
k+1
, z
k+1
_
=
_
x
k
, y
k
, z
k
_
+
k
_
x
k
, y
k
, z
k
_
Fa ca k = k + 1 e volte ao passo 2.
L. A. P. Cantao & F. S. Stark 90
CAP

ITULO 6
Programa cao Linear Inteira
6.1 Introdu cao
Como descrito em [2], problemas de Programa cao Linear Inteiro (PLI) pertencem a otimizacao discreta ou
combinatoria pois algumas das variaveis fazem parte de um conjunto discreto, tipicamente, um subconjunto dos
numeros inteiros.
Um problema com variaveis inteiras e reais e denominada de Programa cao Linear Inteira Mista (PLIM) quando
tem a seguinte forma:
max f (x, y) = cx + dy
S. a Ax + Dy b
x R
n
+
y Z
p
+
em que A R
mn
, D R
mp
, c R
1n
, d R
1p
e b R
m1
representando os parametros do problema. Os
vetores x R
n1
e y Z
p1
as variaveis do problema. R
n
+
representa o espa co dos vetores com n componentes
reais e Z
p
+
o espaco dos vetores com p componentes inteiras nao negativas.
Quando todas as variaveis sao inteiras, tem-se o problema de Programa cao Linear Inteira (PLI):
max f (x) = cx
S. a Ax b
x Z
n
+
e se todas as variaveis assumem valores 0 ou 1, tem-se um problema de Programa cao 0-1 ou Binaria (PB), escrito
como:
max f (x) = cx
S. a Ax b
x B
n
+
em que B
n
+
representa o espaco dos vetores com n componentes binarias.
Os algoritmos de (PLI) sao baseados na exploracao do sucesso computacional da resolu cao de problemas de
Programa cao Linear (PL), uma vez que os problemas que tratam de solu coes inteiras fazem uma busca dentro da
regiao factvel. Os algoritmos possuem tres passos como estrategia de resolu cao, sendo:
1. Relaxar a regiao de solu coes de PLI eliminando a restri cao inteira imposta a estas variaveis e substituindo
qualquer variavel binaria y pela contnua 0 y 1. Neste passo, transformamos um problema linear inteiro
Captulo 6. Programa cao Linear Inteira PL
em um problema linear (PL).
2. Faz-se entao a resolucao do PL relaxado e identica-se uma solu cao otima contnua. A resolu cao desta etapa
pode ser atraves dos metodos ja aprendidos anteriormente, como o Metodo Simplex.
3. Come cando do ponto otimo contnuo, adicionam-se restricoes especiais que modiquem iterativamente a
regiao de solu coes de PL de maneira que, a certa altura, resultara em um ponto extremo otimo que devera
satisfazer os requisitos de integralidade.
Os algoritmos existentes desenvolvidos para PLI, executam a etapa 3 acrescentando restri coes especiais. Sao
dois os metodos mais conhecidos: branch-and-bound (B&B) e planos de corte. Apresentaremos aqui uma in-
trodu cao ao algoritmo B&B.
6.2 Algoritmo Branch-And-Bound (B&B)
Explicaremos neste topico, com o auxlio de um exemplo numerico, os detalhes envolvidos no metodo do B&B
geral.
Exemplo 25. Seja o PLI abaixo:
max f (x) = 5x
1
+ 4x
2
S. a x
1
+ x
2
5 (R1)
10x
1
+ 6x
2
45 (R2)
x
1
, x
2
0
x
1
, x
2
Z
2
+
(6.1)
Os pontos de grade da gura 6.1 denem a regiao de solu coes do problema de PLI.
Figura 6.1: Regiao de solucoes de PLI (grade de pontos) e de PL1 (hachura).
A solu cao do problema (6.1) relaxado, ilustrado pela gura 6.1 (denominado como PL1), e dada pelos vertices
das duas restri c oes, ou seja, x
1
= 3.75; x
2
= 1.25 e f (x) = 23.75.
L. A. P. Cantao & F. S. Stark 92
Captulo 6. Programa cao Linear Inteira PL
Como a solucao otima do problema relaxado nao satisfaz a condi cao de integralidade, o algoritmo B&B modica
a regiao de solu coes de modo a identicar a solu cao otima do problema de PLI. Primeiramente, selecionamos uma
das variaveis inteiras cujo valor otimo em PL1 seja nao inteiro. Selecionamos a variavel x
1
= 3.75, tomando
3 < x
1
< 4 da regiao de solu coes de PL1 com nenhum valor inteiro de x
1
, podendo retira-la da regiao total. Esse
passo faz surgir dois problemas de PL que sao equivalentes ao PL1. A regiao criada e apresentada na gura 6.2,
elaborada como:
Regiao PL2 = Regiao PL1 + (x
1
3)
Regiao PL3 = Regiao PL1 + (x
1
4)
Figura 6.2: Regiao de solu coes de PL2 e PL3.
Se usarmos esta logica para eliminar a condicao de integralidade gerando regioes relaxadas impondo restri coes
adequadas (que cercam a condi cao de valores inteiros para as variaveis), teremos PLs cujos pontos extremos otimos
satisfa cam as restri coes inteiras. Na verdade, resolveremos o PL1 lidando com uma sequencia de PLs contnuos.
As novas restri coes, x
1
3 e x
1
4 sao mutuamente exclusivas, de modo que PL2 e PL3 nos nos 2 e 3
devem ser tratadas como PLs separadas, como mostra o esquema da gura 6.3.
Essa dicotomiza cao da origem ao termo ramica cao no algoritmo B&B, sendo neste caso, x
1
denominada de
variavel de ramica cao. Como observado, no esquema (gura 6.3) apresentamos a solucao de cada ramica cao,
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 f (x) = 5x
1
+ 4x
2
S. a x
1
+ x
2
5
10x
1
+ 6x
2
45
x
1
3
x
1
, x
2
0
(6.2)
Resolvendo o problema (6.2), chegamos na resposta da ramica cao 2 do esquema da gura 6.3.
L. A. P. Cantao & F. S. Stark 93
Captulo 6. Programa cao Linear Inteira PL
PL1
f (x) = 23.75
1
x
1
= 3.75, x
2
= 1.25
2
PL2
x
1
= 3, x
2
= 2
f (x) = 23
Limite inferior
f (x) = 23.33
x
1
3
3
PL3
x
1
= 4, x
2
= 0.83
x
1
4
Figura 6.3: Utiliza cao da variavel de ramicacao x
1
para criar PL2 e PL3.
Note que a solu cao de PL2 apresenta valores inteiros para as variaveis x
1
e x
2
, deste modo dizemos que o
problema e incumbente e que nao precisa ser mais investigado, pois nao pode dar nenhuma solu cao melhor para
o PLI com esta ramicacao. Entretanto, nao podemos ainda armar que esta solu cao e a melhor solucao para o
problema original pois, o PL3 ainda pode fornecer um valor melhor para f (x).
Armamos apenas que f (x) = 23, encontrada em PL2, e o limite inferior do valor otimo para a funcao
objetivo, isto e, qualquer subproblema nao examinado que apresente um valor menor que este deve ser descartado
como nao promissor. Ja se ele produzir uma solu cao melhor, atualizamos o valor do limite inferior como sendo o
desta nova solu cao.
Como f (x) = 23.75 em PL1 e todos os coecientes da fun cao objetivo sao inteiros, e impossvel, para este
caso, que PL3 produza uma solu cao inteira melhor com f (x) > 23, assim descartamos PL3.
O algoritmo B&B agora esta completo porque ambas, PL2 e PL3, foram examinadas e descartadas (a primeira
por produzir uma solu cao inteira e a segunda por nao ser capaz de melhorar tal solucao). Assim, conclumos que a
solu cao otima do PLI esta associada com o limite inferior encontrado em PL2, ou seja, x
1
= 3; x
2
= 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 x
1
escolhessemos x
2
como variavel de ramica cao?
2. Ao selecionar o proximo subproblema a ser examinado, resolvessemos PL3 em vez de PL2?
Se zermos a altera cao sugerida no item 1 e 2, os calculos resultantes mudarao, como veremos a seguir. A
gura 6.4 mostra todos os subproblemas envolvidos.
A criacao dos subproblemas PL4 e PL5 advem da solu cao nao inteira de PL3. Temos entao:
Regiao PL4 = Regiao PL3 + (x
2
0) = Regiao PL1 + (x
1
4) + (x
2
0)
Regiao PL5 = Regiao PL3 + (x
2
1) = Regiao PL1 + (x
1
4) + (x
2
1)
Agora, temos tres subproblemas a serem examinados: PL2, PL4 e PL5. Suponha que optemos por examinar
PL5 em primeiro lugar. O PL5 nao tem nenhuma solu cao e, em decorrencia, esta descartado. Em seguida,
L. A. P. Cantao & F. S. Stark 94
Captulo 6. Programa cao Linear Inteira PL
2
PL2
x
1
= 3, x
2
= 2
f (x) = 23
Limite inferior
4
PL4
x
1
= 4.5, x
2
= 0
f (x) = 22.5
5
PL5
Sem soluc ao.
6
PL6
x
1
= 4, x
2
= 0
f (x) = 20
Sem soluc ao.
7
PL7
PL1
f (x) = 23.75
1
x
1
= 3.75, x
2
= 1.25
x
1
= 4, x
2
= 0.83
f (x) = 23.33
3
PL3
x
1
3
x
2
1 x
2
0
x
1
5 x
1
4
x
1
4
Figura 6.4:

Arvore B&B alternativa.
examinamos PL4. A solucao otima e x
1
= 4.5; x
2
= 0 e f (x) = 22.5. O valor nao inteiro de x
1
leva a dois ramos
x
1
4 e x
1
5, e `a criacao dos subproblemas PL6 e PL7 com base em PL4.
Regiao PL6 = Regiao PL1 + (x
1
4) + (x
2
0) + (x
1
4)
Regiao PL7 = Regiao PL1 + (x
1
4) + (x
2
0) + (x
1
5)
Agora, os subproblemas PL2, PL6 e PL7 precisam ser examinados. Selecionando PL7, o problema nao tem
nenhuma solu cao viavel e, portanto, esta descartado. Em seguida, selecionamos PL6, sendo que este problema da
a primeira solu cao inteira (x
1
= 4; x
2
= 0 e f (x) = 20) e, assim, fornece o primeiro limite inferior para o valor
otimo da fun cao objetivo para PLI.
Ficamos ainda com PL2, que da uma solucao inteira melhor, como visto no exemplo. Deste modo, o limite
inferior e atualizado e nesse ponto, com todos os subproblemas interpretados, a melhor solu cao e a encontrada
para PL2. A sequencia de solu cao apresentada na gura 6.4 (PL1 PL3 PL5 PL4 PL7 PL6 PL2)
e a pior hipotese de passos possveis para o problema do exemplo 25, pois foram percorridos todos os ramos antes
L. A. P. Cantao & F. S. Stark 95
Captulo 6. Programa cao Linear Inteira PL
de encontrarmos a solu cao otima.
Dos dois cenarios apresentados anteriormente, podemos concluir que a execu cao do metodo B&B nao garante
uma solu cao PLI global
1
, apenas de solu coes locais (dependendo do tamanho e complexidade do problema).
Podemos utilizar outros algoritmos matematicos auxiliares ao B&B, como o algoritmo de Planos de Corte
2
, 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 heursticos
3
podem ser aplicados tambem para melhorar a qualidade da solu cao e/ou auxiliar na
decisao de qual ramo seguir. Ha casos em que aplica-se apenas tecnicas heursticas na solu cao de um problema de
PLI, pois os metodos convencionais nao sao capazes de fornecerem respostas ao problema.
6.2.1 Resumo do algoritmo Branch-And-Bound (B&B)
Considere um problema de maximiza cao e estabele ca um limite inferior inicial f (x) = para o valor dos
coecientes da fun cao objetivo otima do PLI. Seja i = 0.
1. Selecione um PLi , o proximo subproblema a ser examinado. Resolva o PLi e tente interpreta-lo usando uma
das tres condi coes:
O valor otimo de f (x) do PLi nao pode dar um valor objetivo melhor do que o limite inferior atual;
O PLi fornece uma solu cao inteira viavel melhor do que o limite inferior atual;
O PLi nao tem nenhuma solucao viavel.
Surgem dois casos:
Se o PLi for interpretado e uma solucao for encontrada, atualize o limite inferior. Se todos os subpro-
blemas tiverem sido descartados, pare; o PLI otimo esta associado com o limite inferior nito atual. Se
nao existir nenhum limite inferior nito, o problema nao tem nenhuma solu cao viavel. Senao, determine
i = i + 1, e repita a etapa 1 novamente.
Se o PLi nao for interpretada, va para a etapa 2 e ramique.
2. Selecione uma das variaveis inteiras x
j
, cujo valor otimo x

j
na solu cao do PLi seja nao inteiro. Elimine a
regiao:
x

j
< x
j
< x

j
+ 1
(onde v dene o maior inteiro v
4
), criando dois subproblemas de PL que correspondem a
x

j
x
j
e x
j
x

j
+ 1
Determine i = i + 1, e va para a etapa 1.
As etapas dadas se aplicam a problemas de maximizacao. Para minimiza cao, substitumos o limite inferior por
um limite superior (cujo valor inicial e f (x) = +).
1
Solucao global: melhor solu cao para o problema.
2
O Matodo de Planos de Corte nao serao tratados neste texto, porem a ideia do metodo e a de incorporar restri coes que aproximem
a regiao relaxada ao conjunto de pontos inteiros factveis.
3
Metodos heursticos sao metodos (ou tecnicas) sem um detalhado rigor matematico, podendo ser especco para classes de
problemas.
4
Como exemplo, considere x
j
= 3.8, assim x

j
= 3 e o intervalo 3 < x
j
< 4.
L. A. P. Cantao & F. S. Stark 96
Captulo 6. Programa cao Linear Inteira PL
O algoritmo B&B pode ser estendido diretamente a problemas mistos (nos quais apenas algumas das variaveis
sao inteiras). Se uma variavel for contnua, simplesmente nunca a selecionamos como uma variavel de ramica cao.
Um subproblema viavel fornece um novo limite para o valor dos coecientes da fun cao objetivo se os valores das
variaveis discretas forem inteiras e se o valor da fun cao objetivo for melhor em rela cao ao limite atual.
Apos a explica cao e a sntese do algoritmo Branch-and-Bound, vamos citar dois grandes tipo de problemas que
fazem uso do algoritmo para suas respectivas resolu coes. 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 aloca cao de recursos em um determinado espa co compartimentado, como uma mochila, constituindo
entao, o problema da mochila.
6.3 Problema do Caixeiro-Viajante
Historicamente, o problema do caixeiro-viajante
5
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 podera apenas chegar em outros caminhos conectados, nao sendo
possvel excluir ou voltar pelo mesmo caminho. Essa classe de problemas e um dos mais estudados em matematica
computacional e sua aplica cao varia entre obter a melhor rota de uma frota de onibus, logstica de embarque e
desembarque de passageiros em aerportos, trafego de rede de computadores, entre outros.
Especicamente, em uma situa cao de n cidades, denimos:
x
i j
=
_
1, se o caixeiro vai diretamente da cidade i `a cidade j, i = j
0, caso contrario
Dado que d
i j
e a distancia da cidade i `a cidade j , o problema e dado por
min f (x) =
n

i =1

j >i
d
i j
x
i j
S. a

j <i
x
j i
+

j >i
x
i j
= 2 , i = 1 : n

i S

j / S, j >i
x
i j
+

i / S

j S, j >i
x
i j
2 , S N, 3 |S|
_
n
2
_
x B
n(n1)/2
(6.3)
A fun cao objetivo do problema (6.3) expressa a minimizacao da distancia total da rota, a primeira restri cao impoe
que cada cidade tenha somente uma cidade sucessora imediata e uma cidade predecessora imediata. A segunda
restri cao elimina sub-rotas pois para cada conjunto S, existem no mnimo duas arestas entre as cidades de S e as
cidades nao pertencentes a S. A cardinalidade de S e no mnimo 3 (tres), pois um ciclo em um grafo nao orientado
tem pelo menos 3 nos e no maximo
_
n
2
_
, pois ao se eliminar ciclos com k nos, eliminam-se ciclos com n k nos
(vide gura 6.5 (c)). A ultima restri cao indica o tipo de variaveis.
A gura 6.5 apresenta possveis cenarios de um TSP com 5 cidades, onde os circulos representam as cidades
e as linhas, conhecidas como arcos, as ligacoes entre estas cidades, neste caso abordado sao rotas de duas vias
(simetria ida e volta), como mostra a gura 6.5 (a). O item (b) apresenta uma possvel solu cao (otima ou viavel)
para este exemplo graco e o item (c) uma solu cao de subcircuitos (solucao inviavel).
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. Cantao & F. S. Stark 97
Captulo 6. Programa cao Linear Inteira PL
2
4
1
3
5
2
4
1
3
5
(a) Problema com 5 cidades.
2
4
1
3
5
(b) Soluc ao do circuito.
(c) Soluc ao de subcircuitos.
Figura 6.5: Exemplo do problema do caixeiro-viajante com 5 cidades.
6.4 Problema da Mochila
Este problema lida com uma questao de situa cao na qual um ndividuo deve decidir quais sao os itens mais
valiosos para carregar em uma mochila, podendo se estender a situacoes de corte e empacotamentos e ate carre-
gamentos de veculos de determinadas dimensoes. Sendo entao, uma generaliza cao metaforica para um problema
geral de alocacao de recurso no qual um unico recurso limitado e designado a varias 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 selecao de projetos, como descrito em [2]. Considere n projetos
e um capital b para investimento. O projeto j tem um custo a
j
e um retorno esperado p
j
. O problema consiste
em selecionar os projetos que maximizam o retorno total esperado sem ultrapassar o limite de capital.
L. A. P. Cantao & F. S. Stark 98
Captulo 6. Programa cao Linear Inteira PL
Dena as variaveis:
x
j
=
_
1 se o produto j e selecionado
0 caso contrario
O problema e, entao, formulado como:
max f (x) =
n

j =1
p
j
x
j
S. a
n

j =1
a
j
x
j
b
x B
n
(6.4)
A funcao objetivo do problema (6.4) expressa a maximizacao do retorno esperado, a primeira restri cao indica que
o capital b nao pode ser excedido e a ultima restri cao representa o tipo de variaveis.
Esse problema e denominado problema da mochila devido `a analogia do problema que envolve a decisao 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 parametros:
p = [p
j
] = [41 33 14 25 32 32 9 19]
a = [a
j
] = [47 40 17 27 34 23 5 44]
A solu cao otima e dada por x
2
= x
4
= x
6
= x
7
= 1. Esta solucao utiliza 40+27+23+5 = 95 unidades do capital.
6.4.2 Mochila Inteira
Neste problema, a variavel de decisao x
j
0, j = 1 : n, pode assumir um valor inteiro nao negativo, isto e,
pode-se levar diversas unidades do mesmo item na mochila. A formula cao e identica `a da mochila 0-1, ao substituir
x B
n
por x Z
n
+
.
6.4.3 M ultiplas Mochilas
Considere n itens que devem ser colocadas em m mochilas de capacidades distintas b
i
, i = 1 : m. Cada item
j tem uma lucratividade p
j
e um peso w
j
e o problema consiste em selecionar m subconjuntos distintos de itens,
tal que cada subconjunto ocupe uma capacidade de no maximo b
i
e o lucro total seja maximizado. Este problema
ocorre em situa coes de carregamento de conteineres e em situa coes de corte nas industrias de papel e a co.
Dena as variaveis:
x
i j
=
_
1 se o item j e colocado na mochila i
0 caso contrario
O problema e formulado como:
max f (x) =
n

i =1
n

j =1
p
j
x
i j
S. a
n

j =1
w
j
x
i j
b
i
i = 1 : n

i =1
x
i j
1 j = 1 : n
x B
mn
(6.5)
L. A. P. Cantao & F. S. Stark 99
Captulo 6. Programa cao Linear Inteira PL
A fun cao objetivo do problema (6.5) representa a maximiza cao do lucro total, a primeira restri cao garante que a
capacidade b
i
da mochila i nao pode ser excedida, a segunda restri cao indica que se o item j e escolhido, entao ele
e colocado em um unica mochila e a ultima restri cao representa o tipo de variaveis.
6.4.4 Empacotamento de Mochilas
No problema anterior, o numero de mochilas e dado e alguns itens podem nao ser colocados nas mochilas. No
problema de empacotamento em mochilas, conhecido como bin packing, deseja-se determinar o numero mnimo de
mochilas de mesma capacidade b que empacotem n itens de peso w
j
, j = 1 : n. Este e um dos diversos problemas
de empacotamento, que envolvem tambem o arranjo de objetos em dispositivos bidimensionais e tridimensionais
6
,
tais como nos problemas de carregamentos de produtos sobre paletes ou dentro de conteineres ou caminh oes.
Dena as variaveis:
y
j
=
_
1, se a mochila i e usada
0, caso contrario
e x
i j
=
_
1, se o item j e colocado na mochila i
0, caso contrario
Tem-se, entao, a seguinte formulacao:
min f (x) =
n

i =1
y
i
S. a

i =1
x
i j
1 j = 1 : n
n

j =1
w
j
x
i j
by
i
i = 1 : n
x B
mn
y B
n
(6.6)
A funcao objetivo do problema (6.6) minimiza o numero de mochilas. Note que o limitante superior do numero
de mochilas e igual ao numero de itens n. O conjuto de equa coes expresso pela primeira restri cao asseguram que
cada item j e colocado em uma unica mochila, o conjunto de equa coes expresso pela segunda restri cao impoem
que se a mochila e usada, entao sua capacidade b nao pode ser excedida. Finalmente, as duas ultimas restricoes
indicam o tipo das variaveis.
6
Problemas de carregamento tridimensionais sao complexos e usualmente resolvidos por metodos heursticos.
L. A. P. Cantao & F. S. Stark 100
Captulo 6. Programa cao Linear Inteira PL
6.5 Exerccios Propostos
1. Desenvolva a arvore do B&B para cada um dos seguintes problemas. Por conveniencia, sempre selecione x
1
como a variavel de ramica cao no primeiro no.
(a)
max f (x) = 3x
1
+ 2x
2
S. a 2x
1
+ 5x
2
9
4x
1
+ 2x
2
9
x
1
, x
2
0
x
1
, x
2
Z
(b)
max f (x) = x
1
+ x
2
S. a 2x
1
+ 5x
2
16
6x
1
+ 5x
2
27
x
1
, x
2
0
x
1
, x
2
Z
(c)
max f (x) = 5x
1
+ 7x
2
S. a 2x
1
+ x
2
13
5x
1
+ 9x
2
41
x
1
, x
2
0
x
1
, x
2
Z
2. Mostre gracamente que o seguinte problema de PLI nao tem nenhuma solu cao viavel e entao verique o
resultado usando B&B.
max f (x) = 2x
1
+ x
2
S. a 10x
1
+ 10x
2
9
10x
1
+ 5x
2
1
x
1
, x
2
0
x
1
, x
2
Z
2
+
3. Resolva o problema de programacao inteira:
max f (x) = x
1
+ x
2
S. a 2x
1
+ 2x
2
3
7x
1
+ 3x
2
22
x
1
x
2
Z
2
+
(a) Gracamente.
(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 publica coes literarias. Este prossional 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 da as distancias em milhas entre
as diferentes cidades.
O objetivo e minimizar a distancia total percorrida pelo vendedor, formule entao a questao como um problema
de PLI
7
.
7
Se houver diculdade na formula cao, observe o exemplo da pagina 172 de [14].
L. A. P. Cantao & F. S. Stark 101
Captulo 6. Programa cao Linear Inteira PL
Milhas entre as cidades
Basin Wald Bon Mena Kiln
Basin 0 120 220 150 210
Wald 120 0 80 110 130
Bon 220 80 0 160 185
Mena 150 110 160 0 190
Kiln 210 130 185 190 0
Tabela 6.1: Distancias entre as cidades.
5. Um ecologista brasileiro, trabalhando na Amazonia, foi contratado para realizar a divisao de parte da oresta
em reservas orestais. Estudos recentes dividiram a oresta em dez regioes. O trabalho do ecologista
consiste em formar cinco reservas a partir dessas informacoes, observando o numero de predadores e presas
que cada regiao contem. A tabela 6.2 mostra esses dados para cada regiao (em milhares). Os animais nao
podem ser removidos de sua regiao e cada reserva deve conter entre 80 mil e 130 mil animais. Sabe-se que o
ideal e que o numero de presas deve ser maior que o numero 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.
Regiao Predadores Presas
1 40 17
2 29 24
3 20 22
4 25 22
5 20 57
6 19 32
7 37 7
8 10 11
9 35 27
10 35 32
Tabela 6.2: Numero de presas e predadores por regiao.
6. Um caminhao de entrega de oleo de uma empresa contem cinco compartimentos, com capacidade para 2700,
2800, 1100, 1800 e 3400 galoes de combustveis, respectivamente. A empresa deve entregar tres tipos de
combustveis A, B e C para um cliente. Parte da demanda pode nao ser atendida, mas, neste caso, a empresa
deve arcar com os custos. As demandas, penalidades por galao nao entregue e o numero maximo de galoes
de demanda nao atendidas sao descritas na tabela 6.3. Cada compartimento pode levar apenas um tipo de
combustvel. Formule o problema de carregar o caminhao de forma a minimizar os custos de nao atendimento
da demanda.
Combustvel Demanda Custo por galao Maximo de demanda
nao entregue nao atendida
A 2900 10 500
B 4000 8 500
C 4900 6 500
Tabela 6.3: Custo de combustveis.
L. A. P. Cantao & F. S. Stark 102
Captulo 6. Programa cao Linear Inteira PL
7. Experimente colocar este problema em um software como o TORA/Solver/AMPL
8
. Este problema foi proje-
tado para demonstrar o comportamento bizarro do algoritmo B&B ate mesmo para problemas pequenos. Em
particular, observe como muitos subproblemas serao examinados antes do software achar o otimo e quantos
sao necessarios para vericar a otimalidade. Seja o problema:
min f (y) = y
S. a 2(x
1
+ x
2
+ x
3
+ . . . + x
5
) + y = 15
Todas as variaveis sao (0, 1)
(a) Use a op cao automatica do TORA para mostrar que, embora a solu cao otima seja encontrada apos 9
subproblemas, mais de 25.000 subproblemas sao examinados antes de conrmar a otimalidade.
(b) Mostre que o Solver exibe uma experiencia semelhante `a do TORA. No Solver, voce pode observar a
mudan ca no numero de ramos gerados (subproblemas) na parte inferior da planilha.
(c) Resolva o problema com o AMPL e mostre que a solu cao obtida instantaneamente com 0 iteracoes
simplex MIP e 0 nos B&B. A razao para esse desenpenho superior so pode ser atribuda `as etapas
preparatorias executadas pelo AMPL e/ou pelo resolvedor CPLEX antes de resolver o problema.
8
Para maiores informacoes consulte [14].
L. A. P. Cantao & F. S. Stark 103
CAP

ITULO 7
O Uso de Excel e do lp solve para Problemas de
Programa cao Linear
7.1 Introdu cao
A aplica cao bem sucedida da Programa cao Matematica envolve habilidades tanto em Matematica quanto em
Computa cao. Neste sentido, alguns softwares foram desenvolvidos para facilitar o uso desta importante ferramenta
de decisao. Para problemas de Programa cao Linear (PL) podemos contar com os softwares Microsoft Oce
Excel
r
(ou MS-Excel ), Planilha Eletronica do ambiente Open Oce, lp solve (vide [9]), CPLEX (vide [5]), entre
outros. Abordaremos aqui as ferramentas para PL dos softwares Microsoft Oce Excel e lp solve.
Para auxiliar na manipula cao destes softwares26, tomemos o exemplo abaixo (7.1).
max f (x) = 12x
1
+ 8x
2
+ 6x
3
S. a 2x
1
+ x
2
+ x
3
16
3x
1
+ 4x
2
48
4x
1
+ x
2
+ 2x
3
24
x
1
, x
2
, x
3
0
(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 guras 7.1,
7.2, 7.3 e 7.4 mostram as etapas de instalacao.
A gura 6.1 mostra em destaque o menu principal da Planilha Excel. Neste menu, selecione o cone abaixo
Op coes do Excel.
A gura 7.2 apresenta a janela previamente escolhida. Escolha o cone Suplementos.
Na gura 7.3 utilize a op cao Solver e OK.
A gura 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 instala cao, podemos utiliza-lo para a resolucao de problemas de Programacao Matematica.
Na gura 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) sao os dados de entrada do problema.
Captulo 7. O Uso de Excel e do lp solve para Problemas de Programa cao Linear PL
Figura 7.1: 1
o
Passo para instalacao do Excel Solver.
Figura 7.2: 2
o
Passo para instalacao do Excel Solver.
L. A. P. Cantao & F. S. Stark 105
Captulo 7. O Uso de Excel e do lp solve para Problemas de Programa cao Linear PL
Figura 7.3: 3
o
Passo para instalacao do Excel Solver.
Figura 7.4: 4
o
Passo para instalacao do Excel Solver.
L. A. P. Cantao & F. S. Stark 106
Captulo 7. O Uso de Excel e do lp solve para Problemas de Programa cao Linear PL
Figura 7.5: Descri cao do problema.
A coluna E (celulas E2:E4) e celula F7 contem as equa coes relativas `as restricoes R1, R2, R3 e funcao objetivo.
A tabela 7.1 mostra as fun coes do problema (7.1) e seu posicionamento nas celulas adequadas.
Expressao Formula na Inserida
algebrica planilha na celula
R1 2x
1
+ x
2
+ x
3
=B2*$B$6 + C2*$C$6 + D2*$D$6 E2
R2 3x
1
+ 4x
2
=B3*$B$6 + C3*$C$6 + D3*$D$6 E3
R3 4x
1
+ x
2
+ 2x
3
=B4*$B$6 + C4*$C$6 + D4*$D$6 E4
max f (x) 12x
1
+ 8x
2
+ 6x
3
=B5*$B$6 + C5*$C$6 + D5*$D$6 F7
Tabela 7.1: Expressoes algebricas.
Na pratica, basta que se digite a formula para a celula E2 e entao copie para as demais celulas. Para fazer isso
corretamente, devem ser usadas as referencias xas $B$6, $C$6 e $D$6, que representam as variaveis x
1
, x
2
e x
3
.
Para programas maiores e mais eciente digitar (ou procurar no cone de formulas):
=SOMARPRODUTO(B2:D2;$B$6:$D$6)
na celula E2 e copiar para as demais. Agora todos os parametros estao prontos para serem vinculados ao solver.
A gura 7.6 mostra a janela aberta apos selecionar o cone Solver. Primeiramente, dene-se a funcao objetivo
celula $F$7, o sentido da otimiza cao igual a Max, e as celulas das variaveis $B$6:$D$6.
Estas informa coes deixam claro para o Solver que as variaveis denidas pelas celulas $B$6, $C$6 e $D$6 sao
determinadas pela maximiza cao da fun cao objetivo na celula $F$7.
A poxima etapa e estabelecer as restri coes dos problemas clicando em Adicionar na caixa de dialogo Parametros
do Solver. A caixa Adicionar restri coes sera exibida, como mostra a gura 7.7 para facilitar a digita cao dos
elementos das restri coes:
$E$2:$E$4 <= $G$2:$G$4
L. A. P. Cantao & F. S. Stark 107
Captulo 7. O Uso de Excel e do lp solve para Problemas de Programa cao Linear PL
Figura 7.6: Solver.
Figura 7.7: Relacionando as restricoes.
Uma maneira de entrar com as restri coes de nao negatividade e clicar em Op coes na caixa de dialogo Parametros
do Solver para acessar a caixa de dialogo Op coes do Solver, como mostra a gura 7.8, selecionar Presumir nao
negatividade. Pode tambem selecionar Presumir modelo linear.
Para resolver o problema, clique Resolver em Parametros do Solver. Uma nova caixa de dialogo, Resultado
do Solver dara o status da solu cao (gura 7.9). Se a montagem do problema estiver correta, o valor otimo da
L. A. P. Cantao & F. S. Stark 108
Captulo 7. O Uso de Excel e do lp solve para Problemas de Programa cao Linear PL
Figura 7.8: Op coes do Solver.
fun cao objetivo aparecera na celula $F$7 e os valores de x
1
, x
2
e x
3
irao para as celulas $B$6, $C$6 e $D$6,
respectivamente.
Figura 7.9: Solu cao.
Se o problema nao tiver solu cao viavel, o Solver emitira a mensagem explcita Solver nao pode achar uma
solu cao viavel. Se o valor objetivo otimo for ilimitado, o Solver emitira uma mensagem ambgua Os valores das
celulas de destino nao convergem. Em qualquer um dos casos, a mensagem indica que ha algo errado com a
L. A. P. Cantao & F. S. Stark 109
Captulo 7. O Uso de Excel e do lp solve para Problemas de Programa cao Linear PL
formula cao do modelo.
A caixa de dialogo Resultados do Solver lhe dara oportunidade de requisitar mais detalhes sobre a solu cao,
incluindo o relatorio de sensibilidade, como mostram as guras 7.10, 7.11 e 7.12.
Figura 7.10: Relatorio de sensibilidade.
Figura 7.11: Relatorio de resposta.
L. A. P. Cantao & F. S. Stark 110
lp solve Captulo 7. O Uso de Excel e do lp solve para Problemas de Programa cao Linear
Figura 7.12: Relatorio de limites.
7.3 lp solve
O software lp solve e um solver para problemas de Programa cao Linear Inteira Mista, vide [9]. Como o primeiro
passo na resolucao de um problema de Programa cao Inteira e a de relaxar a condi cao de integralidade das variaveis,
ou seja, resolver um problema de Programa cao 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 Programacao
Inteira).
Note que, este solver e exclusivo para problemas lineares, ou seja, as equacoes do problema devem ser de
primeira ordem. Por outro lado, o Excel Solver permite a resolu cao de problemas nao lineares.
Este software foi desenvolvido por Michel Berkelaar na Eindhoven University of Technology. O trabalho de
Jeroen Dirks fez a transicao da versao basica 1.5 para a versao completa 2.0. lp solve possui uma comunidade
via Yahoo group http://groups.yahoo.com/group/lp solve/, onde vc encontra as ultimas fontes, executaveis
para plataforma comum, exemplos, manuais e mensagens de ajuda sobre o lp sove.
A instalacao deste software e relativamente simples e pode ser feita atraves do site
http://sourceforge.net/projects/lpsolve/.
Apos a instala cao, em ambiente Windows, aparecera um cone na sua area de trabalho permitindo o acesso
direto. A gura 7.13 apresenta a tela inicial do solver.
Considere o problema (7.1), sua implementa cao e direta, como mostra a gura 7.14.
No menu superior, selecione a op cao Action e Solve. A tecla F9 e o atalho deste comando, como apresentado
na gura 7.15.
A gura 7.16 mostra a mensagem de resolu cao do problema em questao.
As janelas apresentadas pelas guras 7.16 e 7.17 mostram o problema em forma matricial e os valores das
variaveis apos o processo de otimiza cao, respectivamente.
111
lp solve Captulo 7. O Uso de Excel e do lp solve para Problemas de Programa cao Linear
Figura 7.13: O ambiente LP Solve.
Figura 7.14: Descri cao do problema (7.1).
112
lp solve Captulo 7. O Uso de Excel e do lp solve para Problemas de Programa cao Linear
Figura 7.15: Ocone de resolu cao.
Figura 7.16: Mensagem de resolucao.
113
lp solve Captulo 7. O Uso de Excel e do lp solve para Problemas de Programa cao Linear
Figura 7.17: Resolu cao na forma matricial.
Figura 7.18: Resultados das variaveis de decisao.
114
Referencias Bibliogracas
[1] E. L. de Andrade. Introducao `a Pesquisa Operacional: Metodos e Modelos para Analise de Decisao. Terceira Edicao.
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. 3
a
Edicao, 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. Otimizacao Combinat oria e Programacao Linear. Editora Campus, 2000.
[8] G. Lachtermacher. Pesquisa Operacional. 4
a
Edicao, 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. Tecnicas de Otimizacao. LTC, 2009.
[12] L. A. Pinto. Metodos de Pontos Interiores para Programacao Inteira. UNESP Campus de Sao Jose do Rio Preto,
Dissertacao 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 Ciencias Contbeis. Terceira Edicao, Editora Atlas, 1998.
[14] H. A. Taha. Pesquisa Operacional. 8
a
Edicao, Pearson Prentice Hall, 2008.
[15] R. J. Vanderbei. Linear Programming: Foundations and Extensions. Kluwer Academic Publishers, 1997.
115

Vous aimerez peut-être aussi