Вы находитесь на странице: 1из 223

Celso Carneiro Ribeiro

Introduo aos Modelos e Mtodos de


Otimizao em Pesquisa Operacional
Parte I Programao Linear

2004

Organizao

Parte I: Programao linear (5 aulas)


Parte II: Programao inteira (5 aulas)
Parte III: Heursticas (4 aulas)
Parte IV: Programao dinmica (2 aulas)

Abril-agosto 2004

Modelos e mtodos de otimizao

ONS 2

Parte I Programao linear

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Programao linear: todas as relaes entre variveis so


lineares (funo objetivo e restries)
Abril-agosto 2004

Modelos e mtodos de otimizao

ONS 15

Motivao
Como representar no plano uma desigualdade?
x2
x 0
1

x1
Abril-agosto 2004

Modelos e mtodos de otimizao

ONS 16

Motivao
Como representar no plano uma desigualdade?
x2
1

x2 1

x1
Abril-agosto 2004

Modelos e mtodos de otimizao

ONS 17

Motivao
Como representar no plano uma igualdade?
x2
1

x1 + x2 = 1

Abril-agosto 2004

Modelos e mtodos de otimizao

x1
ONS 18

Motivao
Como representar no plano uma desigualdade?
x2
1

x1 + x2 1

Abril-agosto 2004

Modelos e mtodos de otimizao

x1
ONS 19

Motivao
Como representar no plano uma desigualdade?
x2
x1 + x2 1
1

1
Abril-agosto 2004

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

ONS 21

Motivao
Restries de no-negatividade:

Abril-agosto 2004

Modelos e mtodos de otimizao

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

A restrio (3) desnecessria ou redundante.


Abril-agosto 2004

Modelos e mtodos de otimizao

ONS 23

Motivao
Maximizao da funo objetivo:
maximizar 3 x1 + 2 x2
normal=(3,2)

Abril-agosto 2004

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

ONS 25

Motivao
Visualizao do modelo em trs dimenses:
z = 3 x1 + 2 x2

Abril-agosto 2004

Modelos e mtodos de otimizao

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)

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Peixe Salada Requisito


(kg) (100g) mnimo

1,5

Modelos e mtodos de otimizao

