Você está na página 1de 167

1

Pesquisa Operacional
Engenharia de Produo
DEPROT / UFRGS
Profs. Flavio Fogliatto, Ph.D.
1. INTRODUO PESQUISA OPERACIONAL
A Pesquisa Operacional (PO) trata da modelagem matemtica de fenmenos
estticos ou dinmicos. Os problemas estticos so denominados por
determinsticos. Nestes problemas, todos os componentes so conhecidos a
priori e nenhuma aleatoriedade em sua ocorrncia admitida. Os problemas
dinmicos so denominados estocsticos, e seus elementos apresentam uma
probabilidade de ocorrncia em uma determinada forma. Este material aborda
problemas determinsticosde Pesquisa Operacional.
Os problemas de PO existem desde longa data. Somente a partir da 2
a
Grande
Guerra, todavia, passaram a ser tratados a partir de uma abordagem organizada,
sendo organizados na forma de uma disciplina ou rea do conhecimento
(Ravindranet al., 1987). Os primeiros casos reportados de aplicao da PO
foram, em virtude de sua origem, de carter militar. Somente aps o final da
Segunda Grande Guerra, problemas civis passaram a ser estudados pela PO. Os
primrdios da PO encontram-se descritos no trabalho de Trefethen(1954).
Ravindran, A., Phillips, D.T. & Solberg, J .J . (1987). Operations Research,
Principles and Practice, 2
nd
Ed.. New York: J ohn Wiley.
Trefethen, F.N. (1954). A Historyof OperationsResearch, in Operations
Research for Management, J .F. McCloskey& F.N. Trefethen(Eds.). Baltimore:
J ohnsHopkinsPress.
2
Prof. Fogliatto Pesquisa Operacional 2
Ementa
INTRODUO
1. Programao Matemtica
2. Reviso de lgebra Linear
3. Uso de pacotes computacionais na soluo de problemas
PROGRAMAO LINEAR
1. Introduo Programao Linear
2. O algoritmo Simplex
Dois eventos motivaram o rpido desenvolvimento da PO. O primeiro foi o
desenvolvimento de um algoritmo simples para solucionar problemas de
programao linear (isto , problemas determinsticosde PO), denominado
algoritmo simplex e proposto por George Dantzigem 1947. Tal algoritmo
permitiu a resoluo manual de diversos problemas de PO, especialmente aqueles
de baixa complexidade. O segundo foi a proliferao dos microcomputadores e o
rpido aumento em sua velocidade de processamento.
Problemas de PO so usualmente modelados na forma de uma funo objetivo
(por exemplo, maximizar o lucro da empresa) e diversas restries (associadas,
por exemplo, disponibilidade de matrias-primas, mo-de-obra, etc.). A chave
do algoritmo simplex est no formato da regio limitada pelas restries, comum
a todos os problemas de PO, conforme verificado por Dantzig; tal regio
denominada simplex. Quaisquer dois pontos selecionados no contorno de um
simplex, quando unidos por uma linha, resultam em uma linha interiamente
contida dentro do simplex. A partir dessa constatao, a busca pela soluo tima
em problemas de PO passou a ser limitada a pontos extremos da regio simplex, o
que permitiu o desenvolvimento de um algoritmo de baixa complexidade
computacional por Dantzig.
3
Prof. Fogliatto Pesquisa Operacional 3
Ementa
MODELOS DE REDES
1. O problema do transporte
2. O problema da designao
3. O problema do transbordo
4. Modelos de Redes
TPICOS AVANADOS
1. Programao Inteira
Os problemas determinsticosde PO podem ser classificados em duas categorias
genricas: problemas de programao (i) linear e (ii) no-linear. Somente os
problemas de programao linear podem ser resolvidos pelo algoritmo simplex.
Um problema qualquer de programao linear um problema de otimizao (isto
, busca pela melhor dentre vrias situaes, utilizando um critrio pr-
estabelecido de otimalidade), com as seguintes caractersticas (Bronson&
Naadimuthu, 1997):
o problema possui um conjunto de variveis manipulveis no
procedimento de busca pelo timo; essas so as variveis de deciso do
problema.
uma funo objetivo compe o critrio de otimalidade, sendo escrita em
termos das variveis de deciso do problema. A funo objetivo uma
funo linear das variveis de deciso, devendo ser maximizada ou
minimizada.
os valores assumidos pelas variveis de deciso devem satisfazer um
conjunto de restries, que compem a regio de solues viveisdo
problema.
as variveis de deciso podem assumir valores pr-estabelcidosno
domnio dos nmeros reais (isto , valores positivos, negativos ou ambos).
4
Prof. Fogliatto Pesquisa Operacional 4
Referncias Bibliogrficas
LIVRO-TEXTO: Operations Research, Applications and
Algorithms, de Wayne L. Winston, 3
a
. Ed., DuxburryPress.
Adicionais (no mesmo nvel):
1. Pesquisa Operacional, de HarveyWagner, 2
a
. Ed., Prentice-Hall
do Brasil.
2. Pesquisa Operacional, de Pierre J . Ehrlich, Ed. Atlas.
A soluo de problemas atravs da Pesquisa Operacional pode ser implementada
atravs de um procedimento em sete etapas, conforme apresentado na Figura 1.1.
As etapas so auto-explicativas para uma descrio completa das etapas, ver
Winston, 1994.
Bronson, R. & Naadimuthu, G. (1997). Operations Research, 2
nd
Ed.. New York:
McGraw-Hill.
Winston, W.L. (1994). Operations Research, Applications and Algorithm, 3
rd
Ed..
Belmont (CA): DuxburryPress.
Figura 1.1.
A metodologia de
Pesquisa Operacional
(Winston, 1994).
5
Prof. Fogliatto Pesquisa Operacional 5
INTRODUO PROGRAMAO LINEAR
Programao Linear uma ferramenta para soluo de problemas
de otimizao.
Em 1947, George Dantzigdesenvolveu o algoritmo SIMPLEX,
extremamente eficiente na soluo de problemas de PL.
A partir de ento, PL passou a ser utilizada em diversos
segmentos da atividade produtiva:
Bancos
Instituies Financeiras
Empresas de Transportes, etc.
Vamos introduzir a PL a partir de um exemplo.
2. PROGRAMAO LINEAR
Problemas de programao so modelados tal que o melhor uso de recursos
escassos possa ser determinado, conhecidos os objetivos e necessidades do
analista. Problemas de programao linear compem uma sub-classe de
problemas nos quais a modelagem interiamenteexpressa em termos de
equaes lineares. Parece intuitivo que para ser possvel a soluo de um dado
problema atravs da programao linear, o problema deve ser, incialmente,
formulado em termos matemticos.
A construo de um modelo de programao linear seguetrspassos bsicos
(Ravindranet al., 1987):
Passo I. Identifique as variveis desconhecidas a serem determinadas
(elas so denominadas variveis de deciso) e represente-as atravs de
smbolos algbricos (por exemplo, x e y ou x
1
e x
2
).
Passo II. Liste todas as restries do problema e expresse-as como
equaes (=) ou inequaes(, ) lineares em termos das variveis de
deciso definidas no passo anterior.
Passo III. Identifique o objetivo ou critrio de otimizao do problema,
representando-o como uma funo linear das variveis de deciso. O
objetivo pode ser do tipo maximizar ou minimizar.
6
Prof. Fogliatto Pesquisa Operacional 6
EXEMPLO: O caso Politoy
A PolitoyS/A fabrica soldados e trens de madeira.
Cada soldado vendido por $27 e utiliza $10 de matria-prima e $14
de mo-de-obra. Duas horas de acabamento e 1 hora de carpintaria
so demandadas para produo de um soldado.
Cada trem vendido por $21 e utiliza $9 de matria-prima e $10 de
mo-de-obra. Uma hora de acabamento e 1 h de carpintaria so
demandadas para produo de um trem.
Na sequncia, os passos acima so ilustrados atravs de dois exemplos. Os
exemplos foram adaptados de Ravindranet al. (1987).
Exemplo 1 - O problema do mixde produo
A empresa Dalai-Lama deseja planejar a produo de incensos. Os incensos
requerem dois tipos de recursos: mo-de-obra e materiais. A empresa fabrica trs
tipos de incenso, cada qual com diferentes necessidades de mo-de-obra e
materiais, conforme tabela abaixo:
A disponibilidade de materiais de 200 g/dia. A mo-de-obra disponvel por dia
de 150 horas. Formule um problema de programao linear para determinar
quanto deve ser produzido de cada tipo de incenso, tal que o lucro total seja
maximizado.
Para resolver o problema acima, aplicam-se os passos para a construo de um
modelo de programao linear.
Passo I - Identifique as variveis de deciso. As atividades a serem determinadas
dizem respeito s quantidades de produo dos trs tipos de incenso.
Representando essas quantidades em termos algbricos, tem-se:
Model o
A B C
Mo-de-obra (horas por unidade) 7 3 6
Materiais (g / unidade produzida) 4 4 5
Lucro ($ / unidade) 4 2 3
7
Prof. Fogliatto Pesquisa Operacional 7
EXEMPLO: O caso Politoy
A Politoyno tem problemas no fornecimento de matria-primas,
mas s pode contar com 100 h de acabamento e 80 h de carpintaria.
A demanda semanal de trens ilimitada, mas no mximo 40 soldados
so comprados a cada semana.
A Politoydeseja maximizar seus ganhos semanais.
Formule um modelo matemtico a ser utilizado nessa otimizao.
x
A
=produo diria do incenso tipo A
x
B
=produo diria do incenso tipo B
x
C
=produo diria do incenso tipo C
Passo II - Identifique as restries. Neste problema, as restries dizemrespeito
disponibilidade limitada dos recursos de mo-de-obra e materiais. O tipo A
requer 7 horas de mo-de-obra por unidade, e sua quantidade produzida x
A
.
Assim, a demanda por mo-de-obra para o incenso tipo A ser 7x
A
horas (se
considerarmos uma relao linear). Analogamente, os tipos B e C vo requerer
3x
B
e 6x
C
horas, respectivamente. Assim, a quantidade total de horas de trabalho
demandadas na produo dos trs tipos de incenso ser 7x
A
+ 3x
B
+ 6x
C
. Sabe-
se que esta quantidade no deve axceder o total de horas disponveis na empresa,
isto , 150 horas. Assim, a restrio relacionada a mo-de-obra ser:
7x
A
+ 3x
B
+ 6x
C
150
Para obter a restrio relacionada aos materiais, utiliza-se raciocnio similar. A
restrio resultante ser:
4x
A
+ 4x
B
+ 5x
C
200
Para finalizar, deseja-se restringir as variveis de deciso no domnio dos reais
no-negativos (isto , x 0). Essas restries, uma para cada varivel de deciso,
so denominadas restries de no-negatividade. Apesar de serem comuns em
muitas aplicaes de programao linear, no so necessrias para a utilizao da
metodologia.
8
Prof. Fogliatto Pesquisa Operacional 8
Ao desenvolver um modelo para a Ao desenvolver um modelo para a Politoy Politoy, investigaremos , investigaremos
caractersticas comuns a todos os problemas de PL caractersticas comuns a todos os problemas de PL
VARIVEIS DE DECISO
O primeiro passo na formulao de um problema de PL a definio
das variveis de deciso relevantes.
Estas variveis devem descrever completamente as decises a serem
tomadas.
A Politoydeve decidir sobre:
x
1
=nm. de soldados produzidos a cada semana
x
2
=nm. de trens produzidos a cada semana
Passo III - Identifique o objetivo. O objetivo maximizar o lucro total oriundo
das vendas dos produtos. Supondo que tudo o que for produzido encontre
mercado consumidor, o lucro total resultante das vendas ser:
z =4x
A
+ 2x
B
+ 3x
C
Assim, o problema de mixde produo apresentado acima pode ser escrito como
um modelo de programao matemtica atravs das seguintes expresses:
Determine os valores de x
A
, x
B
e x
C
que maximizem:
z =4x
A
+ 2x
B
+ 3x
C
sujeito s restries:
7x
A
+ 3x
B
+ 6x
C
150
4x
A
+ 4x
B
+ 5x
C
200
x
A
0
x
B
0
x
C
0.
9
Prof. Fogliatto Pesquisa Operacional 9
FUNO OBJETIVO
Em qualquer problema de PL, o analista sempre vai desejar maximizar
(ex., lucro) ou minimizar (ex., custo) alguma funo das variveis de
deciso.
A funo a ser maximizada (ou minimizada) a funo objetivo.
A Politoydeseja maximizar seus ganhos semanais. Ou seja:
ganho semanal = ganho semanal oriundo da venda de soldados +
ganho semanal oriundo da venda de trens.
= ($/soldado).(soldados/sem) +($/trem).(trem/sem)
= 27x
1
+ 21x
2
Tambm devemos considerar:
custo semanal com matria-prima: 10x
1
+9x
2
custo semanal com mo-de-obra: 14x
1
+ 10x
2
Exemplo 2 - O problema do treinamento
Uma empresa de componentes automotivos conduz um programa de treinamentos
para seus operadores. Operadores treinados so utilizados como instrutores no
programa, na proporo de um para cada dez trainees. O programa de
treinamento conduzido durante um ms. Sabe-se que de cada dez trainees
contratados, somente sete completam o programa (aqueles que no completam o
programa de treinamento so dispensados).
Os operadores treinados tambm devem cumprir suas funes usuaisde operador.
O nmero de operadores treinados necessrios para atender produo nos
prximos trs meses vem apresentado abaixo:
J aneiro: 100
Fevereiro: 150
Maro: 200
Alm disso, a empresa necessita de 250 operadores treinados paraAbril. Existem
130 operadores treinados no incio do ano. As despesas mensais com salrios so
as seguintes:
Cada trainee: $400
Cada operador treinado (trabalhando nas mquinas ou realizando treinamento):
$700
Cada operador treinado ocioso (por fora de acordo sindical, maquinistas ociosos
recebem uma frao do seu salrio normal, no podendo, entretanto, ser
demitidos): $500
10
Prof. Fogliatto Pesquisa Operacional 10
FUNO OBJETIVO
O que a Politoydeseja maximizar :
(27x
1
+ 21x
2
) - (10x
1
+ 9x
2
) - (14x
1
+ 10x
2
) = 3x
1
+ 2x
2
Usaremos a varivel z para designar o valor assumido pela funo
objetivo.
Assim:
Max z = 3x
1
+ 2x
2
Os nmeros 3 e 2 so chamados coeficientes da funo objetivo. Eles
indicam a contribuio de cada varivel nos ganhos da empresa.
Deseja-se modelar o problema acima. O objetivo minimizar os custos com
pessoal, atendendo demanda de pessoal da empresa.
Formulao:
Observe, inicialmente, que operadores treinados podem executar, em
umdeterminadoms, um das seguinte atividades: (1) trabalhar nas mquinas, (2)
realizar treinamento, ou (3) permanecer ocioso.
J que o nmero de operadores trabalhando nas mquinas em cada ms fixo, as
nicas variveis de deciso desconhecidas so o nmero de operadores realizando
treinamento e o nmero de operadores ociosos em cada ms. Assim, as variveis
de deciso do problema so:
x
1
=operadores treinados realizando treinamento em J aneiro
x
2
=operadores treinados ociosos em J aneiro
x
3
=operadores treinados realizando treinamento em Fevereiro
x
4
=operadores treinados ociosos em Fevereiro
x
5
=operadores treinados realizando treinamento em Maro
x
6
=operadores treinados ociosos em Maro
Segundo as restries de demanda, um nmero suficiente de operadores treinados
deve estar disponvel em cada ms para trabalhar nas mquinas. Para garantir
esses operadores, deve-se escrever a seguinte equao para cada ms:
Nmero nas mquinas +Nmero treinando +Nmero ocioso =
Total de operadores disponveis no incio do ms
11
Prof. Fogliatto Pesquisa Operacional 11
RESTRIES
A medida que x
1
e x
2
crescem, o valor da funo objetivo aumenta.
Mas x
1
e x
2
no podem crescer indefinidamente. Trs restries
limitam seu crescimento:
Restrio 1 - 100 h de acabamento / semana.
Restrio 2 - 80 h de carpintaria / semana
Restrio 3 - no mais que 40 soldados / semana, devido a limitaes
na prpria demanda.
Restries 1 3 devem ser expressas em termos das variveis de
deciso x
1
e x
2
.
A restrio para o ms de J aneiro, por exemplo, ser:
100 +x
1
+x
2
= 130
Em Fevereiro, o nmero total de operadores treinados disponvel ser dado pela
soma dos operadores treinados disponveis em J aneiro e aqueles que
completaram seu treinamento em J aneiro. Em J aneiro, 10x
1
trainees esto em
treinamento, mas somente 7x
1
deles completam o programa, passando a ser
considerados operadores treinados. Assim, a restrio para Fevereiro :
150 +x
3
+x
4
= 130 +7x
1
Analogamente, para o ms de Maro:
200 +x
5
+x
6
= 130 +7x
1 +
7x
3
Como a empresa necessita de 250 operadores treinados para Abril, mais uma
restrio necessria:
130 +7x
1
+7x
3
+7x
5
= 250
Todas as variveis de deciso so no-negativas.
Na composio da funo objetivo, os nicos custos relevantes a serem
considerados dizem respeito ao programa de treinamento (custo dos trainees e
dos operadores realizando o treinamento) e o custo dos operadores ociosos. A
funo objetivo :
Min z =400(10x
1
+10x
3
+ 10x
5
) + 700(x
1
+x
3
+ x
5
)
+ 500(x
2
+x
4
+ x
6
)
12
Prof. Fogliatto Pesquisa Operacional 12
RESTRIES
Restrio 1:
(total hsacabamento/sem.) = (hs.acab./sold.).(sold. produzidos/sem.)
+(hs.acab./trem).(trens produzidos/sem.)
(total hsacabamento/sem.) = 2(x
1
) +1(x
2
) =2x
1
+x
2
A restrio 1 ser dada por:
2x
1
+x
2
100
Observe que todos os termos de uma restrio devem ter a mesma
unidade de medida.
Os valores 2 e 1 na restrio so denominados coeficientes tecnolgicos.
Reunindo funo objetivo e restries (as quais so reorganizadas tal que
variveis de deciso so posicionadas esquerda da igualdade), chega-se ao
seguinte modelo de programao linear:
Min z =400(10x
1
+10x
3
+ 10x
5
) + 700(x
1
+x
3
+ x
5
)
+ 500(x
2
+x
4
+ x
6
)
sujeito a:
x
1
+x
2
= 30
7x
1
- x
3
- x
4
= 20
7x
1
+7x
3
- x
5
- x
6
= 70
7x
1
+7x
3
+7x
5
= 120
Todas as variveis so no-negativas.
13
Prof. Fogliatto Pesquisa Operacional 13
Restrio 2 (determinada de maneira similar):
(total hscarpintaria/sem.) = (hs.carp./sold.).(sold. produzidos/sem.)
+(hs.carp./trem).(trens produzidos/sem.)
(total hscarpintaria/sem.) = 1(x
1
) +1(x
2
) = x
1
+x
2
A restrio 2 ser dada por: x
1
+x
2
80
Restrio 3:
A restrio 3 definida pela limitao do nmero de soldados produ-
zidospor semana (devido a limitaes na demanda):
x
1
40
2.1. Modelos de Programao Linear em Formato Padro
O formato padro de um problema de programao linear com m restries e n
variveis dado por (Bazaraaet al., 1990):
Maximizar (ou minimizar):
z =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
m
x
1
0, x
2
0, , x
n
0
b
1
0, b
2
0, , b
m
0
Bazaraa, M.S., J arvis, J .J . & Sherali, H.D. (1990). Linear Programming and
Network Flows, 2
nd
Ed.. New York: J ohn Wiley.
M M
14
Prof. Fogliatto Pesquisa Operacional 14
RESTRIES DE SINAL
Identificam os tipos de valores que as variveis podem assumir.
Podem ser de trs tipos: 0 0 irrestrita
Combinando a funo objetivo e as restries, chega-se a formulao
matemtica do problema da Politoy:
maxz =3x
1
+ 2x
2
Sujeito a:
2x
1
+x
2
100
x
1
+x
2
80
x
1
40
x
1
, x
2
0
Restrio de horas de acabamento
Restrio de horas de carpintaria
Restrio de demanda
Algumas caractersticas importantes do formato padro so: (i) a funo objetivo
do tipo maximizar ou minimizar; (ii) todas as restries so expressas como
equaes; (iii) todas as variveis so no-negativas; e (iv) a constante no lado
direito das restries no-negativa.
O formato padro de um problema de programao linear pode ser escrito,
tambm, em formato matricial, resultando em uma apresentao mais compacta:
Maximizar (ou minimizar): z =cx
sujeito a:
Ax = b
x 0
b 0
onde A uma matriz de dimenso (m n), x um vetor (n 1), b um vetor (m
1) e c um vetor transposto (1 n). A matriz A normalmente denominada
matriz das restries ou matriz de coeficientes; ela contm os coeficientes
tecnolgicos que compem as restries. O vetor x o vetor de deciso, jque
contm a lista das variveis de deciso consideradas no problema. O vetor b
conhecido como lado direito das restries ou vetor das necessidades; ele indica
a disponibilidade de recursos associados cada restrio. Por fim, o vetor c
conhecido como vetor de custos do problema; ele contm os coeficientes de custo
que compem a funo objetivo.
15
Prof. Fogliatto Pesquisa Operacional 15
PRTICA 1 PRTICA 1: :
Um fazendeiro deseja determinar quantos acres de milho e trigo ele
deve plantar esse ano.
Um acre de trigo rende 25 sacas e requer 10 horas de trabalho/semana.
A saca vale $4 no mercado.
Um acre de milho rende 10 sacas e requer 4 horas de trabalho/semana.
A saca vale $3 no mercado. O governo garante a compra de pelo
menos 30 sacas de milho/ano.
O fazendeiro dispe de 7 acres de terra e pode trabalhar 40
horas/semana.
Formule o problema tal que os ganhos do fazendeiro sejam
maximizados.
Um problema qualquer de programao linear pode ser facilmente reescrito em
formato matricial, facilitando, posteriormente, a operacionalizao do algoritmo
simplex. Considere o exemplo ilustrativo abaixo:
Maximizar (ou minimizar):
z =5x
1
+2x
2
+3x
3
- x
4
+x
5
sujeito a:
x
1
+2x
2
+2x
3
+x
4
= 8
3x
1
+4x
2
+x
3
+x
5
= 7
x
1
0, , x
5
0
Em notao matricial, tem-se:

