Sunteți pe pagina 1din 10

Resolua de exerccios de Programao Linear Inteira

Carlos Eduardo Ramisch - N. Carto: 134657


PESQUISA OPERACIONAL I (ADM01120) Turma B
Professor Denis Borenstein
19 de junho de 2006

Problema 1: Exerccio 1 da Lista de Exerccios


1) Uma certa indstria decidiu se expandir, construindo uma nova fbrica em Los Angeles ou em
San Francisco. Tambm est sendo considerada a construo de um novo depsito na cidade que for
selecionada para a nova fbrica. O valor presente lquido (lucraticviadade total considerando o valor
do dinheiro no tempo) de cada uma destas alternativas est apresentado na tabela abaixo. A ltima
coluna d o capital requerido para os respectivos investimentos, onde o capital total disponvel de
US$ 25.000.000,00*. O objetivo encontar a combinao vivel de alternativas que maximize o
valor presente lquido total.
Deciso
Valor presente lquido
Capital Requerido
Fbrica em Los Angeles

7 milhes

20 milhes

Fbrica em San Francisco

5 milhes

15 milhes

Depsito em Los Angeles

4 milhes

12 milhes

Depsito em San Francisco

3 milhes

10 milhes

Modelagem:
Considerando as seguintes variveis de deciso:
FL = 1, se a fbrica construda em Los Angeles.
0, caso contrrio.
FS = 1, se a fbrica construda em San Francisco.
0, caso contrrio.
DL = 1, se o depsito construdo em Los Angeles.
0, caso contrrio.
DS = 1, se o depsito construdo em San Francisco.
0, caso contrrio.
O modelo proposto (considerando os coeficientes e constantes medidos em milhes de dlares):
MAXIMIZE 7FL + 5FS + 4DL + 3DS
SUBJECT TO
20FL + 15FS + 12DL + 10DS <= 25
FL + FS = 1 !impede fbrica em S.F. e em L.A.
DL + DS = 1 !impede depsito em S.F. e em L.A.
FL + DS = 1 !impede fbrica em L.A. e depsito em S.F.
FS + DL = 1 !mpede fbrica em S.F. e depsito em L.A.
FL <= 1
FS <= 1
DL <= 1
DS <= 1
END
GIN 4
* No enunciado, o valor de US$ 25.000,00, porm foi alterado para que o problema tivesse soluo. Com US$
25.000,00, seria impossvel expandir a indstria, fosse em Los Angeles, fosse em San Francisco.

Resoluo:
A resoluo do problema pelo mtodo simplex no programa LINDO mostrada a seguir:
LP OPTIMUM FOUND AT STEP
2
OBJECTIVE VALUE = 8.00000000
NEW INTEGER SOLUTION OF 8.00000000 AT BRANCH
0 PIVOT
BOUND ON OPTIMUM: 8.000000
ENUMERATION COMPLETE. BRANCHES= 0 PIVOTS=
2

LAST INTEGER SOLUTION IS THE BEST FOUND


RE-INSTALLING BEST SOLUTION...
OBJECTIVE FUNCTION VALUE
1)

8.000000

VARIABLE
FL
FS
DL
DS

VALUE
0.000000
1.000000
0.000000
1.000000

REDUCED COST
-7.000000
-5.000000
-4.000000
-3.000000

ROW SLACK OR SURPLUS DUAL PRICES


2)
0.000000
0.000000
3)
0.000000
0.000000
4)
0.000000
0.000000
5)
0.000000
0.000000
6)
0.000000
0.000000
7)
1.000000
0.000000
8)
0.000000
0.000000
9)
1.000000
0.000000
10)
0.000000
0.000000
NO. ITERATIONS=
2
BRANCHES= 0 DETERM.= 1.000E

Interpretao:
A melhor alternativa construir a fbrica e o depsito em San Francisco, uma vez que o objetivo
maximizar o valor presente lquido.

Problema 2: Exerccio 2 da Lista de Exerccios


2) Um jovem casal, Eva e Estvo, quer dividir suas principais tarefas domsticas (compras,
cozinhar, lavar pratos e lavar roupas) entre si, de modo que cada um tenha duas tarefas, mas que o
tempo total gasto em tarefas domsticas seja mnimo. Suas eficincias nessas tarefas diferem, sendo
que o tempo que cada um gastaria para desempenhar uma tarefa dado pela seguinte tabela:
Agente