(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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

ONS 51

Formulao de problemas
Funo objetivo: custo da expanso de capacidade:
T

minimizar (ct xt + nt yt )
t =1

Capacidade instalada em usinas a carvo disponibilizada no


t
incio do ano t=1,...,T:
w =
x
t

s
s = max{1,t 19}

Capacidade instalada em usinas nucleares disponibilizada


t
no incio do ano t=1,,T:
zt =
ys
s = max{1,t 14}

Abril-agosto 2004

Modelos e mtodos de otimizao

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

0,8 zt 0,2 wt 0,2et 0


Abril-agosto 2004

Modelos e mtodos de otimizao

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

0,8 zt 0,2 wt 0,2et

t = 1,..., T

xt , yt 0

t = 1,..., T

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

ONS 55

Formulao de problemas
Fazenda rea (acres) gua (litros)
1

400

1.800

650

2.200

350

950

Cultura rea mx. (acres)

Agua (litros por acre)

Lucro (por acre)

Milho

660

5,5

5.000

Arroz

880

4.000

Feijo

400

3,5

1.800

Abril-agosto 2004

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

ONS 61

Formulao de problemas

Petrleo Disponibilidade (barris/dia) Custo (barril/dia)


1
3.500
19
2
2.200
24
3
4.200
20
4
1.800
27

Abril-agosto 2004

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Tiras 3 Perda (cm)


0
0
0
1,4
1
0,3
0
0,4
2
0,6
0
1,8
1
0,7

Modelos e mtodos de otimizao

ONS 68

Formulao de problemas
Exemplo: Padro 5

4,5cm 4,5cm 2,4cm


(3)
(3) (1)
Abril-agosto 2004

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Problema de programao linear


Soluo trivial?
Selecionar o item j* cuja razo cj/aj mxima e fazer
xj*=b/aj*, xj = 0 para os demais.
Abril-agosto 2004

Modelos e mtodos de otimizao

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

Problema de programao linear


j =1
1 x j 0, j = 1,..., n
Soluo trivial?
Ordenar os itens pela razo cj/aj e fazer xj=1 enquanto
couber, fracionar o objeto seguinte e fazer xj = 0 para os
demais.
Abril-agosto 2004

Modelos e mtodos de otimizao

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

Maior razo: c1/a1= 6/1= 6 x1=1


Segunda maior razo: c2/a2 = 8/2 = 4 x2=1
Terceira maior razo: c3/a3 = 4/2 = 2 x3=0,5
x4 = 0

Abril-agosto 2004

Modelos e mtodos de otimizao

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

Problema de programao inteira


Soluo trivial?
No!!!
Abril-agosto 2004

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

ONS 79

Soluo grfica
minimizar 2 x1 + 5 x2
x1 + x2 6
x1 2 x2 18
x1 0
x2 0

Abril-agosto 2004

Modelos e mtodos de otimizao

ONS 80

Soluo grfica

A normal c=(c1,c2) da funo


objetivo sempre aponta para
a direo de crescimento da
funo.
Abril-agosto 2004

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

ONS 86

Soluo grfica
Soluo tima finita nica:

Regio vivel limitada


Abril-agosto 2004

Regio vivel no-limitada

Modelos e mtodos de otimizao

ONS 87

Soluo grfica
Solues timas finitas alternativas:

Regio vivel limitada


Abril-agosto 2004

Regio vivel no-limitada

Modelos e mtodos de otimizao

ONS 88

Soluo grfica
Valor timo ilimitado:

Abril-agosto 2004

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

ONS 90

Forma cannica de um PPL


minimizar 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

Modelos e mtodos de otimizao

ONS 91

Forma cannica de um PPL


Dados:

Variveis:

c = (c1 , c2 ,..., cn )1n

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

Forma cannica de um PPL


Variveis irrestritas ou livres: qualquer nmero real pode
ser escrito com a diferena entre dois nmeros positivos
Transformar a varivel x j irrestrita em sinal em:
+
j

xj = x x

+
j

x 0

x 0
Abril-agosto 2004

Modelos e mtodos de otimizao

ONS 93

Forma cannica de um PPL


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

Modelos e mtodos de otimizao

ONS 94

Forma cannica de um PPL


Uma igualdade pode ser transformada em duas
desigualdades:

j =1 aij x j = bi equivalente a
n

ou ainda a

Abril-agosto 2004

Modelos e mtodos de otimizao

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

Forma cannica de um PPL


Um problema de minimizao equivalente a um de
maximizao:
f(x)

f(x*)

Ento:
min f(x) = max {f(x)}

x*

-f(x*)

-f(x)
Abril-agosto 2004

Modelos e mtodos de otimizao

ONS 96

Forma cannica de um PPL


Valores absolutos na funo objetivo minimizar j=1 c j x j
(custos c j positivos):
sujeito a : A.x b
n

Por definio, |xj| o menor nmero positivo zj tal que


n
xj zj e xj zj. Ento, o
minimizar j=1 c j z j
problema acima equivale a:
sujeito a : A.x b

Abril-agosto 2004

xj zj

j = 1,..., n

xj zj

j = 1,..., n

Modelos e mtodos de otimizao

ONS 97

Forma cannica de um PPL


Valores absolutos na funo objetivo minimizar j=1 c j x j
(custos c j positivos):
sujeito a : A.x b
n

Alternativamente, inicialmente substituir a varivel


irrestrita x j por:
+

xj = xj xj
+
j

x 0

x 0
Abril-agosto 2004

Modelos e mtodos de otimizao

ONS 98

Forma cannica de um PPL


A idia garantir que x j = x +j ou x j = x j , dependendo
do valor de x j ser positivo ou negativo.
+

Em seguida, substituir x j por x j + x j .


Ento, alternativamente o problema anterior equivale a:
Isto porque em uma soluo
vivel tima necessariamente
pelo menos uma das
componentes x +j ou x j
ser nula.
Abril-agosto 2004

minimizar j =1 c j ( x +j + x j )
n

sujeito a : A.x A.x b


+
j

x ,x 0

Modelos e mtodos de otimizao

j = 1,..., n
ONS 99

Forma cannica de um PPL


Qualquer problema de programao linear, envolvendo

igualdades ou desigualdades
variveis restritas ou irrestritas em sinal
minimizao ou maximizao
valores absolutos
funes lineares por partes

pode ser reformulado e colocado na forma cannica.

Abril-agosto 2004

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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.

Modelos e mtodos de otimizao

ONS 109

Geometria da PL
vrtice

Abril-agosto 2004

Modelos e mtodos de otimizao

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

Os conjuntos M1, M2 e M3 so conjuntos finitos de


ndices.
Abril-agosto 2004

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

ONS 114

Geometria da PL
x3
A
A, B e C: solues
bsicas viveis

P={(x1,x2,x3): x1+x2+x3=1, x10, x20, x30}


E

D
H 3 restries
ativas nos pontos
A, B, C e D.
Abril-agosto 2004

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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.

Dado um nmero finito m de desigualdades lineares, pode


haver apenas um nmero finito de solues bsicas viveis.
m desigualdades lineares, n restries ativas em qualquer soluo
bsica: nmero de solues bsicas limitado pelo nmero de
maneiras que se pode escolher n restries dentre m.
Abril-agosto 2004

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Se todas estas variveis so no-negativas, ento trata-se de


uma soluo bsica vivel.

Abril-agosto 2004

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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)