1 0 1 4 3
0 1 2 2 1
) 5 2 (
A

5
4
3
2
1
) 1 5 (
x
x
x
x
x
x

7
8
) 1 2 (
b
( ) 1 1 3 2 5
) 5 1 (
=

c
16
Prof. Fogliatto Pesquisa Operacional 16
Soluo
Soluo
-
-
Prtica 1
Prtica 1
Variveis de Deciso Variveis de Deciso:
Cx
1
= n
o
de acres de milho a serem plantados
Cx
2
= n
o
de acres de trigo a serem plantados
Nem todos os problemas de programao linear so formulados em formato
padro. No geral, as restries tendem a aparecer no formato deinequaes(,
). O algoritmo simplex, utilizado na soluo dos problemas de programao
linear spode ser rodado se o problema estiver escrito em formato padro.
Assim, na maioria das aplicaes, sernecessrio converter inequaesem
equaes.
Para converter uma inequaoem equao, dois tipos de variveis podero ser
utilizadas: as variveis de folga e as variveis de excesso. Variveis de folga so
utilizadas para converter inequaesdo tipo em =; variveis de excesso so
utilizadas para converter inequaesdo tipo em =. A denominao folga e
excesso pode ser facilmente compreendida atravs de exemplos.
Considere a restrio
x
1
10
que indica o nmero mximo de operadores disponveis para executar tarefas no
ms 1. Se x
1
assumir o valor 10 no ponto timo (ou seja, no alor de x
1
que
melhor satisfaz funo objetivo do problema), a inequaoassume o formato de
uma igualdade. Se x
1
assumir valores inferiores a 10, o nmero de operadores
utilizados sermenor que o nmero disponvel; neste contexto, tem-se uma folga
entre o nmero de operadores efetivamente utilizados no ms 1 e o nmero de
operadores disponveis. Assim, para transformar a inequaox
1
10 em
equao, insere-se uma varivel de folga, f
1
, que poderassumir qualquer valor
no-negativo.
17
Prof. Fogliatto Pesquisa Operacional 17
ESPAO DE SOLUES E SOLUO ESPAO DE SOLUES E SOLUO
TIMA TIMA
O espao de solues formado por todos os pontos que
satisfazem as restries do problema.
A soluo tima em um problema de maximizao
corresponde ao ponto no espao de solues onde o valor da
funo objetivo mximo.
Para reescrever o problema em formato padro, as seguintes modificaes so
necessrias:
(a) A varivel x
3
deve ser substituda por x
4
x
5
, sendo x
4
0 e x
5
0.
(b) Os dois lados da ltima restrio devem ser multiplicados por 1; lembre que
as restries no formato padro no admitem constantes negativasno lado direito.
(c) Introduza uma varivel de folga f
1
na primeira restrio e uma varivel de
excesso e
2
na segunda restrio. Os ndices nessas variveis indicam a restrio
onde cada varivel foi introduzida.
(d) Aloque coeficientes de custo iguais a 0 nas variveis de folgae excesso. Elas
no fazem parte do problema em sua forma original e no devem, assim, alterar a
funo objetivo.
Seguindo os passos acima, chega-se ao seguinte problema em formato padro:
Minimizar:
z =5x
1
2x
2
+3x
4
3x
5
sujeito a:
x
1
+x
2
+x
4
x
5
+f
1
=7
x
1
x
2
+x
4
x
5
e
2
=2
3x
1
+x
2
+2x
4
2x
5
=5
x
1
0, x
2
0, x
4
0, x
5
0, f
1
0, e
2
0
18
Prof. Fogliatto Pesquisa Operacional 18
Representao grfica Representao grfica
Representao da restrio 2x
1
+3x
2
=6:
(0,0)
2 3 4
2
3
4
2x
1
+3x
2
=6 2x
1
+3x
2
6
2x
1
+3x
2
6
x
1
x
2
Na sequncia, alguns conceitos bsicos de programao linear so introduzidos a
partir da representao matricial de um problema genrico de programao, em
formato padro. Considere o problema:
Maximizar (ou minimizar): z =cx
sujeito a:
Ax = b
x 0
1. Uma soluo vivel para o problema acima dada por um vetor no-negativo
x que satisfaa as restries Ax = b.
2. O espao de solues viveis do problema acima composto pelo conjunto S
de todas as suas solues viveis. Em termos matemticos,
3. Uma soluo tima dada por um vetor x
o
correspondente a uma soluo
vivel que resulta num valor de funo objetivo z
o
=cx
o
maior do que os valores
de z obtidos para as demais solues viveis do problema. Em tremos
matemticos, x
o
timo se e somente se x
o
S e cx
o
cx para todo x S (nesta
definio, o smbolo denota pertinncia).
{ } 0 , = = x b Ax x S
19
Prof. Fogliatto Pesquisa Operacional 19
Representao grfica do problema Representao grfica do problema Politoy Politoy
20
20
40
40
60
60
80
80
100
100
(2)
(4)
(3)
O espao de solues encontra-se
hachurado.
(2) - (4) denotam as restries.
As restries de sinal restringem o problema
ao primeiro quadrante do espao bi-dimens.
Soluo tima:
(1) Desenhe o vetor z.
z
(2) Desenhe linhas ortogonais ao vetor z.
Essas so as linhas de isocusto.
Ponto timo: (20,60)
(3) Calcule o valor de z no ponto timo.
z =3(20) +2(60) =180
x
1
x
2
4. Quando um problema de programao linear apresentar mais de uma soluo
tima, diz-se que tal problema possui solues timas alternativas. Neste
contexto, existe mais de uma soluo vivel para o problema apresentando o
mesmo valor timo z
o
.
5. A soluo tima em um problema de programao linear dita nica quando
no existir nenhuma outra soluo tima alternativa.
6. Quando um problema de programao linear no possuir um soluo finita (ou
seja, z
o
+ ou z
o
), diz-se que o problema apresenta uma soluo
ilimitada.
20
Prof. Fogliatto Pesquisa Operacional 20
Restries crticas ( Restries crticas (binding binding) e no ) e no- -crticas crticas
Uma restrio crtica (binding) se, substituindo os valores
correspondentes ao ponto timo na restrio,
a igualdade de verifica.
Ex.: restries (2) e (3) no grfico anterior.
Todas as demais restries so consideradas no-crticas.
Ex.: restrio (4) e restries de sinal no grfico anterior.
2.2. Problemas tpicos de programao linear
Alguns modelos de programao linear so adaptveis a uma gama de situaes
prticas. Esses modelos so considerados como tpicos, por serem aplicados
em diversos setores produtivos. Nesta seo, cinco famlias de problemas tpicos
sero consideradas:
A. Escolha do mixde produo
B. Escolha da mistura para raes
C. Planejamento dinmico da produo
D. Distribuio de produtos atravs de uma rede de transportes
Outras famlias de problemas tpicos podem ser encontradas nos slides 31 a 60
desta apostila. Os exemplos que se seguem foram adaptados de Wagner (1985).
Wagner, H.M. (1985). Pesquisa Operacional, 2
a
Ed.. So Paulo: Prentice-Hall do
Brasil.
21
Prof. Fogliatto Pesquisa Operacional 21
Solucione graficamente o problema e identifique o tipo de conjunto
de solues resultante.
Um empresa de eletrodomsticos planeja veicular seus produtos em
comerciais de TV durante a novela das 8 e os jogos da seleo naCopa.
Comerciais na novela so vistos por 7 milhes de mulheres e 2 milhes
de homens e custam $50000.
Comerciais nos jogos so vistos por 2 milhes de mulheres e 12 milhes
de homens, e custam $100000.
Qual a distribuio ideal de comerciais se a empresa deseja que eles sejam
vistos por 28 milhes de mulheres e 24 milhes de homens a um menor
custo possvel?
Outro exemplo Outro exemplo:
A. Escolha do Mixde Produo
Neste tipo de problema, o analista deseja determinar nveis paraatividades de
produo. Os problemas consideram um horizonte de programao finito. Os
nveis (ou intensidade de produo) de cada atividade sofrem restries de carter
tecnolgico e prtico. As restries so expressas em termos matemticos, a
partir das variveis de deciso selecionadas para o problema.
Suponha uma empresa com quatro tipos distintos de processos e dois produtos,
manufaturados a partir destes processos. Os insumos considerados para cada
processo/produtoso as horas disponveis de produo e as quantidades
disponveis das matrias-primas. A empresa deseja uma programao da
produo para a semana seguinte. Os dados do problema vm resumidos na
tabela abaixo.
22
Prof. Fogliatto Pesquisa Operacional 22
Variveis de deciso:
x
1
=num. de comerciais veiculados durante a novela.
x
2
=num. de comerciais veiculados durante os jogos
Funo objetivo:
Min z = 50x
1
+100x
2
Restries:
Pblico feminino: 7x
1
+2x
2
28
Pblico masculino: 2x
1
+12x
2
24
x
1
, x
2
0
Soluo tima: (3.6, 1.4) com z =$320. A soluo nica.
A soluo grfica ...
A formulao do problema do mixde produo, utilizando as variveis de
deciso identificadas na tabela, dada por:
Max z = 4x
A1
+ 5x
B1
+ 9x
A2
+ 11x
B2
sujeito :
1x
A1
+ 1x
B1
+ 1x
A2
+ 1x
B2
15 (mo-de-obra)
7x
A1
+ 5x
B1
+ 3x
A2
+ 2x
B2
120 (material Y)
3x
A1
+ 5x
B1
+ 10x
A2
+ 15x
B2
100 (material Z)
x
A1
, x
B1
, x
A2
, x
B2
0 (no-negatividade)
A funo objetivo busca maximizar os lucros oriundos da produo (e
conseqente venda) de cada produto. As restries dizermrespeito aos insumos,
tendo sido formuladas diretamente da Tabela na pgina anterior. Uma vez tendo
suas informaes organizadas em uma tabela, a maioria dos problemas de
programao linear so de fcil formulao.
23
Prof. Fogliatto Pesquisa Operacional 23
2
2
4
4
6
6
8
8
10
10
z
Ponto timo: (3.6, 1.4)
x
1
x
2
Ponto timo no inteiro:
Testar pontos (4,1), (3,2),
(4,2), checando restries e z.
Usar programao inteira.
B. Escolha da mistura para raes
Neste tipo de problema, o analista deseja determinar nveis de utilizao de
matrias-primas na composio de uma rao alimentar. As restries
normalmente dizem respeito a caractersticas nutircionaisdesejadas para o
produto acabado, quantidades de matrias-primas e insumos disponveis e
demanda a ser atendida.
Suponha um problema no qual uma rao deva ser elaborada a partir da mistura
de quatro tipos de gros. Quatro nutrientes so considerados noproduto final.
As informaes que compem as restries e funo objetivo do problema vm
apresentadas na tabela abaixo.
24
Prof. Fogliatto Pesquisa Operacional 24
CASOS ESPECIAIS: CASOS ESPECIAIS:
(1) Problemas com solues alternativas(vrias solues so
simultaneamente timas).
Nestes casos, a linha de isocusto, ao abandonar o espao de
solues viveis, intersecciona com uma linha inteira
(e no somente um ponto) desse conjunto.
A formulao do problema da mistura para raes, utilizando as variveis de
deciso identificadas na tabela, dada por:
Min z = 41x
1
+ 35x
2
+ 96x
3
sujeito :
2x
1
+ 3x
2
+ 7x
3
1250 (nutriente A)
1x
1
+ 1x
2
250 (nutriente B)
5x
1
+ 3x
2
900 (nutriente C)
0,6x
1
+0,25x
2
+ 1x
3
232,5 (nutriente D)
Todas as variveis de deciso na formulao acima so restritas a valores no-
negativos. Um segundo conjunto de restries poderia ser acrescentado
formulao acima: restries relacionadas s quantidades disponveis de cada
tipo de gro. Da mesma forma que as restries acima foram escritas diretamente
das linhas da tabela na pgina anterior, as restries de disponibilidade de gros
seriam obtidas das colunas da Tabela.
25
Prof. Fogliatto Pesquisa Operacional 25
(2) Problemas com soluo tendendo ao infinito.
Nestes casos, as restries formam um espao aberto de solues
viveis.
Se a funo objetivo for do tipo
max, z ea formulao
do problema pode estar incorreta.
Se for do tipo Min, uma ou mais
solues sero encontradas.
CASOS ESPECIAIS: CASOS ESPECIAIS:
C. Planejamento dinmico da produo
Os exemposvistos anteriormente contemplavam formulaes em um nico
perodo de tempo. Em situaes reais, pode-se desejar formular o problema para
gerar solues especficas para diferentes perodos de tempo. Neste caso, sero
necessrias as formulaes do tipo multiperodo.
Considere um problema onde as disponibilidades de matria-prima, mo de obra,
alm dos lucros unitrios com a venda de produtos variem com o tempo. A
estocagem de produtos de um perodo at perodos futuros admitida, apesar de
um custo de estocagem ser praticado. Esse um exemplo de programao
dinmica. A diviso deste tipo de problema em sub-problemas que contemplem
um nico perodo no oferece bons resultados, j que aspectos como a estocagem
de produtos acabados para atender demanda futura no so considerados.
26
Prof. Fogliatto Pesquisa Operacional 26
(3) Problemas sem soluo
Nestes casos, as restries no formam nenhum espao de
solues viveis.
CASOS ESPECIAIS: CASOS ESPECIAIS:
Suponha uma empresa fabricante de dois tipos de eletrodomsticos, mquinas de
lavar loua e mquinas de lavar roupas. A demanda esperada (em unidades) para
os prximos quatro trimestres vem dada no quadro abaixo.
Durante este horizonte de planejamento, deseja-se utilizar a mo-de-obra
disponvel da melhor maneira possvel e produzir as quantidades necessrias de
cada tipo de mquina. Estoques so admitidos (ou seja, pode-se estocar
mquinas montadas em um trimestre para atender a demanda em trimestres
subsequentes). Alm disso, a fora-de-trabalho malevel, sendo admitidas
demisses e contrataes.
Os custos de produo (matrias-primas), mo-de-obra e estocagem de mquinas
vem apresentados na tabela abaixo.
Vendas esperadas (unidd/trimestre)
Produto Designao 1 2 3 4
Lava-louas Et 2000 1300 3000 1000
Lava-roupas
Mt
1200 1500 1000 1400
27
Prof. Fogliatto Pesquisa Operacional 27
Resolva graficamente o problema
formulado na Prtica 1
Custos unitrios por trimestre
Tipo de custo Designao 1 2 3 4
Lava-louas (matrias-primas) ct 125 130 125 126
Lava-roupas (matrias-primas) vt 90 100 95 95
Estocagem lava-louas jt 5 4,5 4,5 4
Estocagem lava-roupas kt 4,3 3,8 3,8 3,3
Hora de trabalho
pt
6 6 6,8 6,8
Soluo grfica do problema:
Observe que todas as variveis de deciso so dependentes do tempo. Em outras
palavras, a medida que os trimestres passam, os custos de manufatura e
estocagem mudam.
Cada lava-louas demanda 1,5 horas de trabalho e cada lava-roupas demanda 2
horas de trabalho. No incio do 1
o
trimestre, 5000 horas de trabalho esto
disponveis. Por fora de acordo sindical, a variao mxima permitida na fora-
de-trabalho em um determinado trimestre no deve ultrapassar 10% (ou seja, de
um trimestre para o outro, no permitido demitir ou contratar mais de 10% dos
funcionrios em atividade no trimestre de origem).
As variveis de deciso do problema so:
d
t
=n
o
de lava-louas produzidas durante o trimestre t.
w
t
=n
o
de lava-roupas produzidas durante o trimestre t.
r
t
=estoque de lava-louas disponvel no final do trimestre t, descontadas as
mquinas utilizadas para suprir a demanda naquele trimestre.
28
Prof. Fogliatto Pesquisa Operacional 28
Outroexerccio
Um fabricantedesejamaximizar a receita. A tabelamostra
as composiesdasligas, seuspreose as limitaesna
disponibilidadede matria-prima:
Formuleo problemae encontrea soluotima
graficamente.
Itens / Ati vi dades Li ga ti po A Li ga ti po B Di sponi bi l i dade
Cobre 2 1 16
Zi nco 1 2 11
Chumbo 1 3 15
Preo de Venda $30 $50
Soluo do exerccio:
29
Prof. Fogliatto Pesquisa Operacional 29
Problemas Tpicos de
Problemas Tpicos de
Formulao
Formulao
Escolha da dieta
Schedulingde pessoal
Deciso Financeira
Problema da Mistura
Programao da Produo
Para garantir que a variao no nvel da fora-de-trabalho no exceda 10% no
primeiro trimestre, so escritas as restries:
h
1
0,9 (5000) e h
1
1,1(5000)
o que resulta em
h
1
4500 e h
1
5500
As restries para o primeiro trimestre podem ser reescritas para os trimestres t =
2,,4 conforme apresentado abaixo:
d
t
+r
t-1
- r
t
=E
t
w
t
+s
t-1
- s
t
=M
t
1,5d
t
+2w
t
- h
t
0
h
t
0,9h
t-1
e h
t
1,1h
t-1
A funo objetivo deve considerar a minimizao de todos os custos incidentes
da fabricao, mo-de-obra e estocagem das mquinas nos quatro trimestres.
Matematicamente, ela dada por:
Minimizar [(c
1
d
1
+v
1
w
1
+j
1
r
1
+k
1
s
1
+p
1
h
1
)
+ (c
2
d
2
+v
2
w
2
+j
2
r
2
+k
2
s
2
+p
2
h
2
)
+ (c
3
d
3
+v
3
w
3
+j
3
r
3
+k
3
s
3
+p
3
h
3
)
+ (c
4
d
4
+v
4
w
4
+j
4
r
4
+k
4
s
4
+p
4
h
4
)].
30
Prof. Fogliatto Pesquisa Operacional 30
FORMULAO 1: Escolha de dieta
Quatro tipos de alimentos esto disponveis na elaborao da merenda
de um grupo de crianas: biscoito de chocolate, sorvete, refrigerante
e torta de queijo. A composio desses alimentos e seus preos so:
Alimento
(poro)
Calorias Chocolate
(g)
Aucar
(g)
Gordura
(g)
Preo
(poro)
Biscoito 400 3 2 2 0.5
Sorvete 200 2 2 4 0.2
Refrig. 150 0 4 1 0.3
Torta
queijo
500 0 4 5 0.8
As crianas devem ingerir pelo menos 500 calorias, 6 g de
chocolate, 10 g de acar, e 8 g de gordura.
Formule o problema tal que o custo seja minimizado.
D. Distribuio de produtos atravs de uma rede de transportes
Os modelos de rede possuem, na maioria dos casos, uma estrutura com m pontos
de fornecimento e n pontos de destino. O problema de programao linear
consiste na definio do melhor caminho (ou rota) a ser utilizada para fazer com
que uma determinada quantidade de produtos de um ponto de fornecimento
chegue um ponto de destino.
Problemas de planejamento dinmico da produo tambm podem ser tratados
atravs de modelos de redes. Neste caso, a deciso passa a ser quanto produzir
num determinado ms para consumo naquele ms e quanto deve ser produzido
para estoque, para consumo nos meses subseqentes.
Suponha uma empresa com m plantas distribudas em um determinado pas. A
produo mxima de cada planta designada por S
i
, onde o ndice i designa a
planta em questo (i =1,, m).
Existem n pontos de demanda a serem abastecidos pela empresa. Cada pontode
demanda requer D
j
unidades do produto em questo. O ndice j denota os pontos
de demanda, tal que j =1,, n.
Associado a cada par (i, j) existe um custo c
ij
, que o custo de fornecer o produto
ao ponto de demanda j a partir da planta i.
O problema acima pode ser organizado em uma tabela, conhecida como tableau
dos transportes. Essa tabela vem apresentada a seguir.
31
Prof. Fogliatto Pesquisa Operacional 31
Variveis de deciso:
x
1
=pores de biscoitos;
x
2
=pores de sorvete;
x
3
=pores de refrigerante;
x
4
=pores de torta de queijo;
Funo objetivo:
(custo total) =(custo dos biscoitos) +(custo do sorvete) +(custo do
refrigerante) +(custo da torta de queijo)
Min z = 50 x
1
+20 x
2
+ 30 x
3
+ 80 x
4
Figura 2.2.1. Tableau dos transportes (Fonte: Wagner, 1986).
A formulao de um problema de transportes pode ser obtida diretamente das
linhas e colunas do tablena Figura 2.2.1. As restries de fornecimento
(capacidade) so obtidas das linhas da tabela; as restries de demanda, das
colunas da tabela.
32
Prof. Fogliatto Pesquisa Operacional 32
Restries:
(1) Ingesto mnima de 500 calorias;
(2) Ingesto mnima de 6 g de chocolate;
(3) Ingesto mnima de 10 g de acar;
(4) Ingesto mnima de 8 g de gordura.
(1) 400 x
1
+200 x
2
+ 150 x
3
+ 500 x
4
500
(2) 3 x
1
+2 x
2
3
(3) 2 x
1
+2 x
2
+ 4 x
3
+ 4 x
4
10
(4) 2 x
1
+4 x
2
+ x
3
+ 5 x
4
8
Variveis 0.
Seja x
ij
o nmero de unidades remetidas da planta i ao ponto de fornecimento j.
O custo associado remessa de uma unidade do produto de i para j c
ij
. O
modelo matemtico do problema descrito acima dado por:
Minimizar
sujeito a:
, para i =1,, m (capacidade)
, para j =1,, n (demanda)
Observe que uma soluo tima para o problema pode indicar uma mesma planta
fornecendo para vrios pontos de demanda, ou um ponto de demandarecebendo
os produtos demandados de diversas plantas.

= =
m
i
n
j
ij ij
x c
1 1
i
n
j
ij
S x

=1
j
m
i
ij
D x

=1
0
ij
x
33
Prof. Fogliatto Pesquisa Operacional 33
FORMULAO 2: Otimizao da Fora de Trabalho
Uma agncia de correios necessita de um nmero diferente de fun-
cionrios, de acordo com o dia da semana:
Dia Empr. Dia Empr. Dia Empr. Dia Empr.
Seg. 17 Quarta 15 Sexta 14 Dom. 11
Tera 13 Quinta 19 Sb. 16
Por exigncia sindical, cada trabalhador trabalha cinco dias con-
secutivose descansa dois.
Formule o problema tal que o nmero de empregados contratados
seja o mnimo necessrio para atender s necessidades de mo-de-
obra.
3. ALGORITMO SIMPLEX
Um simplex uma forma geomtrica com uma propriedade especial, a saber.
Uma linha que passe por quaisquer dois pontos pertencentes um simplex deve
estar contida inteiramente dentro do simplex. Por exemplo, A Figura 3.1(a) traz
um exemplo de uma figura geomtrica que no apresenta a propriedade acima.
Em contrapartida, a Figura 3.1(b) apresenta a propriedade que caracteriza uma
simplex. De forma geral, a rea formada pela interseco das restries de um
problema de programao linear (PL) uma forma geomtrica do tipo simplex.
Conforme visto anteriormente, a regio formada pela interseco das restries
de um problema de PL denominada espao de solues viveis.
34
Prof. Fogliatto Pesquisa Operacional 34
Variveis de deciso:
x
i
=nm. de empregados trabalhando no dia i;
Funo objetivo:
Min z = x
1
+x
2
+ x
3
+ x
4
+ x
5
+ x
6
+ x
7
Restries:
x
1
17
x
2
13
x
3
15
x
4
19
x
5
14
x
6
16
x
7
11
x
i
0
Qual o problema
com essa
formulao?
Num espao bi-dimensional, a regio formada pelo espao de solues viveis
um plano. A equao que representa a funo-objetivo pode ser representada na
forma de um vetor, digamos c. Desta forma, seguindo a direo de melhoria da
funo objetivo determinada pelo vetor c dentro do espao de solues viveis,
possvel encontrar o ponto timo. A busca garante que (a) o ponto timo
maximiza ou minimiza a funo objetivo, sendo seu valor mximo ou mnimo,
respectivamente; e (b) o ponto timo satisfaz o conjunto das restries que
compem o problema de programao linear, j que a busca pelo timo se
restringiu ao espao de solues viveis do problema em estudo. O mesmo
raciocnio pode ser estendido a problemas de maior dimensionalidade.
Considere o conjunto formado por todos os problemas de programao linear
para os quais existe um espao de solues viveis. Pode-se demonstrar que tais
espaos so formas geomtricas do tipo simplex (ver Bazaraaet al., 1990; p. 94).
Ao rastrear-se o espao de solues viveis de um problema de PL em busca do
ponto timo, este dever corresponder a um dos pontos extremos do simplex, o
que, na prtica, poder corresponder a um ponto, uma reta, um plano ou outra
forma de maior dimenso.
O algoritmo simplex pode ser descrito de maneira bastante simplificada,
conforme apresentado a seguir. Considere um espao de solues viveis bi-
dimensional e um vetor c formado pelos coeficientes de custo da funo objetivo
e posicionado na origem do plano bidimensional. Considere um ponto extremo p
qualquer do espao de solues viveis e um vetor que passe
35
Prof. Fogliatto Pesquisa Operacional 35
PROBLEMAS PROBLEMAS
(1) A funo-objetivo no o nmero de funcionrios, como se
imagina. Cada funcionrio est sendo computado 5 vezes.
Por ex.: um funcionrio que comea a trabalhar na segunda,
trabalha de segunda a sexta e est includo nas variveis
x
1
, x
2
, x
3
, x
4
,x
5
.
(2) A inter-relao entre as variveis x
1
, x
2
, ...,x
5
no est capturada
na formulao.
Por ex.: alguns funcionrios que trabalham na segunda estaro
trabalhando na tera. Ou seja x
1
e x
2
esto inter-relacionadas
mas isso no aparece na formulao.
pela origem e pelo referido ponto, digamos p. Se a busca pelo timo iniciar, por
exemplo, no ponto de origem do espao bidimensional, a funo objetivo tender
a apresentar melhoria sempre que o ngulo formado pelos vetores c e p for
inferior a 90. Quando esse no for o caso, o avano irna direo contrria do
vetor c (que indica a direo de melhoria da funo objetivo) e qualquer
movimento naquela direo serdesinteressante.
Por analogia, considere o conjunto de todos os pontos extremos do espao de
solues viveis e os vetores que partem da origem atestes pontos. A partir de
um ponto inicial qualquer no espao de solues viveis (por exemplo, o ponto
correspondente origem do espao bi-dimensional), possvel determinar a
direo de maior melhoria investigando os ngulos formados entre o vetor c e os
demais vetores, formados a partir da unio da origem aos pontos extremos do
simplex; o menor ngulo cp corresponde melhor direo para movimento.
O mesmo mecanismo de busca pode ser descrito em termos algbricos. Para
tanto, algumas definies prvias so necessrias. A primeira delas diz respeito a
variveis bsicas e no-bsicas. Um exemplo deve auxiliar a introduzir esses
conceitos.
Considere o seguinte exemplo:
Max x
1
+ 3x
2
s.a x
1
+ 2x
2
4
x
2
1
x
1
, x
2
0
36
Prof. Fogliatto Pesquisa Operacional 36
FORMULAO CORRETA FORMULAO CORRETA
Variveis de deciso:
x
i
=nm. de empregados comeando a trabalhar no dia i;
Cada empregado comea a trabalhar em um nico dia, no sendo assim
contados mais de uma vez.
Funo objetivo:
Min z = x
1
+x
2
+ x
3
+ x
4
+ x
5
+ x
6
+ x
7
Aps introduzir as variveis de folga f
1
e f
2
, o problema passa a ser escrito como:
Max x
1
+ 3x
2
s.a x
1
+ 2x
2
+ f
1
= 4
x
2
+f
2
= 1
x
1
, x
2
0
Geometricamente, o problema pode ser representado da seguinte forma:
Figura 3.2. Representao de um problema de PL em um espao bidimensional.
37
Prof. Fogliatto Pesquisa Operacional 37
17 funcionrios devem estar trabalhando na segunda.
Quem estar trabalhando segunda?
x
i
=trabalham nos diasi, i+1, i+2, i+3, i+4;
i =1 (segunda). Assim, estaro trabalhando na segunda os
empregados x
1
+x
4
+ x
5
+ x
6
+ x
7
.
Assim, a restrio referente ao nmero de empregados trabalhandona
segunda ser:
x
1
+x
4
+ x
5
+x
6
+ x
7
17
Os demais dias sero formulados de maneira similar.
Observe que para traar as retas correspondentes s restries, basta equacion-
las para determinar os pontos de interseco com os eixos x
1
e x
2
. Por exemplo, a
primeira restrio intercepta o eixo x
1
quando x
2
=0. Ignorando a varivel de
folga associada primeira restrio (f
1
) e transformando a inequaoem equao,
tem-se:
x
1
+ 2x
2
= 4
x
1
+ 2(0) = 4
x
1
= 4
Repetindo o procedimento, para o caso em que x
1
=0, determina-se o ponto onde
a primeira restrio intersecciona o eixo x
2
; isto :
x
1
+ 2x
2
= 4
0 + 2x
2
= 4
x
2
= 2
Sendo assim, para representar a primeira restrio no espao bidimensional (x
1
,
x
2
), basta identificar os pontos (x
1
, x
2
) =(4, 0) e (x
1
, x
2
) =(0, 2) e traar uma reta
que passe pelos dois pontos. Na Figura 3.2, a reta correspondente primeira
restrio vem identificada como f
1
=0. Tal identificao procedente, jque
exatamente sobre a reta, a varivel de folga assume um valor igual a 0 e a
inequaocorrespondente restrio assume o formato de uma equao.
38
Prof. Fogliatto Pesquisa Operacional 38
Restries:
x
1
+x
4
+x
5
+x
6
+x
7
17
x
1
+x
2
+x
5
+x
6
+x
7
13
x
1
+x
2
+x
3
+x
6
+x
7
15
x
1
+x
2
+x
3
+x
4
+x
7
19
x
1
+x
2
+x
3
+x
4
+x
5
14
x
2
+x
3
+x
4
+x
5
+x
6
16
x
3
+x
4
+x
5
+x
6
+x
7
11
x
i
0
A soluo tima x
1
=4/3; x
2
=10/3; x
3
= 2; x
4
= 22/3
x
5
= 0; x
6
= 10/3; x
7
= 5.
x
i
fracionrio no faz sentido.
Arredondando-se chegamos a uma soluo que, quando checada via
otimizao inteira, resulta completamente sub-tima.
Para esses problemas precisamos de programao inteira.
Para representar-se graficamente a segunda restrio, adota-se procedimento
idntico aquele descrito nos pargrafos anteriores. A segunda restrio vem
representada na Figura 3.2 como f
2
=0.
Considere o ponto A, correspondente origem do espao (x
1
, x
2
). Para
representar-se o ponto A em termos das coordenadas (x
1
, x
2
), escreve-se (x
1
, x
2
) =
(0, 0). Todavia, o nmero total de variveis do problema exemplo quatro: x
1
,
x
2
, f
1
e f
2
. J que (x
1
, x
2
) =(0, 0), pode-se perguntar quais os valores assumidos
por f
1
e f
2
. Como na origem est-se distante das retas correspondentes s
restries, natural imaginar-se que alguma folga exista nas restries. Sendo
assim, alm de saber-se com certeza que (x
1
, x
2
) = (0, 0), sabe-se tambm que
f
1
>0 e f
2
>0.
Num espao bidimensional a representao de qualquer ponto deverser feita
atravs de dois valores 0. Tais valores podem ser atribudos s variveis x
1
, x
2
,
f
1
e f
2
. Na prtica, em qualquer ponto do espao representado na Figura 3.2, todas
as variveis assumiro um valor. Todavia, como a dimenso do problema igual
a 2 (jque temos somente duas restries), sabe-se que apenas duas das quatro
variveis podero assumir valores >0. Na origem, essas variveis sero f
1
e f
2
.
Assim, diz-se que as variveis f
1
e f
2
formam (ou compem) a base no ponto A.
As variveis x
1
e x
2
so variveis no-bsicas, jque no dispe-se de espao
para mais do que duas variveis na base. Variveis bsicas podem assumir
valores 0. Variveis no-bsicas spodem assumir valor =0.
39
Prof. Fogliatto Pesquisa Operacional 39
FORMULAO: FORMULAO: Deciso Financeira Deciso Financeira
O conceito de valor lquido presente:
Considere que $1 investido hoje valer mais de $1 daqui h um ano.
O novo valor depender da taxa anual de juros, r.
Assim:
$1 hoje = $(1 +r)
k
emk anos
ou
$ 1 recebidos em k anos = $ (1 +r)
-k
hoje
$ x recebidos em k anos = $x / (1 +r)
k
hoje
O valor lquido presente (VLP) de um investimento determinado
descontando o fluxo de caixa de um investimento at o tempo
atual, ou tempo 0.
Considere o ponto B na Figura 3.2, correspondente interseco da segunda
restrio (f
2
=0) e do eixo x
2
. Neste ponto, as variveis bsicas so x
2
e f
1
. Se x
2
fosse uma varivel no-bsica, por exemplo, jamais seria possvel representar o
ponto B, jque naquele ponto x
2
=1. O mesmo raciocnio se aplica varivel de
folga f
1
. Se essa varivel estivesse for a da base, o ponto B deveria localizar-se,
necessariamente, sobre a primeira restrio (onde f
1
=0, como a prrpia
identificao da restrio indica). No ponto B, as variveis no-bsicas so x
1
e
f
2
.
Continuando, no ponto C (interseco das duas restries), as variveis bsicas
so x
1
e x
2
. As variveis de folga so no-bsicas. Finalmente, no ponto D
(interseco da primeira restrio com o eixo x
1
), as variveis bsicas so x
1
e f
2
e
as variveis no bsicas so x
2
e f
1
.
Considere a representao matricial de um problema de PL introduzida na seo
2.1. Os vetores c, x e b e a matriz A devem ser expressos em termos das
variveis bsicas e no-bsicas que compem o problema. A representao do
problema na Figura 3.2, no ponto A, por exemplo, ser:
2 1 2 1
f f x x

=
1 0 1 0
0 1 2 1
A
4 3 2 1
a a a a
2 1 2 1
f f x x
[ ] 0 , 0 , 3 , 1 =
t
c

=
0
0
2
1
f
f
b
[ ]
2 1 2 1
, , , f f x x
t
= x
40
Prof. Fogliatto Pesquisa Operacional 40
EXEMPLO: EXEMPLO:
Investim. 1 = requer um investimento de $10,000 no tempo 0
e de $14,000 em 2 anos e tem um retorno de $24,000 em 1 ano.
Investim. 2 = requer um investimento de $6,000 no tempo 0 e
de $1,000 em 2 anos e tem um retorno de $8,000 em 1 ano.
Qual o melhor investimento (r =0.2)?
VLP (Inv. 1) = -10,000 +(24,000/1+0.2) - [14,000/(1+0.2)
2
]
= $277.78
VLP (Inv. 2) = -6,000 +(8,000/1+0.2) - [1,000/(1+0.2)
2
]
= - $27.78
O investimento 1 bem melhor!
Como no ponto A as variveis f
1
e f
2
compem a base, as matrizes e vetores
apresentados acima podem ser divididos simplesmente em termos deseus
componentes bsicos e no-bsicos. Para padronizar a apresentao, as variveis
bsicas sempre vm apresentadas antes das no-bsicas. No exemplo anterior, os
vetores e matrizes seriam reescritos como:
As colunas na matriz A so numeradas de a
1
at a
n
(no exemplo, n =4), conforme
apresentado no exemplo.
De uma maneira genrica, qualquer problema de PL poder ser representada em
termos dos vetores c, x e b e da matriz A particionadosem suas pores bsicas e
no-bsicas. Cada poro dever compor as variveis de deciso atualmente na
base e fora-da-base, respectivamente.
Por exemplo:
NB B
[ ]
2 1 2 1
x x f f = A [ ]
2 1 2 1
, , x x f f
t
= c

=
2
1
f
f
b
[ ]
2 1 2 1
, , x x f f
t
= x
NB B
NB B
41
Prof. Fogliatto Pesquisa Operacional 41
EXEMPLO DE FORMULAO EXEMPLO DE FORMULAO: :
Formulao 3 Formulao 3
Uma empresa est considerando 5 oportunidades de investimento,
com caractersticas dadas a seguir:
A empresa tem $40 disponveis para investimento no tempo t =0
e estima dispor de $20 no tempo t =1. Capital no investido em
t=0no estar disponvel em t =1. Fraes de cada investimento
podem ser compradas.
Formule o problema tal que o VLP da companhia seja
maximizado.
Inv. 1 Inv. 2 Inv. 3 Inv. 4 Inv. 5
Gasto t =0 $11 $53 $5 $5 $29
Gasto t =1 $3 $6 $5 $1 $34
VLP $13 $16 $16 $14 $39
O algoritmo simplex pode ser derivado atravs da seguinte equao, que compe
o sistema de restries de um problema de PL:
Ax =b
A soluo do sistema de equaes acima pode ser obtida resolvendo o sistema
para x. Para tanto, basta multiplicar os dois lados da igualdade por A
-1
(lembre
que A A
-1
=I, onde I designa uma matriz identidade; ver reviso de lgebra
Linear a partir do slide 90):
A
-1
Ax =A
-1
b
Ix = A
-1
b
x = A
-1
b
Reescrevendo a primeira equao utilizando matrizes e vetores particionadosem
variveis bsicas e no-bsicas resulta em:
[ ] N B A = [ ]
N B
t
c c c = [ ]
n
t
b b b , , ,
2 1
K = b [ ]
N B
t
x x x =
[ ] b
x
x
N B
N
B
=

42
Prof. Fogliatto Pesquisa Operacional 42
Varivel de deciso:
A empresa deseja determinar qual frao de cada investimento deve ser
comprada:
x
i
=frao do investimento i comprada pela empresa.
Funo objetivo:
Consiste em maximizar os VLP dados na tabela:
Max z = 13x
1
+16x
2
+ 16x
3
+ 14x
4
+ 39x
5
Procedendo com a multiplicao entre os vetores no lado esquerdoda igualdade,
obtemos:
e ento:
resolvendo a equao acima para x
B
, isto , multiplicando-se ambos os lados da
equao por B
-1
, obtm-se:
A matriz N, derivada de A e correspondendo s colunas no-bsicas de A, pode
ser escrita em termos de suas colunas no-bsicas a
j
. O mesmo pode ser feito
para o vetor x
N
, que contm as variveis de deciso no-bsicas; o vetor x
N
pode
ser escrito em termos de suas variveis de deciso no-bsicas x
j
.
Para reescrever N e x
N
conforme sugerido acima, necessrio observar a
equivalncia de duas representaes algbricas, descritas a seguir.
Sejam N e x
N
dados por:
b Nx Bx
N B
= +
N B
Nx b Bx =
N B
Nx B b B x
1 1
=
43
Prof. Fogliatto Pesquisa Operacional 43
Restries:
(1) A empresa no pode investir mais de $40 no tempo 0:
11x
1
+53x
2
+5x
3
+5x
4
+29x
5
40
(2) A empresa no pode investir mais de $20 no tempo 1:
3x
1
+6x
2
+5x
3
+x
4
+34x
5
20
Falta alguma restrio?
(3) A empresa no pode comprar mais que 100% de nenhum
investimento:
x
i
1
(4) Todas as variveis devem ser positivas.
Observe que N uma matriz; assim, suas partes componentes so vetores,
designados por a
j
. Tal designao pertinente, j que a matriz N uma partio
da matriz de restries A. Consequentemente, as colunas de N devem constituir
um subconjunto das colunas de A. Tal subconjunto de variveis no-bsicas ser
designado, doravante, por R.
Existe um total de N colunas em A, uma associada a cada varivel de deciso do
problema. Das N colunas de A, P correspondem a variveis no-bsicas. Assim,
os ndices em N e x
N
variam de j =1,, P. Note que as variveis x
j
no-bsicas
compem o conjunto R.
Deseja-se reescrever N e x
N
tornando explicitas as suas colunas e variveis no-
bsicas, respectivamente. Para tanto, utiliza-se a seguinte equivalncia:
A validade da equivalncia acima demonstrada a seguir atravs de um exemplo.
[ ]
P
a a a N L
2 1
=
[ ]
P
t
x x x L
2 1
=
N
x

=
R j
j j
x a Nx
N
44
Prof. Fogliatto Pesquisa Operacional 44
PRTICA PRTICA 2: 2:
A empresa X deseja determinar quanto dinheiro investir e quanto
dinheiro tomar emprestado no prximo ano. Cada real investido pela
empresa reduz o VLP em 10 centavos e cada real tomado em
emprstimo aumenta o VLP em 50 centavos (vale mais a pena tomar
emprestado do que investir).
X pode investir no mximo $1000000. O dbito pode somar at 40%do
que for investido.
X dispe de $800000 em caixa.
Todo o investimento deve ser pago com o dinheiro em caixa ou com
dinheiro emprestado.
Formule o problema tal que o VLP de X seja maximizado.
Resolva o problema graficamente.
Seja N uma matriz (2 3) constituda dos seguintes elementos:
Por convenincia e para manter a consistncia notacional, as trs colunas da
matriz N acima so denominadas a
j
, j =1,2,3.
Associada a cada coluna de N existe uma varivel de deciso x
j
. Essas variveis
vm apresentadas no vetor x
N
, abaixo:
O produto Nx
N
, utilizando a matriz e vetor acima, resulta em:

=
7 2 1
8 6 3
N
3 2 1
a a a
[ ]
3 2 1
x x x
t
=
N
x

+ +
+ +
=

=
3 2 1
3 2 1
3
2
1
7 2 1
8 6 3
7 2 1
8 6 3
x x x
x x x
x
x
x
t
N
Nx
45
Prof. Fogliatto Pesquisa Operacional 45
FORMULAO: Problema da Mistura FORMULAO: Problema da Mistura
Situaes onde vrias matrias-primas devem ser misturadas em
propores ideais so modelveis via programao linear.
Alguns exemplos:
(1) Mistura de vrios tipos de leos para produzir diferentes
tipos de gasolina.
(2) Mistura de compostos qumicos para gerar outros
compostos.
(3) Mistura de ingredientes para produo de raes.
(4) Mistura de diferentes tipos de papis para produzir um papel
reciclado.
A representao alternativa desse produto utiliza o somatrio:
No exemplo, j =1, 2, 3. Ento:
Comparando o resultado acima com aquele obtido a partir do produto Nx
N
,
possvel verificar a validade da equivalncia proposta.
De maneira anloga, possvel demonstrar que o produto entre dois vetores, por
exemplo,
pode ser representado, alternativamente, como:

=
R j
j j
x a Nx
N

+ +
+ +
=

= + + =

3 2 1
3 2 1
3 2 1
3 3 2 2 1 1
7 2 1
8 6 3
7
8
2
6
1
3
x x x
x x x
x x x
x x x x
R j
j j
a a a a
N N
x c
t


R j
j j
x c
46
Prof. Fogliatto Pesquisa Operacional 46
EXEMPLO (Formulao 4): EXEMPLO (Formulao 4): O caso O caso Texaco Texaco
A Texacoproduz at 14000 barris/diade 3 tipos de gasolina misturando 3
tipos de leos. Dados a respeito das gasolinas e leos so:
Preo
Venda
Deman
da/dia
Preo
produo
Preo
compra
Disponi-
bilidade
Gas 1 $70 3000 $4 leo 1 $45 5000
Gas 2 $60 2000 $4 leo 2 $35 5000
Gas 3 $50 1000 $4 leo 3 $25 5000
Agora possvel representar as matrizes e vetores da equao:
utilizando somatrios. Assim, explicitam-se as variveis no-bsicas na equao.
A representao dada por:
lembrando que j o ndice que designa as variveis no-bsicas e R denota o
conjunto de todas as variveis no-bsicas.
Por convenincia, algumas pores da equao (1) acima so assimrenomeadas:
Reescrevendo a equao (1) em termos das substituies, tem-se:
N B
Nx B b B x
1 1
=
) 1 (
1 1


=
R j
j j
x a B b B x
B
b b B =
1
j j
y a B =
1

=
R j
j j
x y b x
B
47
Prof. Fogliatto Pesquisa Operacional 47
EXEMPLO (Formulao 4): EXEMPLO (Formulao 4): O caso O caso Texaco Texaco
As gasolinas tm especificaes de octanageme contedo de enxofre
dadas abaixo. A mistura de leos para produo de gasolina deve
satisfazer essas especificaes.
Oleo 1 Oleo 2 Oleo 3 Gas 1 Gas 2 Gas 3
Ocatanagem 12 6 8 10 8 6
Enxofre (%) 0.5 2.0 3.0 1.0 2.0 1.0
Cada $/dia gasto em publicidade c/ qualquer tipo de gasolina, aumenta
em 10 barris a venda daquele tipo de gasolina. Formule este problema tal
que a Texacomaximize seus lucros dirios (=receita-despesa).
A funo objetivo de um problema genrico de PL pode ser escritaem termos
dos vetores de custos e das variveis de deciso do problema. Em termos
matemticos:
Mais uma vez particionandoos vetores em termos de variveis bsicas e no-
bsicas, obtm-se:
O vetor x
B
acima pode ser reescrito conforme apresentado na equao (1). Aps
substituio, obtm-se:
Efetuando-se a primeira multiplicao no somatrio acima, obtm-se:
x c
t
z =
[ ]
N N B B
N
B
N B
x c x c
x
x
c c
t t
z + =

=
N N B
x c a B b B c
t
R j
j j
t
x z +

1 1
N N B B
x c a B c b B c
t
R j
j j
t t
x z + =

1 1
48
Prof. Fogliatto Pesquisa Operacional 48
Variveis de deciso:
A Texacodeve decidir sobre (i) quanto dinheiro gastar na publicidade de
cada tipo de gasolina e (ii) qual a mistura apropriada de leos.
a
i
=$/dia gasto na publicidade da gasolina i.
x
ij
=barris de leoi gastos/diapara produzir gasolinaj.
Funo objetivo:
Primeiro, note que:
x
11
+x
12
+x
13
=bar.leo 1 consum./dia.
x
21
+x
22
+x
23
=bar.leo 2 consum./dia.
x
31
+x
32
+x
33
=bar.leo 3 consum./dia.
x
11
+x
21
+x
31
=bar.gas.1prod./dia.
x
12
+x
22
+x
32
=bar.gas.2prod./dia.
x
13
+x
23
+x
33
=bar.gas.3prod./dia.
O ltimo termo na expresso acima deve ser explicitado em funodas variveis
no-bsicas; ou seja,
Por convenincia, renomeia-seo primeiro termo da equao acima:
Observe que o valor z
0
na equao acima corresponde ao valor atual da funo
objetivo. Como as variveis no-bsicas assumem valor igual a 0 por definio
(ou seja, x
N
=0), o segundo termo direita da expresso
desaparece. Logo,
o que efetivamente corresponde ao valor atual da funo objetivo, considerando a
base atual representada por x
B
.



+ =
R j
j j
R j
j j
t t
x c x z a B c b B c
B B
1 1
b B c
B
1
0

=
t
z
N B
Nx B b B x
1 1
=
B B B
x c b B c
t t
z = =
1
0
49
Prof. Fogliatto Pesquisa Operacional 49
Funo objetivo:
(1) Ganhos/diacom vendas de gasolina:
70(x
11
+x
21
+x
31
) +60(x
12
+x
22
+x
32
) +50(x
13
+x
23
+x
33
)
(2) Custo/diada compra de leo:
45(x
11
+x
12
+x
13
) +35(x
21
+x
22
+x
23
) +25(x
31
+x
32
+x
33
)
(3) Custo/diacom propaganda:
a
1
+a
2
+a
3
(4) Custo/diaproduo:
4(x
11
+x
12
+x
13
+x
21
+x
22
+x
23
+x
31
+x
32
+x
33
)
Lucro dirio: (1) - (2) - (3) - (4)
Assim, a expresso:
pode ser reescrita como:
Como os dois somatrios consideram o mesmo domnio (ou seja, as variveis
no-bsicas pertencentes ao conjunto R), pode-se agrupar os dois termos de
somatrio num nico termo:
Como B
-1
a
j
=y
j
, tem-se:
Para finalizar esta primeira etapa do desenvolvimento do algoritmo simplex e
obter-se o primeiro resultado, uma ltima substituio necessria; asaber:



+ =
R j
j j
R j
j j
t t
x c x z a B c b B c
B B
1 1

+ =
R j
j j
R j
j j
t
x c x z z a B c
B
1
0
( )

=
R j
j j j
t
x c z z a B c
B
1
0
( )

=
R j
j j j
t
x c z z y c
B 0
j
t
j
z y c
B
=
50
Prof. Fogliatto Pesquisa Operacional 50
Funo objetivo:
Max z = 21x
11
+11x
12
+x
13
+31x
21
+21x
22
+11x
23
+41x
31
+
31x
32
+21x
33
- a
1
- a
2
- a
3
Restries:
(1-3) Gas1-3 produzida diariamente deve ser igual a demanda (no
queremos estocar gasolina).
Demanda diria gas1: 3000 +demanda gas1 gerada por publicidade
= 3000 +10a
1
Demanda gas2: 2000 +10a
2
Demanda gas3: 1000 +10a
3
Assim:
x
11
+x
21
+x
31
- 10a
1
=3000
x
12
+x
22
+x
32
- 10a
2
=2000
x
13
+x
23
+x
33
- 10a
3
=1000
Assim, a expresso para z passa a ser escrita como:
1
o
resultado:
z
0
representa o valor atual (ou presente) da funo objetivo. Numproblema de
maximizao, o valor de z pode ser melhorado se z
j
c
j
<0, para qualquer j R.
Num problema de minimizao, o valor de z pode ser melhorado sempre que z
j

c
j
>0, para qualquer j R.
Parece claro que o resultado apresentado acima estabelece o critrio utilizado
pelo algoritmo simplex para mudana de base. Assim, num problema de
maximizao, a base atual (que gera o valor atual z
0
da funo objetivo) sser
substituda por uma outra base se, para alguma varivel no-bsica j R, o
valor z
j
c
j
<0. Quando este for o caso, o segundo termo direita da igualdade
na expresso para z acima ser positivo e o valor de z sofrer um incremento,
exatamente o que se deseja em um problema de maximizao.
( )

=
R j
j j j
x c z z z
0
51
Prof. Fogliatto Pesquisa Operacional 51
Restries:
(4-6) Compra diria de leo 1-3 no deve exceder 5000 barris.
x
11
+x
12
+x
13
5000
x
21
+x
22
+x
23
5000
x
31
+x
32
+x
33
5000
(7) Produo/diade gasno deve exceder 14000 barris.
x
11
+x
12
+x
13
+x
21
+x
22
+x
23
+x
31
+x
32
+x
33
14000
(8) Mistura de leos p/produzir gas1 deve ter uma octanagemmdia
de pelo menos 10 graus.
Oc total gas
N barrisnamistura
x x x
x x x
o
tan. .1 12 6 8
10
11 21 31
11 21 31
=
+ +
+ +

Para linealizar essa inequao, multiplica-se os dois lados pelo denominador:
2x
11
- 4x
21
- 2x
31
0
Num problema de PL, o nmero de variveis que compem a base limitado.
Assim, sempre que na busca pelo ponto timo a base atual for substituda por
outra, uma das variveis bsicas que compem a base atual deverdar lugar
varivel no-bsica para a qual z
j
c
j
<0. Se mais de uma varivel no-bsica
atender ao requisito z
j
c
j
<0, seleciona-se aquela para a qual o mdulo de z
j
c
j
seja maior.
Como a cada mudana de base uma varivel no-bsica assume o lugar de uma
varivel bsica na base, necessrio adotar-se um critrio para retirada de
variveis da base. Tal critrio compe o 2
o
resultado do algoritmo simplex, sendo
ilustrado utilizando o exemplo na pgina 38.
Relembrando a descrio do problema:
Max x
1
+ 3x
2
s.a x
1
+ 2x
2
+ f
1
= 4
x
2
+f
2
= 1
x
1
, x
2
0
As bases possveis para este problema so (x
1
, x
2
), (x
1
, f
1
), (x
1
, f
2
), (x
2
, f
1
), (x
2
, f
2
) e
(f
1
, f
2
). Tente identificar os pontos correspondentes a essas bases naFigura 3.2.
Quatro bases j haviam sido identificadas previamente, correspondendo aos
pontos A D da figura; essas so as bases viveis do problema. Outras duas
bases no-viveis podem ser identificadas. Bases no-viveis no so
consideradas no algoritmo simplex, j que no satisfazem o conjunto de restries
que compem o problema.
52
Prof. Fogliatto Pesquisa Operacional 52
(9) Mistura de leos p/produzir gas2 deve ter uma octanagemmdia
de pelo menos 8 graus.
4x
12
- 2x
22
0
(10) Mistura de leos p/produzir gas3 deve ter uma octanagem
mdia de pelo menos 6 graus.
6x
13
+ 2x
33
0
A restrio (10) redundante e no precisa ser includa no modelo.
Por qu?
Porque x
13
e x
33
0 por definio. Verifique a octanagemdos leos
crus para entender o porqu desta redundncia.
Suponha que uma primeira base selecionada para dar incio ao algoritmo.
Independente das variveis selecionadas para compor a primeira base, para
determinar o seu valor e verificar a viabilidade da base selecionada, deve-se
resolver o seguinte sistema de equaes:
Uma escolha razovel para a primeira base dada por (f
1
, f
2
), o ponto de origem
no espao bidimensional (x
1
, x
2
). Particionandoa matriz A do exemplo entre
variveis bsicas e no-bsicas e rearranjando, tal que variveis bsicas passam a
ser as primeiras colunas de A, obtm-se:
Escolhendo as variveis de folga como primeira base para o problema, a matriz B
assume a conformao de uma matriz identidade. Como para resolver o sistema
x
B
=B
-1
b ser necessrio obter a matriz inversa B
-1
, a base selecionada bastante
conveniente, j que se B =I, B
-1
=B. Assim,
b B x b Bx
B B
1
= =
2 1 2 1
x x f f
[ ]

= =
1 0 1 0
2 1 0 1
N B A
2 1 4 3
a a a a
53
Prof. Fogliatto Pesquisa Operacional 53
(11) Mistura de leos p/produzir gas1 deve ter um teor de enxofre
menor ou igual a 1%.
-0.015x
12
+ 0.01x
32
0
(12) Mistura de leos p/produzir gas2 deve ter um teor de enxofre
menor ou igual a 2%.
-0.005x
11
+ 0.01x
21
+0.02x
13
0
(13) Mistura de leos p/produzir gas3 deve ter um teor de enxofre
menor ou igual a 1%.
-0.005x
13
+ 0.01x
23
+0.02x
33
0
Os vetores x, c e b obtidos do exemplo vm dados abaixo:
Conforme descrito anteriormente, o vetor c contm os coeficientes associados a
cada varivel de deciso na funo objetivo; estes foram rearranjados em
coeficientes associados s variveis bsicas e no-bsicas, respectivamente. O
vetor b corresponde ao lado direito das restries do problema.
Deseja-se testar se algumas das variveis no-bsicas deve entrar na base, de
forma a melhorar o valor z da funo objetivo. O problema exemplo de
Maximizao, logo somente variveis no-bsicas para as quais z
j
c
j
<0 sero
candidatas a entrar na base. O conjunto R de variveis no bsicas contm duas
variveis, j =1 (x
1
) e j =2 (x
2
). O teste realizado utilizando o formulrio que
precede o 1
o
resultado:

=

1 0
0 1
1 0
0 1
1
B B
[ ] [ ]
2 1 2 1
, , x x f f
t
= =
N B
x x x
[ ] [ ] 3 , 1 0 , 0 = =
N B
c c c
t

=
1
4
b
54
Prof. Fogliatto Pesquisa Operacional 54
FORMULAES MULTIPERODO FORMULAES MULTIPERODO (Formulao 5) (Formulao 5)
O problema do estoque O problema do estoque - - O caso da empresa Regata O caso da empresa Regata
A Regata S/A quer decidir quantos barcos produzir nos prximos 4
trimestres, de modo a satisfazer sua demanda a um menor custo:
Trim. 1 Trim. 2 Trim. 3 Trim. 4
Demanda 40 60 75 25
Para j =1:
Para j =2:
Introduzindo qualquer das duas variveis no-bsicas na base, observaria-se uma
melhoria no valor z da funo objetivo. Todavia, x
2
deve entrar na base, j que
apresenta o maior valor absoluto de z
j
- c
j
.
Uma das variveis atualmente na base deve sair, para dar lugar ax
2
. Para
determinar qual varivel sai da base, utiliza-se a equao (1); isto :
A varivel entrante x
2
(j =2). Assim, a equao (1) pode ser reescrita para
conter as variveis bsicas e a varivel entrante x
2
:
[ ] 1 1
0
1
1 0
0 1
0 , 0 ) (
1 1
1
1 1
=

= =

c c z
t
a B c
B
[ ] 3 3
1
2
1 0
0 1
0 , 0 ) (
2 2
1
2 2
=

= =

c c z
t
a B c
B


=
R j
j j
x a B b B x
B
1 1
j j
x a B b B x
B
1 1
=
55
Prof. Fogliatto Pesquisa Operacional 55
A Regata deve atender seus pedidos em dia. No incio do 1
o
trimestre, 10
barcos esto em estoque. No incio de cada trimestre, a Regata deve
decidir quantos barcos sero produzidos naquele trimestre. Barcos
produzidos num trimestre podem ser usados para atender pedidos
naquele mesmo trimestre (pedidos so atendidos no final do trimestre).
A Regata por produzir at 40 barcos/trim, a um custo de $400/barco. Para
aumentar a produo, pode usar horas-extra, a um custo de $450/barco.
Estocar um barco de um trim. para outro custa $20/barco.
Formule o problema tal que a demanda seja atendida um mnimo custo.
FORMULAES MULTIPERODO FORMULAES MULTIPERODO (Formulao 5) (Formulao 5)
O problema do estoque O problema do estoque - - O caso da empresa Regata O caso da empresa Regata
Fazendo as devidas substituies, obtm-se:
As variveis que compem a base atual so (f
1
, f
2
). Explicitando o vetor x
B
e
executando as multiplicaes entre matrizes e vetores na expresso acima,
obtm-se:
Todas as variveis do problema exemplo esto condicionadas a assumirem
valores no-negativos. Analisando a equao acima, fcil observar que x
2
no
pode assumir valores maiores que 1 ou a varivel bsica f
2
assumiria valores
negativos. Assim, o valor mximo de x
2
1 e, neste caso, f
2
assume o valor 0,
saindo da base. Logo, x
2
entra na base e f
2
sai da base para dar lugar a x
2
, j que
no permitido mais do que 2 variveis na base. Alm disso, sabe-se que x
2
entra na base com valor 1 e que f
1
permanece na base, mas com valor 2 (e no 4,
como na base inicial).
2
1
2
1 0
0 1
1
4
1 0
0 1
x

=
B
x
2
2
1
1
2
1
4
x
f
f

56
Prof. Fogliatto Pesquisa Operacional 56
Variveis de deciso:
A Regata deve determinar quantos barcos produzir usando mo-de-obra
normal e horas-extraa cada trimestre:
x
t
=barcos produzidos por m.o. normal durante trim. t.
y
t
=barcos produzidos por horas-extradurante trim. t.
Variveis de estoque tambm devem ser definidas:
i
t
=barcos em estoque no final do trimestre t.
Assim:
Custo total =custo produo normal +custo produo hora-extra +
custo estocagem
=400 (x
1
+x
2
+x
3
+x
4
) +450(y
1
+y
2
+y
3
+y
4
) +
20 (i
1
+i
2
+i
3
+i
4
)
A partir do exemplo, estabeleceu-se o critrio de sada de variveis da base. Tal
critrio est fundamentado no princpio de no-negatividade das variveis de
deciso de um problema de PL. O 2
o
resultado formaliza esse critrio.
2
o
resultado:
A varivel bsica x
k
que sai da base dando lugar a x
j
determinada pela seguinte
expresso:
Os vetores e y
j
foram definidos na pgina 48. Os elementos que compem
esses vetores so identificados por e y, sendo utilizados no resultado acima.
A operacionalizao da expresso no 2
o
resultado bastante simples. Considere
o exemplo anterior, com os vetores e y
2
devidamente identificados:
. 0 ,

> =
ij
ij
i
i
k
y onde
y
b
Min x
b
b
2
2
1
1
2
1
4
x
f
f

b
b
2
y
57
Prof. Fogliatto Pesquisa Operacional 57
Funo objetivo:
Min z = 400x
1
+400x
2
+400x
3
+400x
4
+450y
1
+450y
2
+450y
3
+
450y
4
+20i
1
+20i
2
+20i
3
+20i
4
Estoque no final de cada trimestre:
i
t
=i
t-1
+ (x
t
+y
t
) - d
t
, t =1,,4
onde d
t
=demanda no trimestre t.
Para satisfazer a demanda ao final de cada trimestre:
i
t-1
+ (x
t
+y
t
) d
t
ou i
t
=i
t-1
+ (x
t
+y
t
) d
t
0
A razo obtida dividindo os vetores:
Deseja-se determinar a menor razo; no caso, este valor 1, correspondendo a f
2
.
Logo, f
2
deve sair da base dando lugar a x
2
, a varivel entrante. A mnima razo
tambm aponta para o valor de entrada de x
2
na base: x
2
=1.
No momento em que determina-se uma nova base para o problema de PL,
completa-se uma iterao (ou pivot) do algoritmo simplex. Na sequncia,
atualiza-se a base e repete-se o procedimento apresentado acima. A nova base
para o problema exemplo dada abaixo, junto com os vetores necessrios para
realizar mais uma iterao do simplex:
A base inversa B
-1
foi obtida atravs do mtodo de Gauss-Jordan, no slide 96.
{ }
ij i
y b

1
2
1
2
1
4
2
1
f
f
[ ]

= =
1 0
2 1
,
2 1
x f B

1 0
2 1
1
B
[ ] 3 , 0 =
t
B
c


= =

1
2
1
4
1 0
2 1
1
b B x
B
[ ]
2 1
, f x = N
58
Prof. Fogliatto Pesquisa Operacional 58
Restries:
(1-4) Produo normal em cada trimestre no deve exceder 40
barcos:
x
1
40
x
2
40
x
3
40
x
4
40
(5-8) Demanda deve ser satisfeita a cada trimestre:
i
1
=10 +x
1
+y
1
- 40 i
2
=i
1
+x
2
+y
2
- 60
i
3
=i
2
+x
3
+y
3
- 75 i
4
=i
3
+x
4
+y
4
- 25
Todas as variveis so do tipo 0.
Antes de dar prosseguimento ao algoritmo, interessante interpretar
geometricamente os resultados obtidos at agora. A base inicial selecionada para
o problema exemplo continha as variveis de folga (f
1
, f
2
). Na figura 3.2, esta
base corresponde ao ponto A. A partir daquele ponto, existem dois caminhos
possveis de movimento: na direo de B ou na direo de D. No ponto B, a base
constituda das variveis (f
1
, x
2
); no ponto D, a base constituda das variveis
(x
1
, f
2
). Analisando o ngulo formado entre o vetor c e os vetores OB e OD [onde
O denota o ponto de origem (x
1
, x
2
) =(0,0)], fcil constatar que o ngulo mais
agudo (<90
o
) aquele entre c e OB. Essa a direo de maior melhoria no valor
z da funo objetivo. Observe, todavia, que o ngulo entre c e OD tambm
agudo, caracterizando uma direo de melhoria no valor z. O algoritmo
selecionou a melhor direo de movimento, introduzindo, assim, avarivel x
2
na
base e removendo f
2
para fora da base. A nova base contendo as variveis (f
1
, x
2
)
corresponde ao ponto B na Figura 3.2.
Dando sequnciaao algoritmo simplex, testam-se as variveis no-bsicas em
busca de uma direo de melhoria no valor z da funo objetivo:
Para j =1:
[ ] 1 1
0
1
1 0
2 1
3 , 0 ) (
1 1
1
1 1
=


= =

c c z
t
a B c
B
59
Prof. Fogliatto Pesquisa Operacional 59
PRTICA PRTICA 3 3: Modelos Financeiros com mltiplos perodos. : Modelos Financeiros com mltiplos perodos.
Uma empresa precisa definir sua estratgia financeira para os prximos
trs anos. No tempo t =0, $100000 esto disponveis para
investimento. Planos A, B, C, D e E esto disponveis. Investir $1 em
cada um desses planos gera o fluxo de caixa abaixo:
No mximo $75000 podem ser investidos num mesmo plano. A
empresa pode ganhar 8% de juros se investir no mercado financeiro ao
invs dos planos. Lucros gerados em qualquer perodo podem ser
imediatamente reinvestidos (no mesmo perodo). A empresa no pode
tomar dinheiro emprestado.
Formule o problema tal que $ no ltimo priodoseja mximo.
0 1 2 3
A -1 0.5 1 0
B 0 -1 0.5 1
C -1 1.2 0 0
D -1 0 0 1.9
E 0 0 -1 1.5
Para j =4:
A nica varivel candidata a entrar na base x
1
. Para verificar qual varivel deve
sair da base, utiliza-se a equao 1:
A varivel de folga f
1
deve sair da base. A varivel x
1
entra na base com valor 2.
A nova base formada por (x
1
, x
2
). O mesmo resultado pode ser obtido
utilizando-se a expresso no 2
o
Resultado. Analisando-se a Figura 3.2, identifica-
se o movimento do ponto B para o ponto C no grfico.
Atualizando-se a base, obtm-se as seguintes matrizes e vetores:
[ ] 3 0
1
0
1 0
2 1
3 , 0 ) (
4 4
1
4 4
=


= =

c c z
t
a B c
B
1 1
1 1
x a B b B x
B

=
2
0
1
1
2
0
1
1 0
2 1
1
4
1 0
2 1
1 1 1
=


= x x x
B
x
[ ]

= =
1 0
2 1
,
2 1
x x B

1 0
2 1
1
B
[ ] 3 , 1 =
t
B
c


= =

1
2
1
4
1 0
2 1
1
b B x
B
[ ]
2 1
, f f = N
60
Prof. Fogliatto Pesquisa Operacional 60
Utilizao do Whats Best na
soluo de problemas de PL
Whats Best um programa da famlia Lindo para
otimizao linear, no-linear e inteira.
Vantagens:
implementado na planilha Excel; vrias funes
algbricas do Excel so aceitas na formulao do
problema:
ABS, ACOS, AND, ASIN, ATAN, ATAN2, AVERAGE,
COS, EXP, FALSE, IF, INT, LN, LOG, MAX, MIN, MOD,
NOT, NPV, OR, PI, SIN, SQRT, SUM, SUMPRODUCT,
TAN, TRUE, TRUNC, NORMINV, TRIAINV, EXPOINV,
UNIFINV, MULTINV.
Na sequncia, testam-se as variveis no-bsicas em busca de uma direo de
melhoria no valor z da funo objetivo.
Para j =3:
Para j =4:
Nenhuma varivel no-bsica apresenta valor de z
j
- c
j
<0. Assim, a base atual
(x
1
, x
2
) tima e o algoritmo simplex terminado. Geometricamente, possvel
identificar o ponto C como ponto tima na Figura 3.2. Avanandona direo do
vetor c, o ponto C o ponto de mximo avano antes de abandonar-se o espao
de solues viveis. O algoritmo simplex pode ser compreendido como uma
alternativa algbrica para o procedimento de soluo grfica. Tal recurso
algbrico torna-se particularmente til em problemas de maior dimenso
(tridimensionais, quadridimensionais, etc.).
[ ] 1 0
0
1
1 0
2 1
3 , 1 ) (
3 3
1
3 3
=


= =

c c z
t
a B c
B
[ ] 1 0
0
1
1 0
2 1
3 , 1 ) (
4 4
1
4 4
=


= =

c c z
t
a B c
B
61
Prof. Fogliatto Pesquisa Operacional 61
Outras vantagens do Whats Best
Programa permite alterar alterar coeficientes da
formulao facilmente: facilmente: formulao fica explicita
na planilha.
Facilidade de uso Facilidade de uso: princpio de programao o
mesmo do Excel.
Gratuito Gratuito para download da rede:
www.lindo.com
Opo: Whats Best
3.1. O tableau do simplex
Problemas de PL podem ser arranjados em uma tabela, conhecida como o tableau
do simplex. O tableau contm todas as frmulas utilizadas no algoritmo,
apresentadas na seo anterior. A grande vantagem da utilizaodo tableau est
na operacionalizao do algoritmo simplex: o tableau facilita a lgebra necessria
para completar as iteraes do algoritmo, levando mais rapidamente a uma
soluo tima.
O formato padro do tableau do simplex vem apresentado abaixo:
O algoritmo simplex , via de regra, inicializadoutilizando variveis de folga
como base inicial. Quando variveis de folga no encontram-se disponveis,
variveis de folga artificiais so utilizadas, conforme apresentado mais adiante.
z
j j
c z
b B c
B
1 t
j j
a B y
1
=
b B
1
B
x
Figura 3.3 - Tableau do simplex.
62
Prof. Fogliatto Pesquisa Operacional 62
Como utilizar o programa
Abra o Excel. O Whats Best deve carregar-se
como uma Macro daquela planilha.
Abra o arquivo XYZPort, que contm o exemplo.
Este o arquivo.
Sempre que as variveis de folga formarem a primeira base em um problema de
PL, a montagem do tableau do simplex extremamente facilitada. Considere o
exemplo na pgina 38.
Max x
1
+ 3x
2
s.a x
1
+ 2x
2
+ f
1
= 4
x
2
+f
2
= 1
x
1
, x
2
0
As variveis de folga (f
1
, f
2
) formam a primeira base. Como as variveis de folga
no participam orginalmenteda funo objetico, seus coeficientes de custo c
j
sero sempre 0 e o primeiro vetor c
B
utilizado no algoritmo simplex ser um vetor
de zeros. Desta forma, a quantidade z
j
- c
j
dada pela expresso:
se reduzir a:
Para compor o primeiro tableau do simplex, quando variveis de folga constituem
a primeira base, basta escrever o negativo dos coeficientes de custo das variveis
no-bsicas na primeira linha do tableau. As variveis bsicas recebem valor 0,
por definio. Como z
j
- c
j
representa a potencial
j j
t
j j
c c z =

a B c
B
1
) (
j j j
c c z = ) (
63
Prof. Fogliatto Pesquisa Operacional 63
Os comandos do programa esto na
barra de ferramentas e no menu
melhoria no valor z da funo objetivo representada pela j
sima
varivel, variveis
atualmente bsicas devem receber valor igual a 0 simplesmente por j se
encontrarem na base. Assim, para os dados do exemplo, a primeira linha do
tableau dada por:
Observe que, por convenincia, as variveis que compem o problema de PL
vm devidamente identificadas no tableau. A sigla RHS direitadas variveis
denota right hand side e contm o valor atual de z (denominado z
0
) e o valor
assumido pelas variveis atualmente na base.
O valor atual de z, z
0
, dado pela equao:
Como c
B
um vetor de zeros, z
0
=0 sempre que as variveis de folga formarem a
primeira base. Atualizando o tableau, tem-se:

x 1 x 2 f 1 f 2
RHS
z -1 -3 0 0 z0
b B c
B
1
0

=
t
z

x 1 x 2 f 1 f 2
RHS
z -1 -3 0 0 0
64
Prof. Fogliatto Pesquisa Operacional 64
O Problema do Mix de Produo
A XYZ Corporationmonta doismodelos de
computador.
O modelo Padrogera um lucro por unidade
produzida de $300, enquanto o modelo
Luxogera um lucro por unidade de $500.
Os dois modelos utilizam trs componentes
para sua montagem: o chassis Padro (60),
o chassis de Luxo (50) e o drivede disquete
(120).
Disponveis em estoque
Na sequncia, deseja-se escrever as linhas que compem as restries no tableau.
Elas vm dadas por:
Para cada varivel do problema, determina-se uma coluna y
j
. Sempre que as
variveis de folga formarem a primeira base, B =I e B
-1
=B =I. Assim, a
expresso acima reduz-se a:
e as linhas que compem as restries no tableau so copiadas diretamente do
problema de PL em estudo. Utilizando os dados do exemplo:
Max x
1
+ 3x
2
s.a x
1
+ 2x
2
+ f
1
= 4
x
2
+f
2
= 1
x
1
, x
2
0
j j
a B y
1
=
j j j
a Ia y = =

x 1 x 2 f 1 f 2
RHS
z -1 -3 0 0 0
f 1 1 2 1 0
f 2 0 1 0 1
65
Prof. Fogliatto Pesquisa Operacional 65
Necessidades de componentes em cada
modelo
O modelo Padroutiliza um chassis Padro
e um drivede disquete.
O modelo Luxoutiliza um chassis Luxo e
dois drivesde disquete.
Problema Problema: qual combinao de modelos
Padro e Luxo maximiza os lucros da XYZ,
considerando os componentes atualmente
em estoque?
As variveis atualmente na base so identificadas esquerda do tableau (f
1
e f
2
).
O nico elemento faltante no tableau do exemplo corresponde frmula:
no lado direito do tableau. Mais uma vez, quando as variveis de folga formam a
primeira base, B
-1
=I e a expresso acima reduz-se a:
Desta forma, para completar o tableau, basta escrever os valoresdo lado direito
das restries do problema para o lado direito do tableau. Isto:
Max x
1
+ 3x
2
s.a x
1
+ 2x
2
+ f
1
= 4
x
2
+f
2
= 1
x
1
, x
2
0
b B b
1
=
b Ib b = =

x 1 x 2 f 1 f 2
RHS
z -1 -3 0 0 0
f 1 1 2 1 0 4
f 2 0 1 0 1 1
66
Prof. Fogliatto Pesquisa Operacional 66
O Determinar as variveis de deciso
(adjustable cells)
Variveis de deciso: Variveis de deciso:
Padro =quantiddde computadores padro a
serem produzidos.
Luxo =quantiddde computadores luxo a serem
produzidos.
Uma vez preenchido o tableau inicial do simplex, as iteraes seguem a seguinte
sequnciade passos (equivalente utilizao das expresses matemticas
apresentadas na seo anterior):
a. Identifique as variveis candidatas a entrar na base na primeira linha
(linha z ou linha zero) do tableau. Se o problema for de maximizao, a
varivel mais negativa entra na base; se o problema for de maximizao, a
varivel mais positiva entra na base. Sempre que houver empate (duas
variveis candidatas com o mesmo valor de z
j
- c
j
, escolha aleatoriamente
a varivel a ser introduzida na base). A varivel entrante na base ser
designada por x
j
. No caso em que nenhuma varivel satisfizer o critrio
de entrada na base, uma soluo tima foi encontrada para o problema.
b. Inspecione a coluna y
j
correspondente varivel x
j
em busca de
valores positivos. Se no houver nenhum valor positivo na coluna, a
soluo para o problema de PL tende ao infinito e uma soluo tima foi
encontrada. Caso contrrio, o teste da mnima razo identificara varivel
bsica que deve dar lugar a x
j
na base.
67
Prof. Fogliatto Pesquisa Operacional 67
O Determinar as variveis de deciso
(adjustable cells)
Identificao das variveis
de deciso
Valor inicial das variveis de deciso (pode ser
qualquer valor).
Na busca pelo timo, o programa permitir que
essas clulas assumam qualquer valor no-
negativo.
c. Para realizar o teste da mnima razo, utilize a frmula:
ou seja, divida o lado direito do tableau pelos valores positivos em y
j
: a
menor razo identifica a varivel x
k
a sair da base. O valor positivo em y
j
correspondente mnima razo o elemento de pivot da iterao.
d. Atravs de operaes elementares com a linha que contm o elemento
pivot, faa com que a coluna correspondente a x
j
assuma os valores na
coluna correspondente a x
k
. As operaes elementares com a linha pivot
sero apresentadas atravs do exemplo a seguir.
e. Volte para o passo a e execute mais uma iterao do algoritmo.
Os passos acima so agora aplicados ao exemplo na pgina 38. O tableau inicial
para o problema exemplo foi obtido anteriormente, sendo reproduzido a seguir.
. 0 ,

> =
ij
ij
i
i
k
y onde
y
b
Min x
68
Prof. Fogliatto Pesquisa Operacional 68
Identifique as clulas como variveis
de deciso (adjustable cells)
OSelecione as
clulas onde foram
escritos os zeros.
ONa opo WB! WB! do
menu, selecione
adjustable.
Tela resultante
a. O problema exemplo de maximizao. Assim, variveis com valores de z
j
-
c
j
na linha z do tableau so candidatas a entrar na base. Duas variveis, x
1
e x
2
satisfazem o critrio de entrada na base. A mais negativa delas, x
2
, entra na base.
Assim, x
j
=x
2
e y
t
j
=y
t
2
=[2, 1].
b. O vetor y
2
apresenta dois valores positivos (2 e 1), com os quais ser feito o
teste da mnima razo.
c. O teste da mnima razo vem apresentado no tableau abaixo.

x 1 x 2 f 1 f 2
RHS
z -1 -3 0 0 0
f 1 1 2 1 0 4
f 2 0 1 0 1 1

x 1 x 2 f 1 f 2
RHS
z -1 -3 0 0 0
f 1 1 2 1 0 4 4 / 2 = 2
f 2 0 1 0 1 1 1 / 1 = 1
x
j
mnima razo
elemento de pivot
x
k
69
Prof. Fogliatto Pesquisa Operacional 69
O Identificao das clulas
selecionadas como ajustveis.
O Opo caso as variveis de deciso
sejam irrestritas no sinal irrestritas no sinal.
O Caso as variveis sejam irrestritas
no sinal, siga os passos abaixo.
O Caso as variveis de deciso
sejam no-negativas, clique OK OK.
O Nomeie as variveis irrestritas
no sinal (qualquer nome serve).
O Clique em
Add Add.
O Clique em
OK OK.
WBFree WBFree identifica
variveis irrestritas
d. Para completar a iterao do simplex, necessrio proceder com operaes
elementares que utilizam a linha que contm o elemento de pivot. As operaes
tm por objetivo fazer com que a coluna x
2
(da varivel entrante) assuma a
configurao da coluna f
2
(varivel que sai da base). A sequnciade operaes
vem descrita a seguir.

x 1 x 2 f 1 f 2
RHS
z -1 -3 0 0 0
f 1 1 2 1 0 4
f 2 0 1 0 1 1
Os dois valores coincidem, logo
nenhuma operao necessria.

x 1 x 2 f 1 f 2
RHS
z -1 -3 0 0 0
f 1 1 2 1 0 4
f 2 0 1 0 1 1
Valores no coincidem: executa-se uma
operao elementar. Seja (1) a linha (1) aps a
operao. A operao que transformar 2 em 0
:
(1) =(1) 2 (2)
(0)
(1)
(2)
I
d
e
n
t
i
f
i
c
a

o

d
a
s

l
i
n
h
a
s

d
o

t
a
b
l
e
a
u
70
Prof. Fogliatto Pesquisa Operacional 70
Variveis de deciso
so identificadas em
azul pelo WB WB.
Existe um cone de atalho p/
identificao de variveis de deciso
no-negativas, conforme apresentado
abaixo.
OSelecione as variveis
de deciso.
OClique no cone .
Clulas passam a ser
apresentadas em azul.
Explicitando a operao:
Na sequncia, trabalham-se os valores na linha z:

x 1 x 2 f 1 f 2
RHS
z -1 -3 0 0 0
f 1 1 2 1 0 4 (1)' = (1) - 2 x (2)
f 2 0 1 0 1 1
Valores no coincidem. Seja (0) a linha (0)
aps a operao elementar. A operao que
transformar -3 em 0 :
(0) =(0) +3 (2)
(0)
(1)
(2)

x 1 x 2 f 1 f 2
RHS
z -1 -3 0 0 0
f 1 1 0 1 -2 2
x 2 0 1 0 1 1

x 1 x 2 f 1 f 2
RHS
z -1 -3 0 0 0
f 1 1 0 1 -2 2
x 2 0 1 0 1 1
71
Prof. Fogliatto Pesquisa Operacional 71
OEscreva a funo objetivo (best)
Funo objetivo: Funo objetivo:
Lucro Total =
(Lucro por unidade do Modelo Padro)
(Qtdd de Modelos Padro produzidos)
+
(Lucro por unidade do Modelo Luxo)
(Qtdd de Modelos Luxo produzidos)
Lucro Total = 300 Padro + 500 Luxo
Explicitando a operao:
Observe que a coluna x
2
assumiu a configurao anterior da coluna f
2
. Isso foi
obtido atravs de operaes elementares com a linha que contm oelemento
pivot. As operaes elementares sempre devem utilizar a linha pivot, ocorrendo
da forma exemplificada acima e generalizada a seguir (na expresso abaixo, w
um nmero real qualquer, positivo ou negativo):
(linha nova) = (linha antiga) + [w (linha pivot)]
e. Concluda a iterao, retorna-se ao passo a. As demais iteraes sero
apresentadas diretamente no tableau.

x 1 x 2 f 1 f 2
RHS
z -1 -3 0 0 0 (0)' = (0) +3 x (2)
f 1 1 0 1 -2 2
x 2 0 1 0 1 1

x 1 x 2 f 1 f 2
RHS
z -1 0 0 3 3
f 1 1 0 1 -2 2
x 2 0 1 0 1 1
72
Prof. Fogliatto Pesquisa Operacional 72
Coeficientes de custo da
funo objetivo.
Frmula da funo
objetivo.
2
a
Iterao:
x
j
mnima razo
elemento de pivot
x
k

x 1 x 2 f 1 f 2
RHS
z -1 0 0 3 3
f 1 1 0 1 -2 2 2 / 1 = 2
x 2 0 1 0 1 1

x 1 x 2 f 1 f 2
RHS
z -1 0 0 3 3
f 1 1 0 1 -2 2 Nenhuma operao necessria
x 2 0 1 0 1 1

x 1 x 2 f 1 f 2
RHS
z -1 0 0 3 3
f 1 1 0 1 -2 2
x 2 0 1 0 1 1 Nenhuma operao necessria
73
Prof. Fogliatto Pesquisa Operacional 73
OIdentifique a clula que contm a
frmula como funo objetivo (best)
O Clique na clula onde a
frmula da funo objetivo foi
escrita.
O Selecione WB! WB! no menu e a opo Best Best.
Este a tela correspondente
opo Best Best.
Finalizando a iterao:
Observe que nenhuma varivel no-bsica apresenta valor negativo na linha z.
Esse o critrio de finalizao do algoritmo simplex.

x 1 x 2 f 1 f 2
RHS
z -1 0 0 3 3 (0)' = (0) + (1)
f 1 1 0 1 -2 2
x 2 0 1 0 1 1

x 1 x 2 f 1 f 2
RHS
z 0 0 1 1 5
f 1 1 0 1 -2 2
x 2 0 1 0 1 1
74
Prof. Fogliatto Pesquisa Operacional 74
O Identificao das clulas
selecionadas como ajustveis.
O Identifique se o problema de
Minimizaoou Maximizao(default
Minimizao).
O Confirme clicando OK OK.
Clula contendo funo
objetivo passar a ser
identificada como clula a
ser maximizada
(WBMAX WBMAX).
3.1.1. Casos Especiais
Dois casos especiais merecem nota: (i) problemas com solues timas
alternativas e (ii) problemas com soluo ilimitada (tendendo ao infinito). Esses
dois casos especiais podem ser identificados no tableau do simplex, conforme
apresentado a seguir.
(i) Problemas com solues timas alternativas
Considere um problema de minimizao que, aps um certo nmero de iteraes,
apresenta o seguinte tableau:
Como todas as variveis no-bsicas so no-positivas (critrio para entrada de
variveis na base em problemas de minimizao), nenhuma varivel deve entrar
na base. Observe, todavia, que uma varivel no-bsica, f
2
, apresenta valor 0 na
linha z. Como os valores na linha z representam a melhoria na funo objetivo
decorrente da entrada de cada varivel no-bsica na base, isso significa que
introduzindo f
2
na base no alteraria o valor z da funo objetivo. Desta forma,
pode-se acrescentar f
2
na base, obtendo-se uma base tima alternativa, com o
mesmo valor z de funo objetivo (neste caso, x
2
daria lugar a f
2
na base).
x 1 x 2 f 1 f 2
RHS
z 0 0 -2 0 -8
x 1 1 0 1/3 -2/3 2/3
x 2 0 1 1/3 1/3 5/3
75
Prof. Fogliatto Pesquisa Operacional 75
OSelecione a clula
contendo a frmula da
funo objetivo.
OClique no cone .
Confira se clula passou a
ser identificada por
WBMAX WBMAX.
Ao introduzir-se f
2
na base, x
2
passaria a apresentar um valor 0 na linha z. Assim,
poderia-se indefinidamente substituir uma base por outra, sem com isso alterar o
valor da funo objetivo.
Geometricamente (em duas dimenses), a situao acima corresponderia ao caso
em que o ponto timo no espao de solues viveis no um ponto, e sim uma
reta. Assim, qualquer ponto sobre a reta resulta no mesmo valor z de funo
objetivo e inmeras solues timas alternativas so possveis. O algoritmo
simplex captura os pontos extremos da reta, apresentado-os como solues timas
alternativas para o problema.
(ii) Problemas com soluo ilimitada (tendendo ao infinito).
Considere um problema de minimizao que, aps um certo nmero de iteraes,
apresenta o seguinte tableau:
A varivel no-bsica x
1
deve entrar na base, j que z
1
- c
1
>0 (trata-se de um
problema de minimizao). Porm, ao inspecionar-se a coluna y
1
em busca de um
elemento pivot, no possvel encontrar nenhum elemento no-negativo. Neste
caso, uma soluo tima foi encontrada para o problema: esta soluo
x 1 x 2 f 1 f 2
RHS
z 4 0 0 -3 -9
f 1 -1 0 1 2 10
x 2 -1 1 0 1 3
76
Prof. Fogliatto Pesquisa Operacional 76
OEspecifique as restries
(constraints)
Restries informam que total de componentes
utilizados deve ser quantidade disponvel em
estoque.
Restrio p/ componente chassis padro:
(Qtdd de Modelos Padro produzidos) (N
o
de chassis padro
por modelo) +
(Qtdd de Modelos Luxo produzidos) (N
o
de chassis padro por
modelo)
Qtdd de chassis padro em estoque
Padro 1 + Luxo 0 60
tende ao infinito (z ). Esse resultado pode ser melhor compreendido
aplicando-se a equao (1) aos dados do exemplo:
Quando x
1
entra na base, seu valor aumenta ato ponto em que uma das variveis
bsicas tem seu valor reduzido a 0, saindo da base e dando lugar ax
1
. No caso
acima, nenhum valor no-negativa causa a sada de uma varivel da base. Assim,
x
1
pode aumentar de valor indefinidamente; o mesmo ocorre com o valor z da
funo objetivo. Nessas circunstncias, parece evidente que a soluo do
problema tende ao infinito.
1
2
1
1
1
3
10
x
x
f

77
Prof. Fogliatto Pesquisa Operacional 77
Demais restries (constraints)
Restrio p/ componente chassis luxo:
Restrio p/ componente drive de disquete:
Restrio de no-negatividade: o default do
WB.
Padro 0 + Luxo 1 50
Padro 1 + Luxo 2 120
3.1.2. Ausncia de uma base inicial
Alguns problemas no possuem variveis de folga em nmero suficiente para
compor uma base inicial para o problema. Na prtica, quaisquer variveis podem
compor a base inicial, mas impossvel saber se a base resultante ser vivel ou
no, a menos que se resolva o sistema de equaes que formam as restries do
problema. Na maioria das aplicaes, testar combinaes de variveis em busca
de uma primeira base vivel pode tomar muito tempo. Assim, o procedimento
padro adotado nesses casos utiliza variveis de folga artificiais (ou
simplesmente variveis artificiais) na busca de uma primeira base vivel.
s variveis artificiais, como o prprio nome indica, no pertencem ao problema.
Tais variveis somente so acrescidas para facilitar a determinao de uma
primeira base vivel, que d partida ao algoritmo simplex. Assim, a partir do
momento em que variveis artificiais so utilizadas na composio da base
inicial, deseja-se retir-las da base, chegando, assim, a uma base vivel legtima
(isto , pertencente ao problema). O procedimento para remoo das variveis
aritificiaisda base inicial conhecido como Mtodo do M-Grande, sendo
descrito a seguir atravs de um exemplo.
78
Prof. Fogliatto Pesquisa Operacional 78
Organizao das restries na
planilha do WB WB
Coeficientes tecnolgicos
das restries.
Clulas c/ as frmulas
das restries.
Frmula da 1
a
restrio.
Lado direito das restries.
Considere o seguinte exemplo:
Min z = x
1
- 2x
2
s.a: - x
1
+ x
2
1
x
2
4
x
1
, x
2
0
Aps acrescentar variveis de excesso e folga, obtm-se o seguinte resultado:
Min z = x
1
- 2x
2
s.a: x
1
+ x
2
- e
1
=1
x
2
+f
1
=4
x
1
, x
2
, e
1
, f
1
0
Observe que somente uma varivel de folga pode ser utilizada na composio da
base inicial (variveis de excesso no resultam em bases iniciais viveis, no
podendo ser utilizadas). Assim, para que seja possvel uma baseinicial formada
exclusivamente por variveis de folga, utiliza-se uma varivel de folga artificial,
acrescida primeira restrio do problema. O resultado vem apresentado abaixo:
79
Prof. Fogliatto Pesquisa Operacional 79
Restries devem ser identificadas no
WB WB
Restries podem ser de trs tipos: , , =.
Ao escrever-se o sentido da restrio numa clula
da planilha:
a clula adjacente esquerda passa a ser identificada
como aquela que contm a frmulada restrio;
a clula adjacente direita passa a ser identificada
como aquela que contm a disponibilidadedo recurso.
Min z = x
1
- 2x
2
+Ma
1
s.a: x
1
+ x
2
- e
1
+a
1
=1
x
2
+f
1
=4
x
1
, x
2
, e
1
, f
1
, a
1
0
No mtodo do M-Grande, cada vez que uma varivel artificial adicionada ao
problema, ela tambm adicionada na funo objetivo, multiplicada por um
coeficiente de custo M, onde Mrepresenta um nmero positivo maior do que
qualquer outro que venha a ocorrer no problema. No caso de problemas de
maximizao, a varivel artificial tambm acrescida funo objetivo, mas
multiplicada por um coeficiente de custo -M.
A lgica por trs do mtodo do M-Grande simples. Se num problema de
Minimizao uma das variveis apresenta um coeficiente de custo positivo e
muito grande, certamente ser interessante manter tal varivel fora da base, a
nvel zero. O mesmo ocorre em um problema de Maximizao. Se uma das
variveis apresenta um coeficiente de custo negativo e muito grande, certamente
ser interessante manter tal varivel fora da base, a nvel zero. Assim, o mtodo
do M-Grande induz o algoritmo simplex a remover variveis artificiais da base, j
que elas no melhoram a funo objetivo em quaisquer circunstncias. No
momento em que todas as variveis artificiais so removidas da base, chega-se a
uma base vivel e legtima para o problema. A partir desse ponto, as variveis
artificiais podem passar a ser
80
Prof. Fogliatto Pesquisa Operacional 80
Identifique
restries
OSelecione a
clula onde ser
escrito o sentido
da 1
a
restrio.
ONa opo WB! WB! do
menu, selecione
constraints.
Tela resultante
desconsideradas do tableau.
O mtodo do M-Grande ser ilustrado atravs do exemplo acima.
Observe que no tableau acima, a
1
e f
1
compem a base inicial (a varivel de folga
artificial vem designada por a
1
). Como a
1
bsica, o valor z
5
- c
5
correspondente
a esta varivel na linha z do tableau deve ser zerado (atualmente, este valor
igual a M). A primeira operao elementar realizada no tableau visa zerar o
valor de z
5
- c
5
.
x 1 x 2 e 1 f 1 a 1
RHS
z -1 2 0 0 -M 0
a1 1 1 -1 0 1 1
f 1 0 1 0 1 0 4
x 1 x 2 e 1 f 1 a 1
RHS
(0) z -1 2 0 0 -M 0 (0)' = (0) + M x (1)
(1) a 1 1 1 -1 0 1 1
(2) f 1 0 1 0 1 0 4
x 1 x 2 e 1 f 1 a 1
RHS
(0) z -1 +M 2 +M -M 0 0 M
(1) a 1 1 1 -1 0 1 1
(2) f 1 0 1 0 1 0 4
81
Prof. Fogliatto Pesquisa Operacional 81
O Identificao da clula
que deve conter a frmula da
restrio.
OIdentificao do tipo de restrio
(default ).
O Identificao da clula que deve
conter o lado direito da restrio.
Confirme clicando OK OK.
Uma vez corrigida a linha z do tableau, executam-se os passos do algoritmo
simplex normalmente. Os passos vm apresentados a seguir.
x 1 x 2 e 1 f 1 a 1
RHS
z -1 +M 2 +M -M 0 0 M
a1 1 1 -1 0 1 1
f 1 0 1 0 1 0 4
x
j
mnima razo
elemento de pivot
x
k
1 / 1 =1
4 / 1 =4
x 1 x 2 e 1 f 1 a 1
RHS
(0) z -1 +M 2 +M -M 0 0 M
(1) a 1 1 1 -1 0 1 1 Nenhuma operao
(2) f 1 0 1 0 1 0 4
82
Prof. Fogliatto Pesquisa Operacional 82
Identificao do tipo da restrio.
Identificao do tipo da
restrio e clulas
consideradas.
Repita o procedimento para as demais restries.
x 1 x 2 e 1 f 1 a 1
RHS
(0) z -1 +M 2 + M -M 0 0 M (0)' = (0) + (-M-2) x (1)
(1) a1 1 1 -1 0 1 1
(2) f 1 0 1 0 1 0 4
x 1 x 2 e 1 f 1 a 1
RHS
(0) z -3 0 2 0 -M-2 -2
(1) a1 1 1 -1 0 1 1
(2) f 1 0 1 0 1 0 4
x 1 x 2 e 1 f 1 a 1
RHS
(0) z -3 0 2 0 -M-2 -2
(1) a1 1 1 -1 0 1 1
(2) f 1 0 1 0 1 0 4 (2)' = (2) - (1)
x 1 x 2 e 1 f 1 a 1
RHS
(0) z -3 0 2 0 -M-2 -2
(1) a1 1 1 -1 0 1 1
(2) f 1 -1 0 1 1 -1 3
83
Prof. Fogliatto Pesquisa Operacional 83
OSelecione a clula onde
o tipo da restrio deve ser
escrito.
OClique no cone
apropriado.
Confira se clula passou a
ser identificada como
restrio.
Na primeira iterao, a varivel artificial removida da base. Para verificar se as
operaes elementares com as linhas do tableau foram executadas corretamente,
verifique quais colunas contm Ms aps o pivot. Uma vez removidas as variveis
artificiais da base, somente as colunas correspondentes a estas variveis devem
conter Ms.
Nas demais iteraes do simplex, a coluna a
1
pode ser eliminada do tableau. A
prxima iterao resulta em:
x 1 x 2 e 1 f 1
RHS
(0) z -3 0 2 0 -2
(1) a 1 1 1 -1 0 1
(2) f 1 -1 0 1 1 3
x
j
elemento de pivot
x
k
84
Prof. Fogliatto Pesquisa Operacional 84
Clique em para rodar a otimizao
Valor das variveis de
deciso no ponto timo.
Valor da funo objetivo
no ponto timo.
Situao das restries no
ponto timo.
Apsiterao:
Este o tableau timo. Observe quenasiteraesfinaisdo mtodo, aps
remoodavarivel artificial dabase, a colunacorrespondentevarivel
artificial deixoude ser utilizadano tableau do simplex.
x 1 x 2 e 1 f 1
RHS
(0) z -3 0 2 0 -2 (0)' = (0) - 2 x (2)
(1) a 1 1 1 -1 0 1 (1)' = (1) + (2)
(2) f 1 -1 0 1 1 3 Nenhuma operao
x 1 x 2 e 1 f 1
RHS
(0) z -1 0 0 -2 -8
(1) a 1 0 1 0 1 4
(2) f 1 -1 0 1 1 3
85
Prof. Fogliatto Pesquisa Operacional 85
Situa Situa o especial: o especial:
Variveis de deciso devem ser inteiras
OSelecione as
clulas onde foram
escritos os zeros.
ONa opo WB! WB! do
menu, selecione
integer.
Tela resultante
3.1.3. O algoritmo simplex em pacotes computacionais
Diversos pacotes computacionais executam o algoritmo simplex. Os mais
conhecidos so da famlia Lindo (www.lindo.com). Alm do prprio Lindo,
disponvel na maioria dos livros-texto de Pesquisa Operacional, o programa
Whats Best, implementado na planilha MSExcel, bastante popular. A prpria
planilha Excel possui uma rotina de otimizao linear, designadapor Solver e
disponvel como add-in do programa. Todavia, o Solver no to amigvel
como o Whats Best.
Na sequncia, so apresentados dois tutorais para utilizao dos pacotes Whats
Best e Lindo na soluo de problemas de Programao Linear. Esses dois pacotes
computacionais podem ser obtidos da Internet gratuitamente atravs do site
www.lindo.com.
A. Tutorial do Whats Best
O objetivodestetutorial introduzir o usurioaoWhats Best (WB) atravsda
soluode um problemausandoa planinhaExcel. O nomedo problemaem
questo XYZ; eleencontra-se descritoa seguir:
86
Prof. Fogliatto Pesquisa Operacional 86
O Identificao das clulas
selecionadas como ajustveis e
inteiras.
O Escolha um nome para as variveis
inteiras (qualquer nome serve).
O Clique em OK OK p/ confirmar.
O Identifique se variveis de deciso so inteiras binrias
(0 ou 1) ou qualquer nmero inteiro no-negativo (opo General).
Ateno: default do programa binrio
O problema de Produo XYZ
A XYZ Corporationmonta dois modelos de computador. O modelo Padro gera
um lucro por unidade produzida de $300, enquanto o modelo Luxo gera um lucro
por unidade de $500. Os dois modelos utilizam trs componentes para sua
montagem: o chassis Padro, o chassis de Luxo e o drivede disquete. O modelo
Padro utiliza um chassis Padro e um drivede disquete. O modelo Luxo utiliza
um chassis Luxo e dois drivesde disquete.
Problema: qual combinao de modelos Padro e Luxo maximiza os lucros da
XYZ, considerando os componentes atualmente em estoque?
O problema XYZ encontra-se no arquivo XYZ.xls. Vamos na sequncia
examinar suas caractersticas.
87
Prof. Fogliatto Pesquisa Operacional 87
Outros programas de otimiza Outros programas de otimiza o o
Solver do Excel Solver do Excel
Vantagem: suporta todas as funes matemticas do
Excel.
Desvantagem: esconde a formulao.
Lindo Lindo
Vantagem: executa anlise de sensibilidade e pode ser
baixado gratuitamente da rede.
Desvantagem: formulao deve ser escrita como texto.
Tutorial do Lindo disponvel na apostila
Examine o layout e a lgicado modelo. Testevriasprojeesdo tipoWhat If?.
Por exemplo, tenteajustar a Quantidade a ser Produzida emambasas clulas
(C5 e D5) de modoa maximizar o Lucro (G6) semqueo Total de Componentes
(E15:E17) excedao nmero de componentes em estoque (G15:G17).
Por exemplo, um possvel planode produoconsistiriaemproduzir o maior
nmeropossvel de modelosLuxo(jqueelesapresentamo maior retornopor
unidadeproduzida). Ento, com o quesobrar de componentes, produzir tantos
modelosPadroquantosforempossveis. Esteplanode produousaria50
chassis Luxo(E16), 20 chassis Padro(E15), e todosos120 drives de disquete
(E17) emestoque. Esteplanoresultarianum lucrototal de $31000 (G6). Esta
soluo, no entanto, podeser melhoradautilizandoo WB.
88
Prof. Fogliatto Pesquisa Operacional 88
I. REVISO DE LGEBRA LINEAR I. REVISO DE LGEBRA LINEAR
I.1. MATRIZES E VETORES
Uma matriz qualquer arranjo retangular de nmeros.
Uma matriz A comm linhas en colunas uma matriz m xn.
m xn a ordem deA.
Forma geral:
A
a a a
a a a
a a a
n
n
m m mn
=

11 12 1
21 22 2
1 2
L
L
M M O M
L
O nmero na i
sima
linha e j
sima
coluna da matriz denominado
a
ij
.
Passos para utilizao do Whats Best
A. Determinar as Adjustable Cells (se voc estiver lidando com um problema de
programao inteira, v direto para o item B).
Neste exemplo, desejamos determinar as quantidades a serem produzidas de
ambos os modelos de computador (C5:D5). Para que o WB identifique essas
clulas como numricas, voc deve digitar algum nmero nelas (zero, por
exemplo). Na sequncia, especifique que as clulas C5e D5so ajustveis
(adjustable) selecionando ambas as clulas e escolhendo a opo Adjustable no
menu do WB (clique OK no dialog box). O WB vai apresentar as clulas
ajustveis em azul. O default do WB restringe as clulas ajustveis a serem 0.
Caso voc deseje permitir que uma clula ajustvel (correspondendo uma
varivel de deciso do problema) assuma valores negativos, selecione a clula,
escolha Adjustable no menu WB! e, em seguida, a opo Free. Verifique no
Refers to: se a clula selecionada est correta e escreva um nome para aquela
clula em Free names in Workbook (por exemplo, livre). Para concluir a
operao, clique Add e OK. A partir deste ponto, o WB vai admitir valores
negativos para a clula selecionada.
89
Prof. Fogliatto Pesquisa Operacional 89
I.1 Matrizes e Vetores I.1 Matrizes e Vetores
Uma matriz com uma nica coluna umvetor de coluna.
Uma matriz com uma nica linha umvetor de linha.
Vetores, por definio, so de coluna; um vetor de linha um
vetor de coluna transposto.
Um vetor de zeros designado por 0.
Produto Escalar de Vetores:
Sejam u =[ u
1
,,u
n
] um vetor (transposto) de linha e v =[
v
1
,,v
n
] um vetor de coluna de igual dimenso. Seu produto
escalar ser o nmero:
u . v =u
1
v
1
+u
2
v
2
++u
n
v
n
B. ProgramaoInteira(se o problemanofor de programaointeira, vdireto
paraparao item C).
Algumassoluesparaproblemasde otimizaospodemser interpretadasse
foremexpressasemtermosde nmerosinteiros. Para queo WB! limiteas
soluesde um problemaquelasqueresultarememvaloresinteirosparaas
variveisde deciso, vocterqueprogramar as clulasajustveisparaestefim.
No exemploXYZ, as clulasC5:D5 devemser programadasparaaceitar somente
nmerosinteiros. Marqueessasclulase selecionea opoInteger no menu
WB! No box de dilogo, confirase as clulasmarcadassoas desejadas(elas
estoapresentadasabaixodo Refers to:). A seguir, escolhaum nomeparaas
clulas(por exemplo, modelos) e escrevaemInteger names in workbook,
clicandoAdd e OK parafinalizar a operao.
90
Prof. Fogliatto Pesquisa Operacional 90
I.1 Matrizes e Vetores I.1 Matrizes e Vetores
O produto escalar:
[ ]
n
n
u u
v
v
L M
1
1
.

= u v
no definido.
C. Determine o Objetivo(Best)
O objetivodaXYZ maximizar o lucro, o quepodeser expressoemtermos
matemticospelaexpresso:
Lucro Total = (Qtdd de Modelos Padro produzidos) (Lucro por
unidade do Modelo Padro) + (Qtdd de Modelos Luxo produzidos)
(Lucro por unidade do Modelo Luxo)
EstafrmulaaparecenaclulaG6 como=C5*C8+D5*D8. Para fazer com quea
frmulaemG6 sejatratadacomofunoobjetivopeloWB, movao cursor para
aquelaclula escolhaBestno menu WB!. A seguir, selecionaMaximize e
clique OK.
91
Prof. Fogliatto Pesquisa Operacional 91
OPERAES COM MATRIZES OPERAES COM MATRIZES
Transposto de uma Matriz:
Seja uma matriz qualquer de ordem (m x n) :

=
mn m m
n
n
a a a
a a a
a a a
L
M O M M
L
L
2 1
2 22 21
1 12 11
A
O transposto de A, designado por A,
ser uma matriz de ordem (n x m):

=
mn n n
m
m
a a a
a a a
a a a
L
M O M M
L
L
2 1
2 22 12
1 21 11
A
D. Especifiqueas restries(constraints)
As restriesdo problemanosinformamqueo total de componentesutilizados
(E15:E17) deveser menor ouigual aonmeroemestoque(G15:G17).
A frmulaparao total de chassis Padroutilizados =C5*C15+D5*D15. As
clulasE16 e E17 apresentamfrmulassimilaresparaoscomponentesChassis
Luxoe Drives de Disquete.
Para especificar as restries, marquecom o cursor as clulasF15:F17, escolha
Constrainno menu do WB! E clique OK. Observe queo dialog box daopo
Contrain apresentaE15:E17 comoladoesquerdodaequao(left hand side of
the equation), =G15:G17 comoladodireito(right hand side of the equation),
$F$15:$F$17 comoa localizaoondeas restriesestoarmazenadasna
planilha, e <= less than (menor ouigual a) comotipode restriodefault.
92
Prof. Fogliatto Pesquisa Operacional 92
MATRIZES E SISTEMAS DE EQUAES MATRIZES E SISTEMAS DE EQUAES
LINEARES LINEARES
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
m
M M
x
1
, x
2
,, x
n
= variveis desconhecidas (incgnitas).
a
ij
, b
i
= constantes
Soluo para um sistema de equaes lineares com m equaes en
incgnitas = conjunto de valores para x
1
, x
2
,, x
n
que satisfaa as
m equaes do sistema.
Apsestastrsoperaes, o WB estpronto pararesolver o problemaXYZ. No
menu do WB!, selecionea opoReport e marqueosrelatriosStatus Report e
Solution Report. Assim, apsresolver o problema, o WB irapresentar um
relatriode soluo, com todasas informaessobrea otimizao. Para resolver
o problema, escolhaa opoSolve do menu do WB!. A janelade status do solver
aparecer. Logo a seguir, a planilhareaparecer, com o maior valor possvel de
lucroindicadonaclulaindicadaanteriormente. A soluodada peloWB fornece
o melhor lucropossvel, considerandoosrecursose restriesdo problema. A
soluotambminformao nmerode quantidadesde cadamodeloa serem
produzidase o quantode cadacomponentefoi utilizado. O relatriode soluo
do problemaencontra-se disponvel numaworksheet auxiliar denominadaWB!
Solution.
93
Prof. Fogliatto Pesquisa Operacional 93
SISTEMAS DE EQUAES LINEARES
Representao Matricial
A =

a a a
a a a
a a a
n
n
m m mn
11 12 1
21 22 2
1 2
L
L
M M O M
L
(m x n)
x =

x
x
x
n
1
2
M
(n x 1)
b =

b
b
b
m
1
2
M
(m x 1)
Ax = b
94
Prof. Fogliatto Pesquisa Operacional 94
INVERSO DE UMA MATRIZ INVERSO DE UMA MATRIZ
Definies:
O A uma matriz (m x n). Se m =n, ento A uma matriz quadrada.
O A =[a
ij
]. Os elementos diagonais de A so aqueles a
ij
para os
quais i = j.
O
A =

1 0 0 0
0 1 0 0
0 0 0 1
L
L
M O M
L
= matriz identidade (I
m
)
95
Prof. Fogliatto Pesquisa Operacional 95
Idia Central:
Determine A
-1
tal que A.A
-1
=I.
Procedimento:
Transformar A em I atravs de operaes elementares com linhas.
As mesmas operaes transformaroI emA
-1
.
MTODO DE GAUSS MTODO DE GAUSS- -JORDAN DE JORDAN DE
INVERSO DE MATRIZES INVERSO DE MATRIZES
96
Prof. Fogliatto Pesquisa Operacional 96
EXEMPLO 1: EXEMPLO 1: A =

2 5
1 3
2 5
1 3
1 0
0 1
1 1
1
2
( ) ( ) =
1
1 3
0
0 1 2 2 1
5
2
1
2
( ) ( ) ( ) =
1
0
0
1 2 2 2
5
2
1
2
1
2
1
2

= ( ) ( ) ( )
1
0 1
0
1 2
1 1 2
5
2
1
2
5
2

= ( ) ( ) ( )
1 0
0 1
3 5
1 2

97
Prof. Fogliatto Pesquisa Operacional 97
EXEMPLO 2: EXEMPLO 2: B =

1 2
2 4
1 2
2 4
1 0
0 1 2 2
1
2
( ) ( ) =
1 2
1 2
1 0
0 2 2 1
1
2
( ) ( ) ( ) =
1 2
0 0
1 0
1
1
2

B
-1
no existe! Note que a segunda
linha uma combinao linear
da primeira.
98
Prof. Fogliatto Pesquisa Operacional 98
Prtica 4
Resolva o seguinte sistema de equaes lineares usando a
matriz inversa de A:
x x
x x x
x x x
1 3
1 2 3
1 2 3
4
4 2 0
3 2
+ =
+ =
+ =
A soluo do sistema ser dada por x =A
-1
.b
Prticas adicionais: inverta as matrizes abaixo (utilize a funo
matriz.invdo Excel para checar o resultado)
2 1 1
4 6 0
2 7 2


=



A



=
2 1 0
1 2 1
0 1 2
B

=
2 1 1
3 2 0
0 2 4
C
1.9. Salve o problemano formatoLindo
Lindo usao seuprprioformatoparasalvar o problema. Para salvar um
problemanestetipode formato, digite:
: save a:\mydata\giapetto.lnd
1.10. Salve o problemano formatotexto
Voctambmpodesalvar o problemacomotexto. Para tanto, digite:
: dive a:\mydata\giapetto.lp
: look all
: rvrt
99
Prof. Fogliatto Pesquisa Operacional 99
Considere o seguinte problema:
Um fabricante de mveis deseja determinar o mixideal de produo,
levando em conta preos-de-venda dos produtos e quantidade
disponvel de insumos.
A situao atual vem dada na tabela abaixo:
Produto Qtidd de
Insumo Escrivaninha Mesa Cadeira Insumo
Tbua 8 6 1 48
Acabamto 4 2 1.5 20
Carpintaria 2 1.5 0.5 8
Lucro Venda $60 $30 $20
1.11. Saindodo programaLindo
Para encerrar a sessodo Lindo e retornar aoprompt do DOS, digite:
: quit
1.12. Imprimindoa soluo
Para imprimir umasoluosalvaem arquivo, digite:
Print a:\mydata\giapetto.sol
Isso feitoforado Lindo.
100
Prof. Fogliatto Pesquisa Operacional 100
A formulao matemtica deste
problema
Max z = 60x
1
+ 30x
2
+ 20x
3
s.a: 8x
1
+ 6x
2
+ x
3
48
4x
1
+ 2x
2
+ 1.5 x
3
20
2x
1
+1.5x
2
+ 0.5 x
3
8
x
1
, x
2
, x
3
0
Restrio das Tbuas
Restrio de Acabamento
Restrio de Carpintaria
N
o
escrivaninhas produzidas
N
o
mesas produzidas
N
o
cadeiras produzidas
Parte2
Objetivo: apresentar alguns comandos adicionais do software LINDO.
2.1. Inicializeo programaLindo
c:\> lindo
2.2. Abraum problemasalvo em arquivo
No Tutorial 1, o problemafoi gravadonosformatosLindo e texto. Existemdois
comandosdiferentesparacarregar o problema, conformeo formatousadopara
salv-lo. Escolhaum deles:
2.2.1. Carregueum problemagravadono formatoLindo
: retr a:\mydata\giapetto.lnd
2.2.2. Carregueum problemagravadono formatotexto
: take a:\mydata\giapetto.lp
Com essescomandos, voccarregouo problemanamemriado Lindo.
101
Prof. Fogliatto Pesquisa Operacional 101
Para resolver o problema pelo Simplex,
temos que adicionar variveis de folga
Max z = 60x
1
+ 30x
2
+ 20x
3
s.a: 8x
1
+ 6x
2
+ x
3
+ f
1
= 48
4x
1
+ 2x
2
+ 1.5 x
3
+ f
2
= 20
2x
1
+1.5x
2
+ 0.5 x
3
+ f
3
= 8
x
1
, x
2
, x
3
, f
1
, f
2
, f
3
0
Uma vez adicionadas variveis de folga e excesso, o problema dito
no formato padro, pronto para ser resolvido atravs do mtodo
Simplex!
2.3. Revisualizeo problema
Revisualizeo problemaquevoccarregouusandoo comandolook:
: look all
2.4. Execute somenteumaiterao(pivot)
O comandogo executamltiplasiteraesatchegar numasoluotima
(nica, infinitaouinvivel). Para executar um nicopivot, use o comandopiv:
: piv
102
Prof. Fogliatto Pesquisa Operacional 102
Conceitos-chave no mtodo Simplex
Variveis de folga e excesso.
Folgas introduzidas em restries do tipo .
Excessos introduzidos em restries do tipo .
Variveis bsicas e no-bsicas.
Bsicas =var. p/ as quais o sistema de equaes
resolvido.
No-bsicas =var. zeradas para que o sistema de
equaes apresente uma soluo (equaes=variveis).
Anotaes:
103
Prof. Fogliatto Pesquisa Operacional 103
Solucionando problemas de otimizao
linear no tableau do simplex
O tableau inicial tem a seguinte estrutura:
2.5. Apresenteo tableau atual
Para visualizar o tableau apso pivot em 2.4, use o comandotabl:
: tabl
2.6. Salvandoo tableau atual
Para salvar o tableau atual, use oscomandosdive e rvrt:
: dive a:\mydata\giapetto.tab
: tabl
: rvrt
104
Prof. Fogliatto Pesquisa Operacional 104
Montagem do tableau passo
a passo
A montagem do tableau semprepressupe
variveis de folga formando a base inicial
O n
o
de variveis na base igual ao n
o
de
restries no problema
Se no houver variveis de folga em quantidade
suficiente para formar a base inicial, utilizaremos
variveis de folga artificiais (vistas mais adiante)
2.7. Visualizandoa soluoatual
A soluoatual aindano tima, masvocdesejavisualiz-la (valor dafuno
objetivo, valoresdas variveisde deciso, folgae excesso). Para tanto, use o
comandosolu:
: solu
Lindo avisaro usuriode quea soluoatual podenoser a tima. Neste
caso, a soluotimapodeaparecer nosprximospivots.
2.8. Saindodo programaLindo
: quit
105
Prof. Fogliatto Pesquisa Operacional 105
Montagem do tableau passo a passo
Lista das variveis no
cabealho das colunas
Para um problema com n variveis, o
tableau ter n +2 colunas
Cada varivel ser posicionada em uma
coluna do tableau:
Inicie pelas variveis estruturais (x1, x2, ...)
Depois lista folgas, excessos e artificiais na
ordem em que aparecerem nas restries
2.9. Imprimindoo tableau atual
Para imprimir o tableau quevocsalvouno passo2.6, digite:
Print a:\mydata\giapetto.tab
106
Prof. Fogliatto Pesquisa Operacional 106
Primeira coluna do tableau
A primeira coluna a coluna z:
Ali so listadas as variveis bsicas do tableau
Exemplo:
Base inicial
formada por
f
1
, f
2
e f
3
4. PROGRAMAO INTEIRA
Existemtrstiposde problemasde ProgramaoInteira(PI):
A) Puros- todasas variveisde decisosointeiras.
B) Mistos- algumasvariveisde decisosointeiras.
C) Booleanos- variveisde decisosapresentamvaloresinteirosno intervalo
[0, 1].
A todoo problemade PI existeum problemade problemade programaolinear
correspondenteno qual as restriesde no-fracionariedadesoremovidas(ou
relaxadas).
Algunsresultadosse seguem:
(i) Espaode soluesviveisdo PI Espaode soluesviveisdo PI
relaxado.
(ii) Valor timode z do PI Valor timodo PI relaxado.
107
Prof. Fogliatto Pesquisa Operacional 107
ltima coluna do tableau
a coluna RHS (right hand side):
Ali aparecem o valor atual da funo objetivo
(no cruzamento entre coluna RHS e linha z) e o
valor das variveis que esto na base
No primeiro tableau (se as var. de folga forem a
base inicial), o valor atual da funo objetivo
zero e o valor das variveis na base
correspondem ao lado direito das restries
Umapossvel abordagemparasoluode problemasde PI resolver seus
problemascorrespondentesrelaxados e arredondar as variveisde decisopara
o maior oumenor inteiromaisprximo. Todavia, doisproblemaspodemresultar
destaabordagem:
(a) osvaloresarredondadospodemresultar pontosinviveisno PI;
(b) as soluesresultantessoaltamentesub-timas.
3.1. MtodoBranch-and-Bound parasoluode problemasPIs puros
Considereo problemade PI:
Max z =8x
1
+5x
2
s.a
x
1
+ x
2
6
9x
1
+5x
2
45
x
1
, x
2
0
x
1
, x
2
inteiros.
O mtodode soluode problemasde PI utilizandoo branch-and-bound
operacionalizadoemcincopassos, descritosa seguir (Winston, 1994).
108
Prof. Fogliatto Pesquisa Operacional 108
ltima coluna do tableau
Exemplo
Valor de
f
1
, f
2
e f
3
na base
Valor da f.o. para
a base atual
1. Comeceresolvendoo PI relaxado. Se a soluotimafor inteira, esta a
soluodo PI. Quandoestenofor o caso, a soluotimado IPR (problemade
programaointeirarelaxado) o limite superior dasoluotimado PI. A
soluotimado IPR exemplificadonapginaanterior dada por:
z
*
=165/4
x
1
=15/4
x
2
=9/4
2. Escolhaumavarivel de decisofracionriaem z
*
do PIR, por exemplo, x
1
=
15/4. O PI admitevaloresde x
1
3 oux
1
4, masnoem 3 <x
1
<4. Criedois
subproblemasa partir de x
1
:
SP2: SP1 +restriox
1
4.
SP3: SP1 +Restriox
1
3.
A siglaSP designasubproblema. O problemadesignadopor SP1 o prprio
problemade PI emestudo, relaxadodas restriesde no-fracionariedade.
109
Prof. Fogliatto Pesquisa Operacional 109
Linhas do tableau
O tableau do simplex constitudo de m +1
linhas (m =n
o
de restries do problema):
A primeira linha denominada linha z:
Analisando a linha z se verifica se o tableau timo
ou se h melhorias possveis na funo obj.
As demais linhas esto associadas s variveis
que esto na base, uma por varivel
3. Escolhaqualquer SP listadono passoanterior e resolvacomose fosse um
problemade ProgramaoLinear. DigamosSP2, com soluotimaz
*
=41, x
1
=
4 e x
2
=9/5. Os resultadosobtidosatagora podemser apresentadosnaforma de
umarvorehierrquica.
SP1: z
*
=165/4, x
1
=15/4, x
2
=9/4
x
1
4 x
1
3
SP2: z
*
=41, x
1
=4,
x
2
=9/5
SP3: z
*
=?
nodo
arco
110
Prof. Fogliatto Pesquisa Operacional 110
Linha z
No tabelauinicial, a linha z dada pelos
coeficientes de cada varivel na funo
objetivo, com o sinal invertido:
Variveis de folga e de escessotm coeficientes
zero, pois nunca esto na f.o. original
Embaixo das variveis bsicas, na linha z do
tableau, s pode-se ter o valor 0!
4. Repitao procedimentoem (3) usandoo SP2 e a varivel de deciso
fracionriax
2
=9/5. Os subproblemasresultantesso:
SP4: SP1 +x
1
4 +x
2
2 ou SP2 +x
2
2.
SP5: SP1 +x
1
4 +x
2
1 ou SP2 +x
2
1.
Tem-se trsproblemasquepodemser resolvidos: SP3, SP4 e SP5. Escolhe-se
dentreelesum pararesoluo; por exemplo, SP4. SP4 noapresentasolues
viveis, nopodendo, assim, gerar umasoluotimaparao problemade PI.
Assim, diz-se queestenododarvorefoi terminado.
DentreosSPsnoresolvidos, escolhe-se o maisrecente, SP5. A soluovm
apresentadanarvoredo problema, a seguir.
111
Prof. Fogliatto Pesquisa Operacional 111
Exemplo de montagem da linha z
Max z = 60x
1
+ 30x
2
+ 20x
3
s.a: 8x
1
+ 6x
2
+ x
3
+ f
1
= 48
4x
1
+ 2x
2
+ 1.5 x
3
+ f
2
= 20
2x
1
+1.5x
2
+ 0.5 x
3
+ f
3
= 8
x
1
, x
2
, x
3
, f
1
, f
2
, f
3
0
SP1: z
*
=165/4, x
1
=15/4, x
2
=9/4
x
1
4 x
1
3
SP2: z
*
=41, x
1
=4,
x
2
=9/5
SP3: z
*
=?
SP4: Invivel.
x
2
2
SP5: z
*
=365/9,
x
1
=40/9, x
2
=1
x
2
1
112
Prof. Fogliatto Pesquisa Operacional 112
Demais linhas do tableau
Copia-se literalmente o sistema de
restries do problema:
5. Repitao procedimentoem (3) usandoSP5 e a varivel de decisofracionria
x
1
. Os subproblemasresultantesso:
SP6: SP5 +x
1
5.
SP7: SP5 +x
1
4.
TrsSPspodemser resolvidos: SP3, SP6 e SP7. Escolhe-se, aleatoriamente, um
dos maisrecentes; SP7, por exemplo. A soluotimaparao problemaSP7 vem
dada narvorea seguir. A soluospossui valoresinteirosparaa varivel de
deciso, podendoser interpretadacomoumasoluocandidataouum limite
inferior no valor timodo problemade PI.
113
Prof. Fogliatto Pesquisa Operacional 113
Prtica 5
Prtica 5
Considere o problema abaixo:
1 3
1 2 3
1 3
1 2 3
4
4 2 0
3 2
, , 0
x x
x x x
x x
x x x
+
+

