You are on page 1of 33

FACULDADE INTEGRADO DE CAMPO MOURO

DEPARTAMENTO DE ENGENHARIA DE PRODUO


CURSO DE ENGENHARIA DE PRODUO
DISCIPLINA DE INTRODUO ENGENHARIA DE PRODUO
PROFESSORA CELISE RODER
1. DUALIDADE
Em determinadas situaes, a quantidade de clculos necessria para resolver um
modelo linear pelo mtodo Simplex pode ser reduzida. O modelo inicial chamado Primal pode
ser substitudo por outro modelo chamado Dual, cuja soluo mais rpida. Uma vez
conhecida a soluo do Dual, conhece-se em consequncia a soluo do Primal, o que
resolve o problema.
Todo problema de programao linear, chamado Primal, possui um segundo problema
associado chamado Dual. Ambos so completamente inter-relacionados, de forma que a
soluo tima de um fornece informaes completas sobre o outro.
A cada modelo de programao linear com tendo coeficiente aij, bj e cj corresponde um
outro modelo denominado Dual, formado por esses mesmos coeficientes, porm dispostos de
maneira diferente.
O problema Dual, para modelos de programao linear na forma padro (todas as
restries so desigualdades do tipo ), construdo a partir do Primal da seguinte forma:
a) A funo-objetivo do dual de minimizao, ao passo que a do primal de
maximizao.
b) Os termos constantes das restries do dual so coeficientes da funo-objetivo
do primal.
c) Os coeficientes da funo-objetivo do dual so os temos constantes das restries
do primal.
d) As restries do dual so do tipo , ao passo que as restries do primal so do
tipo .
e) O nmero de incgnitas (variveis) do dual (m valores de yi) igual ao nmero de
restries do primal.
f)

O nmero de restries do dual igual ao nmero de incgnitas (variveis) do


primal (n valores de xj).

g) A matriz dos coeficientes do dual a transposta da matriz dos coeficientes do


primal.
h) As variveis de ambos os problemas so no-negativas.

Seja o problema Primal assim definido:

Max.Z c1x1 c2 x2 ... cnxn

Sujeito a:

a11x1 a12 x 2 ... a1nxn b1


a 21x1 a 22 x 2 ... a 2 nxn b 2
.
.
.
.
.
.
am1 x1 am 2 x 2 ... amnxn bm
xj 0 ( j 1,2,..., n)

y1
y2

ym

Onde:
i nmero de linhas (m nmero de linhas)
j nmero de colunas (n nmero de colunas)

Associando-se a cada restrio i do primal uma varivel yi, o problema dual assim
definido:

Min.D b1 y1 b2 y 2 ... bmym

Sujeito a:

a11 y1 a 21 y 2 ... am1 ym c1


a12 y1 a 22 y 2 ... am 2 ym c 2
.
.
.
.
.
.
a1ny1 a 2 ny 2 ... amnym cn
yi 0 (i 1,2,..., m)

Exemplo: Seja o seguinte problema, que ser chamado de Primal:

Max Z = 2X1 + 3X2 + X3


Sujeito a:

3X1 + 4X2 + 2X3

20

2X1 + 6X2 + X3
X1 X2 X3

10

30

X1 0; X2 0; X3

A obteno do Dual se processa da seguinte maneira: para cada restrio ser


atribuda uma varivel de deciso (yi). A funo objetivo do Dual ser de minimizao e cada
uma de suas parcelas ser o produto da varivel yi pelo termo da direita da restrio
correspondente.
Cada varivel de deciso do Primal gera uma restrio no Dual. Neste caso o sinal
ser , e o termo da direita ser o coeficiente da varivel Primal na funo objetivo. Todas as
variveis do Dual sero no negativas. Assim, o Dual ser formulado da seguinte maneira:

Min D = 10Y1 + 20Y2 + 30Y3


Sujeito a:

3Y1 + 2Y2 + Y3
4Y1 + 6Y2 - Y3
2Y1 + Y2 Y3

2
3

Y1 0; Y2 0; Y3

Devido a grande interligao existente entre os problemas dual e primal de se


esperar que seja grande a relao entre as solues timas.
Existem algumas razes para o estudo dos problemas duais. A primeira e mais
importante so as interpretaes econmicas que podemos obter dos valores das variveis
do Dual na soluo tima, tais como variaes marginais. A segunda est ligada ao nmero
de

restries.

problema

dual

apresenta

um

nmero

menor

de

restries.

Computacionalmente falando , algumas vezes, mais eficiente resolver o problema dual


(dependendo do nmero de restries e de variveis) do que o primal correspondente, j que
obtendo a soluo tima de um estaremos obtendo a do outro.

** Como a soluo de um problema pode ser obtida pela soluo do outro, em alguns
casos torna-se mais eficiente resolver o dual, j que grande parte da dificuldade
computacional do Mtodo Simplex dependente do nmero de restries, e no do nmero
de variveis.

Teoremas da Dualidade
Teorema I O dual do dual o primal.

Max.Z 5x1 2 x2

Sujeito a:

x1 3
x2 4
x1 2 x 2 9
x1 0; x 2 0

( y1)
( y 2)
( y 3)

Primal

Min.D 3 y1 4 y 2 9 y 3

Sujeito a:

y1 y 3 5
( x1)
y 2 2 y3 2
( x 2)
y1 0; y 2 0; y 3 0

Dual

Calculando o dual do dual, teremos novamente o primal.

Max.Z 5x1 2 x2

Sujeito a:

x1 3
x2 4
x1 2 x 2 9
x1 0; x 2 0

Logo, o dual do dual o primal.

Teorema II - Se a restrio K do primal uma igualdade, ento a varivel yK do dual sem


restrio de sinal (yK ser uma varivel livre). A restrio do tipo igualdade pode tambm ser
substituda por duas outras variveis com sinais contrrios.

Max.Z 5x1 2 x2

Sujeito a:

x1 2 x 2 9

( y1 )

x1 2 x 2 14

( y 2 ) Primal

x1 0; x 2 0

Para o clculo do dual y1 ser uma varivel livre.

Min.D 9 y1 14 y 2

Sujeito a:

y1 y 2 5
2 y1 2 y 2 2
y1 livre ; y 2 0

Dual

Teorema III Se a varivel p do primal sem restrio de sinal (varivel livre), ento a
restrio p do dual ser uma igualdade.

Max.Z x1 x2 2 x3

Sujeito a:

x1 2 x 2 10

( y1 )

3x1 4 x 2 x3 20

( y2 )

Primal

x1 0; x 2 livre; x3 0

Para o clculo do dual, como x2 uma varivel livre, a restrio correspondente ser uma
igualdade.

Min.D 10 y1 20 y 2

Sujeito a:

y1 3 y 2 1
2 y1 4 y 2 1
y2 2
y1 0; y 2 0

Dual

OBSERVAES:
* Se o objetivo de um problema maximizar, o do outro ser minimizar, e vice-versa.
* O problema de maximizao tem restries do tipo e o problema de minimizao
tem restries do tipo .
Existem duas maneiras de preparar o primal para se poder obter o dual:
1) Transformando a funo-objetivo em maximizao e as restries em (isto ,
inverter o sinal da restrio multiplicando toda a inequao por -1). Em outras
palavras, deixar o problema primal com funo-objetivo de maximizao e no
permitir que nenhuma de suas restries seja do tipo .
2) Deixar o problema primal com funo-objetivo de minimizao, e no permitir que
nenhuma restrio seja do tipo . Em outras palavras, inverter o sinal da restrio
multiplicando a inequao por 1.

Exemplo: Seja o seguinte problema primal.

Min.Z x1 5x2 2 x3

Sujeito a:

x1 4
x 2 x3 9
3x1 2 x 2 4 x3 8
x1 0; x 2 0; x3 0

Mtodo Dual-Simplex

Em alguns caso pode-se resolver diretamente o Dual introduzindo as variveis de


excesso e as variveis artificiais ao modelo de programao linear, e ento, aplicar o mtodo
da Funo-Objetivo Auxiliar/Artificial.
Max Z = 2X1 + X2
Sujeito a:

X1 + 5X2 + 2X3
X1 + 3X2

10

2X1 + 2X2 X3

30

X1 0; X2 0

Min D = 10Y1 + 6Y2 + 8Y3


Sujeito a: Y1 + Y2 + 2Y3

5Y1 + 3Y2 + 20Y3

Y1 0; Y2 0; Y3

O mtodo Dual-Simplex trata diretamente com solues compatveis bsicas do primal


e piores que a soluo tima, procurando otimiz-lo. Ele est ao mesmo tempo tratando
indiretamente com solues bsicas incompatveis do dual porm melhores que a sua
soluo tima, procurando compatibiliz-lo.
O mtodo Dual-Simplex lida diretamente com solues bsicas incompatveis porm
melhores que a tima, e procura achar a compatibilidade do problema. Ele lida com um
problema exatamente como se o mtodo simplex estivesse sendo, simultaneamente, aplicado
ao seu problema dual.
O mtodo Dual-Simplex bastante empregado em anlise de sensibilidade, quando
so feitas pequenas modificaes no modelo. Alm disso, algumas vezes mais fcil comear
com uma soluo bsica incompatvel, porm melhor que a tima e procurar a

compatibilidade, do que obter uma soluo compatvel bsica inicial e depois otimiz-la como
e faz no mtodo Simplex.

Resumo do Mtodo
Assumindo que a funo-objetivo de maximizao, o mtodo Dual-Simplex envolver
as seguintes etapas:
a) Introduzir as variveis de folga e achar uma soluo bsica inicial tal que todos os
coeficientes da linha da funo-objetivo (Z/D) do quadro inicial, estando a funo-objetivo
somente em funo das variveis no bsicas, sejam 0. Se esta soluo for compatvel
ento ela j a soluo tima.
b) Retirar da base aquela varivel que for mais incompatvel, isto , aquela que tiver o
menor valor negativo (maior valor absoluto com sinal negativo).
c) Introduzir na base aquela varivel cujo coeficiente na linha da funo-objetivo atingir
zero mais rapidamente (menor valor absoluto) quanto um mltiplo da equao contendo a
varivel que sai for somado linha da funo-objetivo.
d) Achar uma nova soluo bsica e colocar a funo-objetivo somente em funo das
variveis no-bsicas. Se esta soluo for compatvel, isto , se todos os valore bi (termo
independente) forem 0, ela a soluo tima. Caso contrrio, volte ao passo (b).
As diferenas com relao ao mtodo Simplex se resumem nas regras de entrada e
sada de variveis da base, que so as seguintes:
a) Varivel que sai: a varivel bsica com o valor mais negativo. Se todas as variveis
bsicas tiverem valores positivos, a soluo tima.
b) Varivel que entra: escolhida entre as variveis fora da base, da seguinte forma.
b1) Dividir os coeficientes do lado esquerdo da equao Z-transformada pelos
correspondentes coeficientes negativos da equao da varivel que sai;
b2) A varivel que entra a que tem o menor valor entre os quocientes
encontrados (problemas de minimizao) ou o menos valor absoluto
(problemas de maximizao).
Quando, em ambos os casos, no houver coeficientes negativos na linha da varivel
que sai da base, o problema no tem soluo vivel.
Exemplo: Resolver o problema abaixo usando o mtodo Dual-Simplex

Min D = 3Y1 + 4Y2 + 9Y3


Sujeito a: Y1 + Y3

Y2 + 2Y3

Y1 0; Y2 0; Y3

Analogia entre as Solues Primal e Dual

a) A cada soluo vivel bsica primal no tima corresponde uma soluo bsica
invivel dual.
b) A cada soluo tima primal corresponde soluo tima dual com Z = D.
c) O coeficiente da varivel de deciso na funo-objetivo primal o valor da varivel
de folga correspondente na soluo dual.
d) O coeficiente da varivel de folga da funo-objetivo primal o valor da varivel de
deciso correspondente na soluo dual. (Coeficiente de XFi = Valor de Yi).
Como o primal o dual do prprio dual, vale o raciocnio no sentido dual primal:
Coeficiente de Yi = Valor de XFi
Coeficiente de XFi = Valor de Xi