A soluo bsica determinada resolvendo-se a equao


B.xB = b, cuja soluo nica xB = B-1.b.
Abril-agosto 2004

Modelos e mtodos de otimizao

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

Colunas bsicas A4, A5, A6 e A7 so linearmente


independentes.

Abril-agosto 2004

Modelos e mtodos de otimizao

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

Soluo bsica vivel, pois


todas as variveis bsicas
so no-negativas.

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

Colunas bsicas A3, A5, A6 e A7 tambm so linearmente


independentes.

Abril-agosto 2004

Modelos e mtodos de otimizao

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

Soluo bsica no-vivel,


pois uma varivel bsica
negativa.

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

ONS 133

Geometria da PL
A: soluo bsica
A
E
H

B: soluo
D
bsica
degenerada
B

G
Abril-agosto 2004

E: soluo bsica vivel degenerada

F: soluo bsica vivel


no-degenerada
Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Base formada pelas colunas A1, A2, A3 e A7:


Fazer x4 = x5 = x6 = 0.
Resolvendo-se o sistema B.xB = b para as demais variveis:
x1 = 4, x2 = 0, x3 = 2, x7 = 6
Base degenerada: quatro varives nulas, e no apenas trs.
Abril-agosto 2004

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

ONS 138

Geometria da PL
A degenerao tem conseqncias importantes na queda
de desempenho dos resolvedores de problemas de
programao linear.

Abril-agosto 2004

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

ONS 143

Geometria da PL
Soluo tima finita nica:

Regio vivel limitada


Abril-agosto 2004

Regio vivel no-limitada

Modelos e mtodos de otimizao

ONS 144

Geometria da PL
Solues timas finitas alternativas:

Regio vivel limitada


Abril-agosto 2004

Regio vivel no-limitada

Modelos e mtodos de otimizao

ONS 145

Geometria da PL
Valor timo ilimitado:

Abril-agosto 2004

No existe soluo tima,


pois o valor timo ilimitado

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

ONS 150

Mtodo Simplex
Dados:

Variveis:

c = (c1 , c2 ,..., cn )1n

x1

x2
x=
...

x
n n1

a11
a
A = 21
...

am1

a12
a22
...
am 2

... a1n
... a2 n
... ...

... amn mn

Problema na forma cannica:

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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 )

a matriz bsica correspondente. Ento, xi = 0 para qualquer


varivel no-bsica e o vetor de variveis bsicas dado
por
x B (1)

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

Modelos e mtodos de otimizao

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

Como a matriz B inversvel, ento a direo dB = -B-1.Aj.


Abril-agosto 2004

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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 )