Min z = 3x
1
- x
2
+ 5x
3
s.a
Transforme as inequaesem equaes introduzindo var. de
folga. Monte o tableau inicial do problema.
SP1: z
*
=165/4, x
1
=15/4, x
2
=9/4
x
1
4 x
1
3
SP2: z
*
=41, x
1
=4,
x
2
=9/5
SP3: z
*
=?
SP4: Invivel.
x
2
2
SP5: z
*
=365/9,
x
1
=40/9, x
2
=1
x
2
1
x
1
5 x
1
4
SP6: z
*
=40, x
1
=5,
x
2
=0.
LimiteInferior =37
Soluo candidata
SP7: z
*
=37, x
1
=4,
x
2
=1.
Soluo excluda.

Soluo da Prtica 5:
114
Prof. Fogliatto Pesquisa Operacional 114
ALGORITMO SIMPLEX NO ALGORITMO SIMPLEX NO
TABLEAU TABLEAU
Passo 1 Verifique se a base atual a base
tima do problema:
Um problema de Minimizao est na base
tima se todos os valores abaixo das variveis
na linha z do tableau so negativos ou zero
Ex.:
O algoritmo encerra aqui!
Os problemasSP3 e SP6 aindanoforamresolvidos. Seguindoa regrade
resolver o maisrecente, escolhe-se SP6, com soluodada narvoredapgina
anterior. A soluode SP6 inteirae melhor do queaquelaobtidaparaSP7.
Assim, termina-se o nododarvoreem SP7 (identifica-se o nodoterminadopor
um ouescrevendosoluo excluda no nodo) e atualiza-se o limiteinferior da
rvore; o novo limiteLI 40.
O ltimoSP a ser resolvido SP3, com soluodada por z
*
=39, x
1
=x
2
=3.
Esta umasoluocandidatacom z
*
<LI. Assim, o nodoSP3 terminadoe SP6
identificadocomoa soluotimaparao problemade PI.
115
Prof. Fogliatto Pesquisa Operacional 115
ALGORITMO SIMPLEX NO ALGORITMO SIMPLEX NO
TABLEAU TABLEAU
Passo 1 Verifique se a base atual a base
tima do problema:
Um problema de Maximizao est na base
tima se todos os valores abaixo das variveis
na linha z do tableau so positivos ou zero
Ex.:
O algoritmo encerra aqui!
Algunsaspectosimportantesdo mtodoB & B paraa soluode PIs puros
devemser salientados:
a) Semprequenofor necessriodesdobrar um subproblema, eledeveser
terminado. Os critriosutilizadosparaterminaoso:
i. o SP nopossui soluesviveis.
ii. O SP geraumasoluotimacontendosomentevalores
inteiros.
iii. O SP apresentaum valor de z* menor (em problemasde PI
do tipoMaximizao) queo limiteinferior atual.
116
Prof. Fogliatto Pesquisa Operacional 116
ALGORITMO SIMPLEX NO TABLEAU ALGORITMO SIMPLEX NO TABLEAU
Passo 2 Passo 2
Identifique a varivel a entrar na base:
Em problema de Minimizao, o valor mais
positivo abaixo das variveis na linha z do
tableau denota a varivel entrante
Em problema de Maximizao, o valor mais
negativo na linha z denota a varivel entrante
b) Um SP eliminado(passaa ser desconsideradodo problema) sempreque:
i. o SP nopossui soluesviveis.
ii. O LI (limiteinferior) atual pelomenostograndequanto
o valor z
*
do SP em questo.
c) A regraltimoa entrar, primeiroa sair, queindicaqual SP deveser
trabalhadodentrevrioscandidatosforao analistaa trabalhar um mesmoda
ramodarvorede soluesato final. Existemoutrasregraspossveis(ver
Schrage, 1997, entreoutros).
d) Quandoum SP apresentasoluotimacom duasoumaisvariveisde
decisofracionrias, trabalhecom aquelaquerepresentar maior ganhonafuno
objetivo(ouseja, aquelaquepossuir maior coeficientede custoassociado).
Schrage, L. (1997). Optimization Modeling with LINDO, 5
th
Ed., Pacific Grove
(CA): Duxbury Press.
117
Prof. Fogliatto Pesquisa Operacional 117
ALGORITMO SIMPLEX NO TABLEAU ALGORITMO SIMPLEX NO TABLEAU
Passo 3 Passo 3
Identifique a varivel que sai da base
atravs do teste da mnima razo:
Divida os n
os
(abaixo da linha z) no lado direito
do tableau pelos n
os
positivos em posies
correspondentes na coluna da varivel entrante
(abaixo da linha z)
A menor razoindica a varivel que sai da base
3.2. MtodoBranch-and-Bound parasoluode problemasPIs mistos
Modifiqueo algoritmoanterior daseguintemaneira:
i. desdobresomentevariveisde decisorestritasa no-fracionrias.
ii. Considerea soluotimade um SO comosendoumasoluocandidata
soluotimado problemade PI quandoestaatender srestriesde no-
fracionariedade.
118
Prof. Fogliatto Pesquisa Operacional 118
ALGORITMO SIMPLEX NO TABLEAU ALGORITMO SIMPLEX NO TABLEAU
Passo 3 Passo 3 Exemplo ( Exemplo (Minimizao Minimizao) )
varivel entrante
Razes:
4 / 2 = 2
8 / 1 =8
Menor razo!
Varivel x
1
sai da base para que x
2
possa entrar
N
o
2 na coluna do x
2
o elemento de pivot!
Elemento de pivot
3.3. MtodoBranch-and-Bound em problemasde sequenciamentode trabalhos
em mquinas
O mtodoB&B aplicadoa problemasde sequenciamentopodeser melhor
introduzidoatravsde um exemplo. Suponhaquatrotrabalhosa serem
processadosnumamesmamquina. O tempo necessrioparaprocessamentode
cadatrabalhoe as datasde entregavmdados abaixo:
O atrasodo trabalho medidopelonmerode diasapsa data de entregaem que
o trabalho completado. Trabalhosfinalizadosnadata de entregaouantes, tm
atrasozero.
Determine a ordemde processamentodos trabalhosqueminimize o atrasototal.
Tempo necessri o (di as) Data da entrega
Trabalho 1 6 Final do dia 8
Trebalho 2 4 Final do dia 4
Trabalho 3 5 Final do dia 12
Trabalho 4 8 Final do dia 16
119
Prof. Fogliatto Pesquisa Operacional 119
ALGORITMO SIMPLEX NO TABLEAU ALGORITMO SIMPLEX NO TABLEAU
Passo 3 Passo 3 Exemplo ( Exemplo (Maximizao Maximizao) )
varivel entrante
Razes:
4 / -2 =No vale!
8 / 2 = 4
nica razo (menor por definio!)
Varivel f
2
sai da base para que f
1
possa entrar
N
o
2 na coluna do f
1
o elemento de pivot!
Elemento de pivot
Definaas seguintesvariveisde deciso:
Considereo ltimotrabalhoa ser processado. Qualquer quesejaa sequncia, ela
terx
14
=1, x
24
=1, x
34
=1 ou x
44
=1. Assim, cria-se umarvorecom quatro
nodose calcula-se o limiteinferior no atrasototal associadoa cadanodo. O
clculodo atrasoparao quarto trabalho:
x
44
=1, ouseja, o trabalho4 seriacompletadocom atrasototal de 23 - 16 dias.
Os 23 diasforamobtidossomando(6 +4 +5 +8); ver tabelanapginaanterior.
Aplica-se o mesmoracioccioparaosdemaistrabalhosprocessadosnaposio4.
Os resultadosvmmostradonarvorenapginaseguinte. O limiteinferior no
atrasototal D 7. Ouseja, posicionando-se o trabalho4 naquartaposio,
obtem-se o menor atrasototal.