Exemplo:
Max Z = X1 + 2X2 + 3X3
Sujeito a:

X1 + X2 + X3 10
2X1 + X2 + 4X3 12
X1 + 3X2 - X3 9
X1 0; X2 0; X3

Dado um problema de programao linear, podemos escolher entre solucionar o


modelo primal ou o modelo dual correspondente. A escolha leva em considerao o esforo
computacional, que depende do nmero de restries, variveis artificiais, etc.
O modelo dual correspondente :
Min D = 10Y1 + 12Y2 + 9Y3
Sujeito a: Y1 + 2Y2 + Y3

Y1 + Y2 + 3Y3

Y1 + 4Y2 - Y3

Y1 0; Y2 0; Y3

Colocando as variveis de folga no primal, temos:


Z

-X1

-2X2

-3X3

X1

+X2

+X3

2X1

+X2

+4X3

X1

+3X2

-X3

+X4 (XF1)
+X5(XF2)
+X6(XF3)

10

12

Soluo Bsica Inicial Vivel


V.B.

X1

X2

X3

X4

X5

X6

T.I

-1

-2

-3

X4

10

X5

12

X6

-1

Soluo Bsica Inicial:


Z=0
X1 = 0
X2 = 0
X3 = 0
X4 = 10
X5 = 12

X6 = 9
Colocando as variveis de folga no dual temos:

Max (-D )= -10Y1 - 12Y2 - 9Y3


Sujeito a: -Y1 - 2Y2 - Y3 -1
- Y1 - Y2 - 3Y3 -2
- Y1 - 4Y2 + Y3 -3
Y1 0; Y2 0; Y3
-D

+10Y1

+12Y2

+9Y3

-Y1

-2Y2

-Y3

-Y1

-Y2

-3Y3

-Y1

-4Y2

+Y3

+Y4 (YF1)
+Y5(YF2)
+Y6(YF3)

-1

-2

-3

Soluo Bsica Inicial Vivel


V.B.

Y1

Y2

Y3

Y4

Y5

Y6

T.I

-1

10

12

Y4

-1

-2

-1

-1

Y5

-1

-1

-3

-2

Y6

-1

-4

-3

Soluo Bsica Inicial:


D=0
Y1 = 0
Y2 = 0
Y3 = 0
Y4 = -1
Y5 = -2
Y6 = -3

Correspondncia Primal Dual

PRIMAL

DUAL

Coeficiente de X1 = -1

Valor de Y4 = -1 (YF1)

Coeficiente de X2 = -2

Valor de Y5 = -2 (YF2)

Coeficiente de X3 = -3

Valor de Y6 = -3 (YF1)

Coeficiente de X4 = 0 (XF1)

Valor de Y1 = 0

Coeficiente de X5 = 0 (XF2)

Valor de Y2 = 0

Coeficiente de X6 = 0 (XF3)

Valor de Y3 = 0

COEFICIENTE NA FUNO-OBJETIVO

TERMO INDEPENDENTE

Valor de X1= 0

Coeficiente de Y4 = 0 (YF1)

Valor de X2 = 0

Coeficiente de Y5 = 0 (YF2)

Valor de X3 = 0

Coeficiente de Y6 = 0 (YF3)

Valor de X4 =10 (XF1)

Coeficiente de Y1 = 10

Valor de X5 = 12 (XF2)

Coeficiente de Y2 = 12

Valor de X6 = 9 (XF3)

Coeficiente de Y3 = 9

TERMO INDEPENDENTE

COEFICIENTE NA FUNO-OBJETIVO

Z=0

D=0

O quadro a seguir fornece a soluo tima do modelo primal.


V.B.

X1

X2

X3

X4

X5

X6

T.I

1,077

0,846

0,385

13,615

X4

0,154

-0,308

-0,231

4,231

X3

0,385

0,

0,231

-0,077

2,077

X2

0,461

0,077

0,308

3,692

Soluo tima do modelo primal:

Variveis Bsicas

Variveis No-Bsicas

Valor de Z

X2 = 3,692 (Y5)

X1 = 0 (Y4)

Z = 13,615

X3 = 2,077 (Y6)

X5 = 0 (Y2)

X4 = 4,231 (Y1)

X6 = 0 (Y3)

Relembrando:

- Cada varivel de deciso primal equivale a uma varivel de folga dual; e


- Cada varivel de folga primal equivale a uma varivel de deciso dual.

X1 = Y4

X4 = Y1

X2 = Y5

X5 = Y2

X3 = Y6

X6 = Y3

Z=D

Usando a correspondncia descrita anteriormente, podemos montar o quadro de


soluo tima do dual.

V.B.

Y1

Y2

Y3

Y4

Y5

Y6

T.I

-1

4,231

3,692

2,077

-13,615

Y4

1,077

Y2

0,846

Y3

0,385

Soluo tima do modelo dual:

Variveis Bsicas

Variveis No-Bsicas

Valor de D

Y4 = 1,077

Y1 = 0

D = -13,615

Y2 = 0,846

Y5 = 0

Y3 = 0,385

Y6 = 0

. PROGRAMAO INTEIRA
Um problema de programao inteira um problema de programao linear com o
requisito adicional de que o valor de uma ou mais variveis de deciso sejam nmeros inteiros.
Esses problemas podem apresentar dois tipos bsicos:

Programao Inteira Total todas as variveis de deciso so do tipo inteiro.

Programao Inteira Mista apenas uma parte das variveis so do tipo inteiro,
enquanto outras so do tipo real.

A todo problema de programao linear inteira est associado um problema com a


mesma funo-objetivo e as mesmas restries, com exceo da condio de variveis
inteiras. A este problema se d o nome de Problema Relaxado.

Maximizar Z = 3X1 + 3X2


Sujeito a:
2X1 + 4X2 12
6X1 + 4X2 24
X1 0; X2 0
X1 e X2 inteiros
Programao Linear Inteira
Maximizar Z = 3X1 + 3X2
Sujeito a:
2X1 + 4X2 12
6X1 + 4X2 24
X1 0; X2 0
Problema Relaxado/Programao Linear