Como dB(r) < 0, ento xB(r) + *.dB(r) = 0: a varivel de


ndice r sai da base.
Abril-agosto 2004

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

ONS 169

Mtodo Simplex
4. Se alguma componente de dB = -B-1.Aj for negativa,
calcular
xB (i )
xB ( r )

= min{i =1,...,m:d B ( i ) <0}


=
d B(r )
d B ( i )
5. Formar uma nova base substituindo a coluna AB(r) pela
coluna Aj. Na nova soluo bsica vivel y obtida aps
esta mudana de base, os valores das variveis bsicas
so yj = * e yB(i) = xB(i) + *.dB(i) para qualquer i r.
Abril-agosto 2004

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

ONS 184

Resolvedores de PL
Xpress-MP

Empresa: Dash Optimization


Compete com o CPLEX
Programao linear, linear inteira, quadrtica
Alto desempenho
Muito flexvel
Resolve problemas com milhes de variveis e restries
Tambm possui uma linguagem de modelagem (AMPL)
http://www.dashoptimization.com

Abril-agosto 2004

Modelos e mtodos de otimizao

ONS 185

Resolvedores de PL
LINDO

Empresa: LINDO Systems Inc.


Programao linear, linear inteira, quadrtica
Muito simples de instalar e usar
http://www.lindo.com

Abril-agosto 2004

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

ONS 187

Resolvedores de PL
Survey atualizado disponvel em:

http://www.lionhrtpub.com/orms/surveys/LP/LPsurvey.html

Abril-agosto 2004

Modelos e mtodos de otimizao

ONS 188

Resolvendo problemas
Digitar o modelo diretamente na interface
Forma mais direta de resolver problemas simples.
Invivel para problemas de tamanho mdio

Criar um arquivo com o modelo do problema


Necessrio programar (C, Basic, Java) para gerar o modelo.
Permite tratar problemas grandes.
No flexivel.

Chamar funes do resolvedor atravs de bibliotecas.


a forma mais flexivel.
Permite interagir com o resolvedor enquanto o modelo resolvido.
Abril-agosto 2004

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

ONS 191

Escalonamento de funcionrios
Objetivo: minimizar o custo de pessoal sujeito ao
cumprimento das necessidades de atendimento.

Abril-agosto 2004

Modelos e mtodos de otimizao

ONS 192

Soluo Variveis de deciso


DOM: Quantidade de funcionrios que comeam a trabalhar nos
domingos.
SEG: Quantidade de funcionrios que comeam a trabalhar nas
segundas feiras.
TER: Quantidade de funcionrios que comeam a trabalhar nas
teras feiras.
QUA: Quantidade de funcionrios que comeam a trabalhar nas
quartas feiras.
QUI: Quantidade de funcionrios que comeam a trabalhar nas
quintas feiras domingos.
SEX: Quantidade de funcionrios que comeam a trabalhar nas
sextas feiras.
SAB: Quantidade de funcionrios que comeam a trabalhar nos
sbados.

Abril-agosto 2004

Modelos e mtodos de otimizao

ONS 193

Soluo - Funo objetivo


MIN 335 DOM + 300 SEG + 325 TER + 360 QUA + 360 QUI + 360
SEX + 360 SAB

Abril-agosto 2004

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

ONS 196

Anlise dos resultados


Valor da funo objetivo: 7750
Valor das variveis:
DOM: 2, SEG: 2, TER: 0, QUA: 2, QUI: 7, SEX: 5, SAB: 4

Quando se altera esta soluo tima?


Anlise de sensibilidade:
Coeficientes da funo objetivo
Lado direito das restries (para variveis duais)

Abril-agosto 2004

Modelos e mtodos de otimizao

ONS 197

Anlise - Custos reduzidos


Variveis com valor nulo na soluo:
De quanto deve se modificar o coeficiente da varivel na funo
objetivo para que ela possa deixar de ser nula?

Quando a varivel tem valor diferente de zero na soluo,


seu custo reduzido nulo.
Valor da varivel TER na soluo: 0
Custo reduzido da varivel TER: 100