=
. , 0
. , 1
contrrio caso
j posio na processado for i trabalho o quando
x
ij
120
Prof. Fogliatto Pesquisa Operacional 120
ALGORITMO SIMPLEX NO TABLEAU ALGORITMO SIMPLEX NO TABLEAU
Passo 3 Passo 3 Nota importante Nota importante
O critrio de entrada na base depende da
funo objetivo do problema (maximizao
ou minimizao)
O teste da mnima razo, entretanto, o
mesmo, independente do tipo de funo
objetivo!
Melhor sequenciamento
x
14
=1
NODO 1:
D 15
x
24
=1
NODO 2:
D 19
x
34
=1
NODO 3:
D 11
NODO 4:
D 7
x
44
=1
121
Prof. Fogliatto Pesquisa Operacional 121
ALGORITMO SIMPLEX NO TABLEAU ALGORITMO SIMPLEX NO TABLEAU
Passo 4 Passo 4
Realize o pivot para a troca de base:
Atravs de operaes elementares com linhas
do tableau, faa com que a coluna da varivel
entrante fique igual a coluna da varivel que
est saindo da base
Inicie as operaes pelo elemento de pivot
Escolhe-se o nodocom menor valor de atrasoD (no caso, o nodo4) para
continuar o mtodo. Qualquer sequnciaassociadaaonodo4 deveter x
13
=1, x
23
=1 ou x
33
=1. O clculodo limiteinferior LI de atraso similar quelevisto
anteriormente:
x
33
=1, ouseja, o trabalho3 seriacompletadocom atrasototal de 15 - 12 dias.
Os 15 diasforamobtidossomando(6 +4 +5). O atrasototal serde pelomenos
3 +7 dias(D 10).
Escolhe-se o nodo7 (menor valor de D) paradesdobrar. Qualquer sequncia
associadaa estenododeveter x
12
=1 ou x
22
=1. Os atrasostotaisso:
Nodo9 - sequncia1-2-3-4. Atrasototal: 7(tr. 4) +3(tr. 3) +(6+4-4)(tr. 2) +
0(tr. 1) =16 dias.
Nodo8 - sequncia2-1-3-4. Atrasototal: 7(tr. 4) +3(tr. 3) +(4+6-8)(tr. 1) +
0(tr. 2) =12 dias.
Qualquer soluocom D >12 podeser eliminadade considerao(nodos1, 2, 5,
6, 9). Desdobra-se o nodo3. Qualquer sequnciadeveter x
13
=1, x
23
=1 oux
43
=1. O clculodo limiteinferior de atraso:
122
Prof. Fogliatto Pesquisa Operacional 122
ALGORITMO SIMPLEX NO TABLEAU ALGORITMO SIMPLEX NO TABLEAU
Passo 4 Passo 4 Exemplo Exemplo
varivel entrante
Elemento de pivot
Coluna da varivel f
1
deve ficar igual coluna da varivel f
2
x
13
=trabalho1 completono final do dia(8+4+6) =18 - 8 =10 +11 =21
x
23
=trabalho2 completono final do dia(8+4+6) =18 - 4 =14 +11 =25
x
43
=trabalho4 completono final do dia(8+4+6) =18 - 16 =2 +11 =13
A sequnciatima 2 - 1 - 3 - 4. O atrasototal de 12 dias.
Prof. Fogliatto Pesquisa Operacional 123
ALGORITMO SIMPLEX NO TABLEAU ALGORITMO SIMPLEX NO TABLEAU
Passo 4 Passo 4 Exemplo Exemplo
Inicie pelo elemento de pivot: ele deve virar 1
A linha de trabalho ser usada nas operaes que transformaro os
demais n
os
da coluna da varivel entrante em zero
Prof. Fogliatto Pesquisa Operacional 124
ALGORITMO SIMPLEX NO TABLEAU ALGORITMO SIMPLEX NO TABLEAU
Passo 4 Passo 4 Exemplo Exemplo
Como o problema de minimizao e no h mais valores negativos
na linha z do tableau abaixo das variveis, esta a base tima do
problema!
Prof. Fogliatto Pesquisa Operacional 125
ALGORITMO SIMPLEX NO TABLEAU ALGORITMO SIMPLEX NO TABLEAU
Passo 5 Passo 5
Volte ao passo 1
Prof. Fogliatto Pesquisa Operacional 126
ALGORITMO SIMPLEX NO TABLEAU ALGORITMO SIMPLEX NO TABLEAU
Alguns comentrios Alguns comentrios
Cada tableau do simplex corresponde a uma
base diferente do problema. Assim:
O valor da funo objetivo nunca deve piorar a
medida que a troca de bases ocorre
As variveis bsicas no podem assumir valores
negativos (ou houve erro no teste da mnima
razo!)
Prof. Fogliatto Pesquisa Operacional 127
ALGORITMO SIMPLEX NO TABLEAU ALGORITMO SIMPLEX NO TABLEAU
Alguns comentrios Alguns comentrios
Problemas de maximizao podem
apresentar valores negativos valores negativos de funo
objetivo (depende da funo) e vice-versa
Atualize as variveis na base: aps cada
pivot, certifique-se de que o cabealho das
linhas est correto
Prof. Fogliatto Pesquisa Operacional 128
ALGORITMO SIMPLEX NO TABLEAU ALGORITMO SIMPLEX NO TABLEAU
Alguns comentrios Alguns comentrios
As colunas das variveis bsicas no tableau
abaixo da linha z devem sempre
corresponder a colunas de uma matriz
identidade
Prof. Fogliatto Pesquisa Operacional 129
Situaes especiais:
1. Solues timas alternativas;
2. Soluo infinita (tendendo ao infinito).
3. Base inicial no disponvel (problema c/
variveis de excesso ou restries do tipo =).
Prof. Fogliatto Pesquisa Operacional 130
Exemplo c/ solues timas
alternativas
Min z = -2x
1
- 4x
2
s.a: x
1
+ 2x
2
4
-x
1
+ x
2
1
x
1
, x
2
0
2
2
4
4
6
6
B
1
B
3
z
B
2
Reta de solues timas
alternativas
Prof. Fogliatto Pesquisa Operacional 131
Tableau
Prof. Fogliatto Pesquisa Operacional 132
Exemplo c/ soluo tendendo ao
infinito
Min z = - x
1
- 3x
2
s.a: x
1
- 2x
2
4
-x
1
+ x
2
3
x
1
, x
2
0
2
2
4
4
6
6
B
1 z
B
2
Soluo tima