A primeira idia que pode vir mente a de resolver o problema como se fosse um
problema de programao linear e truncar os valores timos encontrados para cada uma das
variveis de deciso. Para problemas de grande porte, isso geralmente resultar numa
soluo aceitvel (prxima ao timo real) sem a violao de nenhuma restrio. Para
problemas menores, este tipo de procedimento geralmente nos levar a solues inaceitveis,
s vezes longe do valor timo.
Em conseqncia, a primeira aproximao da soluo de qualquer problema de
programao inteira pode ser obtida ignorando-se o requisito de valores inteiros e resolvendose o problema de programao linear resultante por meio de uma das tcnicas de
programao linear j conhecidas.

Se acontecer da soluo tima ao problema de programao linear ser inteira, ento


esta soluo tambm soluo tima ao problema de programao inteira original. Caso
contrrio, e esta a situao usual, pode-se arredondar os componentes da primeira
aproximao aos valores inteiros viveis mais prximos e obter uma segunda aproximao.
Este procedimento freqentemente posto em prtica, especialmente quando a primeira
aproximao envolve grandes nmeros, mas pode ser impreciso quando os nmeros so
pequenos.
Diversos so os problemas que podem ocorrer pela utilizao da tcnica de
arredondamento da soluo do problema de programao linear. Entre eles podemos citar:

Nenhum ponto inteiro vizinho ao ponto timo necessariamente vivel.

Mesmo que um dos vizinhos seja vivel ele pode no ser necessariamente o
ponto timo inteiro.

A programao linear inteira possibilita resolver problemas que no seriam


adequadamente resolvidos pela Programao Linear, visto exigirem valores inteiros como
resposta.
Uma idia que pode resultar em uma soluo para um problema de programao
inteira o de se enumerar todas as possveis solues. De forma exaustiva todos os valores
possveis para a funo-objetivo so calculados e escolhido aquilo que apresenta o maior
valor, no caso de maximizao, ou o menor valor, no caso de minimizao.
O problema est no fato de que ela s consegue ser aplicada a problemas pequenos.
O nmero de combinaes possveis cresce de forma exponencial, isto , de forma muito
rpida.
Em um problema de MAXIMIZAO, o valor timo da funo-objetivo do problema
relaxado sempre representa um limite superior ao respectivo valor do problema inteiro. Em
um problema de MINIMIZAO, o valor timo da funo-objetivo de um problema relaxado
sempre representa um limite inferior ao respectivo problema inteiro.
Uma outra observao importante est no fato de que cada soluo vivel resulta num
problema de maximizao, em um limite inferior para o valor timo da funo-objetivo. Em um
problema de minimizao cada soluo vivel resulta num limite superior para o valor timo
da funo-objetivo.
Por exemplo, em um modelo de aquisio de equipamentos (mquinas, caminhes,
navios, etc.) o resultado somente pode ser inteiro e a alternativa de se resolver o problema
pela programao linear com posterior arredondamento no produz um resultado timo, caso
os valores timos das variveis sejam pequenos. Assim, se o resultado de um modelo implicar
a aquisio de 2,6 tratores, 1,6 caminhes e 3,2 mquinas de beneficiamento, o
arredondamento pode levar a uma soluo no tima. O mesmo problema, se resolvido pela
tcnica de programao linear inteira, pode levar a resultados bastante diferentes do

arredondamento. Por outro lado, se o resultado de um problema de programao linear


implicar valores grandes, o arredondamento pode ser feito sem nenhum receio. Assim, se um
modelo mostrar como soluo que uma empresa deve fabricar 254,8 caixas por semana, o
arredondamento para 255 certamente o resultado timo, mesmo se o problema for resolvido
por programao linear inteira.
De maneira geral, o problema passvel de soluo por programao inteira deve
apresentar as seguintes caractersticas:
a) Funo-objetivo linear;
b) Restries lineares;
c) Variveis positivas;
d) Algumas (ou todas) variveis inteiras.
Quando o problema envolve apenas duas variveis de deciso, a soluo tima de um
problema de programao linear inteira pode ser encontrada graficamente. Diversos
algoritmos so utilizados para a soluo de problemas de programao linear inteira, dentre
eles podemos citar: o algoritmo Branch-and-Bound (algoritmo da bifurcao e limite), o
algoritmo de Gomory (algoritmo de corte), o algoritmo de transportes, os modelos de
designao, entre outros.

4.1. Mtodo Branch-and-Bound (Algoritmo de Bifurcao e Limite)

O mtodo denominado de Branch-and-Bound baseia-se na idia de desenvolver uma


enumerao inteligente dos pontos candidatos soluo tima inteira de um problema. O
termo Branch refere-se ao fato de que o mtodo efetua parties no espao das solues. O
termo Bound ressalta que a prova de otimalidade da soluo utiliza-se de limites calculados
ao longo da enumerao.

4.1.1. Bifurcao

Se a primeira aproximao contm uma varivel no inteira, por exemplo, xj ento i1


xj i2, onde i1 e i2 so inteiros consecutivos e no negativos. Dois novos modelos de
programao inteira so ento criados aumentando o problema de programao inteira
original com a restrio xj i1 ou com a restrio xj i2. Este processo chama-se
BIFURCAO, e tem o efeito de contrair a regio vivel de um modo que elimina de

consideraes posteriores a soluo corrente no inteira para xj preservando ainda todas as


possveis solues inteiras do problema original.
Obtm-se as primeiras aproximaes dos dois modelos de programao inteira
gerados pelo processo de bifurcao, ignorando-se novamente os requisitos sobre valores
inteiros, e resolvendo-se os modelos de programao linear resultantes. Se alguma das
primeiras aproximaes continua a ser no inteira, ento o problema de programao inteira
originado por esta primeira aproximao torna-se candidato a uma bifurcao adicional.

4.1.2. Limite

Admita-se que a funo-objetivo deva ser maximizada. A bifurcao continua at ser