Compras

Cozinhar

Lavar Pratos

Lavar Roupas

Eva

3,2

7,4

4,1

2,5

Estvo

3,9

6,8

4,5

2,7

Modelagem:
Considerando as seguintes variveis de deciso:
EVCOM =
1, se a agente Eva designada para a tarefa Compras.
0, caso contrrio.
EVCOZ =
1, se a agente Eva designada para a tarefa Cozinhar.
0, caso contrrio.
EVPRA =
1, se a agente Eva designada para a tarefa Lavar Pratos.
0, caso contrrio.
EVROU =
1, se a agente Eva designada para a tarefa Lavar Roupas.
0, caso contrrio.
ESCOM =
1, se o agente Estvo designado para a tarefa Compras.
0, caso contrrio.
ESCOZ =
1, se o agente Estvo designado para a tarefa Cozinhar.
0, caso contrrio.
ESPRA =
1, se o agente Estvo designado para a tarefa Lavar Pratos.
0, caso contrrio.
ESROU =
1, se o agente Estvo designado para a tarefa Lavar Roupas.
0, caso contrrio.
O modelo proposto :
MINIMIZE
3.2EVCOZ + 7.4EVCOZ + 4.1EVPRA + 2.5EVROU +
3.9ESCOZ + 6.8ESCOZ + 4.5ESPRA + 2.7ESROU
SUBJECT TO
EVCOM + ESCOM = 1
!somente um deles pode fazer compras
EVCOZ + ESCOZ = 1
!somente um deles pode cozinhar
EVPRA + ESPRA = 1
!somente um deles pode lavar os pratos
EVROU + ESROU = 1
!somente um deles pode lavar as roupas
EVROU + EVPRA + EVCOZ + EVCOM = 2
!Eva precisa realizar duas tarefas
ESROU + ESPRA + ESCOZ + ESCOM = 2
!Estvo precisa realizar duas tarefas
EVROU <= 1
EVPRA <= 1
EVCOM <= 1
EVCOZ <= 1
ESPRA <= 1
ESROU <= 1
ESCOM <= 1
ESCOZ <= 1
END
GIN 8

Resoluo:
A resoluo do problema pelo mtodo simplex no programa LINDO mostrada a seguir:
LP OPTIMUM FOUND AT STEP
3
OBJECTIVE VALUE = 17.2999992
FIX ALL VARS.(

3) WITH RC > 0.000000E+00

NEW INTEGER SOLUTION OF 17.2999992 AT BRANCH


0 PIVOT
BOUND ON OPTIMUM: 17.30000
ENUMERATION COMPLETE. BRANCHES= 0 PIVOTS=
4
LAST INTEGER SOLUTION IS THE BEST FOUND
RE-INSTALLING BEST SOLUTION...
OBJECTIVE FUNCTION VALUE
1)

17.30000

VARIABLE
EVCOZ
EVPRA
EVROU
ESCOZ
ESPRA
ESROU
EVCOM
ESCOM

VALUE
0.000000
1.000000
1.000000
1.000000
0.000000
0.000000
0.000000
1.000000

REDUCED COST
10.600000
4.100000
2.500000
10.700001
4.500000
2.700000
0.000000
0.000000

ROW SLACK OR SURPLUS DUAL PRICES


2)
0.000000
0.000000
3)
0.000000
0.000000
4)
0.000000
0.000000
5)
0.000000
0.000000
6)
0.000000
0.000000
7)
0.000000
0.000000
8)
0.000000
0.000000
9)
0.000000
0.000000
10)
1.000000
0.000000
11)
1.000000
0.000000
12)
1.000000
0.000000
13)
1.000000
0.000000
14)
0.000000
0.000000
15)
0.000000
0.000000
NO. ITERATIONS=
4
BRANCHES= 0 DETERM.= 1.000E

Interpretao:
Eva deve realizar as seguintes tarefas: Lavar pratos e Lavar Roupas.
Estvo deve realizar as seguintes tarefas: Fazer compras e Cozinhar.
Dessa forma, o tempo gasto por ambos em tarefas domsticas igual a 17.3 (mnimo).

