Escolar Documentos
Profissional Documentos
Cultura Documentos
Lindo Manual de Referencia 2004
Lindo Manual de Referencia 2004
MANUAL DE REFERNCIA
DEPARTAMENTO DE COMPUTAO
UNIVERSIDADE FEDERAL DE OURO PRETO
JANEIRO DE 2004
Contedo
1 LINDO
1.1
Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1.1
O que o LINDO? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1.2
1.2.1
1.2.2
1.2.3
1.2.4
1.2.5
1.3
1.4
Anlise de Sensibilidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11
1.2
Bibliograa
16
Lista de Figuras
1.1
1.2
1.3
1.4
1.5
1.6
1.7
1.8
1.9
10
10
10
10
10
11
11
11
13
13
13
ii
Captulo 1
LINDO
1.1 Introduo
1.1.1 O que o LINDO?
LINDO (Linear, INteractive, and Discrete Optimizer) uma conveniente, mas poderosa ferramenta
para resolver Problemas de Programao linear, inteira e quadrtica.
Funo objetivo (fo) que dever iniciar com os comandos MAX para maximizar e MIN para
Minimizar e frente dever ser colocada a funo objetivo.
A declarao SUBJECT TO (sujeito a) que pode ser substitudo por st ou s.t. e logo aps
sero declaradas as restries do problema.
Problema da Dieta
Um nutricionista precisa estabelecer uma dieta contendo, pelo menos, 11mg de vitamina A,
70mg de vitamina C e 250 mg de vitamina D. A tabela abaixo resume a quantidade de cada
vitamina em disponibilidade nos alimentos leite, carne, peixe e salada e apresenta, tambm, a
necessidade diria dessas vitaminas e os custos de cada alimento.
Calcular as quantidades dos quatro alimentos que devem ser includos na dieta diria, a m de
que os seguintes requisitos nutricionais sejam satisfeitos a custo mnimo.
Alimento/
Vitamina
A
C
D
Custo (R$)
Leite
(l)
Carne
(Kg)
2 mg
50 mg
80 mg
1,20
2 mg
20 mg
70 mg
5,00
Peixe
(Kg)
Salada
(100g)
10 mg
10 mg
10 mg
7,00
20 mg
30 mg
80 mg
1,00
Requisito Nutricional
Mnimo
11 mg
70 mg
250 mg
min
s.a
1, 20x1
2x1
50x1
80x1
x1
+
+
+
+
,
5, 00x2
2x2
20x2
70x2
x2
+
+
+
+
,
7, 00x3
10x3
10x3
10x3
x3
+
+
+
+
,
1, 00x4
20x4
30x4
80x4
x4
11
70
250
0
por um modelo de escrivaninha, uma mesa de reunio, um armrio e uma prateleira. Cada tipo de
mvel consome uma certa quantidade de matria-prima, conforme a tabela abaixo. A escrivaninha
vendida por 100 u.m., a mesa por 80 u.m.,o armrio por 120 u.m. e a prateleira por 20 u.m.
Pede-se exibir um modelo de programao linear que maximize a receita com a venda dos mveis.
Matria-prima consumida por cada mvel
Tbua
Prancha
Painis
1
0
3
100
Valor de
Revenda (u.m.)
1
1
2
80
1
1
4
120
Disponibilidade
do recurso (m)
4
2
0
20
250
600
500
max
s.a
100x1
x1
+
+
3x1
x1
+
,
80x2
x2
x2
2x2
x2
+
+
+
+
,
120x3
x3
x3
4x3
x3
+
+
+
20x4
4x4
2x4
x4
250
600
500
0
Para este PPL temos duas formas de model-lo no LINDO. Em ambas deve ser acrescentado o
comando GIN [nome da varivel], indicando que aquela varivel do tipo inteiro, como na gura
1.3. Quando vrias variveis so inteiras o comando GIN pode ser utilizado como mostrado na
gura 1.4, ou seja, GIN [nmero de variveis inteiras].
Problema da Confeitaria
Uma confeitaria produz dois tipos de bolos de sorvete: chocolate e creme. Cada lote de bolo de
chocolate vendido com um lucro de 3 u.m. e os lotes de creme com o lucro de 1 u.m. Contratos
com vrias lojas impem que sejam produzidos no mnimo 10 lotes de bolo de chocolate por dia
e que o total de lotes fabricados nunca seja menor do que 20. O mercado s capaz de consumir
at 40 bolos de creme e 60 de chocolate. As mquinas de preparao de sorvete disponibilizam 180
horas de operao, sendo que cada lote de bolos de chocolate consome 2 horas de trabalho e cada
lote de bolos de creme 3 horas. Determinar o esquema de produo que maximize os lucros com a
venda dos bolos de sorvete.
Modelando o problema, obtemos o seguinte PPL:
Figura 1.4: Forma alternativa do Modelo LINDO para o problema da fbrica de mveis
max
s.a
x1
3x1
x1
x1
x1
+
+
+
3x2
2x2
x2
x2
x2
x2
180
20
40
60
10
0
Um determinado conjunto de armas antiareas est distruibudo de forma a defender uma cidade
de um ataque. So n plataformas de msseis. Sabe-se que dij a distncia entre a plataforma da
arma i e a ameaa j (avio inimigo ou mssil), que o alcance mximo dos msseis de ri , que o
custo de cada tiro sobre uma ameaa j de cij e o valor de neutralizao da ameaa vj . Em
cada ataque, o sistema de defesa deve selecionar, dentre m ameas, apenas k possveis alvos.
Elaborar o modelo matemtico de alocao arma x alvo que minimiza o custo de defesa.
Para este
( problema tomaremos a seguinte varivel de deciso:
1 Caso a arma i seja designada ameaa j,
xij =
, i = 1, ..., n e j = 1, ..., m
0 Caso contrrio.
Consideraremos ainda os seguintes dados:
Plataforma
i
P1
P2
Valor da
neutralizao (vj )
30
30
35
35
30
30
35
35
max
m
X
j=1
s.a
m
X
n
n
X
X
vj (
xij
cij xij )
i=1
i=1
xij 1, i = 1, ..., n
j=1
n
X
xij
i=1
n X
m
X
1, j = 1, ..., m
xij = k
i=1 j=1
min
s.a
5x1
x1
x1
x1
+
+
x2
x2
x2
qq.
x2
5
7
0
Neste exemplo estamos tomando como exemplo que a varivel x2 livre, ou seja, pode assumir
qualquer valor. Para modelarmos este PPL utilizando o LINDO devemos acrescentar aps o
comando END, o comando FREE <nome da varivel ou nmero de variveis>, conforme mostra
a gura 1.7.
Comando
Teclas de atalho
CT RL + E
CT RL + N
ALT + 7
Exemplo 1:
Primeiramente devemos digitar o PPL. Vamos tomar como exemplo o PPL abaixo:
min
s.a
5x1
3x1
5x1
x1
+
+
,
3x2
5x2
2x2
x2
15
10
0
Exemplo 2:
min
s.a
6x1
3x1
5x1
x1
+
+
,
10x2
5x2
2x2
x2
15
10
0
Para este exemplo temos o modelo LINDO apresentado na gura 1.13. Vamos resolver este
problema utilizando quadros tableau para isto vamos seguir os seguintes passos:
Exemplo 3:
min
s.a
2x1
x1
0.5x1
x1
+
+
,
2x2
x2
x2
x2
1
2
0
Aps digitarmos o modelo e o compilarmos, geraremos o 1o quadro (Figura 1.18). Logo aps
utilizaremos o quadro de pivoteamento e decidiremos qual varivel entra e qual varivel sai da
base (gura 1.10) e analisamos o novo quadro (gura 1.19), decidimos qual varivel entra e qual
varivel. Analisando o 3o quadro (gura 1.20 observamos que se a varivel SLK 2 entrar na base
encontraremos uma soluo melhor ( cj < 0), mas os coecientes das restries so negativos,
portando nenhuma varivel pode entrar na base, portanto este problema no tem soluo.
nal que satisfaa s exigncias mnimas dos animais em termos de nutrientes. A composio e as
exigncias esto apresentadas no quadro abaixo:
Nutrientes
Rao 1
1
2
3
4
30
20
25
25
1.00
Custo/Kg
% por Kg
Rao 2 Rao 3
25
30
15
30
1.20
10
20
30
40
1.30
Exigncia mnima
em Kg por saco
de 100 Kg
6
4
4
6
O objetivo conseguir uma mistura de mnimo custo. Para este exemplo responderemos as
seguintes questes:
1) Qual o intervalo de estabilidade para o custo da primeira rao?
2) Qual o desconto, em reais, no preo segunda rao a partir do qual seu uso interessante?
3) Qual o preo mximo da terceira rao que no altera a quantidade tima encontrada?
4) Se a exigncia do nutriente 1 passasse de 6 para 7 Kg em cada 100 Kg de mistura, qual a
variao de preo que ocorreria?
5) Para cada diminuio de 1 Kg de nutriente 4 na mistura, o custo desta cai em R$ 3,05. Essa
informao vale at para quantos quilos diminudos?
6) Suponha que o pecuarista pudesse usar um quarto tipo de rao ao custo de R$ 1,10/Kg, e que
essa rao tivesse 25% de cada nutriente. Valeria a pena usar esse tipo de rao?
Para responder estas questes primeiramente vamos modelar este PPL:
min
s.a
x1
0.30x1
0.20x1
0.25x1
0.25x1
x1
+
+
+
+
+
,
1.20x2
0.25x2
0.30x2
0.15x2
0.30x2
x2
+
+
+
+
+
,
1.30x3
0.10x3
0.20x3
0.30x3
0.40x3
x3
6
4
4
6
0
O modelo LINDO para este PPL apresentado na gura 1.21. Depois de digitado o modelo,
vamos compil-lo (CT RL+E ) e depois resolv-lo (CT RL+S ), mas desta vez vamos responder sim a
pergunta DO RANGE(SENSITIVITY)ANALYSIS?, ou seja, vamos fazer a anlise de sensibilidade
deste PPL. A janela REPORTS WINDOW mostrar a tela mostrada na gura 1.22 e a partir
desta janela que responderemos as perguntas para este PPL.
1) Para responder esta pergunta vamos analisar o campo OBJ COEFICIENT RANGES da janela
REPORTS WINDOW. O campo "OBJ COEFICIENT RANGES"nos apresenta os subcampos
c4 - z4
z4 = (cB )t y4
y4 = B 1 a4
A matriz B 1 pode ser encontrada atravs do TABLEAU nal do PPL. Ento pressionamos as
teclas ALT + 7 para aparecer o TABLEAU na janela REPORTS WINDOW, a matriz B 1 se
encontra abaixo das variveis de folga e como no nosso PPL todas as restries so de ento
devemos multiplicar cada coluna da matriz por -1. Portanto temos que:
2.63
0
0
0.30
0.32 1
0
0.20
B 1 =
0.26
0 1
0.25
4.21
0
0 1.05
Portanto, temos que:
2.63
0
0
0.32 1
0
y4 =
0.26
0 1
4.21
0
0
Da,
z4 =
0.30
0.25
0.20
0.25
0.25 0.25
1.05
0.25
0.13
0.065
=
0.015
0.79
0.13
0.065
1
0.015 = 0.96
0.79
1.30
Portanto,
Bibliograa
[1] M. C .Goldbarg e H. P. L. Luna. Otimizao Combinatria e Programao Linear: Modelos e
Algoritmos. Editora Campus, Rio de Janeiro, 2000.
[2] Helmut Kopka and Patrick W. Dale. A Guide to LATEX. Addison-Wesley, Harlow, England,
3rd edition, 1999.
[3] Gerson Lachtermacher. Pesquisa Operacional na Tomada de Decises. Editora Campus, Rio
de Janeiro, 2002.
[4] Lindo Systems Inc., Chicago. LINDO: User's Manual, 1996.
16