obtida uma primeira aproximao inteira (que uma soluo ao problema de programao
inteira). O valor da funo objetivo referente a esta primeira aproximao inteira torna-se um
limite inferior para o problema e, todos os modelos, cujas primeiras aproximaes, inteiras ou
no, conduzam a valores da funo objetivo menores que o limite inferior, so descartados.
O processo de bifurcao prossegue a partir dos modelos de programao com
primeiras aproximaes no inteiras que produzam valores da funo-objetivo maiores que o
limite inferior. Se durante o processo, for descoberta uma nova soluo inteira dando funoobjetivo um valor superior ao limite inferior corrente, ento esse valor da funo objetivo tornase o novo limite inferior. O modelo de programao que conduziu ao antigo limite inferior
eliminado, bem como o so todos os modelos de programao cujas primeiras aproximaes
dem funo objetivo valores menores que o novo limite inferior. O processo de bifurcao
prossegue at que no haja mais modelos com primeira aproximao no inteira a considerar.
Neste ponto, a soluo correspondente ao limite inferior corrente a soluo tima do
problema de programao inteira original.
Se a funo-objetivo deve ser minimizada, o procedimento permanece o mesmo,
exceto que sero utilizados limites superiores. Assim, o valor da primeira soluo inteira tornase o limite superior do problema e os modelos de programao so eliminados quando os
valores de Z de suas primeiras aproximaes so maiores que o limite superior corrente.

Exemplo:
Maximizar Z = 10X1 + X2

Sujeito a

2X1 + 5X2 11
X1 e X2 no negativos e inteiros

Utilizando o mtodo grfico para calcular o Modelo (1) obtemos como soluo X1 =
5,5 e X2 = 0 com Z = 55.

Como no obtemos uma varivel inteira na primeira aproximao (X1 = 5,5), ento
partimos para o processo de bifurcao. Tendo em vista que 5 X1 6, a bifurcao origina
dois novos modelos de programao inteira.

Modelo 2

Maximizar Z = 10X1 + X2
Sujeito a

2X1 + 5X2 11
X1 5
X1 e X2 no negativos e inteiros

Modelo 3
Maximizar Z = 10X1 + X2
Sujeito a

2X1 + 5X2 11
X1 6
X1 e X2 no negativos e inteiros

Utilizando o mtodo grfico para calcular os modelos (2) e (3) verificamos que no
podemos obter no modelo (2) uma varivel inteira (X2 = 0,2) e o modelo (3) no apresenta
regio vivel de soluo. Logo o modelo (2) candidato a nova bifurcao.
Como X2 = 0,2 temos:
0 X2 1

Acrescentamos ento duas novas restries (X2 0 e X2 1) nos dois novos modelos
de programao inteira.

Modelo 4

Maximizar Z = 10X1 + X2
Sujeito a

2X1 + 5X2 11
X1 5
X2 0
X1 e X2 no negativos e inteiros

Modelo 5

Maximizar Z = 10X1 + X2
Sujeito a

2X1 + 5X2 11
X1 6
X2 1
X1 e X2 no negativos e inteiros

Utilizando o mtodo grfico para calcular os modelos (4) e (5) obtemos as seguintes
solues:
Modelo (4): X1 = 5; X2 = 0 e Z = 50
Modelo (5): X1 = 3; X2 = 1 e Z = 31
Ambas as solues apresentam todas as variveis inteiras. De acordo com a teoria,
quando obtemos uma primeira aproximao inteira (que uma soluo ao problema de
programao inteira), o valor da funo objetivo desta primeira aproximao torna-se um limite
inferior para o problema, devendo ser descartados todos os modelos que conduzam a valores
da funo objetivo menores que o limite inferior. Logo o modelo 5 foi eliminado por causa do
limite inferior.

Diagrama esquemtico dos resultados

X2 0

4
Z = 50

X1 5

(5;0)

Z =50,2
(5;0,2)

X2 1

Z = 55

Z = 31

(5,5;0)
X1 6

(3;1)

No
vivel

O problema de programao inteira original est designado por um 1 no interior de um


circulo e todos os demais modelos de programao formados por bifurcaes so designados,
por ordem de sua criao, por meio de nmeros inteiros no interior dos crculos. Assim, os
modelos de programao so designados, respectivamente, pelos nmeros 2 a 5 no interior
dos crculos. A soluo de primeira aproximao de cada um dos modelos de programao
est escrita ao p do crculo que designa o modelo. Cada crculo (modelo de programao)
ento conectado por uma reta ao crculo (modelo de programao) que o gerou pelo processo
de bifurcao. A nova restrio que definiu a bifurcao escrita acima da reta. Finalmente,
assinala-se o crculo com uma cruz se o modelo de programao correspondente deva ser
eliminado de consideraes posteriores. Assim, o ramo 3 foi eliminado por no ser vivel. O
ramo 5, foi eliminado por causa do limite inferior. Tendo em vista que no se deixou de

considerar nenhum ramo com soluo inteira, o diagrama esquemtico indica que o modelo
de programao 1 foi resolvido com X1 = 5, X2 = 0 e Z = 50
5. RESOLVENDO PROBLEMAS DE PROGRAMAO LINEAR NO EXCEL

5.1 Instalando o Solver

Caso a opo Solver no esteja presente no menu Ferramentas, isto porque a


ferramenta Solver no foi instalada. Para instal-la proceda da seguinte maneira:
-

No menu Ferramentas, clique em Suplementos. Se o solver no estiver listado na caixa


de dilogo, clique em Procurar e localize a unidade de arquivo para o suplemento
Solver.xla (Geralmente localizado na pasta Biblioteca\Solver) ou execute o programa
de instalao se no conseguir localizar o arquivo.

Na caixa de dilogo Suplementos, marque a caixa de seleo Solver.

Os suplementos que voc selecionar na caixa de dilogo permanecero ativos at que


voc os remova.

5.2. Definindo e Resolvendo um Problema de Programao Linear no Excel

Inicialmente, devemos definir o problema na planilha do Excel. A mgica da modelagem de


um problema de programao linear em uma planilha eletrnica est na maneira como arrumamos
as clulas.
Primeiramente devemos designar uma clula para representar cada uma das seguintes
entidades:
-

Funo-Objetivo (Expresso a ser Maximizada ou Minimizada)

Variveis de Deciso (Variveis que o modelador pode alterar seu valor)

Para cada restrio:


- Uma para o lado esquerdo da restrio LHS (Left Land Side)
- Uma para o lado direito da restrio RHS (Right Land Side)
Para que possamos definir cada uma das clulas necessitamos inserir uma srie de