Problema 3: Exerccio 3 da Lista de Exerccios


3) Formule o problema 2 como um problema de designao e encontre a soluo que minimize o
custo.
Modelagem:
Um modelo de designao um modelo no seguinte formato:
N

MINIMIZE

x ij cij
i=1

SUBJECT TO
m

x ij=1 i=1..m
j =1
n

x ij=1 j=1..n
i=1

Portanto, para transformar o problema 2 num modelo de designao, precisamos eliminar a varivel
2 do lado direito de duas restries. Isso pode ser feito se adicionarmos tabela de custos mais duas
linhas, ou seja, dois agentes artificiais para realizarem essas tarefas. Esses agentes sero Eva' e
Estvo', que iro funcionar como clones de Eva e Estvo. Dessa forma, Eva realiza apenas uma
tarefa, enquanto seu clone Eva' realiza tambm apenas uma tarefa. Ao final, teremos encontrado que
Eva realiza duas tarefas, uma vez que ela e seu clone so, no mundo real, a mesma pessoa. O
raciocnio anlogo feito para Estvo e Estvo'. O modelo proposto considera as variveis do
problema 2 adicionadas de mais oito variveis para os agentes artificiais, nomeadas com um 2 no
aps as duas primeiras letras do nome da varivel para indicar que a varivel se refere ao agente
clone. Por exemplo, EV2COZ vale 1 se o clone de Eva realiza a tarefa Cozinhar, e vale 0 caso
contrrio. O modelo fica da seguinte forma:
MINIMIZE
3.2EVCOZ + 7.4EVCOZ + 4.1EVPRA + 2.5EVROU +
3.9ESCOZ + 6.8ESCOZ + 4.5ESPRA + 2.7ESROU +
3.2EV2COZ + 7.4EV2COZ + 4.1EV2PRA + 2.5EV2ROU +
3.9ES2COZ + 6.8ES2COZ + 4.5ES2PRA + 2.7ES2ROU
SUBJECT TO
EVCOM + ESCOM + EV2COM + ES2COM = 1 !somente um deles pode fazer compras
EVCOZ + ESCOZ + EV2COZ + ES2COZ = 1
!somente um deles pode cozinhar
EVPRA + ESPRA + EV2PRA + ES2PRA= 1
!somente um deles pode lavar os pratos
EVROU + ESROU + EV2ROU + ES2ROU= 1
!somente um deles pode lavar as roupas
EVROU + EVPRA + EVCOZ + EVCOM = 1
!Eva deve fazer uma tarefa
ESROU + ESPRA + ESCOZ + ESCOM = 1
!Estvo deve fazer uma tarefa
EV2ROU + EV2PRA + EV2COZ + EV2COM = 1 !o clone de Eva deve fazer uma tarefa
ES2ROU + ES2PRA + ES2COZ + ES2COM = 1 !o clone de Estvo deve fazer uma tarefa
EVROU <= 1
EVPRA <= 1
EVCOM <= 1
EVCOZ <= 1
ESPRA <= 1
ESROU <= 1
ESCOM <= 1
ESCOZ <= 1
END
GIN 16

EV2ROU <= 1
EV2PRA <= 1
EV2COM <= 1
EV2COZ <= 1
ES2PRA <= 1
ES2ROU <= 1
ES2COM <= 1
ES2COZ <= 1