Abril-agosto 2004

Modelos e mtodos de otimizao

ONS 198

Anlise - Custos reduzidos


O que acontece se o coeficiente de TER reduzido em
90? E em 110?
Seu custo reduzido s se torna negativo se seu custo
diminuir de pelo menos 100 unidades.
De quanto aumenta o valor da funo objetivo se a
seguinte restrio acrescentada?
RTER2) TER >= 1
Abril-agosto 2004

Modelos e mtodos de otimizao

ONS 199

Anlises - Variveis de folga


H uma varivel de folga para cada restrio.
Variveis de folga:
RQUI = 1

Isto quer dizer que na soluo encontrada a restrio


RQUI cumprida com folga de uma unidade, ou seja, na
quinta feira trabalham 13 funcionrios quando apenas 12
so necessrios.

Abril-agosto 2004

Modelos e mtodos de otimizao

ONS 200

Anlises - Variveis duais


H uma varivel dual para cada restrio.
As variveis duais dizem de quanto a funo objetivo vai
melhorar se aumentamos de uma unidade o valor do
lado direito da restrio.
Em quanto piora a funo objetivo quando se aumenta de
20 para 21 a quantidade de funcionrios necessrios s
segundas feiras?

Abril-agosto 2004

Modelos e mtodos de otimizao

ONS 201

Anlises - Variveis duais


A validez das variveis duais determinada pelo analise de
sensibilidade.
Aumentar o nmero de funcionrios necessrios s
segundas feiras para 22, 23 e 24.
O que acontece quando aumenta para 24?

Abril-agosto 2004

Modelos e mtodos de otimizao

ONS 202

Problema de planejamento da produo


Uma fbrica de computadores fabrica os modelos GP1,
GP2, GP3, WS1 e WS2.
Sistema
GP1
GP2
GP3
WS1
WS2
Abril-agosto 2004

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

Problema de planejamento da produo

Disponibilidade de CPUs: no mximo 7.000 unidades.


Suprimento de discos: limitado a 3.000 unidades.
Suprimento de placas de memria limitado a 8.000.
Demandas mximas:
1800 para GP1, 300 para GP3
3800 para toda a famlia GP
3200 para toda a famlia WS

Pedidos j recebidos:
500 GP2
500 WS1, 400 WS2
Abril-agosto 2004

Modelos e mtodos de otimizao

ONS 204

Problema de planejamento da produo


Objetivo: maximizar o lucro da empresa.

Abril-agosto 2004

Modelos e mtodos de otimizao

ONS 205

Problema de planejamento da produo


Variveis:
xi: quantidade de sistemas produzidos do tipo GPj, j=1,2,3
x4: quantidade de sistemas produzidos do tipo WS1
x5: quantidade de sistemas produzidos do tipo WS2

Abril-agosto 2004

Modelos e mtodos de otimizao

ONS 206

Problema de planejamento da produo


maximizar 60 x1 + 40 x2 + 30 x3 + 30 x4 + 15 x5
sujeito a:
x1 + x2 + x3 + x4 + x5 7000
4 x1 + 2 x2 + 2 x3 + 2 x4 + x5 8000
0.3 x1 + 1.7 x2 + 1.4 x4 3000
x1 1800
x3 300
x1 + x2 + x3 3800
x4 + x5 3200
x2 500
x4 500
x5 400

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

Modelos e mtodos de otimizao

ONS 207

Problema de planejamento da produo


Analise a soluo e responda:
Quais recursos esto limitando o lucro da empresa?
CPUs?
Placas?
Discos?

Abril-agosto 2004

Modelos e mtodos de otimizao

ONS 208

Problema de planejamento da produo


Se no existirem outros custos a serem considerados:
Comprar-se-ia discos a $ 15.000 para aumentar a produo?
Comprar-se-ia placas a $ 5.000 para aumentar a produo?

Abril-agosto 2004

Modelos e mtodos de otimizao

ONS 209

Problema de planejamento da produo


A empresa quer avaliar outro modo de produo para
economizar discos.
Produzir todos os computadores GP1 sem discos
Produzir todos os computadores GP2 com um disco
Produzir todos os computadores WS1 com um disco