Prof. Fogliatto Pesquisa Operacional 133


Tableau
Prof. Fogliatto Pesquisa Operacional 134
Ex. c/ base inicial no disponvel
Min z = x
1
- 2x
2
s.a: - x
1
+ x
2
1
x
2
4
x
1
, x
2
0
2
2
4
4
6
6
B
1
B
3
(Base tima)
z
B
2
Adicionando excesso e folga
Min z = x
1
- 2x
2
s.a: x
1
+ x
2
- e
1
=1
x
2
+f
1
=4
x
1
, x
2
, e
1
, f
1
0
Adicionando artificial
Min z = x
1
- 2x
2
+Ma
1
s.a: x
1
+ x
2
- e
1
+a
1
=1
x
2
+f
1
=4
x
1
, x
2
, e
1
, f
1
, a
1
0
Prof. Fogliatto Pesquisa Operacional 135
Tableau
Prof. Fogliatto Pesquisa Operacional 136
Prtica 6A
Soluo tima nica
Max z = 60x
1
+ 30x
2
+ 20x
3
s.a: 8x
1
+ 6x
2
+ x
3
48
4x
1
+ 2x
2
+ 1.5 x
3
20
2x
1
+1.5x
2
+ 0.5 x
3
8
x
1
, x
2
, x
3
0
Prof. Fogliatto Pesquisa Operacional 137
Prtica 6B
Soluo
Max z = 36x
1
+ 30x
2
- 3x
3
- 4x
4
s.a: x
1
+ x
2
- x
3
5
6x
1
+ 5x
2
- x
4
10
x
1
, x
2
, x
3
, x
4
0
Prof. Fogliatto Pesquisa Operacional 138
Prtica 6C
Solues timas alternativas
Max z = -3x
1
+ 6x
2
s.a
5x
1
+7x
2
35
-x
1
+ 2x
2
2
x
1
, x
2
0
Prof. Fogliatto Pesquisa Operacional 139
Prtica 6D
Base Inicial no-disponvel
Max z = -x
1
- 2x
2
s.a
3x
1
+4x
2
12
2x
1
- x
2
2
x
1
, x
2
0
Prof. Fogliatto Pesquisa Operacional 140
Prtica 6E
Base Inicial no-disponvel
Min z = -x
1
- x
2
s.a
x
1
- x
2
1
-x
1
+ x
2
1
x
1
, x
2
0
Este problema no possui solues viveis (confira graficamente).
Verifique como o mtodo do M-Grande vai sinalizar a ausncia de
solues viveis.
Prof. Fogliatto Pesquisa Operacional 141
Prticas Adicionais
Max z = 2x
1
+ x
2
- x
3
s.a x
1
+ x
2
+2 x
3
6
x
1
+4x
2
- x
3
4
x
1
, x
2
, x
3
0
Min z = 3x
1
- 3x
2
+ x
3
s.a x
1
+2x
2
- x
3
5
-3x
1
- x
2
+ x
3
4
x
1
, x
2
, x
3
0
Max z = 2x
1
- x
2
s.a x
1
+x
2
3
-x
1
+x
2
1
x
1
, x
2
, 0
Prof. Fogliatto Pesquisa Operacional 142
O PROBLEMA DUAL
Todo o problema de programao linear possui um problema
dual correspondente.
Chamaremos o problema original de primal e o problema
dual de dual.
Variveis do problema primal z, x
1
, x
2
,,x
n
.
Variveis do problema dual w, y
1
, y
2
,,y
m
.
Primal Dual
Max Min
Min Max
Prof. Fogliatto Pesquisa Operacional 143
Escrevendo o dual de um problema de progr. linear
Max z = c
1
x
1
+ c
2
x
2
+ +c
n
x
n
s.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
m
M M M M
Min w = b
1
y
1
+ b
2
y
2
+ +b
m
y
m
s.a: a
11
y
1
+ a
21
y
2
+ +a
m1
y
m
c
1
a
12
y
1
+ a
22
x
2
+ +a
m2
y
m
c
2
a
1n
y
1
+ a
2n
y
2
+ +a
mn
y
m
c
n
M M M M
Prof. Fogliatto Pesquisa Operacional 144
EXEMPLO
Max z = 60x
1
+ 30x
2
+20x
3
s.a: 8x
1
+ 6x
2
+ 1x
3
48
4x
1
+ 2x
2
+1.5x
3
20
2x
1
+ 1.5x
2
+0.5x
3
8
x
1
, x
2
, x
3
0
P
r
i
m
a
l
D
u
a
l
Min w = 48y
1
+ 20y
2
+ 8y
3
s.a: 8y
1
+ 4y
2
+ 2y
3
60
6y
1
+ 2y
2
+1.5y
3
30
1y
1
+ 1.5y
2
+0.5y
3
20
y
1
, y
2
, y
3
0
Prof. Fogliatto Pesquisa Operacional 145
A i
sima
restrio do dual corresponde i
sima
varivel
do primal
Usando a tabela abaixo, pode-se achar o dual de qualquer primal:
Min Max
0
0
Irrestr. =
0
0
= Irrestr.
Variveis
Variveis
Restries
Restries
Prof. Fogliatto Pesquisa Operacional 146
OUTRO EXEMPLO
Max z = 2x
1
+ x
2
s.a: 2x
1
+ x
2
= 2
2x
1
- x
2
3
x
1
- x
2
1
x
1
0, x
2
irrestr.
P
r
i
m
a
l
Min w = 2y
1
+ 3y
2
+ 1y
3
s.a: 2y
1
+ 2y
2
+ y
3
2
y
1
- y
2
- y
3
=1
y
1
irrestr., y
2
0, y
3
0
D
u
a
l
Prof. Fogliatto Pesquisa Operacional 147
INTERPRETAO ECONMICA DO
PROBLEMA DUAL
Max z = 60x
1
+ 30x
2
+20x
3
s.a: 8x
1
+ 6x
2
+ 1x
3
48
4x
1
+ 2x
2
+1.5x
3
20
2x
1
+ 1.5x
2
+0.5x
3
8
x
1
, x
2
, x
3
0
O exemplo visto anteriormente:
Corresponde modelagem matemtica do seguinte problema:
Produto Qtidd de
Insumo Escrivaninha Mesa Cadeira Insumo
Tbua 8 6 1 48
Acabamto 4 2 1.5 20
Carpintaria 2 1.5 0.5 8
Lucro Venda $60 $30 $20
Prof. Fogliatto Pesquisa Operacional 148
O DUAL DESTE PROBLEMA :
Min w = 48y
1
+ 20y
2
+ 8y
3
s.a: 8y
1
+ 4y
2
+ 2y
3
60
6y
1
+ 2y
2
+1.5y
3
30
1y
1
+ 1.5y
2
+0.5y
3
20
y
1
, y
2
, y
3
0
Escrivaninha
Mesa
Cadeira
Restries associadas com escrivaninhas, mesas e cadeiras, respectiv.
y
1
associado com tbuas; y
2
com acabam
to
; y
3
com carpintaria.
Suponha uma situao onde exista escassez de insumos. Um outro
fabricante de mveis deseja comprar os insumos disponveis na fbrica de
escrivaninhas, mesas e cadeiras.
A pergunta-chave : qual o gio mximo a ser cobrado pelos insumos?
Prof. Fogliatto Pesquisa Operacional 149
Definindo as variveis do problema dual
y
1
=gio mximo cobrado por uma tbua de madeira;
y
2
=gio mximo cobrado por 1 hora de acabamento;
y
3
=gio mximo cobrado por 1 hora de carpintaria
O gio total a ser cobrado por estes insumos corresponder
funo objetivo:
Min w = 48y
1
+ 20y
2
+ 8y
3
Note que a funo objetivo busca minimizar o custo de compra:
este o ponto de vista do comprador.
Prof. Fogliatto Pesquisa Operacional 150
O comprador deseja o menor preo, mas o preo deve
ser atraente o suficiente para induzir o fabricante de
escrivaninhas a vender seus insumos
Assim:
8y
1
+ 4y
2
+ 2y
3
60
Ou seja, se comprarmos todos os insumos nas quantidades necessrias
para produzir uma escrivaninha, o gio a ser pago deve ser, no
mnimo, o que o fabricante lucraria com a venda daquele produto.
Restrio das
escrivaninhas
O mesmo ocorre com as outros produtos:
6y
1
+ 2y
2
+ 1.5y
3
30
1y
1
+ 1.5y
2
+0.5y
3
20
Restr. das mesas
Restr. das cadeiras
Prof. Fogliatto Pesquisa Operacional 151
Para determinarmos o menor gio de compra dos
insumos que mantenha a venda desses insumos
interessantes para o fabricante, devemos resolver o
problema dual
As variveis y
1
, y
2
, y
3
so normalmente denominadas preos-
sombra dos insumos.
Por definio, o preo-sombra da i
sima
restrio corresponde
melhoria no valor z da funo objetivo ocasionada pelo
incremento de uma unidade no lado direito da restrio [ou
seja, de b
i
para (b
i
+1)].
Prof. Fogliatto Pesquisa Operacional 152
Exerccio
Determine o dual do seguinte problema de
programao linear:
Max z = x
1
+ 2x
2
s.t.: 3x
1
+ x
2
6
2x
1
+ x
2
= 5
x
1
, x
2
0
Prof. Fogliatto Pesquisa Operacional 153
Como ler a soluo tima do dual a partir da linha 0
(ou linha z) do tableau timo do primal
Caso 1 - Primal = Max
Para resolver o problema abaixo:
Max z = 3x
1
+ 2x
2
+ 5x
3
s.a: 1x
1
+ 3x
2
+ 2x
3
15
2x
2
- x
3
5
2x
1
+ x
2
- 5x
3
=10
x
1
, x
2
, x
3
0
Adicionar var. folga f
1
Adicionar var. excesso e
2
e art. a
2
Adicionar var. artificial a
3
A base inicial ser formada por B ={ f
1
, a
2
, a
3
}.
Usaremos o Mtodo do M-Grande para solucionar este problema.
O tableau timo vem dado a seguir...
Prof. Fogliatto Pesquisa Operacional 154
Tableau timo
x
1
x
2
x
3
f
1
e
2
a
2
a
3
RHS
z 0 0 0
51
/
23
58
/
23
M-
58
/
23
M+
9
/
23
565
/
23
x
3
0 0 1
4
/
23
5
/
23
-5
/
23
-2
/
23
15
/
23
x
2
0 1 0
2
/
23
-9
/
23
9
/
23
-1
/
23
65
/
23
x
1
1 0 0
9
/
23
17
/
23
-17
/
23
7
/
23
120
/
23
Prof. Fogliatto Pesquisa Operacional 155
Regras para identificao da soluo tima dual na
linha 0 (ou z) do tableau timo do primal (Max)
Valor timo da var. dual y
i
qdorestrio i do tipo
Valor timo da var. dual y
i
qdorestrio i do tipo
Valor timo da var. dual y
i
qdorestrio i do tipo =
Coeficiente de f
i
na linha
0 do tableau timo
-(Coeficiente de e
i
) na
linha 0 do tableau timo
(Coeficiente de a
i
na linha
0 do tableau timo) - M
Prof. Fogliatto Pesquisa Operacional 156
z x
1
x
2
x
3
f
1
e
2
a
2
a
3
RHS
z 1 0 0 0
51
/
23
58
/
23
M-
58
/
23
M+
9
/
23
565
/
23
x
3
0 0 0 1
4
/
23
5
/
23
-5
/
23
-2
/
23
15
/
23
x
2
0 0 1 0
2
/
23
-9
/
23
9
/
23
-1
/
23
65
/
23
x
1
0 1 0 0
9
/
23
17
/
23
-17
/
23
7
/
23
120
/
23
No tableau timo do exemplo anterior:
y
1
-y
2 y
3
-M
Ou seja, o problema dual possui a seguinte soluo tima:
y
1
=
51
/
23
; y
2
=
-58
/
23
; y
3
=
9
/
23
Prof. Fogliatto Pesquisa Operacional 157
Conferindo o resultado na funo
objetivo do problema dual
Min w = 15y
1
+ 5y
2
+10y
3
w =
565
/
23
y
1
=
51
/
23
; y
2
=
-58
/
23
; y
3
=
9
/
23
Prof. Fogliatto Pesquisa Operacional 158
Regras para identificao da soluo tima dual na
linha 0 (ou z) do tableau timo do primal (Min)
Valor timo da var. dual y
i
qdorestrio i do tipo
Valor timo da var. dual y
i
qdorestrio i do tipo
Valor timo da var. dual y
i
qdorestrio i do tipo =
Coeficiente de f
i
na linha
0 do tableau timo
-(Coeficiente de e
i
) na
linha 0 do tableau timo
(Coeficiente de a
i
na linha
0 do tableau timo) +M
Prof. Fogliatto Pesquisa Operacional 159
Exerccio
Pesquisa Operacional
Parte 2
Graduao em Engenharia de
Produo
DEPROT / UFRGS
Prof. Flavio Fogliatto, Ph.D.
Prof. Fogliatto PO - Graduao 2
O Problema do Transporte
Descrio Geral de um problema de transporte:
1. Um conjunto de m pontos de fornecimento a partir dos quais um
insumo embarcado ou remetido.
O ponto de fornecimento i pode fornecer no mximo s
i
unidades.
2. Um conjunto de n pontos de demanda para os quais o insumo
remetido.
O ponto de demanda j deve receber pelo menos d
j
unidades do insumo.
Prof. Fogliatto PO - Graduao 3
Descrio Geral de um problema de
transporte
3. Cada unidade produzida no ponto de fornecimento i e remetida ao
ponto de demanda j incorre num custo de c
ij
.
Prof. Fogliatto PO - Graduao 4
Formulao do Problema
Seja x
ij
=n
o
de unidades despachadas do ponto de fornecimento i para
o ponto de demanda j.
A formulao genrica do problema do transporte ser:
0
) ,..., 1 (
) ,..., 1 ( . .
1
1
1 1

=
=

=
=
= =
ij
m
i
j ij
n
j
i ij
m
i
n
j
ij ij
x
n j d x
m i s x t s
x c Min
Restries de fornecimento
Restries de demanda
Prof. Fogliatto PO - Graduao 5
Problema Balanceado
Um problema de transporte considerado balanceado se:

= =
=
n
j
j
m
i
i
d s
1 1
Ou seja, o fornecimento supre toda a demanda.
Num problema balanceado, as restries so todas igualdades.
Prof. Fogliatto PO - Graduao 6
Como balancear um problema de transporte
quando a capacidade de fornecimento excede
a demanda
Cria-se um ponto fictcio de demanda. A demanda nesse ponto ser igual
ao excedente da capacidade.
Como balancear o problema quando a demanda maior que a capacidade
de fornecimento?
Neste caso, o problema no possui solues viveis.
Como alternativa, pode-se adicionar um ponto fictcio de fornecimento.
O custo de fornecimento daquele ponto ser igual penalizaoincorrida
pelo no fornecimento do insumo.
Prof. Fogliatto PO - Graduao 7
O Tableau de Transporte
c
11
c
12
c
1n
c
21
c
22
c
2n
c
m1
c
m2
c
mn
M M M
L
L
L
O
Demanda d
1
d
2
d
n
L
Fornecimento
s
1
s
2
M
s
m

= =
=
n
j
j
m
i
i
d s
1 1
Prof. Fogliatto PO - Graduao 8
Exemplo
Dois reservatrios de gua abastecem trs cidades. Cada reservatrio pode
abastecer at 50 milhes de litros de gua por dia. Cada cidade necessita
receber 40 milhes de litros de gua por dia.
Associado a cada milho de litros de gua no fornecido por dia existe
uma multa. A multa na cidade 1 de $20; na cidade 2 de $18; na
cidade 3 de $23.
Os custos do transporte entre
reservatrios e cidades vem
dado ao lado...
Reserv. 1
Reserv. 2
Cid.1 Cid.2 Cid.3
$7 $8 $8
$9 $7 $8
Prof. Fogliatto PO - Graduao 9
Tableau do Simplex
7 8 8
9 7 8
Cid. 1 Cid. 2 Cid. 3
20 18 23
Res. 1
Res. 2
Res. Artif.
Demanda
40 40 40
Capacidade
50
50
20
Prof. Fogliatto PO - Graduao 10
A Aosul produz trs tipos de ao emsuas trs plantas. O tempo necessrio para fabricar 1
tonelada deao (independente do tipo) e os custos defabricao em cada planta vem dado
abaixo. Semanalmente, 100 toneladas decada tipo de ao devem ser produzidas. Cada planta
opera40 horas por semana. Escreva o problema(o objetivo minimizar o custo de fabricao
dos aos) e organizeo problema no tableau do transporte.
Custo
Ao 1 Ao 2 Ao 3 Tempo (min)
Planta 1 $60 $40 $28 20
Planta 2 $50 $30 $30 16
Planta 3 $43 $20 $20 15
Prtica:
Prof. Fogliatto PO - Graduao 11
Mtodo do Extremo Noroeste para
Determinao da Soluo Vivel Inicial de um
problema de Transporte
Inicie o mtodo considerando a clula (1,1) do tableau. Faa com que
x
11
seja o maior valor possvel.
Obviamente, x
11
= Min (d
1
, s
1
).
Se x
11
=s
1
, desconsidere as demais clulas na primeira linha do tableau,
j que nenhuma outra varivel bsica vir desta linha. Atualizeo valor
de d
1
para d
1
- s
1
.
Se x
11
=d
1
, desconsidere as demais clulas na primeira coluna do tableau,
j que nenhuma outra varivel bsica vir desta coluna. Atualize o valor
de s
1
para s
1
- d
1
.
Prof. Fogliatto PO - Graduao 12
Mtodo do Extremo Noroeste para
Determinao da Soluo Vivel Inicial de um
problema de Transporte
Se x
11
=s
1
= d
1
, desconsidereas demais clulas na primeira linha ou
na primeira coluna do tableau (mas no ambas). Se voc escolher descon-
siderar a linha 1, mude d
1
para 0. Se voc escolher desconsiderar a
coluna 1, mude s
1
para 0.
Repita o procedimento, sempre escolhendo a clula posicionada no
extremo noroeste do tableau (desde que ela no esteja em uma linha
ou coluna eliminada anteriormente).
Ao cabo de (m +n - 1) iteraes chega-se a uma base vivel inicial
para o problema.
Prof. Fogliatto PO - Graduao 13
Exemplo
O mtodo do extremo noroeste no utiliza os custos, omitidos nostableaus
abaixo:
6
5
10
15
4 8
12
x
11
= Min {12, 5} =5
5
7
0
Prof. Fogliatto PO - Graduao 14
Exemplo
6
0
10
15
4 8
7
x
21
= Min {10, 7} =7
5
0
7
3
Prof. Fogliatto PO - Graduao 15
Exemplo
6
0
3
15
4 8
7
x
22
= Min {8, 3} =3
5
0
0
5
3
Prof. Fogliatto PO - Graduao 16
Exemplo
6
0
0
15
4 5
7
x
32
= Min {15, 5} =5
5
0
10
0
3
5
Prof. Fogliatto PO - Graduao 17
Exemplo
6
0
0
10
4 0
7
x
33
= Min {10, 4} =4
5
0
6
0
3
5 4
Prof. Fogliatto PO - Graduao 18
Exemplo
6
0
0
6
4 0
7
x
34
= Min {6, 6} =6
5
0
0
3
5 4 0 6
Base
Inicial
Vivel
Prof. Fogliatto PO - Graduao 19
Prtica:
Determine uma base inicial
para o problema anterior.
Prof. Fogliatto PO - Graduao 20
O Mtodo Simplex para problemas de
transporte
Precisamos calcular os valores correspondentes a linha z do
tableau do simplex.
Decidindo qual varivel no-bsica deve entrar na base
O clculo desses valores envolve determinar um menor circuito ou loop
contendo algumas variveis bsicas e a varivel no-bsica em questo.
Existe um loop nico possvel para cada varivel no-bsica.
Prof. Fogliatto PO - Graduao 21
Exemplo
2 3 4
14 12 5
12 15 9
10 10
0 20 10
9
1
3
10 10 20 50
20
30
40
40
Capacidd
Demanda
Base inicial determinada pelo mtodo do extremo noroeste.
Prof. Fogliatto PO - Graduao 22
Determine a varivel no-bsica a entrar
na base
Calcule os valores correspondentes
linha z para cada varivel no-bsica:
2 3 4
14 12 5
12 15 9
10 10
0 20 10
9
1
3
40
1. Determine um loop
de var. bsicas que
contenha a var. no-
bsica.
Iniciando com x
14
:
2. Alterne sinais pos.
e neg. nas var. bs.
extremas.
+ -
+
3. Some os c
ij
de
acordo com os sinais.
(+1-12+3) =-8
4. Subtraia o coef. de
custo da var. no-bs.
em questo do resultado
(-8) - 9 =-17
-17
Prof. Fogliatto PO - Graduao 23
Clculo para x
13
2 3 4
14 12 5
12 15 9
10 10
0 20 10
9
1
3
40
+ -
+
(+5-12+3) =-4
(-4) - 4 =-8
-17 -8
Prof. Fogliatto PO - Graduao 24
Repetindo o clculo p/ as demais var.
no-bsicas
2 3 4
14 12 5
12 15 9
10 10
0 20 10
9
1
3
40
-17 -8
-2 -1 +1
-3
Num problema de minimizao a varivel mais positiva entra na base.
Prof. Fogliatto PO - Graduao 25
Para verificar qual varivel deve sair da base,
determine um loop contendo a var. entrante e
algumas variveis bsicas
2 3 4
14 12 5
12 15 9
10 10
0 20 10
9
1
3
40
-17 -8
-2 -1 +1
-3
Prof. Fogliatto PO - Graduao 26
A primeira clula bsica do loop recebe um
sinal positivo, a segunda um sinal negativo, e
assim por diante...
Dentre as clulas
positivas, selecione
aquela de menor
valor: esta a var.
que sair da base.
2 3 4
14 12 5
12 15 9
10 10
0 20 10
9
1
3
40
-17 -8
-2 -1 +1
-3
+ -
+
-
+
A varivel entrante
assumir o valor
da varivel que sai
da base.
Prof. Fogliatto PO - Graduao 27
Atualize o valor das demais clulas do loop: clulas
com sinal +tm seu valor decrescido em ; clulas
com sinal -, tm seu valor acrescido de . A varivel
entrante entra na base com valor .
2 3 4
14 12 5
12 15 9
10 10
20 10
9
1
3
40
+ -
+
-
+
0
Prof. Fogliatto PO - Graduao 28
Novo tableau
2 3 4
14 12 5
12 15 9
10 10
20 10
9
1
3
40 0
-4
-7 -16
-1
-2 -2
Nenhuma var. no-bs. com z
ij
- c
ij
>0 tableau timo!
Prof. Fogliatto PO - Graduao 29
Prtica:
Resolva o problema
proposto no Slide 9.
Resolva o problema
do ao.
Prof. Fogliatto PO - Graduao 30
O Problema do Transbordo
Ponto de fornecimento - pode remeter insumos para outros pontos
mas no pode receber.
Ponto de demanda - pode receber insumos de outros pontos
mas no pode remeter.
Ponto de transbordo - remete e recebe insumos de outros pontos.
Prof. Fogliatto PO - Graduao 31
Exemplo
A BITCO monta PCsem Manaus (150 PCs/dia) e Assuncindo Paraguai
(200 PCs/dia) e remete para suas lojas em So Paulo e Recife,
totalizando 130 PCspor loja.
Os PCsso remetidos via area. A BITCO suspeita que devido
promoes e uso de outras empresas areas, seja mais econmico usar
Braslia e Curitiba como pontos de transbordo.
Os custos de transporte por PC vm dados a seguir.
Prof. Fogliatto PO - Graduao 32
Custos
De/Para Man Ass Bra Cur SP Rec
Manaus $0 - $8 $13 $25 $28
Assuncion - $0 $15 $12 $26 $25
Brasilia - - $0 $6 $16 $17
Curitiba - - $6 $0 $14 $16
SPaulo - - - - $0 -
Recife - - - - - $0
Prof. Fogliatto PO - Graduao 33
Exemplo
Deseja-se minimizar o custo do frete:
Manaus
Assuncin
Braslia
Curitiba
SPaulo
Recife
Prof. Fogliatto PO - Graduao 34
O problema do transbordo resolvido como
um problema balanceado de transportes
PASSO 1 - Balanceie o problema, se necessrio.
Por exemplo:
Capacidade >Demanda
Acrescente ptode demanda artificial
Capacidade =0
Demanda =excedente capacidd.
Cargas so remetidas p/ ponto artificial a custo zero.
Prof. Fogliatto PO - Graduao 35
Passo 2 - Construa o tableau do transporte
Uma linha p/ cada ponto de fornecimento e transbordo.
Uma coluna p/ cada ponto de demanda e transbordo.
Cada ponto de fornecimento ter capacidade de fornecimento igual a
sua capacidade original de fornecimento.
Cada ponto de demanda ter demanda igual a sua demanda original.
Prof. Fogliatto PO - Graduao 36
Passo 2 - Cont.
Seja s =capacidade total de fornecimento.
Cada ponto de transbordo ter:
capacidade =(capacidade do ponto original) +s
demanda =(demanda do ponto original) +s
Prof. Fogliatto PO - Graduao 37
Passo 3 - Resolva o problema resultante como
um problema de transporte
Ao interpretar a soluo tima:
ignore remessas aos pontos artificiais;
ignore remessas de um ponto para ele mesmo.
Prof. Fogliatto PO - Graduao 38
No exemplo
8
15
0
13
6
12
6
0 14 16 0
16 17
0
0
25 26
25 28 0
Manaus
Assuncion
Braslia
Curitiba
Braslia Curitiba SPaulo Recife Artificial Capacidade
150
200
350
350
350 350 130 130 90 Demanda
Prof. Fogliatto PO - Graduao 39
Resultado
Manaus
Assuncin
Braslia
Curitiba
SPaulo
Recife
130
130
130
Prof. Fogliatto PO - Graduao 40
Prtica
A GM produz carros em SP e POA e tem um depsito (transbordo) em
Foz do Iguau; a companhia fornece carros para Assuncine Buenos
Aires. O custo do frete de um carro entre os pontos de fabricao e
venda vem dado abaixo:
De/Para SP POA Foz Ass Bue
Spaulo $0 $140 $100 $90 $225
POA $145 $0 $111 $110 $119
Foz $105 $115 $0 $113 $78
Assuncion $89 $109 $121 $0 -
Buenos $210 $117 $82 - $0
Minimize os custos de transporte.
1100 2900 2400 1500
Capacidade
Demanda
Prof. Fogliatto PO - Graduao 41
O Problema da Alocao
So problemas balanceados de transporte nos quais todas as demandas
e todas as capacidades so iguais a 1.
As variveis do problema so booleanas:
x
ij
=1; se o ponto de abastecimento i for utilizado para suprir a demanda
no ponto de demanda j.
x
ij
=0; caso contrrio.
Prof. Fogliatto PO - Graduao 42
Exemplo: Aloque trabalhos nas mquinas tal
que tempo de setupseja mnimo
Trab. 1
Trab. 2
Trab. 3
Trab. 4
Maq. 1
Maq. 2
Maq. 3
Maq. 4
14 min
5 min
8 min
7 min
Tempo (min)
Tr.1 Tr.2 Tr.3 Tr.4
Mq.1 14 5 8 7
Mq.2 2 12 6 5
Mq.3 7 8 3 9
Mq.4 2 4 6 10
Prof. Fogliatto PO - Graduao 43
Formulao
Variveis de deciso:
x
ij
=mquina i executando trabalho j; i =1,...,4 e j =1,...,4.
Funo objetivo:
Min z = 14 x
11
+ 5 x
12
+8 x
13
+7 x
14
+2 x
21
+12 x
22
+6 x
23
+5 x
24
+
7 x
31
+8 x
32
+3 x
33
+9 x
34
+2 x
41
+ 4 x
42
+6 x
43
+10 x
44
Restries de mquina:
x
11
+x
12
+x
13
+x
14
=1
x
21
+x
22
+x
23
+x
24
=1
x
31
+x
32
+x
33
+x
34
=1
x
41
+x
42
+x
43
+x
44
=1
Restries de trabalho:
x
11
+x
21
+x
31
+x
41
=1
x
12
+x
22
+x
32
+x
42
=1
x
13
+x
23
+x
33
+x
43
=1
x
14
+x
24
+x
34
+x
44
=1
x
ij
=1 ou 0
Prof. Fogliatto PO - Graduao 44
Para resolver problemas de alocao,
usaremos o Algoritmo Hngaro
Passo 1 - determine o elemento de custo mnimo em cada linha do tableau
dos transportes. Construa um novo tableau subtraindo de cada custo o
custo mnimo da linha correspondente. Determine ento o custo mnimo
em cada coluna. Construa um novo tableau subtraindo de cada custo o
custo mnimo da coluna correspondente.
Passo 2 - determine o n
o
mnimo de linhas (horizontais e/ouverticais)
necessrias para cobrir todos os zeros no tableau de custos reduzidos. Se
forem necessrias m linhas, a resposta tima dada pelos zeros cobertos
por linhas no tableau. Se menos de m linhas forem necessrias, siga para
o passo 3.
Prof. Fogliatto PO - Graduao 45
Algoritmo Hngaro
Passo 3 - determine o menor elemento 0 dentre os elementos no
cobertos por linhas no tableau; seja k o valor deste elemento. Subtraia k
de cada elemento no-coberto do tableau e adicione k a cada elemento
coberto por duas linhas no tableau. Volte ao passo 2.
Nota - somente problemas balanceados podem ser resolvidos pelo
algoritmo hngaro. Se um problema for no balanceado, adicione pontos
artificiais de demanda ou capacidade.
Exemplo...
Prof. Fogliatto PO - Graduao 46
Exemplo
2
14
8
4
7
2
5
12
6
8
3
6
5
7
9
10
Mnimo da linha
5
2
3
2
Prof. Fogliatto PO - Graduao 47
Novo tableau aps subtrao dos mnimos de
linha
0
9
5
2
4
0
0
10
4
3
0
4
3
2
6
8
Mn. da coluna 0 0 0 2
Prof. Fogliatto PO - Graduao 48
Novo tableau aps subtrao dos mn. das
colunas
0
9
5
2
4
0
0
10
4
3
0
4
1
0
4
6
3 linhas.
m =4, logo proce-
demos c/ passo 3.
k =1
Prof. Fogliatto PO - Graduao 49
Subtraindo e somando k nas devidas clulas...
0
10
5
1
5
0
0
9
3
3
0
3
0
0
4
5
Note que o mnimo
das linhas e colunas 0!
4 linhas. Como m =4,
temos uma soluo tima.
Prof. Fogliatto PO - Graduao 50
Como identificar a soluo tima
0
10
5
1
5
0
0
9
3
3
0
3
0
0
4
5
O nico zero coberto na col. 3
x
33
. Logo, x
33
=1, e a col. 3
e linha 3 no podem mais ser
usadas.
O nico zero coberto na col. 2
x
12
. Logo, x
12
=1, e a col. 2
e linha 1 no podem mais ser
usadas.
Sendo assim, x
24
=1, e a
linha 2 no pode mais ser
usada. Logo, x
41
=1.
Prof. Fogliatto PO - Graduao 51
Prtica
Um treinador necessita formar um time de nadadoras para competir em
uma prova olmpica de 400 metros medley. As nadadoras apresentam
as seguintes mdias de tempo em cada estilo:
Tempo (s) /100 m
Nadadora Livre Peito Golfinho Costas
1 54 54 51 53
2 51 57 52 52
3 50 53 54 56
4 56 54 55 53
Qual nadadora deve nadar qual estilo?
Prof. Fogliatto PO - Graduao 52
O PROBLEMA DUAL
Todo o problema de programao linear possui um problema
dual correspondente.
Chamaremos o problema original de primal e o problema
dual de dual.
Variveis do problema primal z, x
1
, x
2
,,x
n
.
Variveis do problema dual w, y
1
, y
2
,,y
m
.
Primal Dual
Max Min
Min Max
Prof. Fogliatto PO - Graduao 53
Escrevendo o dual de um problema de progr. linear
Max z = c
1
x
1
+ c
2
x
2
+ +c
n
x
n
s.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
m
M M M M
Min w = b
1
y
1
+ b
2
y
2
+ +b
m
y
m
s.a: a
11
y
1
+ a
21
y
2
+ +a
m1
y
m
c
1
a
12
y
1
+ a
22
x
2
+ +a
m2
y
m
c
2
a
1n
y
1
+ a
2n
y
2
+ +a
mn
y
m
c
n
M M M M
Prof. Fogliatto PO - Graduao 54
EXEMPLO
Max z = 60x
1
+ 30x
2
+20x
3
s.a: 8x
1
+ 6x
2
+ 1x
3
48
4x
1
+ 2x
2
+1.5x
3
20
2x
1
+ 1.5x
2
+0.5x
3
8
x
1
, x
2
, x
3
0
P
r
i
m
a
l
D
u
a
l
Min w = 48y
1
+ 20y
2
+ 8y
3
s.a: 8y
1
+ 4y
2
+ 2y
3
60
6y
1
+ 2y
2
+1.5y
3
30
1y
1
+ 1.5y
2
+0.5y
3
20
y
1
, y
2
, y
3
0
Prof. Fogliatto PO - Graduao 55
A i
sima
restrio do dual corresponde i
sima
varivel
do primal
Usando a tabela abaixo, pode-se achar o dual de qualquer primal:
Min Max
0
0
Irrestr. =
0
0
= Irrestr.
Variveis
Variveis
Restries
Restries
Prof. Fogliatto PO - Graduao 56
OUTRO EXEMPLO
Max z = 2x
1
+ x
2
s.a: 2x
1
+ x
2
= 2
2x
1
- x
2
3
x
1
- x
2
1
x
1
0, x
2
irrestr.
P
r
i
m
a
l
Min w = 2y
1
+ 3y
2
+ 1y
3
s.a: 2y
1
+ 2y
2
+ y
3
2
y
1
- y
2
- y
3
=1
y
1
irrestr., y
2
0, y
3
0
D
u
a
l
Prof. Fogliatto PO - Graduao 57
INTERPRETAO ECONMICA DO
PROBLEMA DUAL
Max z = 60x
1
+ 30x
2
+20x
3
s.a: 8x
1
+ 6x
2
+ 1x
3
48
4x
1
+ 2x
2
+1.5x
3
20
2x
1
+ 1.5x
2
+0.5x
3
8
x
1
, x
2
, x
3
0
Considere o exemplo:
Correspondente modelagem matemtica do seguinte problema:
Produto Qtidd de
Insumo Escrivaninha Mesa Cadeira Insumo
Tbua 8 6 1 48
Acabamto 4 2 1.5 20
Carpintaria 2 1.5 0.5 8
Lucro Venda $60 $30 $20
Prof. Fogliatto PO - Graduao 58
O DUAL DESTE PROBLEMA :
Min w = 48y
1
+ 20y
2
+ 8y
3
s.a: 8y
1
+ 4y
2
+ 2y
3
60
6y
1
+ 2y
2
+1.5y
3
30
1y
1
+ 1.5y
2
+0.5y
3
20
y
1
, y
2
, y
3
0
Escrivaninha
Mesa
Cadeira
Restries associadas com escrivaninhas, mesas e cadeiras, respectiv.
y
1
associado com tbuas; y
2
com acabam
to
; y
3
com carpintaria.
Suponha uma situao onde exista escassez de insumos. Um outro
fabricante de mveis deseja comprar os insumos disponveis na fbrica de
escrivaninhas, mesas e cadeiras.
A pergunta-chave : qual o gio mximo a ser cobrado pelos insumos?
Prof. Fogliatto PO - Graduao 59
Definindo as variveis do problema dual
y
1
=gio mximo cobrado por uma tbua de madeira;
y
2
=gio mximo cobrado por 1 hora de acabamento;
y
3
=gio mximo cobrado por 1 hora de carpintaria
O gio total a ser cobrado por estes insumos corresponder
funo objetivo:
Min w = 48y
1
+ 20y
2
+ 8y
3
Note que a funo objetivo busca minimizar o custo de compra:
este o ponto de vista do comprador.
Prof. Fogliatto PO - Graduao 60
O comprador deseja o menor preo, mas o preo deve
ser atraente o suficiente para induzir o fabricante de
escrivaninhas a vender seus insumos
Assim:
8y
1
+ 4y
2
+ 2y
3
60
Ou seja, se comprarmos todos os insumos nas quantidades necessrias
para produzir uma escrivaninha, o gio a ser pago deve ser, no
mnimo, o que o fabricante lucraria com a venda daquele produto.
Restrio das
escrivaninhas
O mesmo ocorre com as outros produtos:
6y
1
+ 2y
2
+ 1.5y
3
30
1y
1
+ 1.5y
2
+0.5y
3
20
Restr. das mesas
Restr. das cadeiras
Prof. Fogliatto PO - Graduao 61
Para determinarmos o menor gio de compra dos
insumos que mantenha a venda desses insumos
interessantes para o fabricante, devemos resolver o
problema dual
As variveis y
1
, y
2
, y
3
so normalmente denominadas preos-
sombra dos insumos.
Por definio, o preo-sombra da i
sima
restrio corresponde
melhoria no valor z da funo objetivo ocasionada pelo
incremento de uma unidade no lado direito da restrio [ou
seja, de b
i
para (b
i
+1)].
Prof. Fogliatto PO - Graduao 62
Determine o dual do seguinte problema de programao linear:
Max z = x
1
+ 2x
2
s.t.: 3x
1
+ x
2
6
2x
1
+ x
2
= 5
x
1
, x
2
0
PRTICA:
Prof. Fogliatto PO - Graduao 63
Como ler a soluo tima do dual a partir da linha 0
(ou linha z) do tableau timo do primal
Caso 1 - Primal = Max
Para resolver o problema abaixo:
Max z = 3x
1
+ 2x
2
+ 5x
3
s.a: 1x
1
+ 3x
2
+ 2x
3
15
2x
2
- x
3
5
2x
1
+ x
2
- 5x
3
=10
x
1
, x
2
, x
3
0
Adicionar var. folga f
1
Adicionar var. excesso e
2
e art. a
2
Adicionar var. artificial a
3
A base inicial ser formada por B ={ f
1
, a
2
, a
3
}.
Usaremos o Mtodo do M-Grande para solucionar este problema.
O tableau timo vem dado a seguir...
Prof. Fogliatto PO - Graduao 64
Tableau timo
x
1
x
2
x
3
f
1
e
2
a
2
a
3
RHS
z 0 0 0
51
/
23
58
/
23
M-
58
/
23
M+
9
/
23
565
/
23
x
3
0 0 1
4
/
23
5
/
23
-5
/
23
-2
/
23
15
/
23
x
2
0 1 0
2
/
23
-9
/
23
9
/
23
-1
/
23
65
/
23
x
1
1 0 0
9
/
23
17
/
23
-17
/
23
7
/
23
120
/
23
Prof. Fogliatto PO - Graduao 65
Regras para identificao da soluo tima dual na
linha 0 (ou z) do tableau timo do primal (Max)
Valor timo da var. dual y
i
qdorestrio i do tipo
Valor timo da var. dual y
i
qdorestrio i do tipo
Valor timo da var. dual y
i
qdorestrio i do tipo =
Coeficiente de f
i
na linha
0 do tableau timo
-(Coeficiente de e
i
) na
linha 0 do tableau timo
(Coeficiente de a
i
na linha
0 do tableau timo) - M
Prof. Fogliatto PO - Graduao 66
z x
1
x
2
x
3
f
1
e
2
a
2
a
3
RHS
z 1 0 0 0
51
/
23
58
/
23
M-
58
/
23
M+
9
/
23
565
/
23
x
3
0 0 0 1
4
/
23
5
/
23
-5
/
23
-2
/
23
15
/
23
x
2
0 0 1 0
2
/
23
-9
/
23
9
/
23
-1
/
23
65
/
23
x
1
0 1 0 0
9
/
23
17
/
23
-17
/
23
7
/
23
120
/
23
No tableau timo do exemplo anterior:
y
1
-y
2 y
3
-M
Ou seja, o problema dual possui a seguinte soluo tima:
y
1
=
51
/
23
; y
2
=
-58
/
23
; y
3
=
9
/
23
Prof. Fogliatto PO - Graduao 67
Conferindo o resultado na funo
objetivo do problema dual
Min w = 15y
1
+ 5y
2
+10y
3
w =
565
/
23
y
1
=
51
/
23
; y
2
=
-58
/
23
; y
3
=
9
/
23
Prof. Fogliatto PO - Graduao 68
Regras para identificao da soluo tima dual na
linha 0 (ou z) do tableau timo do primal (Min)
Valor timo da var. dual y
i
qdorestrio i do tipo
Valor timo da var. dual y
i
qdorestrio i do tipo
Valor timo da var. dual y
i
qdorestrio i do tipo =
Coeficiente de f
i
na linha
0 do tableau timo
-(Coeficiente de e
i
) na
linha 0 do tableau timo
(Coeficiente de a
i
na linha
0 do tableau timo) +M
Prof. Fogliatto PO - Graduao 69
PRTICA:
Considere o seguinte problema:
Max z = -2x
1 - 1x
2 + x
3
s.t.: x
1 + x
2 + x
3 3
x
2
+ x
3
2
x
1 + x
3 =1
x
1, x
2, x
3 0
(a) Determine o dual deste problema;
(b) O problema, acrescido de variveis de folga, excesso e variveis artificiais resolvido
via Simplex. O problema no formato padro e a linha 0 do tableau timo vmdados
abaixo. Determine a soluo tima para o dual deste problema.
Max z = -2x
1 - 1x
2 + x
3
s.t.: x
1
+ x
2
+ x
3
+ f
1
= 3
x
2 + x
3 - e
2 + a
2 =2
x
1
+ x
3
+ a
3
=1
x
1, x
2, x
3, f
1, e
2, a
2, a
3 0
Linha 0 do tableau timo
z x
1
x
2
x
3
f
1
e
2
a
2
a
3 RHS
Z 1 4 0 0 0 1 M - 1 M +2 0
Prof. Fogliatto PO - Graduao 70
Modelos de Redes
Definies bsicas:
Grafos ou Redes
Defnido por
Ns (ou vrtices)
Arcos
Arco - par ordenado de vrtices; representa uma possvel direo
de movimento entre vrtices
(j, k) = arco representando o movimento do n j (n inicial) para o n
k (n final).
Prof. Fogliatto PO - Graduao 71
Exemplo de Rede
1
2 3
4
Ns = {1, 2, 3, 4}
Arcos = {(1,2), (2,3), (3,4)
(4,3), (4,1)}
Prof. Fogliatto PO - Graduao 72
Correntes, Trilhas e Circuitos
CORRENTE = sequnciade arcos tal que cada arco apresenta
exatamente um vrtice em comum com o arco anterior.
TRILHA = sequnciade arcos tal que o n terminal de cada arco
idntico ao n inicial do arco seguinte.
CIRCUITO = trilha finita em que o n terminal coincide com o n
inicial.
Prof. Fogliatto PO - Graduao 73
No exemplo...
1
2 3
4
Ex. de corrente = (1,2) - (2,3) - (4,3)
Ex. de trilha = (1,2) - (2,3) - (3,4)
Ex. de circuito = (1,2) - (2,3) - (3,4) - (4,1)
Prof. Fogliatto PO - Graduao 74
Problemas de determinao da trilha mais
curta entre dois ns
Exemplo 1
Desejamos remeter energia eltrica da planta 1 cidade 1.
A rede abaixo apresenta as distncias entre pares de pontos
conectados (incluindo subestaes).
Desejamos determinar a trilha mais curta entre a planta e a cidade.
1
2
3
4
5
3
4
3
2
2
3
6
2
Planta 1
Cidade 1
Prof. Fogliatto PO - Graduao 75
Problemas de determinao da trilha mais curta entre dois ns
Exemplo 2
Eu comprei um carro novo por $12000. Os custos de manuteno e o
valor na troca do carro em um determinado ano dependem da idade do
carro no comeo daquele ano.
Idade do Carro
(anos)
Custo anual de
manuteno
0 2000
1 4000
2 5000
3 9000
4 12000
Idade do Carro
(anos)
Valor na troca
1 7000
2 6000
3 2000
4 1000
5 0
Prof. Fogliatto PO - Graduao 76
Exemplo 2
O preo do carro novo em qualquer instante no tempo ser $12000.
Meu objetivo minimizar o custo lquido:
(custo de compra) +(custos manuteno) - (valor recebido na troca)
durante os prximos cinco anos.
Formule este problema como um problema de determinao da trilha
mais curta.
Prof. Fogliatto PO - Graduao 77
Soluo
O problema ter 6 ns (i =1, 2, , 6).
Arco (i, j) =comprar o carro novo no incio do ano i e mant-lo at o
incio do ano j.
Custo c
ij
=(custo de manuteno incorrido durante os anos i, i+1,,j-1)
+
(custo de compra do carro no incio do ano i)
-
(valor do carro na troca no inciodo ano j)
Prof. Fogliatto PO - Graduao 78
Soluo
c
12
= 2 +12 - 7 =7
c
13
= 2 +4 +12 - 6 =12
c
14
= 2 +4 +5 +12 - 2 =21
c
15
= 2 +4 +5 +9 +12 - 1 =31
c
16
= 2 +4 +5 +9 +12 +12 - 0 =44
e assim por diante...
Prof. Fogliatto PO - Graduao 79
Rede
1 2 3 4 5 6
7 7 7 7 7
12
21
31
44 31
21
12
21
12
12
Prof. Fogliatto PO - Graduao 80
Algoritmo de Dijkstra
Todas as distncias diretas entre dois ns da rede so conhecidas e
no-negativas.
Todos os ns da rede recebem um rtulo permanente ou
temporrio.
Um rtulo temporrio representa o limite superior da menor
distncia entre o n 1 e aquele n.
Um rtulo permanente corresponde menor distncia entre o n 1
e aquele n.
Prof. Fogliatto PO - Graduao 81
Passos do Algoritmo
Passo Inicial:
O n inicial recebe um rtulo permanente com valor zero.
Todos os demais ns tm rtulos temporrios com valor igual
distncia direta entre o n inicial e o n em questo.
Ns com rtulos temporrios e no conectados diretamente com
o n inicial recebem valor .
Selecione, dentre os ns c/ rtulo temporrio, aquele que
apresentar o menor valor; esse n passar a ter rtulo permanente.
Em caso de empate, escolha aleatoriamente um dos ns de menor
valor.
Prof. Fogliatto PO - Graduao 82
Passo 1
Seja k o n mais recente cujo rtulo foi transformado em
permanente. Considere os demais ns (com rtulos temporrios).
Compare o valor de cada n temporrio com a soma (valor do n
+distncia direta entre o n k e o n em questo). O mnimo entre
esses valores ser o novo valor do n em questo.
Prof. Fogliatto PO - Graduao 83
Passo 2
Selecione o n com menor valor dentre aqueles com rtulo temporrio;
transforme seu rtulo em permanente.
Se o n escolhido acima for o n final, pare. Caso contrrio, retorne
ao passo 1.
Prof. Fogliatto PO - Graduao 84
Exemplo
1
2
3
4
6
5
3
7
4
2
1
3
6
3
3
9
Todos os arcos so
Deseja-se encontrar a trilha
mais curta entre os ns 1 e 6.
Prof. Fogliatto PO - Graduao 85
Comece fazendo com que o n 1
tenha um rtulo permanente = 0
Todos os demais ns recebem rtulos provisrios iguais a distncia
direta entre o n em questo e o n 1.
Assim:
L (0) =[0*, 3, 7, 4, , ]
* indica rtulo permanente.
Prof. Fogliatto PO - Graduao 86
O menor dos rtulos temporrios
vira permanente (n 2).
A menor distncia entre ns 1 e 2 =3.
Os novos rtulos so:
L (0) =[0*, 3*, 7, 4, , ]
Prof. Fogliatto PO - Graduao 87
Para todos os demais ns (j =3,4,5,6), calcule o
nmero dado pela soma do valor no n 2 (=3) e a
distncia direta entre o n 2 e o n j em questo
Compare o nmero obtido com o rtulo temporrio do n j; o menor
dentre esses valores passa a ser o novo rtulo temporrio dej.
Para j =3 min (3+2, 7) =5
Para j =4 min (3+, 4) =4
Para j =5 min (3+, ) =
Para j =6 min (3+9, ) =12
Os novos rtulos so:
L (2) =[0*, 3*, 5, 4, , 12]
Prof. Fogliatto PO - Graduao 88
O menor dos rtulos temporrios
vira permanente (n 4).
Os novos rtulos so:
L (2) =[0*, 3*, 5, 4*, , 12]
A menor distncia entre ns 1 e 4 =4.
Prof. Fogliatto PO - Graduao 89
Para todos os demais ns (j =3,5,6), calcule o
nmero dado pela soma do valor no n 4 (=4) e a
distncia direta entre o n 4 e o n j em questo
Compare o nmero obtido com o rtulo temporrio do n j; o menor
dentre esses valores passa a ser o novo rtulo temporrio dej.
Para j =3 min (4+1, 5) =5
Para j =5 min (4+3, ) =7
Para j =6 min (4+, 12) =12
Os novos rtulos so:
L (3) =[0*, 3*, 5, 4*, 7, 12]
Prof. Fogliatto PO - Graduao 90
O menor dos rtulos temporrios
vira permanente (n 3).
Os novos rtulos so:
L (3) =[0*, 3*, 5*, 4*, 7, 12]
A menor distncia entre ns 1 e 3 =5.
Prof. Fogliatto PO - Graduao 91
Para todos os demais ns (j =5,6), calcule o nmero
dado pela soma do valor no n 3 (=5) e a distncia
direta entre o n 3 e o n j em questo
Compare o nmero obtido com o rtulo temporrio do n j; o menor
dentre esses valores passa a ser o novo rtulo temporrio dej.
Para j =5 min (5+3, 7) =7
Para j =6 min (5+6, 12) =11
Os novos rtulos so:
L (4) =[0*, 3*, 5*, 4*, 7, 11]
Prof. Fogliatto PO - Graduao 92
O menor dos rtulos temporrios
vira permanente (n 5).
Os novos rtulos so:
L (4) =[0*, 3*, 5*, 4*, 7*, 11]
A menor distncia entre ns 1 e 5 =7.
Prof. Fogliatto PO - Graduao 93
Para todos os demais ns (j =6), calcule o nmero
dado pela soma do valor no n 5 (=7) e a distncia
direta entre o n 5 e o n j em questo
Compare o nmero obtido com o rtulo temporrio do n j; o menor
dentre esses valores passa a ser o novo rtulo temporrio dej.
Para j =6 min (7+3, 11) =10
Os novos rtulos so:
L (4) =[0*, 3*, 5*, 4*, 7*, 10]
Prof. Fogliatto PO - Graduao 94
O menor dos rtulos temporrios
vira permanente (n 6).
Os novos rtulos so:
L (5) =[0*, 3*, 5*, 4*, 7*, 10*]
A menor distncia entre ns 1 e 6 =10.
O algoritmo termina e a menor trilha entre 1 e 6 pode ser determinada.
Prof. Fogliatto PO - Graduao 95
Determinando a trilha mais curta
Comece do n de destino (6). Calcule a diferena entre o rtulo
permanente do n 6 e os demais ns diretamente ligados a ele.
1
2
3
4
6
5
3
7
4
2
1
3
6
3
3
9
L (5) =[0*, 3*, 5*, 4*, 7*, 10*]
Ns 2,3 e 5 esto diretamente ligados a 6.
Assim:
(65): 10 - 7 =3
(63): 10 - 5 =4
(62): 10 - 3 =7
Prof. Fogliatto PO - Graduao 96
Se a diferena (6j) for igual ao comprimento
real do arco (j, 6), escolha j como ponto
intermedirio
1
2
3
4
6
5
3
7
4
2
1
3
6
3
3
9
Diferenas / Arcos:
(65) =3 / (5,6) =3
(63) =4 / (3,6) =6
(62) =7 / (2,6) =9
Assim, o primeiro n intermedirio
no caminho entre 6 e 1 o n 5.
Prof. Fogliatto PO - Graduao 97
Repita o procedimento para o n 5
Ns 3 e 4 esto diretamente ligados a 5.
1
2
3
4
6
5
3
7
4
2
1
3
6
3
3
9
L (5) =[0*, 3*, 5*, 4*, 7*, 10*]
Diferenas:
(54): 7- 4 =3
(53): 7- 5 =3
Prof. Fogliatto PO - Graduao 98
Se a diferena (5j) for igual ao comprimento
real do arco (j, 5), escolha j como ponto
intermedirio
1
2
3
4
6
5
3
7
4
2
1
3
6
3
3
9
Diferenas / Arcos:
(54) =3 / (4,5) =3
(53) =2 / (3,5) =3
Assim, o segundo n intermedirio
no caminho entre 6 e 1 o n 4.
Caminho parcial: 6 5 4
Prof. Fogliatto PO - Graduao 99
Repita o procedimento para o n 4
Ns 3 e 1 esto diretamente ligados a 4.
1
2
3
4
6
5
3
7
4
2
1
3
6
3
3
9
L (5) =[0*, 3*, 5*, 4*, 7*, 10*]
Diferenas:
(43): 4- 5 =-1
(41): 4- 0 =4
Prof. Fogliatto PO - Graduao 100
Se a diferena (4j) for igual ao
comprimento real do arco (j, 4), escolha j
como ponto intermedirio
1
2
3
4
6
5
3
7
4
2
1
3
6
3
3
9
Diferenas / Arcos:
(43) =-1 / (3,4) =1
(41) =4 / (1,4) =4
Como o n 1 o n de destino,
determinamos a trilha mais curta
entre os ns 1 e 6.
Trilha Mais Curta: 6 5 41
Prof. Fogliatto PO - Graduao 101
Prtica
Use o algoritmo de Dijkstrapara resolver os problemas nos
slides 79 e 84.
1
Programao Inteira
Pesquisa Operacional I Parte III
Flvio Fogliatto
2
Tipos de problemas de
programao inteira (PI)
Puros - todas as variveis de deciso so
inteiras
Mistos - algumas variveis de deciso
so inteiras
Booleanos - variveis de deciso s
apresentamvalores inteiros no intervalo
[0, 1]
3
Programao inteira
A todo o problema de PI existe um problema de
problema de PL correspondente no qual as
restries de no-fracionariedade so
removidas (ou relaxadas)
Alguns resultados se seguem:
Espao de solues viveis do PI Espao de
solues viveis do PI relaxado
Valor timo de z do PI no mximo to bomquanto o
valor timo do PI relaxado
4
Abordagem para soluo de
problemas de PI
Resolver seus problemas correspondentes
relaxados e arredondar as variveis de
deciso p/ o maior ou menor inteiro mais
prximo
Dois problemas podemresultar:
Valores arredondados podemresultar inviveis no PI
Solues resultantes so altamente sub-timas
5
Mtodo Branch-and-Bound para
soluo de problemas PIs puros
Considere o problema de PI:
Max z =8x
1
+5x
2
s.a
x
1
+ x
2
6
9x
1
+5x
2
45
x
1
, x
2
0
x
1
, x
2
inteiros
6
Branch-and-bound
operacionalizado em 5 passos
Passo 1: Comece resolvendo o PI relaxado.
Se a soluo tima for inteira, esta a soluo do PI
Caso contrrio, soluo tima do IPR (problema de programao inteira
relaxado) o limite superior da soluo tima do PI
Soluo tima do IPR dado anteriormente :
z
*
=165/4
x
1
=15/4
x
2
=9/4
7
Passo 2
Escolha uma varivel de deciso
fracionria emz
*
do PIR:
por exemplo, x
1
=15/4.
PI admite valores de x
1
3 ou x
1
4, mas
no em3 < x
1
< 4
8
Crie dois subproblemas a
partir de x
1
SP2: SP1 + restrio x
1
4
SP3: SP1 + Restrio x
1
3
SP = subproblema
Problema designado por SP1 o prprio
problema de PI emestudo, relaxado das
restries de no-fracionariedade
9
Passo 3
Escolha qualquer SP listado no passo
anterior e resolva como se fosse um
problema de PL:
Por ex., SP2, com soluo tima z
*
=41, x
1
=
4 e x
2
=9/5
Resultados obtidos at agora podemser
apresentados na forma de uma rvore
hierrquica
10
Arvore hierrquica de
soluo do problema
11
Passo 4
Repita o procedimento no Passo 3 usando o
SP2 e a varivel de deciso fracionria x
2
=9/5
Subproblemas resultantes:
SP4: SP1 +x
1
4 +x
2
2 ou SP2 +x
2
2
SP5: SP1 +x
1
4 +x
2
1 ou SP2 +x
2
1
Tem-se trs problemas que podemser
resolvidos: SP3, SP4 e SP5
12
Escolha um para resoluo
Por exemplo: SP4
SP4 no apresenta solues viveis, no
podendo, assim, gerar uma soluo tima para
o problema de PI:
Assim, diz-se que este nodo da rvore foi terminado
Dentre os SPs no resolvidos, escolhe-se o
mais recente, SP5:
Soluo vmapresentada na rvore do problema, a
seguir
13
Arvore hierrquica de
soluo do problema
14
Repita procedimento em (3)
usando SP5 e var. fracionria x
1
Subproblemas resultantes so:
SP6: SP5 +x
1
5
SP7: SP5 +x
1
4
Trs SPs podemser resolvidos: SP3, SP6 e SP7.
Escolhe-se, aleatoriamente, um dos mais recentes:
SP7, por exemplo
Soluo tima p/ SP7 vemdada na rvore a seguir
15
SP7 gera a primeira soluo
candidata para PI
Soluo s possui
valores inteiros p/ a
varivel de deciso:
Pode ser interpretada
como soluo
candidata ou um limite
inferior no valor timo
do problema de PI
16
Problemas SP3 e SP6 ainda
no foram resolvidos
Escolhe-se SP6 (+recente), com soluo dada
na rvore a seguir:
Soluo de SP6 inteira e melhor do que aquela
obtida para SP7
Assim, termina-se nodo da rvore emSP7 (identifica-
se o nodo terminado por um ou escrevendo soluo
excluda) e atualiza-se o limite inferior da rvore;
novo LI =40
17
Arvore hierrquica de
soluo do problema
18
ltimo SP a ser resolvido
SP3
Soluo de SP3 z
*
= 39, x
1
= x
2
= 3:
Trata-se de uma soluo candidata com z
*
<
LI
Assim, nodo SP3 terminado e SP6
identificado como a soluo soluo tima tima para o
problema de PI
19
Aspectos importantes do
Branch-and-bound p/ PIs puros
Sempre que no for necessrio desdobrar um
subproblema, ele deve ser terminado
Critrios utilizados para terminao so:
SP no possui solues viveis
SP gera uma soluo tima contendo somente
valores inteiros
SP apresenta um valor de z* menor (emproblemas
de PI do tipo Maximizao) que o limite inferior atual
20
Mais aspectos
Um SP eliminado (passa a ser
desconsiderado do problema) sempre
que:
SP no possui solues viveis
LI (limite inferior) atual pelo menos to
grande quanto o valor z
*
do SP emquesto
21
Mais aspectos
A regra ltimo a entrar, primeiro a sair, que indica qual
SP deve ser trabalhado dentre vrios candidatos fora o
analista a trabalhar um mesmo da ramo da rvore de
solues at o final:
Existemoutras regras possveis (ver Schrage, 1997, entre
outros)
Quando um SP apresenta soluo tima com duas ou
mais variveis de deciso fracionrias, trabalhe com
aquela que representar maior ganho na funo objetivo
22
Mtodo Branch-and-Bound
para soluo de PIs mistos
Modifique o algoritmo anterior da seguinte
maneira:
Desdobre somente variveis de deciso restritas a
no-fracionrias
Considere a soluo tima de um SP como sendo
uma soluo candidata soluo tima do problema
de PI quando esta atender s restries de no-
fracionariedade
23
Exerccio 1
PI puro
Min z = 4x
1
+ 5x
2
s.a:
x
1
+ 4x
2
5
3x
1
+ 2x
2
7
x
1
, x
2
0 e inteiros
24
Exerccio 2
PI misto
Max z = 2x
1
+ x
2
s.a:
5x
1
+ 2x
2
8
x
1
+ x
2
3
x
1
, x
2
0; x
1
inteiro
25
Branch-and-Bound em problemas de
sequenciamento de trabalhos em
mquinas
Suponha 4 trabalhos a seremprocessados
numa mesma mquina.
Tempo necessrio p/ processamento de cada
trabalho e datas de entrega:
26
Apresentao do problema
Atraso do trabalho medido pelo nmero de
dias aps a data de entrega emque o trabalho
completado:
Trabalhos finalizados na data de entrega ou antes
tmatraso zero
Determine a ordemde processamento dos
trabalhos que minimize o minimize o atraso atraso total total
27
Variveis de deciso
Considere o ltimo trabalho a ser processado:
Qualquer que seja a sequncia, ela ter x
14
=1, x
24
=1, x
34
=1
ou x
44
=1. Assim, cria-se uma rvore com quatro nodos e
calcula-se o limite inferior no atraso total associado a cada nodo
Clculo do atraso para o quarto trabalho : x
44
=1, ou seja, o
trabalho 4 seria completado com atraso total de 23 - 16 dias. Os
23 dias foramobtidos somando (6 +4 +5 +8)
28
Aplicar mesmo racioccio p/
demais trabalhos na posio 4
Resultados na rvore de soluo a seguir:
Limite inferior no atraso total D 7:
ou seja, posicionando-se o trabalho 4 na quarta posio, obtem-
se o menor atraso total
29
Escolhe-se nodo c/ menor atraso
D (nodo 4) p/ continuar o mtodo
Qualquer sequncia associada ao nodo 4 deve
ter x
13
=1, x
23
=1 ou x
33
=1
Clculo do limite inferior LI de atraso similar
quele visto anteriormente:
x
33
=1, ou seja, trabalho 3 seria completado com
atraso total de 15 - 12 dias. Os 15 dias foramobtidos
somando (6 +4 +5). O atraso total ser de pelo
menos 3 +7 dias (D 10)
30
Continuando a desdobrar
pelo mesmo ramo
Escolhe-se nodo 7 (menor valor de D) para
desdobrar
Qualquer sequncia associada a este nodo
deve ter x
12
=1 ou x
22
=1. Os atrasos totais
so:
Nodo 9: sequncia 1-2-3-4. Atraso total: 7(tr.4) +
3(tr.3) +(6+4-4)(tr.2) +0(tr.1) =16 dias
Nodo 8: sequncia 2-1-3-4. Atraso total: 7(tr.4) +
3(tr.3) +(4+6-8)(tr.1) +0(tr.2) =12 dias
31
Qualquer soluo com D > 12
pode desconsiderada
Com isto, termina-se os nodos 1, 2, 5, 6, e
9.
Arvore de resultados parciais dada na
sequncia
32
rvore parcial de resultados
33
Desdobra-se o nodo 3
Qualquer sequncia deve ter x
13
=1, x
23
=1 ou x
43
=1.
Clculo do limite inferior de atraso :
x
13
=trabalho 1 completo no final do dia (8+4+6) =18 - 8 =10 +
11 =21
x
23
=trabalho 2 completo no final do dia (8+4+6) =18 - 4 =14 +
11 =25
x
43
=trabalho 4 completo no final do dia (8+4+6) =18 - 16 =2 +
11 =13
Sequncia tima 2 - 1 - 3 - 4. Atraso total de 12 dias
34
Arvore final de resultados

Você também pode gostar