Documente Academic
Documente Profesional
Documente Cultură
2
[02] WAGNER, Harvey M. Pesquisa operacional. 2 ed. Rio de Janeiro: PrenticeHall do Brasil, 1986. 851p.
[03] HILLIER, Frederick S.; LIEBERMAN, Gerald J. Introduction to operations
research. 8 ed. New York: McGraw-Hill, 2006. 811p.
[04] GOLDBARG, Marco Cesar; LUNA, Henrique Pacca L. Otimizao
combinatria e programao linear: modelos e algoritmos. Rio de Janeiro:
Campus, 2000. 649p.
[05] ARENALES, Marcos; ARMENTANO, Vinicius; MORABITO, Reinaldo;
YANASSE, Horcio; Pesquisa Operacional para Cursos de Engenharia; Rio de
Janeiro: Editora Campus (Elsevier), 2008. 526p.
[06] BRONSON, Richard; Pesquisa Operacional; So Paulo: Coleo Schaum;
McGraw-Hill.
[07] SHAMBLIN, James E.; STEVENS JR, G. T.; Pesquisa Operacional - Uma
abordagem bsica; Editora Atlas.
[08] LUENBERGER, David G. Linear and nonlinear programming. 2
ed. Massachusetts: Addison-Wesley, c1984. 491p.
[09] HASTINGS, N. A. J; Dynamic Programming with Management Applications;
Butterworth; Hungary; 1973.
1.
3
Atualmente, o uso das ferramentas que passaram a ser utilizadas na PO
de fundamental importncia no desempenho de empresas modernas, que para
competir no mercado precisam otimizar cada passo do seu sistema de produo.
A competitividade vem do fato de que o decisor, atravs das ferramentas de
otimizao, consegue racionalizar os recursos de sua empresa.
2. Modelagem Matemtica
Um problema de otimizao pode ser representado de forma mais genrica
da seguinte forma:
Max f(x)
S.a.
h (x) 0 i 1, ..., m
g (x) 0 j 1, ..., m
i
x n
4
Neste caso, esta tcnica pressupe um modelo matemtico que represente o
objetivo do problema com uma funo objetivo formada por uma funo linear, e
suas limitaes como um conjunto de equaes ou inequaes lineares.
Programao No-Linear
So os modelos de otimizao, em que a funo objetivo no-linear e/ou uma ou
mais de suas restries so no-lineares.
Programao Inteira
Um modelo de otimizao considerado um problema de programa inteira se
alguma de suas variveis s puder assumir valor inteiro.
Os
seguintes
elementos
so
comuns
em
tomada
de
decises,
5
Decisor: refere-se ao indivduo ou grupo de indivduos responsvel pela
escolha da estratgia a ser seguida.
Objetivo: a especificao do que se pretende alcanar.
Escolha do valor ou preferncia: refere-se ao critrio adotado pelo
decisor para selecionar alguma alternativa, medindo a situao ou valor de
utilidade que o decisor associa a cada resultado.
Soluo
ou
estratgias
alternativas:
corresponde
diferentes
s1
e12
e22
.
.
.
en2
. . .
. . .
. . .
. . .
. . .
. . .
sm
e1m
e2m
.
.
.
enm
6
Situao de certeza: quando se conhece, a priori, o resultado associado a cada
deciso.
Situao de risco ou incerteza: quando cada deciso pode gerar um ou mais
resultados.
Situao de risco: quando se tem um oponente que ao mesmo tempo procura
maximizar a sua utilidade e minimizar a do adversrio.
Formulao do
Problema
Construo do
Modelo
Execuo das
Anlises
Implementao e
Utilizao
Formulao do problema:
-
7
-
Construo do modelo:
-
horizonte de tempo.
Implementao e utilizao:
-
8
No Negatividade: deve ser sempre possvel desenvolver dada atividade em
qualquer nvel no negativo e qualquer proporo de um
dado recurso deve sempre poder ser utilizado.
Aditividade: o custo total sempre a soma das parcelas associada a cada
atividade.
Separabilidade: pode-se identificar de forma separada o custo (ou consumo de
recursos) especfico de cada atividade.
Um modelo de PL um modelo matemtico de otimizao, em que todas
as funes so lineares.
Formulao Algbrica Geral
Otimizar z
c x
j
j1
Sujeito a :
n
a
j1
ij
x j b i i 1, ..., p
ij
x j b i i d 1, ..., q
ij
x j b i i p 1, ..., m
a
j1
n
a
j1
xj 0
j 1, ..., n
podemos ter:
Caso k > 1 : mltiplos objetivos;
Caso k = 1 : uma funo objetivo.
9
Classificao dos Problemas
a) A respeito do conjunto X (decises)
i)
ii)
iii)
iv)
ii)
iii)
f: n
, F. O. arbitrria.
Formulao de Modelos
Exemplo 1: (Produo)
Uma fbrica produz dois produtos, o Z28 e o Z45. A deciso consiste em
determinar o quanto produzir de cada produto de forma a garantir as limitaes
associadas aos produtos e maximizar o lucro da fbrica. A composio dos
insumos necessrios para a produo de uma unidade dada na tabela abaixo:
10
Por unidade produzida
Z28
Z45
Integrado w16
Integrado w20
Integrado w32
Lucro unitrio em R$
25
30
9 unidades de w16;
24 unidades de w20;
12 unidades de w32.
Soluo
xj o quanto produzir de Z28 (x1) e Z45 (x2);
bi a disponibilidade para produo de:
w16 b1 = 9
w20 b2 = 24
w32 b3 = 12.
cj lucro por unidade produzida de Z28 (c1 = 25) e Z45 (c2 = 30).
aij
11
Formulao matemtica
Eq. 02
4x 1 3x 2 24
Eq. 03
x 1 3x 2 12
Eq. 04
Eq. 01
x1 ,x2 0
Representao grfica da soluo
x1
Eq. 04
Eq. 03
Regio vivel
F. O.
Eq. 02
x2
12
Produto
Produtividade unidade/dia
x1
R$ 5,00
x2
R$ 4,00
x3
R$ 2,00
13
Encontre a formulao que d o lucro mximo.
Formulao matemtica
Max z 5x 1 4x 2 2x 3
s. a.
x 2 x 3 60
x 1 0,5x 2 0,25x 3 80
x 1 , x2, x3 0
Formulao Matemtica
14
Min z 3x 1 6x 2
s. a.
x1 x 2 5
4
x1
x2 7
3x 1 2x 2 18
- 7x 1 8x 2 0
x1 ,x2 0
6.1. Introduo
Os desenvolvimentos na rea de Programao Linear (PL) iniciaram em
1930 quando surgiram os primeiros trabalhos individuais para resolver problemas
de formulao econmica, mas ainda no havendo uma forma de soluo bem
definida. Em 1941 surgiu o algoritmo de Hitchcook que resolveu o problema de
transporte. Em 1947 Dantzig desenvolveu o algoritmo Simplex que resolve o
problema genrico de PL.
Em 1951 Gale, Kuhn e Tucker desenvolveram a teoria da dualidade que
permitiu um salto considervel na eficincia da soluo de problemas de PL.
Atualmente, com o desenvolvimento da informtica e estudos na rea de
PL, temos condies de resolver problemas de grande porte, por exemplo, 5.000
variveis e 3.000 restries, para isto existem pacotes tais como: MPSX, TEMPO,
LINDO, GAMS e outros.
15
chamados de vrtices. Pois pesquisando estes vrtices que o algoritmo Simplex
encontra a soluo tima do problema.
Analisando o grfico do exemplo 1 e procurando a soluo tima atravs
dos vrtices vamos encontrar a soluo tima no cruzamento das Eq 02 e Eq 04,
e o valor da soluo tima :
z = 148,125
x1 = 1,875
x2 = 3,375
cx
j1
(- c )x
j
j1
e vice versa.
a
j1
ij
x j bi
(- a
j1
ij
)x j - b i
e vice versa.
16
j1
j1
n
a ij x j s i b i
a ij x j b i
j1
si 0
Varivel de folga
n
a ij x j - t i b i
Varivel de excesso.
a ij x j b i
j1
t i 0
a
j1
ij
x j bi
equivalente :
n
j1
a ij x j b i e
a
j1
ij
x j bi
17
Caso 7 Restrio dupla (Range)
n
d i a ij x j b i
onde bi > di
j1
e equivalente :
n
a
j1
ij
x j si bi
si bi - di
si 0
Max z 5x 1 4x 2 2x 3
s. a.
x 2 x 3 60
x 1 0,5x 2 0,25x 3 80
x 1 , x2, x3 0
18
Como podemos observar a FO est na forma padro, mas as restries ainda
no. Para colocar as restries na forma padro, vamos usar o caso 3 e adicionar
as variveis de folga nas restries. Ento o problema fica:
Max z 5x 1 4x 2
s. a.
x2
2x 3
x 3 s1
x 1 0,5x 2 0,25x 3
60
s 2 80
x 1 , x 2 , x 3 , s1 , s 2 0
Alm de o problema estar na forma padro tambm existe uma partio da matriz
de restrio formada pelas colunas de s1 e s2 que uma identidade e base do
conjunto de restries. Essa formulao chamada cannica, portanto temos uma
soluo bvia para o problema que :
z = 0, x1 = 0, x2 = 0, x3 = 0, s1 = 60, s2 = 80.
Entretanto, nem todo problema to bem comportado como o do exemplo
anterior, podemos encontrar formulaes matemticas mais complicadas. Vamos
considerar o problema do Exemplo 3. Se o objetivo fosse minimizar os custos e a
preocupao de estoque fosse trocada pela preocupao de atender uma
demanda mnima total de 30 unidades dos produtos, a formulao ficaria a
seguinte:
Min z 5x 1 4x 2
s. a.
x1 x 2
2x 3
x 3 30
x 1 0,5x 2 0,25x 3 80
x 1 , x2, x3 0
19
30
s 2 80
x 1 , x 2 , x 3 , s1 , s 2 0
Como podemos observar, no possvel obter uma partio do problema padro
acima que forme a matriz identidade; logo, no temos uma soluo bvia do
problema.
Para resolver o problema de encontrar uma soluo vivel para o problema
acima existem dois tipos de tcnicas:
-
7. Forma Tableau
A forma Tableau uma forma compacta de representar um problema de
programao linear (PPL). Essa forma muito til na resoluo manual destes
problemas, mas computacionalmente no muito vivel, pois necessrio manter
um nmero muito elevado de elementos na memria do computador, o que pode
inviabilizar a soluo de grandes problemas alm de facilitar a ocorrncia de erros
de clculos.
20
Para aplicar o mtodo Tableau o problema tem de estar na forma cannica,
sua aplicao , na prtica, uma aplicao organizada do mtodo de
transformao de Gaus Jordan na transformao do problema, que ser
representado como um sistema de equaes, onde as colunas que representam
as variveis com valores diferente de zero (variveis bsicas) so vetores
elementares.
A seguir, ser apresentado o problema do exemplo 3 que dado por:
Max z 5x 1 4x 2
s. a.
x2
2x 3
x 3 s1
x 1 0,5x 2 0,25x 3
60
s 2 80
x 1 , x 2 , x 3 , s1 , s 2 0
como um sistema de equaes que fica da seguinte forma:
z - 5x 1 - 4x 2 -
2x 3
x 2 x 3 s1
x 1 0,5x 2 0,25x 3
(1)
60
(2)
s 2 80
(3)
Uma soluo bvia para este sistema de equaes, como j vimos anteriormente,
dada por:
z = 0, x1 = 0, x2 = 0, x3 = 0, s1 = 60 e s2 = 80.
Para aumentar o valor de z e manter a igualdade da equao (1), temos 7
alternativas:
1) aumentar o valor de x1 ;
2) aumentar o valor de x2 ;
3) aumentar o valor de x3 ;
4) aumentar o valor de x1 e x2 simultaneamente;
5) aumentar o valor de x1 e x3 simultaneamente;
6) aumentar o valor de x2 e x3 simultaneamente;
7) aumentar o valor de x1, x2 e x3 simultaneamente;
21
As alternativas 1), 2) e 3) correspondem ao mtodo Simplex que sero estudadas;
as demais correspondem a mtodos no Simplex, estas no sero consideradas.
Como a alternativa 1) d o maior incremento em z por unidade de aumento
da varivel escolhida vamos adotar esta alternativa. Desta escolha temos que:
-
- 1,5x 2 - 0,75x 3
x2
5s 2 400
x 3 s1
x 1 0,5x 2 0,25x 3
(1)
60
(2)
s 2 80
(3)
22
1) aumentar o valor de x2 ;
2) aumentar o valor de x3 ;
3) aumentar o valor de x2 e x3 simultaneamente;
Novamente temos mais de uma alternativa que indica aumento de z, mas olhando
as opes disponveis podemos verificar que apenas as alternativas 1) e 2)
atendem ao Simplex e entre elas, a alternativa 1) a que indica maior aumento de
z por unidade aumentada, logo vamos escolher a alternativa 1) de onde temos
que:
-
x2
x1
x3
s1
(1)
60
(2)
0,25x3 - 0,5s1 s 2 50
(3)
Como mais nenhuma varivel pode ser aumentada de forma que o valor de z
aumente, a soluo encontrada a soluo tima do exemplo 3, ou seja, a fbrica
vai produzir:
-
50 unidades de x1;
60 unidades de x2
23
E o produto x3 no ser produzido e ir consumir todos os recursos de mquina e
disponibilidade de estoque.
Max z 5x 1 4x 2
s. a.
x2
2x 3
x 3 s1
x 1 0,5x 2 0,25x 3
60
s 2 80
x 1 , x 2 , x 3 , s1 , s 2 0
o Tableau correspondente a esta formulao :
Tableau 1
xB
x1
x2
x3
s1
60
s2
0,5
0,25
80
-5
-4
-2
24
Passo 3 : Verifique se existe algum ck < 0 (ck o coeficiente de xk na FO, linha de
z). Em caso negativo, v ao passo 6, seno escolha uma varivel xk a
entrar na base e v ao passo 4.
Passo 4 : Calcule
r = br/ark = min {bi/aik | aik >0} (r indica a varivel bsica a sair da base)
se no existir aik > 0, a soluo ilimitada. PARE.
Passo 5: Pivotao
aij := aij (arj.aik)/ark , i r e j k;
bi := bi (br.aik)/ark , i r;
cj := cj (arj.ck)/ark , j k;
z := z (br.ck)/ark ;
aik := aik/ark ;
ck := ck/ark ;
arj := arj/ark , j k;
br := br/ark ;
ark := 1/ark ,
volte ao passo 3.
Passo 6 : Se Fase =1, verifique se as variveis artificiais so nulas, caso negativo,
no existe soluo vivel. PARE. Caso contrrio, troque a FO artificial
pela FO original, faa Fase = 2 e v ao passo 3.
Se Fase = 2, a soluo tima. PARE.
Conhecendo os passos algortmicos para resolver o PPL usando o Tableau,
vamos encontrar agora a soluo tima do exemplo 3 usando o algoritmo acima.
25
Exemplo 3:
Tableau 1
xB
x1
X2
x3
s1
60
s2
0,5
0,25
80
80/1 = 80
-5
-4
-2
s2
x2
x3
s1
60
60/1
x1
0,5
0,25
80
80/0,5
-1,5
-0,75
400
Como existe c2 < 0 que indica x2 para entrar na base e existe uma varivel para
sair da base que s1, vamos transformar o Tableau 2 segundo a nova base que
x2 e x1. Logo, o novo Tableau :
26
Tableau 3
xB
s2
s1
x3
x2
60
x1
-0,5
-0,25
50
1,5
0,75
490
v1 5
s2
x1
x2
4
s3
3x1 2x 2
7
s4
- 7x1 8x 2
18
s5
x 1 , x 2 , t 1 , s 2 , s3 , s 4 , s5 , v1 0
Tableau 1 (Fase = 1)
xb
x1
x2
t1
V1
-1
5/1
S2
4/1
S3
**
27
S4
18
18/3
S5
-7
**
(-w)
-1
-1
-5
(-z)
s2
x2
S1
v1
-1
-1
1/1
x1
**
s3
6/1
s4
4/2
s5
28
28/8
(-w)
-1
-1
**
(-z)
-3
-12
Tableau 3 (Fase = 1)
xb
s2
v1
s1
x2
-1
-1
x1
s3
-1
s4
-1
-2
28
s5
15
-8
20
(-w)
(-z)
-6
-18
s2
s1
x2
-1
-1
x1
s3
s4
-1
s5
15
20
(-z)
-18
29
8. Dualidade
Consideramos como Duais dois PPLs, que passaremos a denominar de
Primal e Dual, se atenderem s seguintes condies:
Teorema da Dualidade: os nicos inter-relacionamento possveis entre problemas
primais e duais.
a) Possurem FOs simtricas, ou seja, se o Primal for de minimizao, o Dual
ser de maximizao e vice versa.
b) Se a restrio for de no Primal no Dual ser de e vice versa.
c) O vetor de recursos do Primal ser o vetor de custos de Dual e vice versa.
d) O nmero de variveis do Primal ser o nmero de restries do Dual e
vice versa.
e) A matriz de restrio do Primal a transposta da matriz do Dual e vice
versa.
f) Se o Primal tiver soluo tima, o Dual tambm o ter e seus valores de
suas FOs sero os mesmos.
Exemplo:
Primal
Dual
s. a.
s. a.
x1 + 2x2 10
d1 - d2
12
30
-x1 + x2 6
2d1 + d2 + d3
x2 4
d1, d2, d3 0
x1, x2 0
9. Problema de Transporte
O problema de transporte tem como objetivo resolver os problemas de
transportar recursos de m origens para n destinos. A capacidade a1, a2, ... , am
origens (centros fornecedores) e
Min z c ij x ij
s. a.
i 1 j1
n
x
j1
ij
x
i 1
ij
ai
(i 1, ..., m)
bj
(j 1, ..., n)
x ij 0
i 1 j1
x ij a i
i 1
31
e as n de demanda temos:
m
i 1 j1
x ij b j
j1
portanto
m
i 1
ai =
j1
bj
Exemplo
Uma fbrica produz um produto em quatro cidades A, B, C e D, o produto
destina-se a trs centros consumidores I, II e III. Sabe-se que:
a) as cidades A, B, C e D dispem respectivamente de 30, 20, 50 e 10 mil
unidades.
b) Os centros de consumo I, II e III necessitam respectivamente de 20, 40 e 50
mil unidades.
c) Os custos em mil R$, por mil unidades, de transporte de cada cidade para
cada centro dado pela tabela abaixo:
Cidade / Centro
II
III
10
12
32
Mtodo do Custo Mnimo
Neste mtodo, temos:
1) Colocar os custos de transporte em um quadro, como o quadro acima.
2) Encontrar a clula, com oferta e demanda disponvel, de menor custo. Caso
no encontre nenhuma, FIM.
3) Alocar a esta clula o maior valor de transporte possvel e descontar este
valor da oferta e demanda. Volte ao passo 2).
Vamos fazer uma aplicao do exemplo acima:
Cidade / Centro
A
I
1
20
II
III
Oferta
30 / 10
10
12
20
50
10
Demanda
20 / 0
40
50
Como tnhamos dois com o mesmo custo para escolher pegamos o primeiro A I
e alocamos a ele 20 unidades que era o mximo possvel. Como ainda existe
demanda ou oferta disponvel, vamos encontrar um novo custo.
Cidade / Centro
II
III
Oferta
33
A
20
10
30 / 10 / 0
20 / 0
10
12
20
10
Demanda
20 / 0
40 / 30 / 20 / 0
40
50 / 10 / 0
10
10 / 0
50 / 40 / 0
Mtodo de Vogel
Este mtodo, como o anterior, tambm para encontrar a soluo inicial do
problema e desta forma no garante a soluo tima.
Neste mtodo, temos:
1) Montar uma tabela com os custos do problema.
2) Encontrar a diferena entre o menor e o penltimo menor de cada linha e
cada coluna. Caso no exista mais candidatos PARE.
3) Na linha ou coluna que ocorer a maior diferena alocar na clula de menor
custo o maior valor possvel e descontar este valor da demanda e da oferta
34
correspondente e eliminar a linha ou coluna cuja demanda ou oferta seja
zero. Voltar ao passo 2).
Aplicando o mtodo:
Passo1
Cidade /
Centro
A
25
Maior dif.
II
III
Oferta
30
10
12
20
50
10
Demanda
25
35
50
Maior dif.
II
III
Oferta
30 5
20
Passo2
Cidade /
Centro
A
25
20
Maior dif.
10
12
50
10
Demanda
25 0
35 / 25
50
Maior dif.
35
Passo3
Cidade /
Centro
A
25
II
III
Oferta
Maior dif.
30 5
10
12
20
20 0
30
50
10
Demanda
25 0
35
50 30
Maior dif.
II
III
Oferta
30 5
Passo4
Cidade /
Centro
A
25
Maior dif.
10
12
20
20 0
30
50 20
10
Demanda
25 0
35
50 30 0
Maior dif.
36
Passo5
Cidade /
Centro
A
II
25
III
5
Oferta
Maior dif.
30 5 0
10
12
20
20 0
30
50 20
10
Demanda
25 0
35 30
50 30 0
Maior dif.
II
III
Oferta
30 5 0
10
Passo6
Cidade /
Centro
A
25
5
12
Maior dif.
20
20 0
30
50 20 0
10 0
10
20
10
Demanda
25 0
35 30 20 0
50 30 0
Maior dif.
37
Soluo:
De A para I 25; 1
De A para II 5; 2
De B para III 20; 9
De C para II 20; 4
De C para III 30; 2
De D para II 10; 2
Z = 1*25 + 2*5 + 9*20 + 4*20 + 2*30 + 2*10 = 395
Min z c ij x ij
s. a.
i 1 j1
n
x
j1
ij
a i ( u i ) (i 1, ..., m)
ij
b j ( v j ) (j 1, ..., n)
x
i 1
x ij 0
Multiplicando cada equao de oferta por u i e cada equao de demanda por vj,
temos:
38
z c ij x ij u i
i 1 j1
i 1
x ij
j1
j1
i 1
i 1
j1
v j x ij u i a i v j b j
Logo
z (c ij - u i - v j ).x ij u i
i 1 j1
i 1
x ij
j1
j1
i 1
i 1
j1
v j x ij u i a i v j b j
39
Cidade / Centro
A
I
1
II
25
III
Oferta
30
20
10
12
20
10
Demanda
25
35
40
50
10
10
50
Para testar se esta soluo acima tima temos que verificar se os valores c ij ui
vj so todos positivos, caso exista algum negativo temos que fazer uma troca de
base. Ento, o primeiro passo encontrar os valores de u i e vj calculando cij ui
vj para as variveis bsicas,
xA,I cA,I uA vI = 0
1 uA vI = 0
2 uA vII = 0
1 uA vI = 0 vI = 1;
com uA = 0, temos:
xA,II cAII uA vII = 0
2 uA vII = 0 vII = 2;
com vI = 1, temos:
xB,II cB,II uB vII = 0 12 uB vII = 0 uB = 10;
40
com uC = 2, temos:
xC,II cC,II uC vII = 0 4 uC vII = 0 uC = 2;
com vIII = 0, temos:
xC,IiI cC,III uC vIII = 0 2 uC vIII = 0 vIII = 0;
com vII = 2, temos:
xD,III cD,III uD vIII = 0 1 uD vIII = 0 uD = 1.
Agora j temos os valores de ui e vj ento s calcular os cij ui vj
para as variveis fora da base para verificar se existe alguma varivel que pode
aumentar o valor de z, ou seja, se algum dos valores calculados negativo.
Para
xA,III cA,III uA vIII 3 0 0 = 3 no candidato a entrar na
base;
xB,I cB,I - uB - vI 10 10 1 = -1 candidato a entrar na base;
xB,III cB,III uB vIII 9 10 0 = -1 candidato a entrar na base;
xC,I
cC,I uC vI
321=0
xD,I
cD,I uD vI 5 1 1 = 3
no candidato a entrar na
base;
no candidato a entrar na
base;
xD,II cD,II uD vII 2 1 2 = -1
Cidade / Centro
II
III
Oferta
41
A
25-20
5+20
30
10
+20
12
20-20
20
10
Demanda
25
35
40
50
10
10
50
Para aumentar o valor de xBI tivemos que diminuir este valor de xBII e xAI e
aumentar em xAII de forma que o equilbrio das ofertas e das demandas fossem
mantidos. Ento, o novo quadro fica da seguinte forma:
Cidade / Centro
II
10
20
25
12
III
Oferta
30
20
10 -10
40+10
50
+10
10-10
10
Demanda
25
35
50
Cidade / Centro
II
III
Oferta
42
A
10
20
25
12
Demanda
25
10
35
30
20
50
50
10
50
1 uA vI = 0 vI = 1;
2 uA vII = 0 vII = 2;
xB,I cB,I uB vI = 0
10 uB vII = 0 uB = 8;
12 8 2 = 2 no candidato;
321 =0
no candidato;
xD,I cD,III uD vI
511 =3
no candidato;
43
-
Min z c ij x ij
s. a.
i 1 j1
n
x
j1
ij
1 (i 1, ..., n)
ij
1 (j 1, ..., n)
x
i 1
x ij 0 ou 1
Logo,
44
1, se a origem i for designada para atender o destino j
x ij
0, caso contrrio
z k (c ij k 1 )x 1j (c 2j k 2 ) x 2j ... (c nj k n ) x nj
j1
j1
j1
j1
j1
c ij x ij k 1 x 1j ... k n x nj
i 1 j1
como
n
i 1
j1
j1
x 1j x 2j ... x nj 1
temos
zk
i 1 j1
c ij x ij 1 k i
i 1
Portanto
n
zk z ki
i 1
45
O gerente de produo de uma fbrica tem de alocar quatro empregados
em quatro postos de trabalho diferentes. Sabe-se que a eficincia de cada
empregado diferente para cada posto de trabalho devido ao seu treinamento. A
eficincia, medida em pea por hora, de cada empregado em cada mquina
dada pela tabela abaixo:
Quadro 1:
1
24
13
10
25
23
28
10
17
15
46
seja igual ao nmero de origens ou destinos (alocaes) a soluo tima.
Faa a alocao e PARE.
5) Como a alocao ainda no tima, ento escolha o menor elemento da
matriz que ainda no est coberto por uma linha e subtraia-o de todos que
ainda no foram cobertos e adicione-o onde houver cruzamento de linhas.
Volte ao passo 4).
Soluo do exemplo 1
Quadro 2: Como nosso modelo est preparado para resolver problemas de
minimizao vamos multiplicar a matriz por 1, pois queremos maximizar
a eficincia.
-5
-24
-13
-7
-10
-25
-3
-23
-28
-9
-8
-5
-10
-17
-15
-3
Quadro 3:
1
19
11
17
K = -24
15
22
K = -25
19
20
23
K = -28
14
K = -17
Quadro 4:
47
1
19
15
15
20
19
18
21
12
K=0
K=0
K=2
K=2
19
15
15
20
19
18
21
12
Quadro 5:
Como o nmero mnimo de linha para cobrir todos os zeros igual ao nmero de
origens temos uma alocao tima que :
1
19
15
15
20
19
18
21
48
D
12
Exemplo 2
O gerente pretende alocar quatro tarefas (1, 2, 3 e 4) a quatro mquinas (A,
B, C e D) com produtividades iguais mais custos de manuteno diferentes. Os
seus custos de manuteno esto na tabela abaixo:
1
49
Alguns problemas de PL exigem que a resposta a um determinado
problema seja uma soluo com todos ou alguns valores inteiros, como por
exemplo se a resposta for o nmero de carros produzidos por uma montadora
bvio que a montadora no poder entregar 20,3 carros de um determinado tipo.
Para resolver este tipo de problema que surgiram os algoritmos que encontram a
soluo inteira de um PPL. O mais usado o algoritmo Branch & Bound. Para
entender a aplicao deste algoritmo, vamos acompanhar um exemplo.
Exemplo:
Max z = 2x1 + x2
s. a.
x1 + 3x2 13
(P-1)
-x1 + 7x2 8
x1, x2 0
P-1
Z = 15,5
X1 = 6,7
X2 = 2,1
x1 6
x1 7
P-2
P-3
Z = 14,33
X1 = 6
X2 = 2,33
x2 2
Invivel
x2 3
50
P-4
P-5
Z = 14
X1 = 6
X2 = 2
Z = 11
X1 = 4
X2 = 3
x1, x2 0
P-3
Max z = 2x1 + x2
s. a.
x1 + 3x2 13
51
-x1 + 7x2 8
x1
x1, x2 0
P-4
Max z = 2x1 + x2
s. a.
x1 + 3x2 13
-x1 + 7x2 8
x1
6
x2 2
x1, x2 0
P-5
Max z = 2x1 + x2
s. a.
x1 + 3x2 13
-x1 + 7x2 8
x1
6
x2 3
x1, x2 0
52
12. Programao Inteira Binria: Algoritmo de Balas
2 .x
i
i 1
, com x 1 0 ou 1
por exemplo, se
0 y 13
ento
y = 20x0 + 21x1 + 22x2 + 23x3
ou
y = 1x0 + 2x1 + 4x2 + 8x3
assim para
y = 5, temos:
x0 = 1, x1 = 0, x2 = 1 e x3 = 0.
Em 1963, Egon Balas descobriu um algoritmo para resolver o problema de
programao linear inteira binria, que chamado de aditivo, por s necessitar de
operaes aditivas. Este algoritmo resolve o problema:
n
Max z c j x j
S. a.
j 1
a
j1
ij
x j b i para i 1, ..., m
x j 0 ou 1
para j 1, ..., n
53
Passo 1: Considere todos os cij positivos, caso algum no seja positivo troque o xj
correspondente por xj = 1 xj.
Passo 2: A seguir, reescreva as equaes de modo que:
c1 c2 . . . cn 0
Passo 3: Gere uma soluo parcial fixando as k 1as variveis e deixando as n-k
livres. Uma soluo parcial completada quando atribumos valores s
n-k variveis que estavam livres. Uma soluo parcial gera dois outros
problemas quando atribumos:
Xk+1 = 1 e xk + 1 = 0.
Passo 4: Verifique a viabilidade da soluo proposta, calculando
k
b i a ij x j
j1
j k 1
ij
xj
b i - a ij x j
j1
min(a
j k 1
ij
,0)
Sempre que esta condio for violada, ser necessrio ramificar, ou seja, testar a
segunda opo do problema.
Exemplo 1:
Max z = - 2x 1 9x 2 8x 3 x 4
s.a.
3x 1 3x 2 - 6x 3 2x 4 1
x 1 + 2x 2 + 3x 3 x 4 5
x j 0 ou 1.
Passo 1 : x1 = 1- x1
54
Passo 2:
Max z = 9x 2 8x 3 2x1, x 4 - 2
s.a.
3x 2 - 6x 3 - 3x1, 2x 4 - 2
2x 2 3x 3 - x 1, x 4 4
x j 0 ou 1.
Passos 3 e 4 esto no quadro abaixo:
k
xk
zk
b i - a ij x j
j1
ij
,0)
Vivel?
-5
-9
Sim
-1
Sim
-3
Sim
-1
-1
Sim
Sim
Sim
Sim
-1
No
Sim
Sim
15
17
18
17
k = 1 j = 2, k = 2 j = 3, k = 3 j = 1 e k = 4 j = 4.
min(a
j k 1
Onde:
55