parmetros do problema, tais como todos os coeficientes das restries e da funo-objetivo.


Para lembrar o que cada clula representa aconselhvel a colocao de ttulos que
especifiquem o contedo de cada clula (clula com texto).
Precisamos agora avisar ao Excel quais so as clulas que representam a nossa funoobjetivo, as variveis de deciso, as restries do modelo e, finalmente, mandar o Excel resolver
para ns. Isto feito utilizando-se a Ferramenta (Solver) do Excel.
Para tal, clique com o boto esquerdo do mouse sobre o nome Ferramentas na barra de
menu e clique em Solver.
Aps este procedimento aparecer na tela uma janela, onde devero ser informadas ao
software as clulas que representaro a funo-objetivo, as variveis de deciso e as restries.
Na parte superior da janela aparece um campo para a entrada de dados chamado ClulaAlvo (Target Cell) que deve representar o valor da funo-objetivo. Existem duas maneiras para
designar esta clula:
-

A primeira clicar sobre o cone que est do lado direito do campo;

A segunda digitar o nome da clula no campo.


Na linha seguinte so apresentadas as opes de maximizar, minimizar e atingir valor.

Dependendo do problema devemos clicar o mouse sobre uma das trs.


Na prxima linha h um campo denominado Clulas Variveis (Changing Cells). Neste
campo sero inseridas as clulas que representaro as variveis de deciso.
Os valores podem ser inseridos da mesma maneira como no caso da funo-objetivo, isto
, clicando sobre o cone direita do campo e marcando as clulas escolhidas ou simplesmente
digitando seus nomes utilizando as regras do Excel para tal.

O prximo passo designar as restries do problema. Devemos inserir uma restrio de


cada vez.
Para inserir a primeira restrio devemos clicar no boto Add (Adicionar) para aparecer uma
janela de entrada de restries.
A janela de restries tem trs campos, que representam o LHS Cell Reference (
esquerda), o sinal da restrio (ao centro) e o RHS Constraint ( direita).
No necessria a introduo de variveis de folga/excesso, j que o Excel far isto de uma
forma automtica.
O passo seguinte ser o de clicar no boto OK, no caso de no haver nenhuma outra
restrio, ou Add para confirmar esta restrio e abrir espao para uma nova entrada. Ao final da
entrada de todas as restries, devemos acrescentar as restries de no-negatividade, isto ,
quais variveis de deciso no so negativas.
Existem duas maneiras de colocar estas restries no modelo:
-

A primeira simplesmente criar restries dizendo que cada varivel deve ser maior ou igual
a zero e adicionar a restrio.

A segunda alternativa para introduzir as variveis de no-negatividade atravs da opo


do Solver. Para poder utiliz-la, devemos clicar no boto Options (Opes) na janela de
parmetros, contendo as opes da ferramenta Solver do Excel. Para incluir esta opo
basta marcar o check Box ao lado da opo Assume Non-Negative (Assumir no-nagativos)
A ltima caracterstica do modelo que deve ser implementada a de Programao Linear.

Isto feito na mesma janela de opes. Basta marcar a opo Assume Linear Model (Assumir
modelo linear), bem acima da opo de no-negatividade. Para sair da janela basta clicar sobre o
boto OK da janela e isto levar de volta para a janela de parmetros.
Uma vez inserido o modelo e suas caractersticas, devemos efetivamente resolve-lo. Para
tanto basta clicar no boto Solver (Resolver) na janela dos parmetros da ferramenta Solver do
Excel.

Exemplo
Maximizar Z = 2X1 + 3X2
Sujeito a:
X1 + 5X2 15
X1 + 3X2 7

2X1 + 2X2 9
X1 0; X2 0

5.3. Anlise de Sensibilidade

Uma das hipteses dos problemas de programao linear a considerao de certeza nos
coeficientes e constantes. Isto , a soluo otimizada dependente dos coeficientes da funoobjetivo (geralmente lucro, receita ou custo unitrio) e dos coeficientes e constantes das restries
(geralmente necessidades por produto e disponibilidade de um recurso).
No mundo real, quase nunca temos certeza destes valores; portanto, devemos saber o
quanto a soluo otimizada est dependente de uma determinada constante ou coeficiente. Se
observarmos uma alta dependncia, devemos tomar um grande cuidado na determinao da
mesma.
Para amenizar essa hiptese realizamos uma anlise ps-otimizao verificando as
possveis variaes, para cima e para baixo, dos valores dos coeficientes da funo-objetivo, dos
coeficientes e das constantes das restries, sem que a soluo tima (X 1, X2... Xn) seja alterada.
Este estudo denominado Anlise de Sensibilidade.
Em uma anlise de sensibilidade deveremos responder basicamente a trs perguntas:

Qual o efeito de uma mudana num coeficiente da funo-objetivo?

Qual o efeito de uma mudana numa constante de uma restrio?

Qual o efeito de uma mudana num coeficiente de uma restrio?

Existem dois tipos bsicos de anlise de sensibilidade. O primeiro estabelece limites


inferiores e superiores para todos os coeficientes da funo-objetivo e para as constantes das
restries. Este estudo efetuado automaticamente pelo Excel, considerando a hiptese de apenas
uma alterao a cada momento. O segundo verifica se mais de uma mudana simultnea em um
problema altera a sua soluo tima. Neste caso, este estudo no realizado automaticamente
pelo Excel por se um estudo mais complexo. A maneira mais simples para se realizar este estudo,
em problemas de pequeno e mdio porte, o de se realizar alteraes na modelagem do problema
e encontrar sua nova soluo realizando uma nova otimizao.
Maximizar Z = 5X1 + 2X2
Sujeito a:
4X1 + X2 10

X1 + 2X2 9
X1 0; X2 0

Onde X1 e X2 representam as quantidades dos produtos P1 e P2. Os recursos R1 e R2 tm


