Академический Документы
Профессиональный Документы
Культура Документы
2004
Organizao
Abril-agosto 2004
ONS 2
Origens
Motivao
Formulao de problemas
Soluo grfica
Forma cannica
Geometria da PL
Mtodo Simplex
Dualidade
Anlise de sensibilidade
Laboratrio de programao linear
Abril-agosto 2004
ONS 3
Origens
Fourier (1827): mtodo para resolver sistemas de
inequaes lineares considerado como o primeiro estudo
de programao linear
Kantorovich (1939): formulao de problemas de
programao linear em alocao tima de recursos em
economias centralizadas
Koopmans (1957): formulao de problemas de
programao linear em economia
Kantorovich e Koopmans receberam o prmio Nobel de
Economia em 1975.
Abril-agosto 2004
ONS 4
Origens
von Neumann (1928): relao entre teoria dos jogos e
dualidade em programao linear
II Guerra Mundial: formulao e soluo de modelos de
programao linear em problemas de planejamento de
operaes militares, envolvendo aprovisionamento de
suprimentos, programao de manuteno e treinamento
de pilotos, distribuio de navios pelas foras no Pacfico,
localizao de radares na costa da Inglaterra e a estratgia
de caa aos U-boats no Mar Bltico
Pesquisa Operacional: Operations Research
Abril-agosto 2004
ONS 5
Origens
Dantzig (1947): descoberta do mtodo Simplex para a
soluo de problemas de programao linear, coincidindo
com o aparecimento dos primeiros computadores e
viabilizando sua aplicao a problemas reais
Hitchcock (1941): problema de transporte
Kachian (1979): mtodo do elipside (polinomial)
Karmarkar (1984): mtodo de pontos interiores
Abril-agosto 2004
ONS 6
Origens
Ford e Fulkerson, anos 50: fluxos em redes
Problema do caminho mais curto: dados um grafo (rede) e
distncias associadas a seus arcos, encontrar o caminho mais
curto entre dois ns especficos (Dijkstra, Floyd, Belmann)
Problema do fluxo mximo: dados um grafo (rede) e
capacidades associadas a seus arcos, encontrar o maior fluxo
que pode ser enviado de um n a outro
Problema de fluxo mnimo: dados um grafo (rede), capacidades
e custos associados a seus arcos e ofertas e demandas
associadas a seus ns, encontrar um fluxo de custo mnimo que
satisfaa ofertas, demandas e restries de capacidade
Abril-agosto 2004
ONS 7
Origens
Primeira tentativa de resolver o problema do caixeiro
viajante (Dantzig, 1954): 49 cidades (Simplex + cortes)
Gomory, anos 60: problemas de programao linear
inteira (as variveis s podem assumir valores inteiros)
Anos 60: primeiros resolvedores de programao linear
Atuais resolvedores podem tratar de forma exata
problemas com algumas centenas de milhares de variveis
e restries: XPRESS, CPLEX, LINDO, EXCEL, etc.
Maior TSP resolvido atualmente: 15.112 cidades
(110 processadores, 26 anos de processamento)
http://www.math.princeton.edu/tsp/d15sol/
Abril-agosto 2004
ONS 8
Bibliografia
G. Dantzig, Linear programming and extensions, 1963
V. Chvatal, Linear progamming, 1983
M. Bazaraa, J. Jarvis e H. Sherali, Linear programming
and network flows, 1990
D. Bertsimas e J. Tsitsiklis, Introduction to Linear
Optimization, 1997
Transparncias disponveis em:
http://www.inf.puc-rio.br/~celso/grupo_de_pesquisa.htm
Abril-agosto 2004
ONS 9
Motivao
Uma empresa produz dois tipos de fsforos. Esta empresa
tem um lucro de 3 (x100 u.m.) em cada caixa de fsforos
longos e de 2 (x100 u.m.) em cada caixa de fsforos
curtos. Fsforos dos dois tipos so feitos por uma nica
mquina, que pode produzir 9 (x100.000) caixas de
fsforos por ano. Para produzir e vender os fsforos, a
empresa precisa de madeira e de caixas. So necessrios 3
m3 de madeira para cada caixa de fsforos longos e 1 m3
de madeira para cada caixa de fsforos curtos.
Abril-agosto 2004
ONS 10
Motivao
A empresa possui 18 (x100.000) m3 de madeira para usar
durante o prximo ano. Dispe ainda de 7 (x100.000)
caixas para fsforos longos e 6 (x100.000) caixas para
fsforos curtos. A empresa deseja maximizar seus lucros
com a venda de fsforos no prximo ano, sabendo que
toda sua produo pode ser vendida.
Como formular e resolver este problema atravs de um
modelo matemtico?
Abril-agosto 2004
ONS 11
Motivao
Variveis de deciso:
x1: nmero de caixas (x100.000) de fsforos longos
x2: nmero de caixas (x100.000) de fsforos curtos
Abril-agosto 2004
ONS 12
Motivao
Objetivo da empresa:
Lucro em uma caixa de fsforos longos = 3 (x100)
Lucro em x1 caixas de fsforos longos = 3 x1 (x100)
Lucro em x2 caixas de fsforos curtos = 2 x2 (x100)
Lucro total a ser maximizado = 3 x1 + 2 x2
funo objetivo
A funo objetivo sozinha define a programao da
produo?
Abril-agosto 2004
ONS 13
Motivao
Restries:
Capacidade mxima anual de produo da mquina:
x1 + x2 9
(x100.000)
Quantidade de madeira disponvel:
(x100.000)
3x1 + x2 18
Nmero mximo de caixas disponveis:
x1 7
(x100.000)
x2 6
(x100.000)
No-negatividade: x1 0 e x2 0
Abril-agosto 2004
ONS 14
Motivao
Problema de programao linear:
maximizar 3 x1 + 2 x2
sujeito a :
x1 + x2 9
restrio (1)
3 x1 + x2 18
restrio (2)
x1 7
restrio (3)
x2 6
restrio (4)
x1 , x2 0
ONS 15
Motivao
Como representar no plano uma desigualdade?
x2
x 0
1
x1
Abril-agosto 2004
ONS 16
Motivao
Como representar no plano uma desigualdade?
x2
1
x2 1
x1
Abril-agosto 2004
ONS 17
Motivao
Como representar no plano uma igualdade?
x2
1
x1 + x2 = 1
Abril-agosto 2004
x1
ONS 18
Motivao
Como representar no plano uma desigualdade?
x2
1
x1 + x2 1
Abril-agosto 2004
x1
ONS 19
Motivao
Como representar no plano uma desigualdade?
x2
x1 + x2 1
1
1
Abril-agosto 2004
x1
ONS 20
Motivao
Como resolver aquele problema de programao linear?
Resolver: determinar os valores timos das variveis de
deciso
Soluo grfica: mtodo mais simples para problemas com
duas variveis apenas
Representar e tratar o problema no plano
Abril-agosto 2004
ONS 21
Motivao
Restries de no-negatividade:
Abril-agosto 2004
ONS 22
Motivao
No-negatividade e restries (1) a (4): regio vivel
maximizar 3 x1 + 2 x2
sujeito a :
x1 + x2 9
restrio (1)
3 x1 + x2 18
restrio (2)
x1 7
restrio (3)
x2 6
restrio (4)
x1 , x2 0
ONS 23
Motivao
Maximizao da funo objetivo:
maximizar 3 x1 + 2 x2
normal=(3,2)
Abril-agosto 2004
ONS 24
Motivao
Maximizao da funo objetivo:
3 x1 + 2 x 2 = 22 ,5
maximizar 3 x1 + 2 x2
3 x1 + 2 x 2 = 12
x1 = x 2 = 4 ,5
3 x1 + 2 x 2 = 0
(mximo)
x1 = x 2 = 0
(mnimo)
Abril-agosto 2004
ONS 25
Motivao
Visualizao do modelo em trs dimenses:
z = 3 x1 + 2 x2
Abril-agosto 2004
ONS 26
Motivao
Extenso do modelo com uma restrio adicional: devido a
restries contratuais, a empresa deve fornecer um
mnimo de 5 (x100.000) caixas de fsforos no prximo
ano.
x1 + x2 5
Abril-agosto 2004
(x100.000)
ONS 27
Motivao
Novo modelo de programao linear:
maximizar 3 x1 + 2 x2
sujeito a :
x1 + x2 9
restrio (1)
3 x1 + x2 18
restrio (2)
x1 7
restrio (3)
x2 6
restrio (4)
x1 + x2 5
restrio (5)
x1 , x2 0
Abril-agosto 2004
ONS 28
Motivao
Nova regio vivel:
maximizar 3 x1 + 2 x2
sujeito a :
x1 + x2 9
restrio (1)
3 x1 + x2 18
restrio (2)
x1 7
restrio (3)
x2 6
restrio (4)
x1 + x2 5
restrio (5)
x1 , x2 0
Abril-agosto 2004
ONS 29
Formulao de problemas
Princpios bsicos da programao linear:
Proporcionalidade: se o valor de uma varivel multiplicado por
uma constante, sua contribuio para a funo objetivo e para
cada restrio tambm multiplicada por esta mesma
constante.
Aditividade: o custo total a soma dos custos individuais, assim
como o valor total de uma restrio a soma dos valores
individuais de cada atividade.
Divisibilidade: o valor de cada varivel pode assumir qualquer
valor fracionrio.
Abril-agosto 2004
ONS 30
Formulao de problemas
(I) Problema das ligas metlicas: Uma metalrgica deseja
maximizar sua receita bruta. A tabela a seguir ilustra a
proporo de cada material na mistura para a obteno das
ligas passveis de fabricao, assim como a disponibilidade
de cada matria prima (em toneladas) e os preos de
venda por tonelada de cada liga. Qual deve ser a
quantidade produzida de cada liga?
Abril-agosto 2004
ONS 31
Formulao de problemas
Liga 1
Liga 2
Disponibilidade
Cobre
0,5
0,2
16 ton.
Zinco
0,25
0,3
11 ton.
Chumbo
0,25
0,5
15 ton.
Preo
3.000
5.000
Abril-agosto 2004
ONS 32
Formulao de problemas
Variveis de deciso:
x1: quantidade produzida da liga 1 (em toneladas)
x2: quantidade produzida da liga 2 (em toneladas)
Abril-agosto 2004
ONS 33
Formulao de problemas
Funo objetivo:
maximizar 3.000 x1 + 5.000 x2
Disponibilidade das matrias primas:
0,5 x1 + 0,2 x2 16
cobre
0,25 x1 + 0,3 x2 11
zinco
0,25 x1 + 0,5 x2 15
chumbo
Todas as quantidades produzidas so no-negativas:
x1, x2 0
Abril-agosto 2004
ONS 34
Formulao de problemas
(II) Problema da dieta: Este problema tem diversas
verses, aborda-se aqui a mais simples. Suponha que uma
dieta alimentar est restrita a leite desnatado, carne magra,
peixe e salada verde. Os requisitos nutricionais so
expressos em quantidades mnimas (em miligramas) das
vitaminas A, C e D. A tabela a seguir resume a quantidade
disponvel de cada vitamina em cada alimento, a
necessidade diria de cada vitamina e o custo de cada
alimento. Determine uma dieta de custo mnimo que
satisfaa as necessidades alimentares.
Abril-agosto 2004
ONS 35
Formulao de problemas
Vitamina
Leite
(litro)
Carne
(kg)
2 mg
2 mg 10 mg 20 mg
11 mg
50 mg 20 mg 10 mg 30 mg
70 mg
80 mg 70 mg 10 mg 80 mg
250 mg
Custo
Abril-agosto 2004
1,5
(slide 178)
ONS 36
Formulao de problemas
Variveis de deciso:
xi: quantidade ingerida do alimento i {l, c, p, s}
Funo objetivo:
minimizar 2 xl + 4 xc + 1,5 xp + xs
Restries:
2 xl + 2 xc + 10 xp + 20 xs 11
50 xl + 20 xc + 10 xp + 30 xs 70
80 xl + 70 xc + 10 xp + 80 xs 250
xl, xc, xp, xs 0
Abril-agosto 2004
ONS 37
Formulao de problemas
(III) Problema de capitalizao de investimentos: Um
projeto de construo estadual exige recursos financeiros
ao longo dos prximos quatro anos de 2 milhes, 4
milhes, 8 milhes e 5 milhes, respectivamente. Assumese que todos os recursos so necessrios e recebidos no
incio do ano. A administrao estadual decide vender
bnus para cobrir as demandas anuais de recursos. Todos
estes bnus sero resgatados numa certa data futura
distante, independentemente da data de sua emisso. As
taxas anuais de juros projetadas para os prximos quatro
anos so 7%, 6%, 6,5% e 7,5%, respectivamente.
Abril-agosto 2004
ONS 38
Formulao de problemas
O pagamento dos juros comea um ano aps o fim do
projeto e continua ao longo de 20 anos, quando os bnus
so resgatados. Durante este perodo, as taxas de juros a
curto prazo (o que a administrao pode receber sobre
depsitos) so estimadas em 6%, 5,5% e 4,5% (a
administrao no pretende investir em depsitos de curto
prazo ao longo do quarto ano). Qual deve ser a estratgia
tima da administrao para vender bnus e fazer
depsitos de curto prazo para poder completar seu projeto
de construo?
Abril-agosto 2004
ONS 39
Formulao de problemas
Variveis de deciso:
xi: valor dos bnus vendidos no incio do ano i=1,...,4
Quando bnus so vendidos, uma parte dos recursos
apurados so aplicados em depsitos de curto prazo para
serem usados nos anos seguintes, enquanto o restante
usado no projeto de construo.
yi: valor aplicado em depsito de curto prazo no incio do
ano i=1,...,3
Abril-agosto 2004
ONS 40
Formulao de problemas
Restries:
A diferena entre o valor apurado com a venda de bnus
no ano 1 e o valor aplicado em depsito de curto pazo
neste ano deve ser suficiente para cobrir os recursos
necessrios para o projeto neste ano:
x1 y1 2
Esta restrio equivalente igualdade
x1 y1 = 2,
j que sobras de recursos sero sempre aplicadas em
depsitos de curto prazo.
Abril-agosto 2004
ONS 41
Formulao de problemas
Considera-se agora o incio do segundo ano. Alm dos
bnus vendidos e dos depsitos de curto prazo efetuados,
deve-se considerar o resgate e os juros do depsito de
curto prazo efetuado no ano 1:
1,06y1 + x2 y2 = 4
Nos anos seguintes:
1,055y2 + x3 y3 = 8
1,045y3 + x4 = 5
Restries de no-negatividade: x1, x2, x3, x4, y1, y2 0
Abril-agosto 2004
ONS 42
Formulao de problemas
Objetivo da administrao: desconsiderando-se a taxa de
inflao a cada ano, minimizar o valor total pago de juros
ao longo dos 20 anos subseqentes a cada venda de
bnus
Juros dos bnus vendidos no ano 1: 20 x 0,07 x1
Juros dos bnus vendidos no ano 2: 20 x 0,06 x2
Juros dos bnus vendidos no ano 3: 20 x 0,065 x3
Juros dos bnus vendidos no ano 4: 20 x 0,075 x4
Abril-agosto 2004
ONS 43
Formulao de problemas
Modelo de programao linear completo:
minimizar 20(0,07) x1 + 20(0,06) x2 + 20(0,065) x3 + 20(0,075) x4
sujeito a :
x1 y1 = 2
1,06 y1 + x2 y2 = 4
1,055 y2 + x3 y3 = 8
1,045 y3 + x4 = 5
x1 , x2 , x3 , x4 , y1 , y2 , y3 0
Abril-agosto 2004
ONS 44
Formulao de problemas
(IV) Problema de planejamento da produo: Uma empresa
fabrica n produtos usando m matrias primas. Seja bi a
quantidade disponvel da matria prima i=1,...,m. Cada
unidade do produto j=1,...,n requer aij unidades da matria
prima i=1,...,m para sua produo e resulta em um lucro cj
por unidade produzida. Qual deve ser a quantidade
produzida de cada produto de forma a maximizar o lucro
da empresa?
Variveis de deciso:
xj: quantidade produzida do produto j=1,,n
Abril-agosto 2004
ONS 45
Formulao de problemas
Modelo:
maximizar c1 x1 + c2 x2 + ... + cn xn
sujeito a :
a11x1 + a12 x2 + ... + a1n xn b1
a21x1 + a22 x2 + ... + a2 n xn b2
...
am x1 + am 2 x2 + ... + amn xn bm
x1 , x2 ,..., xn 0
Abril-agosto 2004
ONS 46
Formulao de problemas
(V) Problema de transporte: Uma empresa produz um
determinado produto em m fbricas distintas e afastadas,
para atender a demanda de n cidades diferentes. A
capacidade de produo da fbrica i no mximo igual a
ai, i=1,...,m. A demanda da cidade j igual a bj, j=1,..,n.
Sabendo-se que o custo de envio de uma unidade do
produto da fbrica i para a cidade j igual a cij, determinar
a quantidade que deve ser enviada de cada fbrica para
cada cidade, de modo a minimizar os custos de transporte
desta empresa.
Abril-agosto 2004
ONS 47
Formulao de problemas
a1
a2
am
c11
cmn
b1
b2
bn
Variveis de deciso:
xij: quantidade enviada da fbrica i para a cidade j
Abril-agosto 2004
ONS 48
Formulao de problemas
Modelo:
minimizar c11 x11 + ... + c1n x1n + ... + cm1 xm1 + ... + cmn xmn
sujeito a :
x11 + x12 + ... + x1n a1
...
xm1 + xm 2 + ... + xmn am
...
x11 + x21 + ... + xm1 = b1
...
x1n + x2 n + ... + xmn = bn
xij 0
Abril-agosto 2004
i = 1,..., m; j = 1,..., n
Modelos e mtodos de otimizao
ONS 49
Formulao de problemas
(VI) Problema de planejamento de capacidade: Um estado
deseja fazer seu planejamento de capacidade instalada. A
previso de demanda de capacidade igual a dt MW para
cada ano t=1,...,T. A capacidade existente em usinas a leo
e que estar disponvel em cada ano t=1,...,T igual a et.
H duas alternativas possveis para a expanso de
capacidade: usinas nucleares e usinas a carvo. H um
custo de capital igual a ct por MW de usinas a carvo que
tornam-se disponveis no ano t. O custo de capital
correspondente para usinas nucleares nt. A capacidade
Abril-agosto 2004
ONS 50
Formulao de problemas
em usinas nucleares no pode ser superior a 20% da
capacidade total instalada. Usinas a carvo tm vida til de
20 anos, enquanto usinas nucleares tm vida tl de 15
anos. Deseja-se planejar a expanso de custo mnimo.
Variveis de deciso:
xt: capacidade instalada em usinas a carvo disponibilizada
no incio do ano t
yt: capacidade instalada em usinas nucleares
disponibilizada no incio do ano t
Abril-agosto 2004
ONS 51
Formulao de problemas
Funo objetivo: custo da expanso de capacidade:
T
minimizar (ct xt + nt yt )
t =1
s
s = max{1,t 19}
Abril-agosto 2004
ONS 52
Formulao de problemas
Atendimento demanda no ano t=1,...,T:
wt + zt + et d t
Frao da capacidade instalada em nucleares no ano
t=1,...,T:
zt
0,2
wt + zt + et
ONS 53
Formulao de problemas
Modelo:
minimizar (ct xt + nt yt )
t =1
wt
zt
Abril-agosto 2004
s
s = max{1,t 19}
t
s
s = max{1,t 14}
=0
t = 1,..., T
=0
t = 1,..., T
wt + zt d t et
t = 1,..., T
t = 1,..., T
xt , yt 0
t = 1,..., T
ONS 54
Formulao de problemas
(VII) Problema de plantio: Uma cooperativa agrcola opera
trs fazendas. A produo total de cada fazenda depende
da rea disponvel para o plantio e da gua para irrigao.
A cooperativa procura diversificar sua produo e vai
plantar este ano trs culturas em cada fazenda: milho,
arroz e feijo. Cada cultura demanda uma certa quantidade
de gua. So estabelecidos limites de rea plantada para
cada cultura. Para evitar concorrncia entre os
cooperados, acordou-se que a proporo de rea cultivada
seja a mesma para cada fazenda. Determinar a rea
plantada de cada cultura em cada fazenda de modo a
otimizar o lucro da cooperativa.
Abril-agosto 2004
ONS 55
Formulao de problemas
Fazenda rea (acres) gua (litros)
1
400
1.800
650
2.200
350
950
Milho
660
5,5
5.000
Arroz
880
4.000
Feijo
400
3,5
1.800
Abril-agosto 2004
ONS 56
Formulao de problemas
Variveis de deciso:
xij: rea da fazenda i=1,2,3 destinada ao plantio da cultura j
{m, a, f}
Funo objetivo:
maximizar 5.000 (x1m + x2m + x3m) + 4.000 (x1a + x2a + x3a)
+ 1.800 (x1f + x2f + x3f)
Restries de no-negatividade:
xim, xia, xif 0, i=1,2,3
Abril-agosto 2004
ONS 57
Formulao de problemas
Restries associadas rea de cultivo:
x1m + x1a + x1f 400
x2m + x2a + x2f 650
x3m + x3a + x3f 350
Restries associadas ao consumo de gua:
5,5 x1m + 4 x1a + 3,5 x1f 1.800
5,5 x2m + 4 x2a + 3,5 x2f 2.200
5,5 x3m + 4 x3a + 3,5 x3f 950
Abril-agosto 2004
ONS 58
Formulao de problemas
Restries associadas ao plantio por cultura:
x1m + x2m + x3m 660
x1a + x2a + x3a 880
x1f + x2f + x3f 400
Restries associadas proporo de rea cultivada:
(x1m + x1a + xif)/400 = (x2m + x2a + x2f)/650
(x2m + x2a + x2f)/650 = (x3m + x3a + x3f)/350
Abril-agosto 2004
ONS 59
Formulao de problemas
(VIII) Problema da mistura de petrleos: Uma refinaria
processa vrios tipos de petrleo. Cada tipo de petrleo
possui uma planilha de custos diferentes, expressando
condies de transporte e preos na origem. Cada tipo de
petrleo representa uma configurao diferente de
subprodutos para a gasolina. Na medida em que cada tipo
de petrleo utilizado na mistura para produo de
gasolina, possvel programar a octanagem e outros
requisitos de cada tipo de gasolina produzida. Estes
requisitos definem o tipo de gasolina obtida.
Abril-agosto 2004
ONS 60
Formulao de problemas
Supondo-se que a refinaria utiliza quatro tipos de petrleo
e deseja produzir trs tipos de gasolina (amarela, azul e
super), programar a mistura dos tipos de petrleo de
modo a maximizar o lucro obtido (diferena entre as
vendas e o custo de petrleo).
Variveis de deciso:
xij: quantidade de barris de petrleo do tipo j=1,2,3,4
destinados produo de gasolina do tipo i=1,2,3
Abril-agosto 2004
ONS 61
Formulao de problemas
Abril-agosto 2004
ONS 62
Formulao de problemas
Gasolina
Super (1)
Especificaes
Preo (por barril)
No mais que 30% do petrleo (1)
35
No menos que 40% do petrleo (2)
No mais que 50% do petrleo (3)
Azul (2)
No mais que 30% do petrleo (1)
28
No menos que 10% do petrleo (2)
Amarela (3) No mais que 70% do petrleo (1)
22
Abril-agosto 2004
ONS 63
Formulao de problemas
Funo objetivo:
maximizar 35 (x11 + x12 + x13 + x14) + 28 (x21 + x22 + x23 +
x24) + 22 (x31 + x32 + x33 + x34) 19 (x11 + x21+x31) 24
(x12 + x22 + x32) 20 (x13 + x23 + x33) 27 (x14 + x24 + x34)
Restries associadas quantidade de petrleo disponvel:
x11 + x21 + x31 3.500
x12 + x22 + x32 2.200
x13 + x23 + x33 4.200
x14 + x24 + x34 1.800
Abril-agosto 2004
ONS 64
Formulao de problemas
Restries associadas s especificaes da mistura:
x11 0.3 (x11 + x12 + x13 + x14) gasolina super
x12 0.4 (x11 + x12 + x13 + x14)
x13 0.5 (x11 + x12 + x13 + x14)
x21 0.3 (x21 + x22 + x23 + x24) gasolina azul
x22 0.1 (x21 + x22 + x23 + x24)
x31 0.7 (x31 + x32 + x33 + x34) gasolina amarela
Restries de no-negatividade:
xij 0, i=1,2,3; j=1,2,3,4
Abril-agosto 2004
ONS 65
Formulao de problemas
O que muda na formulao do problema anterior se a
obteno de gasolina no tratar-se simplesmente de uma
mistura, mas que ainda exista um fator tecnolgico aij que
indique o nmero de barris de gasolina do tipo i=1,2,3
obtidos a partir de cada barril de petrleo do tipo j=1,2,3,4
utilizado na mistura?
Funo objetivo:
maximizar 35 (a11x11 + a12x12 + a13x13 + a14x14) +
28 (a21x21 + a22x22 + a23x23 + a24x24) + 22 (a31x31 + a32x32 +
a33x33 + a34x34) 19 (x11 + x21+x31) 24 (x12 + x22 + x32)
20 (x13 + x23 + x33) 27 (x14 + x24 + x34)
Abril-agosto 2004
ONS 66
Formulao de problemas
(IX) Problema de corte linear: Uma fbrica necessita cortar
uma fita de ao de 12 cm de largura em tiras de 2,4 cm,
3,4 cm e 4,5 cm de largura. As necessidades globais de
tiras de cada comprimento so as seguintes:
Abril-agosto 2004
Tipo
Largura (cm)
Demanda (m)
2,4
2500
3,4
4500
4,5
8000
ONS 67
Formulao de problemas
Formule um modelo que permita otimizar o consumo da
fita a ser cortada, minimizando a perda de material.
Padro Tiras 1
1
5
2
3
3
3
4
2
5
1
6
0
7
0
Abril-agosto 2004
Tiras 2
0
1
0
2
0
3
2
ONS 68
Formulao de problemas
Exemplo: Padro 5
Perda = 0,6cm
ONS 69
Formulao de problemas
Variveis de deciso:
xi: comprimento cortado segundo o padro i=1,...,7
Restries de demanda por tipo de fita:
5 x1 + 3 x2 + 3 x3 + 2 x4 + x5 2500 tipo 1
x2 + 2 x4 + 3 x6 + 2 x7 4500
tipo 2
x3 + 2 x5 + x7 8000
tipo 3
Abril-agosto 2004
ONS 70
Formulao de problemas
Funo objetivo:
perdas por sobras + perdas por fitas desnecessrias
minimizar 1,4 x2 + 0,3 x3 + 0,4 x4 + 0,6 x5 + 1,8 x6 + 0,7 x7 +
+ 2,4 (5 x1 + 3 x2 + 3 x3 + 2 x4 + x5 - 2500) +
+ 3,4 (x2 + 2 x4 + 3 x6 + 2 x7 - 4500) +
+ 4,5 (x3 + 2 x5 + x7 - 8000)
ou
comprimento total cortado
minimizar x1 + x2 + x3 + x4 + x5 + x6 + x7
Abril-agosto 2004
ONS 71
Formulao de problemas
(X) Problema de escalonamento de horrios: Um hospital
deseja planejar os horrios das enfermeiras de seu turno
da noite. A demanda por enfermeiras no turno da noite no
dia j=1,...,7 da semana um nmero inteiro dj. Cada
enfermeira trabalha cinco dias consecutivos e descansa
nos dois dias seguintes. O objetivo consiste em minimizar
o nmero de enfermeiras contratadas.
Variveis de deciso:
xj: nmero de enfermeiras que comeam seu horrio no
dia j=1,...,7
Abril-agosto 2004
ONS 72
Formulao de problemas
Modelo:
minimizar x1 + x2 + x3 + x4 + x5 + x6 + x7
sujeito a :
x1 + x4 + x5 + x6 + x7 d1
x1 + x2 + x5 + x6 + x7 d 2
x1 + x2 + x3 + x6 + x7 d 3
x1 + x2 + x3 + x4 + x7 d 4
x1 + x2 + x3 + x4 + x5 d 5
x2 + x3 + x4 + x5 + x6 d 6
x3 + x4 + x5 + x6 + x7 d 7
Problema de programao
linear inteira: seu valor timo
superior ao do problema
linear associado, pois contm
restries adicionais (todas
as variveis devem assumir
valores inteiros).
O nmero de enfermeiras
nunca pode ser fracionrio!
x1 , x2 , x3 , x4 , x5 , x6 , x7 0
x1 , x2 , x3 , x4 , x5 , x6 , x7 inteiros
Abril-agosto 2004
ONS 73
Formulao de problemas
(XI) Problema da mochila: Um viajante dispe de n itens
que deve selecionar para colocar em uma mochila que est
sendo preparada para uma viagem. O peso do item j igual
aj e o lucro obtido caso ele seja selecionado e colocado
na mochila igual a cj, para j=1,,n. Quais itens devem ser
selecionados, sabendo-se que o peso mximo que o
viajante pode carregar na mochila igual a b?
Variveis de deciso:
xj: quantidade selecionada do item j
Abril-agosto 2004
ONS 74
Formulao de problemas
Caso (1): os itens podem ser fracionados e no
h
limite
n
na quantidade selecionada
maximizar c j x j
j =1
sujeito a : a j x j b
j =1
x j 0,
j = 1,..., n
ONS 75
Formulao de problemas
Caso (2): os itens podem ser fracionados e no mximo
uma unidade de cada item pode ser selecionada
n
maximizar c j x j
j =1
sujeito a : a j x j b
ONS 76
Formulao de problemas
Exemplo:
maximizar 6 x1 + 8 x2 + 4 x3 + x4
sujeito a : x1 + 2 x2 + 2 x3 + x4 4
1 x j 0,
j = 1,2,3,4
Abril-agosto 2004
ONS 77
Formulao de problemas
Caso (3): os itens no podem ser fracionados e no mximo
uma unidade de cada item pode ser selecionada
n
maximizar c j x j
j =1
sujeito a : a j x j b
j =1
x j {0,1},
j = 1,..., n
ONS 78
Formulao de problemas
Exemplo:
maximizar 12 x1 + 7 x2 + 6 x3
sujeito a : 3 x1 + 2 x2 + 2 x3 4
x j {0,1},
j = 1,2,3
Maior razo: c1/a1= 12/3 = 4 x1=1
x2 = x3 = 0
Esta soluo tima?
No, o problema de programao inteira mais difcil!!!
(lucro = 12)
Soluo tima: x1 = 0, x2 = 1, x3 = 1 (lucro = 13)
Abril-agosto 2004
ONS 79
Soluo grfica
minimizar 2 x1 + 5 x2
x1 + x2 6
x1 2 x2 18
x1 0
x2 0
Abril-agosto 2004
ONS 80
Soluo grfica
ONS 81
Soluo grfica
minimizar x1 3 x2
x1 + x2 6
x1 + 2 x2 8
x1 , x2 0
A normal c=(c1,c2) da funo
objetivo sempre aponta para
a direo de crescimento da
funo.
Abril-agosto 2004
ONS 82
Soluo grfica
minimizar x1 x2
x1 + 2 x2 3
2 x1 + x2 3
x1 , x2 0
A normal c=(c1,c2) da funo
objetivo sempre aponta para
a direo de crescimento da
funo.
Abril-agosto 2004
ONS 83
Soluo grfica
minimizar x1 x2 x3
x1 1
x2 1
x3 1
x1 , x2 , x3 0
A normal c=(c1,c2 ,c3) da funo
objetivo sempre aponta para
a direo de crescimento da
funo.
Abril-agosto 2004
ONS 84
Soluo grfica
Em todos os exemplos anteriores, a regio vivel era
limitada e a soluo tima era nica: correspondia a um
ponto extremo da regio vivel e seu valor era finito.
Ser que isto ocorre sempre?
No!!!
Outras situaes possveis:
Problemas com mltiplas solues timas
Problemas com soluo ilimitada
Problemas inviveis
Abril-agosto 2004
ONS 85
Soluo grfica
minimizar c1x1 + c2 x2
x1 + x2 1
x1 , x2 0
c=(1,1): soluo tima nica (0,0)
c=(1,0): conjunto limitado com mltiplas
solues timas
c=(0,1): conjunto ilimitado com mltiplas
solues timas
c=(-1,-1): soluo tima ilimitada
restrio adicional x1+ x2 -2: problema
invivel
Abril-agosto 2004
z
A normal c=(c1,c2) aponta para
a direo de crescimento
ONS 86
Soluo grfica
Soluo tima finita nica:
ONS 87
Soluo grfica
Solues timas finitas alternativas:
ONS 88
Soluo grfica
Valor timo ilimitado:
Abril-agosto 2004
ONS 89
Soluo grfica
Em trs dimenses:
Visitar os vrtices do politopo
que representa a regio
vivel at chegar a um
vrtice timo
Generalizao:
mtodo Simplex
Abril-agosto 2004
ONS 90
ONS 91
Variveis:
x1
x2
x=
...
x
n n1
a11
a
A = 21
...
am1
a12
a22
...
am 2
b1
b2
b=
...
b
m m1
Abril-agosto 2004
... a1n
... a2 n
... ...
... amn mn
Modelo:
minimizar c.x
sujeito a : A.x = b
x0
Modelos e mtodos de otimizao
ONS 92
xj = x x
+
j
x 0
x 0
Abril-agosto 2004
ONS 93
j =1
aij x j + si = bi
si 0
Eliminao
de
desigualdades:
dada
uma
desigualdade
do
n
tipo j =1 aij x j bi , transform-la em: n
j =1 aij x j si = bi
si 0
Em ambos os casos, si chamada de varivel de folga.
Abril-agosto 2004
ONS 94
j =1 aij x j = bi equivalente a
n
ou ainda a
Abril-agosto 2004
a
x
b
ij
j
i
j =1
a
x
b
ij
j
i
j =1
n
j =1
aij x j bi
a
)
x
b
ij
j
i
j =1
ONS 95
f(x*)
Ento:
min f(x) = max {f(x)}
x*
-f(x*)
-f(x)
Abril-agosto 2004
ONS 96
Abril-agosto 2004
xj zj
j = 1,..., n
xj zj
j = 1,..., n
ONS 97
xj = xj xj
+
j
x 0
x 0
Abril-agosto 2004
ONS 98
minimizar j =1 c j ( x +j + x j )
n
x ,x 0
j = 1,..., n
ONS 99
igualdades ou desigualdades
variveis restritas ou irrestritas em sinal
minimizao ou maximizao
valores absolutos
funes lineares por partes
Abril-agosto 2004
ONS 100
Geometria da PL
Um poliedro um conjunto que pode ser descrito da
forma {x Rn: A.xb}, onde A uma matrix mxn e b um
vetor mx1.
O conjunto das solues viveis de um PPL pode ser
descrito por restries da forma A.xb e portanto um
poliedro (mesmo na forma cannica A.x=b e x0).
Seja a um vetor nx1 no-nulo. Ento,
O conjunto {x Rn: a.x=b} um hiperplano.
O conjunto {x Rn: a.x b} um semi-espao.
Abril-agosto 2004
ONS 101
Geometria da PL
Exemplo: hiperplano em R2
x2
1
x1 + x2 = 1
normal (1,1)
x1 + x2 < 1
Abril-agosto 2004
x1 + x2 > 1
1
x1
ONS 102
Geometria da PL
Exemplo: semi-espao em R2
x2
1
x1 + x2 1
equivalente a
-x1 -x2 -1
1
Abril-agosto 2004
x1
ONS 103
Geometria da PL
Um conjunto S convexo se para qualquer par de
elementos x,y S e qualquer [0,1], ento
.x+(1- ).y S.
No-convexo
Convexo
Abril-agosto 2004
x
y
y
Modelos e mtodos de otimizao
ONS 104
Geometria da PL
A regio vivel de um problema de programao linear
um conjunto convexo.
a2.x=b2
b
=
a.x
b
>
a.x
.1x
1
b
=
a4 .x
=b
a3 .
x=b
b
<
a.x
Abril-agosto 2004
ONS 105
Geometria da PL
Dados os vetores x1, x2, ..., xk Rn e nmeros escalares
no-negativos satisfazendo 1 + 2 + ... + k = 1, diz-se
que o vetor 1.x1 + 2.x2 + ... + k.xk uma combinao
linear convexa de x1, x2, ..., xk.
A envoltria convexa dos vetores x1, x2, ..., xk o conjunto
formado por todas suas combinaes convexas:
x2
x1
Abril-agosto 2004
x3
ONS 106
Geometria da PL
Um vetor x P um ponto extremo do poliedro P se no
existem dois vetores y,z P diferentes de x tais que x seja
uma combinao linear de y e z.
x2
3
x
P
x1
w no ponto
extremo
x4
Abril-agosto 2004
ONS 107
Geometria da PL
O conjunto das solues viveis de um PPL corresponde
envoltria convexa de seus pontos extremos:
x2
x1
1
b
=
3
x
a4 .x
=b
a3 .
x=b
.1x
a2.x=b2
x4
Abril-agosto 2004
ONS 108
Geometria da PL
Um vetor x P um vrtice do poliedro P se existe um
vetor c de dimenso 1xn tal que c.x < c.y para qualquer
y P diferente de x.
x2
3
x
w no vrtice, pois
P
1 vrtice, pois existe um
x
1
qualquer hiperplano
x
1
x4
Abril-agosto 2004
hiperplano
por x
passandopassando
por w intercepta
que
no intercepta
o poliedro
o poliedro
em outros
empontos.
outros pontos.
ONS 109
Geometria da PL
vrtice
Abril-agosto 2004
ONS 110
Geometria da PL
Seja um poliedro P Rn associado a um problema de
programao linear definido em termos de restries
lineares de igualdade e de desigualdade:
ai .x bi ,
i M1
ai .x bi ,
iM2
ai .x = bi ,
i M3
ONS 111
Geometria da PL
Se um vetor (isto , uma soluo do PPL) x* satisfaz
ai.x* = bi para algum i em M1, M2 ou M3, diz-se ento que a
restrio correspondente est ativa em x*.
Seja x* Rn e I = {i M1 M2 M3: ai.x* = bi} o
conjunto de restries ativas em x*. Ento:
H n vetores independentes no conjunto {ai: i I} (isto , h n
restries linearmente independentes ativas em x*).
Qualquer vetor de Rn pode ser expresso como combinao linear
dos vetores em {ai: i I}.
O sistema de equaes ai.x=bi, i I, tem soluo nica.
Abril-agosto 2004
ONS 112
Geometria da PL
Diz-se que os vetores x1, x2, ..., xk de Rn so linearmente
independentes se nenhum deles pode ser obtido como
uma combinao linear dos demais, isto :
1.x1 + 2.x2 + ... + k.xk = 0 1= 2= ... = k = 0
Definio algbrica de ponto extremo: uma soluo
vivel do problema na qual h n restries ativas
linearmente independentes.
Abril-agosto 2004
ONS 113
Geometria da PL
Sejam um poliedro P definido por restries lineares de
igualdade e de desigualdade e x* Rn:
(a) O vetor x* uma soluo bsica se todas as restries de
igualdade esto ativas e se h n restries linearmente
independentes ativas em x*.
(b) Se x* uma soluo bsica que satisfaz todas as restries,
ento diz-se que x* uma soluo bsica vivel.
Abril-agosto 2004
ONS 114
Geometria da PL
x3
A
A, B e C: solues
bsicas viveis
D
H 3 restries
ativas nos pontos
A, B, C e D.
Abril-agosto 2004
x2
H apenas 2 restries
ativas no ponto
(vivel) E.
x1
ONS 115
Geometria da PL
A
D
P
B
Abril-agosto 2004
A, B, C, D, E e F so solues
bsicas (duas restries ativas
linearmente independentes em
cada).
F
C, D, E e F so solues
bsicas viveis (satisfazem todas
as restries).
Modelos e mtodos de otimizao
ONS 116
Geometria da PL
maximizar 3 x1 + 2 x2
sujeito a :
x1 + x2 9
3 x1 + x2 18
x1 7
x2 6
x1 + x2 5
x1 , x2 0
Abril-agosto 2004
ONS 117
Geometria da PL
Sejam um poliedro P no-vazio e x* P. Ento, as
seguintes afirmaes so equivalentes:
x* um vrtice.
x* um ponto extremo.
x* uma soluo bsica vivel.
ONS 118
Geometria da PL
Embora o nmero de solues bsicas (viveis) seja finito,
ele pode ser muito grande:
{x Rn: 0 xi 1, i=1,...,n}
2n
Nmero de restries?
Nmero de solues bsicas viveis? 2n
= 2 n
n
Abril-agosto 2004
ONS 119
Geometria da PL
A, B, C, D, E e F so solues
bsicas (duas restries ativas
linearmente independentes em
cada).
E
D
P
B
Abril-agosto 2004
ONS 120
Geometria da PL
Duas solues bsicas so adjacentes se h n-1 restries
linearmente independentes comuns ativas em ambas.
Se duas solues bsicas adjacentes so viveis, diz-se que
o segmento de reta que
as conecta uma aresta
A
E
C-F uma aresta.
do conjunto vivel.
D
B e E so adjacentes a D.
P
D e E so adjacentes a B. B
F
C
Abril-agosto 2004
ONS 121
Geometria da PL
Considera-se agora um problema de programao linear
formulado na forma cannica e P = {x Rn: A.x = b, x0}
o poliedro associado s suas restries.
A tem dimenso mxn, onde m o nmero de restries de
igualdade.
Hiptese simplificadora: as m restries so linearmente
independentes.
Logo, n m.
Linhas linearmente dependentes de A
correspondem a restries redundantes que
podem ser descartadas.
Abril-agosto 2004
ONS 122
Geometria da PL
Em toda soluo bsica h n restries ativas linearmente
independentes.
Toda soluo bsica satisfaz as m restries de igualdade
A.x = b, o que prov m restries ativas.
Para totalizar as n restries ativas linearmente
independentes, necessrio tornar ativas n-m restries
de no-negatividade xi 0, fixando em 0 as variveis
correspondentes.
Entretanto, para que as n restries ativas sejam
linearmente independentes, esta escolha no pode ser
totalmente arbitrria.
Abril-agosto 2004
ONS 123
Geometria da PL
Teorema: Sejam as restries A.x = b e x 0. Assume-se
que a matriz A de dimenses mxn tenha suas linhas
linearmente independentes. Ento, um vetor x Rn uma
soluo bsica se e somente se A.x = b e se existem ndices
B(1), ..., B(m) tais que:
(a) as colunas AB(1), ..., AB(m) so linearmente independentes.
(b) se i B(1), ..., B(m), ento xi = 0.
Abril-agosto 2004
ONS 124
Geometria da PL
Procedimento para construir solues bsicas:
(1) Escolher m colunas linearmente independentes AB(1), ..., AB(m).
(2) Fazer xi = 0 para todo i B(1), ..., B(m).
(3) Resolver o sistema de m equaes A.x = b para calcular as
variveis xB(1), ..., xB(m).
Abril-agosto 2004
ONS 125
Geometria da PL
Se x uma soluo bsica, as variveis xB(1), ..., xB(m) so
chamadas de variveis bsicas.
Neste caso, as colunas AB(1), ..., AB(m) so chamadas de
bsicas e como so linearmente independentes formam
uma base para Rm.
Colocando-se as m colunas bsicas lado a lado, obtm-se
uma matriz bsica B de dimenso mxm.
Como as colunas da base so linearmente independentes, a
matriz bsica inversvel.
Abril-agosto 2004
ONS 126
Geometria da PL
A = [B
B = AB (1)
N]
xB
x =
xN
AB ( 2 )
... AB ( m )
x B (1)
x B ( 2)
xB =
...
x
B(m)
ONS 127
Geometria da PL
Sistema A.x = b da forma:
1
0
1 2 1 0 0 0
8
1 6 0 1 0 0
12
.x =
4
0 0 0 0 1 0
6
1 0 0 0 0 1
Abril-agosto 2004
ONS 128
Geometria da PL
1
0
1
1
0
1
2
6
0
0
1
0
0
0
0
1
0
0
0
0
1
0
0
8
0
12
.x =
4
0
6
1
Matriz bsica:
1
0
B=
0
0
Abril-agosto 2004
0 0 0
1 0 0
0 1 0
0 0 1
x4
1
0
x
x B = 5 = B 1 .b =
0
x6
x
0
7
Modelos e mtodos de otimizao
0 0 0 8 8
1 0 0 12 12
. =
0 1 0 4
4
0 0 1 6 6
ONS 129
Geometria da PL
Considerando-se o mesmo sistema A.x = b:
1
0
1 2 1 0 0 0
8
1 6 0 1 0 0
12
.x =
4
0 0 0 0 1 0
6
1 0 0 0 0 1
Abril-agosto 2004
ONS 130
Geometria da PL
1
0
1
1
0
1
2
6
0
0
1
0
0
0
0
1
0
0
0
0
1
0
0
8
0
12
.x =
4
0
6
1
Matriz bsica:
2
6
B=
0
0
Abril-agosto 2004
0 0 0
1 0 0
0 1 0
0 0 1
x3
1 / 2
3
x
x B = 5 = B 1 .b =
0
x6
x
0
7
Modelos e mtodos de otimizao
0 0 0 8 4
1 0 0 12 12
. =
0 1 0 4
4
0 0 1 6 6
ONS 131
Geometria da PL
Solues bsicas adjacentes e bases adjacentes:
Duas solues bsicas so adjacentes se existem n-1 restries
linearmente independentes ativas em ambas.
Duas bases so adjacentes se possuem todas as colunas bsicas
em comum, exceto uma.
As bases {A3, A5, A6, A7} e {A4, A5, A6, A7} do exemplo anterior
so adjacentes.
Abril-agosto 2004
ONS 132
Geometria da PL
Degenerao: uma soluo bsica x Rn degenerada se
h mais de n restries ativas em x.
Exemplo:
x1 + x2 + 2x3 8
x2 + 6x3 12
4
x1
6
x2
x1, x2, x3 0
x = (2,6,0) soluo bsica vivel no-degenerada (3 ativas)
x = (4,0,2) soluo bsica vivel degenerada (4 ativas)
Abril-agosto 2004
ONS 133
Geometria da PL
A: soluo bsica
A
E
H
B: soluo
D
bsica
degenerada
B
G
Abril-agosto 2004
ONS 134
Geometria da PL
Degenerao na forma cannica:
x1 + x 2 + 2 x3 8
x 2 + 6 x3 12
x1 4
x2 6
x1 , x 2 , x3 0
Abril-agosto 2004
ONS 135
Geometria da PL
Inserindo-se variveis de folga:
x1 + x 2 + 2 x3 + x 4 = 8
x 2 + 6 x3 + x5 = 12
x1 + x6 = 4
x 2 + x7 = 6
x1 , x 2 , x3 , x 4 , x5 , x6 , x7 0
Abril-agosto 2004
ONS 136
Geometria da PL
1
0
1 2 1 0 0 0
8
1 6 0 1 0 0
12
.x =
4
0 0 0 0 1 0
6
1 0 0 0 0 1
ONS 137
Geometria da PL
Considera-se um problema de programao linear
formulado na forma cannica e P = {x Rn: A.x = b, x0}
o poliedro associado s suas restries. Sejam x uma
soluo bsica e m o nmero de linhas de A. O vetor x
uma soluo bsica degenerada se mais de n-m de suas
componentes so nulas.
Mltiplas bases correspondem mesma soluo bsica
degenerada. No exemplo anterior, as bases {A1,A2,A3,A7},
{A1,A4,A3,A7 }, {A1,A5,A3,A7 } e {A1,A6,A3,A7 }
correspondem mesma soluo bsica degenerada x1 = 4,
x3 = 2, x7 = 6, x2 = x4 = x5 = x6 = 0.
Abril-agosto 2004
ONS 138
Geometria da PL
A degenerao tem conseqncias importantes na queda
de desempenho dos resolvedores de problemas de
programao linear.
Abril-agosto 2004
ONS 139
Geometria da PL
Nem todo poliedro tem um ponto extremo:
x1+x2 1em R2
A existncia de um ponto extremo depende do poliedro
conter ou no uma reta infinita.
Diz-se que um poliedro P Rn contm uma reta se
existem um vetor x P e um vetor no-nulo d Rn tal
que x + .d P para qualquer escalar .
Abril-agosto 2004
ONS 140
Geometria da PL
Teorema: Suponha-se que o poliedro P = {x Rn: ai.x bi,
i=1,...,m} seja no vazio. Ento, as afirmaes abaixo so
equivalentes:
O poliedro P tem pelo menos um ponto extremo.
O poliedro P no contm uma reta.
H n vetores da famlia a1, a2, ..., am que so linearmente
independentes.
Abril-agosto 2004
ONS 141
Geometria da PL
Um poliedro limitado no pode conter uma reta.
O conjunto {x Rn: x 0} limitado, logo no contm
uma reta.
Como um poliedro na forma cannica est contido em
{x Rn: x 0}, ele no pode conter uma reta.
Qualquer poliedro limitado no-vazio e qualquer poliedro
no-vazio na forma cannica contm pelo menos um
ponto extremo, ou seja, uma soluo bsica vivel.
Abril-agosto 2004
ONS 142
Geometria da PL
Teorema da otimalidade: Considera-se o problema de
programao linear de minimizar a funo objetivo c.x
sobre um poliedro P. Suponha-se que P tenha pelo menos
um ponto extremo e que exista uma soluo tima. Ento,
existe pelo menos uma soluo tima que um ponto
extremo de P.
Abril-agosto 2004
ONS 143
Geometria da PL
Soluo tima finita nica:
ONS 144
Geometria da PL
Solues timas finitas alternativas:
ONS 145
Geometria da PL
Valor timo ilimitado:
Abril-agosto 2004
ONS 146
Geometria da PL
Teorema da otimalidade: Considera-se o problema de
programao linear de minimizar a funo objetivo c.x
sobre um poliedro P no-vazio. Ento, ou o custo timo
igual a - (valor ilimitado) ou existe uma soluo tima
(em um ponto extremo).
Abril-agosto 2004
ONS 147
Geometria da PL
Resumindo...
(a) Se o conjunto de solues viveis no-vazio e
limitado, ento existe uma soluo tima. Alm disso,
existe uma soluo tima que um ponto extremo.
(b) Se o conjunto de solues viveis ilimitado, ento
existe uma soluo tima que um ponto extremo ou o
valor timo -.
Abril-agosto 2004
ONS 148
Geometria da PL
Resumindo...
Supe-se que o valor timo seja finito e que o conjunto de
solues viveis contenha pelo menos um ponto extremo.
Como h um nmero finito de pontos extremos, o PPL
pode ser resolvido em um nmero finito (embora
eventualmente muito grande) de passos por enumerao.
Mtodo Simplex: procedimento sistemtico que se move
de um ponto extremo para outro, sem necessitar enumerar
todos.
Abril-agosto 2004
ONS 149
Geometria da PL
Resumindo...
Pontos extremos esto associados a solues bsicas
viveis.
H n restries ativas (todas as m de igualdade e n-m de
desigualdade) em cada ponto extremo.
Considerando-se o PPL na forma cannica, cada soluo
bsica obtida fixando-se (n-m) variveis (no-bsicas) em
zero e calculando-se as demais resolvendo o sistema
B.xB = b, cuja soluo xB = B-1.b, onde B a matriz
formada pelas colunas associadas s variveis bsicas.
Abril-agosto 2004
ONS 150
Mtodo Simplex
Dados:
Variveis:
x1
x2
x=
...
x
n n1
a11
a
A = 21
...
am1
a12
a22
...
am 2
... a1n
... a2 n
... ...
... amn mn
b1
b2
b=
...
b
m m1
Abril-agosto 2004
minimizar c.x
sujeito a : A.x = b
x0
Modelos e mtodos de otimizao
ONS 151
Mtodo Simplex
Se um PPL na forma cannica tem uma soluo tima,
ento existe uma soluo bsica vivel (ponto extremo)
que tima.
O mtodo Simplex procura a soluo tima movendo-se
de uma soluo bsica vivel para outra atravs das arestas
da regio vivel, sempre diminuindo o valor da funo
objetivo.
O algoritmo termina ao chegar numa soluo bsica vivel
onde todas arestas levam a aumento de custo.
Abril-agosto 2004
ONS 152
Mtodo Simplex
Mtodos de busca local: partem de uma soluo vivel,
procuram sempre por uma soluo vizinha de menor custo
e terminam quando tal soluo vizinha inexiste timo
local
PPL: solues bsicas viveis adjacentes so vizinhas.
PPL: timo local tambm timo global
Problema: como encontrar uma uma direo (aresta) de
diminuio de custo na vizinhana de uma dada soluo?
Abril-agosto 2004
ONS 153
Mtodo Simplex
Seja x P: ento, um vetor d Rn uma direo vivel
em x se existe um escalar tal que x + .d P.
Abril-agosto 2004
ONS 154
Mtodo Simplex
Seja x uma soluo bsica e B(1), ..., B(m) os ndices das
variveis bsicas. Seja ainda
B = AB (1)
AB ( 2 )
... AB ( m )
x B ( 2)
1
xB =
= B .b
...
x
Abril-agosto 2004
ONS 155
B ( m ) Modelos e mtodos de otimizao
Mtodo Simplex
Considera-se a possibilidade de mover de x para uma nova
soluo x + .d selecionando-se uma varivel no-bsica xj
(at ento igual a zero) e aumentando-a at um valor ,
mantendo todas as demais variveis no-bsicas iguais a
zero.
Ento, dj = 1 e di = 0 para qualquer outra varivel
no-bsica xi diferente de xj.
O novo vetor de variveis bsicas passa a ser xB + .dB.
Abril-agosto 2004
ONS 156
Mtodo Simplex
Como s nos interessam as solues viveis, ento exigese que A.(x + .d) = b.
Como x vivel, A.x = b.
Logo, para que as restries de igualdade sejam satisfeitas
para > 0, necessrio que A.d = 0:
0 = A.d = i =1 Ai .d i = i =1 AB ( i ) .d B (i ) + A j = B.d B + A j
n
ONS 157
Mtodo Simplex
A direo d assim construda chamada de direo bsica j.
Mostramos que as restries de igualdade so respeitadas
quando se move ao longo desta direo d. Mas o que
acontece com as restries de no-negatividade?
As demais variveis no-bsicas diferentes de xj no so
afetadas, continuando portanto nulas.
Seja x uma soluo bsica no-degenerada. Como xB > 0,
ento xB + .d > 0 para suficientemente pequeno.
Abril-agosto 2004
ONS 158
Mtodo Simplex
Como varia o custo da soluo a medida em que se
desloca ao longo de uma direo bsica?
Se d a j-sima direo bsica, a variao no custo da
soluo obtida aps um deslocamento de valor ao longo
de d igual a cB.(xB + .dB) + cj. - cB.xB.= .(cB.dB + cj).
Como dB = -B-1.Aj, a taxa de variao do custo por unidade
da varivel j ao longo da j-sima direo bsica ento
igual a cj - cB.B-1.Aj.
Abril-agosto 2004
ONS 159
Mtodo Simplex
A taxa de variao do custo ao longo da j-sima direo
bsica ento igual a cj - cB.B-1.Aj.
Interpretao: cj o custo por incremento unitrio na
varivel xj, enquanto o termo -cB.B-1.Aj. reflete as
compensaes necessrias para manter as restries
A.x = b viveis com o aumento de xj.
Definio: sejam x uma soluo bsica, B a matriz bsica
associada e cB o vetor de custos das variveis bsicas.
Define-se o custo reduzido cj da varivel xj como:
cj = cj (cB.B-1).Aj
Abril-agosto 2004
ONS 160
Mtodo Simplex
Qual o custo reduzido de uma varivel bsica xB(i)?
cB(i) = cB(i) cB.B-1.AB(i) = cB(i) cB.ei = cB(i) cB(i) = 0,
pois B-1.AB(i) igual ao produto da inversa da matriz bsica
pela i-sima coluna da base, que igual coluna i da
matriz identidade.
Resumindo:
cj = cj - cB.B-1.Aj, se xj uma varivel no-bsica
cj = 0,
se xj uma varivel bsica
Abril-agosto 2004
ONS 161
Mtodo Simplex
Repetindo:
cj = cj - cB.B-1.Aj, se xj uma varivel no-bsica
cj = 0,
se xj uma varivel bsica
Se x no uma soluo tima, como devemos escolher a
varivel que ter seu valor aumentado?
Deve-se aumentar uma varivel xj cujo custo reduzido seja
negativo!
Abril-agosto 2004
ONS 162
Mtodo Simplex
Teorema: Seja uma soluo bsica vivel associada com
uma matriz bsica B e c o vetor correspondente de custos
reduzidos.
(a) se c 0, ento x uma soluo tima.
(b) se x tima e no-degenerada, ento c 0.
A matriz bsica B tima se:
(a) B-1.b 0, isto , se todas as variveis bsicas so nonegativas (e satisfazem as restries do problema).
(b) c = c (cB.B-1).A 0, isto , no possvel reduzir o
custo da soluo bsica correspondente.
Abril-agosto 2004
ONS 163
Mtodo Simplex
Hipteses para o desenvolvimento final do Simplex:
Toda soluo bsica no degenerada.
Soluo bsica x com todos os custos reduzidos c das variveis
no-bsicas j calculados.
Se todos os custos reduzidos so positivos ou nulos, trata-se da
soluo tima e o algoritmo pode ser parado.
Se existe uma varivel xj de custo reduzido cj < 0 , ento a
j-sima direo bsica d uma direo de reduo de custo.
Ao longo desta direo, apenas a varivel no-bsica xj torna-se
positiva e entra na base.
Abril-agosto 2004
ONS 164
Mtodo Simplex
Quando se move a partir de x ao longo da direo d, so
obtidos pontos da forma x + .d com > 0.
Como o custo da soluo diminui ao longo desta direo,
deve-se fazer o maior deslocamento possvel, que dado
por * = max { 0: x + .d P}.
A reduo no custo dada por *.cj.
Mostrou-se que A.d = 0 e que as restries de igualdade
no sero violadas.
Ento, x + .d s pode se tornar invivel se uma das
restries de no-negatividade passar a ser violada.
Abril-agosto 2004
ONS 165
Mtodo Simplex
(a) Se d 0, ento x + .d 0 para qualquer 0. A
soluo nunca se torna invivel e faz-se * = +:
soluo tima ilimitada.
(b) Se di < 0 para alguma varivel xi, a restrio
xi + .di 0 equivale a -xi/di. Esta restrio deve ser
satisfeita para todas os ndices i com di < 0. Assim, o maior
valor possvel de dado por
xB ( i )
xi
= min{i:di <0} = min{i =1,...,m:d B ( i ) <0}
d B ( i )
di
Abril-agosto 2004
ONS 166
Mtodo Simplex
Uma vez o valor de * determinado, e assumindo-se que
seja finito, move-se para a nova soluo vivel y = x + *.d.
Como xj = 0 (varivel no-bsica) e dj = 1, obtem-se yj = *
na nova soluo: a varivel de ndice j torna-se bsica.
Seja r o ndice da varivel bsica que definiu *:
xB (i )
xB ( r )
= min{i =1,...,m:d B ( i ) <0}
=
d B(r )
d B (i )
ONS 167
Mtodo Simplex
O mtodo simplex iniciado com uma soluo bsica
vivel (ponto extremo, cuja existncia j foi provada).
minimizar c.x
- Criar problema com variveis artificiais.
sujeito a : A.x = b
- Soluo bsica inicial x = 0 e y = b.
x 0 - Resolver o novo problema.
- y* = 0, problema vivel e base inicial.
m
minimizar i=1 yi - y* > 0, problema invivel.
sujeito a : j=1 aij .x j + yi = bi ,
n
Abril-agosto 2004
x, y 0
i = 1,...,m
ONS 168
Mtodo Simplex
Cada iterao corresponde aos seguintes passos:
1. Iniciar com uma base formada pelas colunas bsicas
AB(1), , AB(m) e com uma soluo bsica vivel x.
2. Calcular os custos reduzidos cj = cj (cB.B-1).Aj para
todas as variveis no bsicas j. Se todos so positivos, a
soluo corrente tima, seno escolher algum j com
cj < 0.
3. Calcular dB = -B-1.Aj. Se todos as componentes de dB
forem positivas, ento * = +, o valor timo - e o
algoritmo termina.
Abril-agosto 2004
ONS 169
Mtodo Simplex
4. Se alguma componente de dB = -B-1.Aj for negativa,
calcular
xB (i )
xB ( r )
ONS 170
Mtodo Simplex
Supondo-se que o PPL seja vivel, o mtodo Simplex
termina aps um nmero finito de iteraes com uma
soluo bsica vivel tima ou mostrando que o custo
timo -.
Implementao simples, mas requer muitos cuidados
para ser eficiente (soluo inicial, degenerao, tratamento
de matrizes esparsas, determinantes prximos de zero,
atualizao rpida da base e de sua inversa, etc.).
Criador do mtodo Simplex: Dantzig (1947)
Abril-agosto 2004
ONS 171
Mtodo Simplex
Complexidade de pior caso: proporcional a 2n.
Na mdia, o nmero de iteraes cresce linearmente.
Excelente desempenho mdio.
Resolvedores: MPSX, XMP, ..., OSL, ..., LINDO, CPLEX,
XPRESS, GLPK, ..., EXCEL
Mtodos de pontos interiores: percorrem o interior do
poliedro, e no vrtices e arestas.
Karmarkar (1984)
To bons ou melhores que o Simplex para muitas classes de
problemas.
Abril-agosto 2004
ONS 172
Dualidade
O problema dual de um PPL outro PPL satisfazendo:
PRIMAL
restries
variveis
Abril-agosto 2004
minimizar
maximizar
bi
bi
= bi
livre
cj
cj
livre
= cj
DUAL
variveis
restries
ONS 173
Dualidade
Problema PRIMAL na forma cannica:
minimizar c.x
sujeito a : A.x = b
x0
Problema DUAL:
maximizar u.b
sujeito a : u. A c
Abril-agosto 2004
ONS 174
Dualidade
Problema DUAL: maximizar u.b
sujeito a : u. A c
Problema DUAL do DUAL:
minimizar c. y
sujeito a : A. y = b
y0
O DUAL do DUAL o prprio problema PRIMAL.
Abril-agosto 2004
ONS 175
Dualidade
Teorema fraco da dualidade: se x uma soluo vivel do
primal e u uma soluo vivel do dual, ento u.b c.x.
Teorema forte da dualidade: se x* uma soluo tima do
primal e u* uma soluo tima do dual, ento u*.b = c.x*.
simples provar que se B a base tima do primal (com
x*B = B-1.b e c.x* = cB.B-1.b), ento u* = cB.B-1.
Se a soluo tima do primal (resp. dual) ilimitada, ento
o dual (resp. primal) invivel.
Abril-agosto 2004
ONS 176
Dualidade
Teorema das folgas complementares: sejam x e u solues
viveis para os problemas primal e dual, respectivamente.
Estas solues so timas se e somente se:
(a) ui.(ai.x bi) = 0, i
(b) (cj u.Aj).xj = 0, j
Abril-agosto 2004
ONS 177
Dualidade
Variveis duais como custos marginais:
- base B tima no-degenerada
minimizar c.x
-1.b > 0
=
B
soluo
tima
x*
B
sujeito a : A.x = b
- custo timo = cB .B-1.b = u*.b
x0
Problema perturbado (d pequeno):
minimizar c.x
- mesma base B tima: B-1.(b+d) > 0
-1.(b+d) = u*(b+d)
custo
timo
=
c
.B
B
sujeito a : A.x = b + d
- variao no custo: u*.d
x0
- u*: custos marginais dos recursos!
Abril-agosto 2004
ONS 178
Dualidade
Interpretao econmica do dual: problema da dieta
Coluna Aj: contedos nutricionais do alimento j (slide 36).
Vetor b: contedo nutricional ideal que se deseja atingir.
ui: preo justo que se desejaria pagar pelo nutriente i.
Uma unidade do alimento j tem valor cj no mercado de
alimentos, mas tem valor u.Aj se cotada no mercado de
nutrientes.
Folgas complementares asseguram que todo alimento
usado para sintetizar o nutriente ideal deve estar cotado
consistentemente nos dois mercados: xj > 0 cj = u.Aj
Abril-agosto 2004
ONS 179
Dualidade
A dualidade relaciona as duas maneiras alternativas de
contabilizar custos.
O valor do alimento ideal calculado pelo mercado de
alimentos c.x* (onde x* a soluo tima do primal).
O valor do alimento ideal calculado pelo mercado de
nutrientes u*.b (onde u* so os preos ideais).
A relao de dualidade c.x* = u*.b garante que quando os
preos esto corretos, os dois mtodos de contabilizao
dos custos do os mesmos resultados.
Abril-agosto 2004
ONS 180
Anlise de sensibilidade
PPL na forma cannica:
minimizar c.x
sujeito a : A.x = b
x0
Como afetada a soluo de um PPL devido a
modificaes simples na sua formulao?
Como recalcular a soluo tima aps estas modificaes?
Diversos casos podem ser tratados diretamente usando
dualidade e os conceitos j estudados.
Abril-agosto 2004
ONS 181
Anlise de sensibilidade
(1) Uma base tima continua tima aps a adio de uma
nova varivel xn+1? Como reotimizar um problema aps a
adio desta nova varivel?
(2) Como criar uma nova base e reotimizar o problema
aps a incluso de uma nova restrio de igualdade?
(3) Qual a faixa de variao do vetor de recursos b que
mantm a base tima inalterada?
(4) Qual a faixa de variao dos custos c que mantm a
base tima inalterada?
(5) Como mudanas em uma coluna afetam a soluo?
Abril-agosto 2004
ONS 182
Extenses
Sistemas de grande porte
Decomposio: gerao de colunas, Dantzig-Wolfe,
Benders
Programao estocstica (cenrios)
Problemas de fluxos em redes
Mtodos de pontos interiores: percorrem o interior
do poliedro, e no os vrtices e arestas.
Programao inteira
Abril-agosto 2004
ONS 183
Resolvedores de PL
CPLEX
Empresa: ILOG
Resolvedor lider no mercado
Programao linear, linear inteira, quadrtica
Alto desempenho
Muito flexivel
Resolve problemas com milhes de variveis e restries
Parte de um solver mais geral que inclui e.g. programao por
restries e linguagem de modelagem
http://www.ilog.com/products/cplex/
Abril-agosto 2004
ONS 184
Resolvedores de PL
Xpress-MP
Abril-agosto 2004
ONS 185
Resolvedores de PL
LINDO
Abril-agosto 2004
ONS 186
Resolvedores de PL
GLPK
Software livre
Cdigo em ANSI C disponvel na web
Programao linear e linear inteira
http://www.gnu.org/software/glpk/glpk.html
Abril-agosto 2004
ONS 187
Resolvedores de PL
Survey atualizado disponvel em:
http://www.lionhrtpub.com/orms/surveys/LP/LPsurvey.html
Abril-agosto 2004
ONS 188
Resolvendo problemas
Digitar o modelo diretamente na interface
Forma mais direta de resolver problemas simples.
Invivel para problemas de tamanho mdio
ONS 189
Sintaxe do Lindo
Funo objetivo:
MAX 10 STD + 15 DLX
Sujeito a:
{subject to, such that, S.T., ST}
Restries:
STD + 2 DLX <= 10
Lado direito: apenas valores constantes
Lado esquerdo: apenas variveis e coeficientes
Fim:
END
Abril-agosto 2004
ONS 190
Escalonamento de funcionrios
Uma loja quer contratar funcionrios para atendimento
ao pblico durante os sete dias da semana.
Cada funcionrio ganha R$ 300 por semana, mais um extra
de R$ 25 por trabalhar no sbado e de R$ 35 por trabalhar
no domingo.
Os funcionrios trabalham cinco dias consecutivos e
descansam dois.
Existem requisitos mnimos de funcionrios por dia:
D
20 20 13 10 12 16 18
Abril-agosto 2004
ONS 191
Escalonamento de funcionrios
Objetivo: minimizar o custo de pessoal sujeito ao
cumprimento das necessidades de atendimento.
Abril-agosto 2004
ONS 192
Abril-agosto 2004
ONS 193
Abril-agosto 2004
ONS 194
Soluo - Restries
RDOM) DOM + QUA + QUI + SEX + SAB >= 20
RSEG) DOM + SEG + QUI + SEX +SAB >= 20
RTER) DOM + SEG + TER + SEX + SAB >= 13
RQUA) DOM + SEG + TER + QUA + SAB >= 10
RQUI) DOM + SEG + TER + QUA + QUI >= 12
RSEX) SEG + TER + QUA + QUI + SEX >= 16
RSAB) TER + QUA + QUI + SEX + SAB >= 18
Alm destas, restries de no-negatividade.
Abril-agosto 2004
ONS 195
Soluo - Modelo
MIN 335 DOM + 300 SEG + 325 TER + 360 QUA + 360 QUI + 360
SEX + 360 SAB
ST
RDOM) DOM + QUA + QUI + SEX + SAB >= 20
RSEG) DOM + SEG + QUI + SEX +SAB >= 20
RTER) DOM + SEG + TER + SEX + SAB >= 13
RQUA) DOM + SEG + TER + QUA + SAB >= 10
RQUI) DOM + SEG + TER + QUA + QUI >= 12
RSEX) SEG + TER + QUA + QUI + SEX >= 16
RSAB) TER + QUA + QUI + SEX + SAB >= 18
Restries de no-negatividade.
END
Abril-agosto 2004
ONS 196
Abril-agosto 2004
ONS 197
Abril-agosto 2004
ONS 198
ONS 199
Abril-agosto 2004
ONS 200
Abril-agosto 2004
ONS 201
Abril-agosto 2004
ONS 202
Preo
# discos
$ 60.000
0.3
$ 40.000
1.7
$ 30.000
0.0
$ 30.000
1.4
$ 15.000
0.0
Modelos e mtodos de otimizao
# placas
4
2
2
2
1
ONS 203
Pedidos j recebidos:
500 GP2
500 WS1, 400 WS2
Abril-agosto 2004
ONS 204
Abril-agosto 2004
ONS 205
Abril-agosto 2004
ONS 206
disponibilidade de CPUs
disponibilidade de placas
disponibilidade de discos
demanda mxima de GP-1
demanda mxima de GP-3
demanda mxima de GP
demanda mxima de WS
demanda mnima de GP-2
demanda mnima de WS-1
demanda mnima de WS-2
x1 , x2 , x3 , x4 , x5 0
Abril-agosto 2004
ONS 207
Abril-agosto 2004
ONS 208
Abril-agosto 2004
ONS 209
Abril-agosto 2004
ONS 210
disponibilidade de CPUs
disponibilidade de placas
disponibilidade de discos
demanda mxima de GP-1
demanda mxima de GP-3
demanda mxima de GP
demanda mxima de WS
demanda mnima de GP-2
demanda mnima de WS-1
demanda mnima de WS-2
x1 , x2 , x3 , x4 , x5 0
Abril-agosto 2004
ONS 211
disponibilidade de CPUs
disponibilidade de placas
disponibilidade de discos
demanda mxima de GP-1
demanda mxima de GP-3
demanda mxima de GP
demanda mxima de WS
demanda mnima de GP-2
demanda mnima de WS-1
demanda mnima de WS-2
x1 , x2 , x3 , x4 , x5 0
Abril-agosto 2004
ONS 212
Abril-agosto 2004
ONS 213
disponibilidade de CPUs
disponibilidade de placas
disponibilidade de discos
demanda mxima de GP-1
demanda mxima de GP-3
demanda mxima de GP
demanda mxima de WS
demanda mnima de GP-2
demanda mnima de WS-1
demanda mnima de WS-2
x1 , x2 , x3 , x4 , x5 0
Abril-agosto 2004
ONS 214
disponibilidade de CPUs
disponibilidade de placas
disponibilidade de placas alt.
disponibilidade de discos
demanda mxima de GP-1
demanda mxima de GP-3
demanda mxima de GP
demanda mxima de WS
demanda mnima de GP-2
demanda mnima de WS-1
demanda mnima de WS-2
ONS 215
1
2
3
3
ONS 216
1
2
3
3
Abril-agosto 2004
ONS 217
ONS 218
Exerccio Avaliao
O grafo a seguir ilustra uma rede de distribuio: centros
produtores, armazns e centros de consumo. Uma
empresa produz trs tipos de produtos, que devem ser
distribudos da seguinte maneira:
Produto A: 50 unidades de produzidas em 1 devem ser enviadas
para 18
Produto B: 50 unidades de produzidas em 5 devem ser enviadas
para 14
Produto C: 40 unidades produzidas em 10 devem ser enviadas
para 9
Abril-agosto 2004
ONS 219
Exerccio Avaliao
Abril-agosto 2004
10
11
12
13
14
15
16
17
18
ONS 220
Exerccio Avaliao
Os valores mnimo e mximo do fluxo total (isto ,
considerando-se os trs produtos) que pode transitar
em cada arco da rede so dados a seguir:
Arcos horizontais: capacidade mnima = 5, capacidade
mxima = 40, custo unitrio de transporte = 100
Arcos verticais: capacidade mnima = 0, capacidade
mxima = 20, custo unitrio de transporte = 200
Arcos inclinados: capacidade mnima = 0, capacidade
mxima = 30, custo unitrio de transporte = 300
Abril-agosto 2004
ONS 221
Exerccio Avaliao
Existem ainda as seguintes restries adicionais:
Os ns 6, 7, 12 e 13 so armazns e o fluxo total atravs
de cada um deles no pode ser superior a 60 unidades.
Em nenhum arco horizontal podem passar mais de 30
unidades do produto A.
Em nenhum arco inclinado podem passar mais de 10
unidades do produto B.
Em nenhum arco vertical podem passar mais de 10
unidades do produto C.
Abril-agosto 2004
ONS 222
Exerccio Avaliao
Determine o fluxo timo de cada produto a ser
transportado em cada arco, de modo a minimizar o custo
total de transporte, utilizando um modelo de programao
linear. Apresente os resultados, fornecendo:
O arquivo usado como entrada (impresso) para o LINDO.
O arquivo de sada (impresso) com os resultados do LINDO.
Os valores dos fluxos em cada arco sobre uma cpia da rede na
transparncia 220, indicando tambm o valor da soluo tima
(custo total de transporte timo).
Abril-agosto 2004
ONS 223