Resoluo:
A resoluo do problema pelo mtodo simplex no programa LINDO mostrada a seguir:
LP OPTIMUM FOUND AT STEP 16
OBJECTIVE VALUE = 17.2999992
NEW INTEGER SOLUTION OF 17.2999992 AT BRANCH
0 PIVOT
18
BOUND ON OPTIMUM: 17.30000
ENUMERATION COMPLETE. BRANCHES= 0 PIVOTS=
18
LAST INTEGER SOLUTION IS THE BEST
FOUND
ROW
RE-INSTALLING BEST SOLUTION...
PRICES
2)
OBJECTIVE FUNCTION VALUE
3)
4)
1)
17.30000
5)
6)
VARIABLE
VALUE
REDUCED
7)
COST
8)
EVCOZ
0.000000
10.600000
9)
EVPRA
1.000000
4.100000
10)
EVROU
0.000000
2.500000
11)
ESCOZ
1.000000
10.700001
12)
ESPRA
0.000000
4.500000
13)
ESROU
0.000000
2.700000
14)
EV2COZ
0.000000
10.600000
15)
EV2PRA
0.000000
4.100000
16)
EV2ROU
1.000000
2.500000
17)
ES2COZ
0.000000
10.700001
18)
ES2PRA
0.000000
4.500000
19)
ES2ROU
0.000000
2.700000
20)
EVCOM
0.000000
0.000000
21)
ESCOM
0.000000
0.000000
22)
EV2COM
0.000000
0.000000
23)
ES2COM
1.000000
0.000000
24)
25)
NO. ITERATIONS=
18
BRANCHES= 0 DETERM.= 1.000E

SLACK OR SURPLUS
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
1.000000
0.000000
1.000000
1.000000
1.000000
1.000000
1.000000
0.000000
0.000000
1.000000
1.000000
1.000000
1.000000
1.000000
0.000000
1.000000

DUAL

0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000

Uma vez que este um modelo de designao, uma forma alternativa de se resolver o problema
utilizando o mtodo hngaro. Utilizaremos esse mtodo para conferir a resposta encontrada pelo
LINDO.
Mtodo Hngaro:
1.a) Mnimo das linhas:
1.b) Mximo das colunas:
2) Retas para cobrir zeros
3,2 7,4 4,1 2,5
2,5
0,7 4,9 1,6 0
0 0,8 0 0
3,9 6,8 4,5 2,7

2,7

1,2 4,1 1,8 0

0,5 0 0,2 0

3,2 7,4 4,1 2,5

2,5

0,7 4,9 1,6 0

0 0,8 0 0

3,9 6,8 4,5 2,7

2,7

1,2 4,1 1,8 0

0,5 0 0,2 0

0,7 4,1 1,6 0

Interpretao:
Pela soluo do simplex:
Eva realiza a tarefa Lavar Pratos, Estvo a tarefa Cozinhar, Eva' a tarefa Lavar Roupas e Estvo' a
tarefa Fazer compras. Uma vez que no mundo real Eva e Eva' so a mesma pessoa, bem como
Estvo e seu clone Estvo', podemos afirmar que:
Eva deve realizar as seguintes tarefas: Lavar pratos e Lavar Roupas.
Estvo deve realizar as seguintes tarefas: Fazer compras e Cozinhar.
Pela soluo do mtodo hngaro:
Eva pode Fazer Compras, Lavar Pratos ou Lavar Roupas.
Estvo pode Fazer Compras ou Cozinhar.
Uma vez que estvo necessita de duas tarefas, Eva no pode fazer compras. Portanto, Eva
designada para as tarefas Lavar Pratos ou Lavar Roupas enquanto Estvo designado para as
tarefas Fazer Compras e Cozinhar.
Ambas as respostas so exatamente iguais resposta do problema 2, com o mesmo valor para a
funo objetivo na resoluo do Simplex (17.3), como era esperado.

Problema 4: Problema da evacuao (ditado em aula)


Numa certa regio existe uma usina nuclear para gerao de energia eltrica. Face possibilidade
da ocorrncia de vazamento de material radioativo, necessria a preparao de um plano de
evacuao de emergncia para a regio circumvizinha. O plano dever prever a retirada segura de
pessoas, animais e patrimnio essencial antes que os mesmos possam sofrer os efeitos nocivos da
exposio radioativa. O modelo proposto para a evacuao idealiza a concentrao das pessoas,
animais e patrimnio em um centro de triagem e evacuao. A determinao do nmero de centros
de triagem transcende a dimenso econmica. Se por um lado, um nmero excessivo de centros
dificulta a coordenao da evacuao e aumenta o risco da exposio dos seres humanos, por outro,
um nmero pequeno ocasionar certamente insuficincia no atendimento. As unidades de
discretizao possuem as seguintes demandas:
pi = nmero de pessoas na rea i
vi = nmero de animais na rea i
oi = nmero de unidades de patrimnio na rea i
Cada centro de evacuao pode atender g pessoas, k animais e l unidades de patrimnio. Formule o
problema de minimizar o nmero de centros de triagem do sistema de evacuao.
Modelagem
Considerando que o problema nos d apenas informaes genricas sobre o problema, num
primeiro momento iremos construir um modelo abstrato, e atribuiremos valores fictcios para a
demonstrao do modelo num segundo momento.
Modelo Abstrato:
Considerando as seguintes variveis e parmetros:
m = nmero de reas
n = nmero de centros de triagem
aij = 1, se o local j cobre a rea i
0, caso contrrio
xj = 1, se o local j escolhido para a abertura de um centro de evacuao
0, caso contrrio.
O modelo proposto :
n