disponibilidade de 10 e 9 unidades respectivamente. Os lucros unitrios so 5 e 2 respectivamente
para P1 e P2. Os coeficientes de X1 e X2 nas restries representam os usos dos recursos R1 e R2
por unidade dos produtos P1 e P2. Vamos verificar as conseqncias das variaes desses dados.
Considerando o problema acima, sua modelagem no Excel e os parmetros e opes do
Solver utilizado para resolv-lo. Aps o comando de otimizao ter sido dado, ou seja, clicamos no
boto OK de maneira que a soluo otimizada seja inserida automaticamente na planilha. Os
resultados sero inseridos automaticamente na planilha utilizada na modelagem.

Para obtermos os relatrios, devemos marc-los, clicando com o mouse nos trs relatrios
disponveis. Vale notar o aparecimento de diversas planilhas, uma para cada relatrio pedido.
Existem trs relatrios gerados pelo Excel. So eles: Relatrio de Respostas;Relatrio de
Sensibilidade; e Relatrio de Limites.

5.3.1. Relatrio de Respostas

Devemos salientar que algumas legendas so automaticamente inseridas pelo Excel. Estas
legendas podem ser alteradas facilmente pelo modelador, bastando editar a clula desejada.
A figura a seguir mostra o Relatrio de Respostas do problema que acabamos de modelar.

Este primeiro relatrio o de mais simples compreenso. O relatrio tem trs partes
distintas. A primeira parte, denominada Clula-Alvo (Clula de Destino), indica o tipo de problema
de otimizao tratado (maximizao ou minimizao) e o valor original (valor inicial) e final da
funo-objetivo, bem como a clula que foi utilizada para represent-la.
A segunda parte do relatrio relativo s variveis de deciso, denominada Clulas
Ajustveis Esta parte anloga a primeira parte. Ela apresenta os valores iniciais e finais das
variveis de deciso e as clulas utilizadas para defini-las.
A terceira parte diz respeito s restries. A coluna das clulas indica as clulas utilizadas
pelo LHS (Left Hand Side) de cada uma das restries. A coluna de valores das clulas indica os
valores das constantes (RHS) de cada uma das restries. A coluna Frmulas indica cada uma das

frmulas utilizadas nas restries. As colunas de Status e de Transigncia so as que no so de


compreenso direta.
A coluna Status pode apresentam dois valores: Agrupar e Sem Agrupar. Quando o valor
desta coluna relativo a uma restrio apresentar o valor Agrupar significa que o LHS tem o mesmo
valor do RHS quando so substitudos os valores da soluo tima no lado esquerdo da
restrio.Quando esta igualdade no acontecer, o valor apresentado ser de Sem Agrupar.
O mais importante est na interpretao desta igualdade. Quando a igualdade existe, o lado
direito e esquerdo da restrio so iguais na soluo tima, significando que todo o recurso
disponvel (RHS) foi consumido, isto , a varivel de folga ou excesso (Transigncia) tem valor zero.
A coluna Transigncia indica a diferena entre o LHS e o RHS de cada uma das restries.
Por definio, restries que tenha o status Agrupar dever apresentar valor na coluna Transigncia
igual a zero. As restries com valor Sem Agrupar apresentam algum valor positivo, que a
diferena entre a disponibilidade do recurso e o que ser efetivamente utilizado caso a soluo
tima seja implantada.

5.3.2. Relatrio de Limites

O relatrio de limites do problema em estudo apresentado a seguir.

Este relatrio apresenta duas partes. A primeira na parte superior, relativa funo-objetivo,
e a outra na parte inferior, relativa s variveis de deciso. A parte superior de interpretao direta
e apresenta a clula utilizada para representar a funo-objetivo e o seu valor na soluo tima.
A parte inferior do relatrio necessita de esclarecimentos. O lado esquerdo apresenta as
clulas utilizadas para representar as variveis de deciso e seus valores na soluo tima. O lado
direito (4 ltimas colunas) diz respeito variao possvel dos valores das variveis de deciso. Os
limites inferiores significam os menores valores que estas variveis de deciso podem assumir
(mantidas todas as outras como constantes) sem que nenhuma restrio deixe de ser satisfeita. A
coluna seguinte indica o valor da funo-objetivo, caso cada varivel de deciso em questo
assuma o limite inferior e todas as outras permaneam constantes. As duas colunas seguintes so
de interpretao anloga. A nica diferena que ao invs de encontrarmos os menores valores,
encontraremos os maiores valores.

5.3.3. Relatrio de Sensibilidade

A figura a seguir apresenta o relatrio de anlise de sensibilidade do problema em estudo.

Este relatrio divido em duas partes. A primeira refere-se s mudanas que possam
ocorrer nos coeficientes das variveis de deciso da funo-objetivo. A outra parte mostra as
possveis alteraes que as constantes das restries podem sofrer.
Na primeira coluna so apresentadas as clulas que representam as variveis de deciso e
os LHS das restries, enquanto na terceira coluna so apresentados os valores aps a otimizao.
A quarta coluna contm os valores das variveis de deciso e de folga/excesso do problema dual
(Custo Reduzido e Preo-Sombra).

Preo-Sombra
-

A quantidade pela qual a funo-objetivo altera dado um incremento de uma unidade na


constante da restrio, assumindo que todos os outros coeficientes permaneam
constantes.

A interpretao econmica seria at quanto estaramos dispostos a pagar por uma unidade
adicional de um recurso.
O Excel reporta o valor do preo-sombra como um valor positivo ou zero ou negativo.
Se o preo-sombra for positivo, um incremento de uma unidade na constante da restrio

resulta num aumento do valor de funo-objetivo. Se o preo-sombra for negativo, um incremento


de uma unidade na constante da restrio resulta na diminuio do valor da funo-objetivo. Como
comentado anteriormente, o valor do preo-sombra permanecer constante desde que o valor da