Como muda a formulao?


Quanto ser o lucro?

Abril-agosto 2004

Modelos e mtodos de otimizao

ONS 210

Problema de planejamento da produo


maximizar 60 x1 + 40 x2 + 30 x3 + 30 x4 + 15 x5
sujeito a :
x1 + x2 + x3 + x4 + x5 7000
4 x1 + 2 x2 + 2 x3 + 2 x4 + x5 8000
0.3 x1 + 1.7 x2 + 1.4 x4 3000
x1 1800
x3 300
x1 + x2 + x3 3800
x4 + x5 3200
x2 500
x4 500
x5 400

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

Modelos e mtodos de otimizao

ONS 211

Problema de planejamento da produo


maximizar 60 x1 + 40 x2 + 30 x3 + 30 x4 + 15 x5
sujeito a :
x1 + x2 + x3 + x4 + x5 7000
4 x1 + 2 x2 + 2 x3 + 2 x4 + x5 8000
x2 + x4 3000
x1 1800
x3 300
x1 + x2 + x3 3800
x4 + x5 3200
x2 500
x4 500
x5 400

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

Modelos e mtodos de otimizao

ONS 212

Problema de planejamento da produo


O fabricante poderia tratar a falta de placas de memria
utilizando duas placas alternativas nos sistemas GP1, em
vez de quatro placas comuns.
4000 placas alternativas se encontram disponiveis.

Como mudar o modelo para considerar esta posibilidade?


Aumenta o lucro?
Concluso do exmplo

Abril-agosto 2004

Modelos e mtodos de otimizao

ONS 213

Problema de planejamento da produo


maximizar 60 x1 + 40 x2 + 30 x3 + 30 x4 + 15 x5
sujeito a :
x1 + x2 + x3 + x4 + x5 7000
4 x1 + 2 x2 + 2 x3 + 2 x4 + x5 8000
x2 + x4 3000
x1 1800
x3 300
x1 + x2 + x3 3800
x4 + x5 3200
x2 500
x4 500
x5 400

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

Modelos e mtodos de otimizao

ONS 214

Problema de planejamento da produo


maximizar 60 x1 + 40 x2 + 30 x3 + 30 x4 + 15 x5
sujeito a :
x1 + x2 + x3 + x4 + x5 7000
2 x2 + 2 x3 + 2 x4 + x5 8000
2 x1 4000
x2 + x4 3000
x1 1800
x3 300
x1 + x2 + x3 3800
x4 + x5 3200
x2 500
x4 500
x5 400
x1 , x2 , x3 , x4 , x5
Abril-agosto 2004

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

Modelos e mtodos de otimizao

ONS 215

Caminho mais curto em uma rede


Dada uma rede com custos (ou comprimentos) associados s sua
arestas, determinar o caminho mais curto entre dois ns
especficos (ns 1 e 5 abaixo).
2
3

1
2

3
3

O problema equivale a enviar uma unidade de fluxo do n


1 ao n 5 a custo mnimo
Abril-agosto 2004

Modelos e mtodos de otimizao

ONS 216

Fluxo de uma unidade a custo mnimo


Dada uma determinada rede com custos nas arestas, transportar a
custo mnimo uma unidade de fluxo entre os dois ns.
2
3

1
2

3
3

Abril-agosto 2004

Modelos e mtodos de otimizao

ONS 217

Caminho mais curto em uma rede


min 3 x12 + 2 x13 + x24 + 4 x25 + x34 + 3 x45
st
r1) x12 + x13 = 1
r5) x25 + x45 = 1
r2) x12 - x24 - x25 = 0
r3) x13 - x34 = 0
r4) x24 + x34 - x45 = 0
x12 >= 0
x13 >= 0
x24 >= 0
x25 >= 0
x34 >= 0
x45 >= 0
Abril-agosto 2004

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

ONS 219

Exerccio Avaliao

Abril-agosto 2004

10

11

12

13

14

15

16

17

18

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

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

Modelos e mtodos de otimizao

ONS 223

Вам также может понравиться