MINIMIZE

x ij
j=1

SUBJECT TO
n

a ij x j1 i=1..m
j=1
n

a ij x j pi g j=1..n
j=1
n

a ij x j v ik j=1..n
j=1
n

a ij x j oil j=1..n
j=1

A primeira restrio garante que todas as reas so cobertas e as trs restantes garantem que a
demanda das reas obedece capacidade dos centros de evacuao.
Modelo Exemplificado:
A tabela abaixo modela os valores para aij e para as demandas pi, vi e oi.

Locais (ndice j)
reas (ndice i)

L1 L2 L3 L4 pi vi oi

Var. deciso

A1

A2

A3

1
1

A4 1
x1

10 2

15 7

20 12 11
27 3

x2

x3

x4

Considerando os limites g = 30, k = 15 e l = 20, podemos formular o seguinte modelo para


exemplificar:
MINIMIZE x1 + x2 + x3 + x4
SUBJECT TO
x2 + x3 >= 1
x2 >= 1
x3 + x4 >= 1
x1 >= 1
27x1 <= 30
3x1 <= 15
9x1 <= 20
10x2 + 15x2 <= 30
2x2 + 7x2 <= 15
8x2 + 5x2 <= 20
10x3 + 12x3 <= 30
2x3 + 12x3 <= 15
8x3 + 11x3 <= 20
20x4<=30
12x4<=15
11x4<= 20
x1 <= 1
x2 <= 1
x3 <= 1
x4 <= 1
END
GIN 4

Resoluo:
A resoluo do problema pelo mtodo simplex no programa LINDO mostrada a seguir:
LP OPTIMUM FOUND AT STEP
6
OBJECTIVE VALUE = 3.00000000
FIX ALL VARS.(

1) WITH RC > 0.000000E+00

NEW INTEGER SOLUTION OF 3.00000000 AT BRANCH


0 PIVOT
BOUND ON OPTIMUM: 3.000000
ENUMERATION COMPLETE. BRANCHES= 0 PIVOTS=
9

LAST INTEGER SOLUTION IS THE BEST FOUND


RE-INSTALLING BEST SOLUTION...
OBJECTIVE FUNCTION VALUE
1)

3.000000

VARIABLE
X1
X2
X3
X4

VALUE
1.000000
1.000000
0.000000
1.000000

REDUCED COST
1.000000
1.000000
1.000000
1.000000

ROW SLACK OR SURPLUS DUAL PRICES


2)
0.000000
0.000000
3)
0.000000
0.000000
4)
0.000000
0.000000
5)
0.000000
0.000000
6)
3.000000
0.000000
7)
12.000000
0.000000
8)
11.000000
0.000000
9)
5.000000
0.000000
10)
6.000000
0.000000
11)
7.000000
0.000000
12)
30.000000
0.000000
13)
15.000000
0.000000
14)
20.000000
0.000000
15)
10.000000
0.000000
16)
3.000000
0.000000
17)
9.000000
0.000000
18)
0.000000
0.000000
19)
0.000000
0.000000
20)
1.000000
0.000000
21)
0.000000
0.000000
NO. ITERATIONS=
9
BRANCHES= 0 DETERM.= 1.000E 0
Interpretao:
Os locais L1, L2 e L4 devem ser escolhidos para a abertura de centros de evacuao, de forma que
todas as reas sejam cobertas, as restries de demanda e capacidade sejam obedecidas e o nmero
de centros seja mnimo.