constante fique no intervalo descrito pelas duas ltimas colunas (Permissvel Acrscimo e
Permissvel Decrscimo).
Enquanto o valor da constante (RHS) permanecer no intervalo de variao, o conjunto de
variveis bsicas no se altera, isto , as variveis com valores diferentes de zero (as variveis
bsicas geralmente tem valor diferentes de zero) continuam com um valor diferentes de zero.
O preo-sombra de uma restrio do tipo Sem Agrupar tem que ser zero, uma vez que
existem recursos disponveis no sendo utilizados; portanto, sem valor marginal.
Devemos observar que uma restrio do tipo menor ou igual abrandada pelo incremento
de uma unidade, enquanto restries do tipo maior ou igual o pelo decremento de uma unidade.
Analogamente, uma restrio do tipo menor ou igual se torna mais restritiva pelo decremento de
uma unidade, e a do tipo maior ou igual pelo incremento de uma unidade.
O valor absoluto do preo-sombra pode ento ser visto como o valor que a funo-objetivo
melhorada no caso de um abrandamento na restrio, isto , um incremento de uma unidade na
restrio do tipo menor ou igual ou um decremento de uma unidade na restrio do tipo maior ou
igual.
Analogamente, o valor absoluto do preo-sombra pode ento ser visto como o valor da
funo-objetivo que piorado no caso de uma restrio se tornar mais restritiva, isto , um
incremento de uma unidade na restrio do tipo maior ou igual, ou um decremento de uma unidade
na restrio do tipo menor ou igual.

Custo Reduzido
Existem duas interpretaes bsicas para o Custo Reduzido:
-

A quantidade que o coeficiente da funo-objetivo de uma varivel original deve melhorar


antes desta varivel se tornar bsica.

A penalizao que dever ser paga para tornar uma varivel bsica.
Os Custos Reduzidos so as variveis de folga ou excesso do problema dual. Portanto, se

uma varivel do problema original for maior que zero, o valor da varivel do dual relacionada ser
zero, isto , o valor do custo reduzido ser zero.
Como os valores do Custo Reduzido esto ligados aos coeficientes da funo-objetivo
(lembrando que os coeficientes da funo-objetivo do problema Primal se tornam as constantes das
restries do problema Dual), as colunas Permissvel Acrscimo e Permissvel Decrscimo dos
coeficientes formam um intervalo no qual os coeficientes podem sofrer alteraes (desde que
apenas um dos coeficientes se altere) sem que a soluo tima seja alterada.

5.4. Exerccios

1) Uma pequena empresa produz psteres de bandas de Rock. Ela fabrica quatro tipos de psteres,
que diferem em tamanho e nas cores utilizadas. A empresa conseguiu uma impressora para
produzir os psteres. Cada pster deve ser impresso, cortado e dobrado. O tempo (em minutos)
para fazer isso para os quatro tipos de psteres e o lucro unitrio de:

Tipo de Pster

Impresso

Corte

Dobragem

Lucro

Disponvel

15000

20000

20000

Pede-se:
a) Construir o modelo matemtico para o problema de programao linear.
b) Determinar as quantidades timas produzidas e o lucro projeto utilizando a ferramenta
Solver do Excel.
c) Com base no relatrio de sensibilidade, determine quanto a empresa est disposta a pagar
por tempo extra de impresso, de corte e de dobragem?

2) As Indstrias Barbieri fabricam os Produtos 1 e 2. As empresas conseguem vender todos os


produtos. Cada produto passa por trs departamentos e os tempos de fabricao requeridos
encontram-se na tabela a seguir:

Tempo de fabricao em horas por unidade


Departamento A

Departamento B

Departamento C

Produto 1

Produto 2

Cada departamento, entretanto, tem uma capacidade fixa de homens-hora por ms, como
mostra a tabela a seguir.

Departamento

Capacidade mxima em homens-hora

160

120

280

A margem de contribuio do Produto 1 de $1,00 por unidade e a do Produto 2 de $1,50


por unidade.
O problema consiste em determinar quanto fabricar de cada produto com o objetivo de
maximizar a margem de contribuio total (MCT).
Pede-se:
1) Elaborar o modelo do problema.
2) Resolver o problema utilizando a Ferramenta Solver do Excel.
3) Analisar os relatrios de reposta, limites e sensibilidade e responder as seguintes
questes:
3.1) Qual a quantidade dos produtos deve ser produzida na soluo tima? Qual a MCT
obtida nessa soluo?
3.2) Em que departamentos produtivos existe ociosidade e de quantas horas?
3.3) Considerando a soluo tima, se o Produto 1 passar a ser produzido em seu limite
mnimo, qual a margem de contribuio total?
3.4) A partir da soluo tima, qual o reflexo na MCT de cada nova unidade do Produto
2 que a empresa produzir? Isto vlido para que intervalo?
3.5) Considerar que a empresa deseja ampliar a capacidade produtiva do Departamento
B.
3.5.1) Determinar qual o impacto na margem de contribuio que seria provocado
pelo aumento de cada nova unidade na capacidade total do departamento.
3.5.2) Considerar que o custo com a ampliao da capacidade produtiva de 40
unidades no departamento de $500,00. Calcular quantos meses seriam
necessrios para, com o ganho adicional na margem de contribuio da empresa,
cobrir os custos decorrentes da ampliao.

3) Dado o modelo de Programao Linear.

Maximizar Z = 2100X1 + 1200X2 + 600X

Sujeito a:
6X1 + 4X2 +6X3 3760 (Horas de Mquina)
12X1 +16X2 +2X3 9520 (Horas de Mo-de-obra)
X1 380 (Demanda de P1)
X2 400 (Demanda de P2)
X3 480 (Demanda de P3)
X1 0; X2 0; X3 0

a) Construir o modelo matemtico para o problema de programao linear.


b) Determinar as quantidades timas produzidas e o lucro projeto utilizando a ferramenta
Solver do Excel.
c) Qual a utilizao dos recursos horas de mquina e horas de mo-de-obra?
d) A demanda dos produtos P1, P2 e P3 completamente atendida? Justifique sua resposta.
e) Quais so as utilidades marginais (preo sombra) dos recursos produtivos (mquinas e mode-obra) e das demandas (P1, P2 e P3)?
f)

Caso pudssemos produzir mais uma unidade de produto (P1, P2 e P3), qual seria a melhor
opo? Porque?

g) Caso pudssemos acrescentar mais uma hora em algumas das sees (mquina/mo-deobra), qual seria a melhor alternativa? Por qu?
h) Quais so os recursos escassos do processo produtivo?
i)

Verifica-se que a demanda de alguns produtos no completamente atendida. Identifique


esses produtos.

You might also like