Você está na página 1de 7

Engenharia de Sistemas Agrcolas

Prof. Ricardo Caetano Rezende, D.S. 1


1
Introduo
Software LINDO
Microsoft Excel Solver
Exemplos e exerccios
Usando Softwares em
Programao Linear
Prof. Ricardo Caetano Rezende, D.S.
Captulo 6
Curso de Graduao em Engenharia Agrcola
2
1 Introduo
A utilizao da programao linear recomendada
para problemas de maior porte, em que muitas
variveis e restries devem ser consideradas
Problemas de grande porte requerem sistemas
computacionais potentes e, portanto, sistemas
paralelos tem sido utilizados nos ltimos anos
Entretanto, problemas menores podem ser resolvidos
em um computador pessoal, utilizando um dos
softwares desenvolvidos para a resoluo de
problemas de programao linear
Captulo 6
Curso de Graduao em Engenharia Agrcola
3
2 Software LINDO
O mtodo grfico, apresentado anteriormente, uma
excelente ferramenta de ensino, mas no tem
nenhuma pretenso alm desta
Problemas reais so desenvolvidos no computador
utilizando softwares que se baseiam no algoritmo
Mtodo Simplex ou Mtodo Simplex Revisado,
desenvolvido por George Dantzig em 1947, nos quais
cada linha relaciona-se com uma restrio e cada
coluna com uma varivel
Existem atualmente centenas de pacotes para a
soluo de problemas de programao linear
Captulo 6
Curso de Graduao em Engenharia Agrcola
4
2 Software LINDO
Para problemas considerados mdios,
recomendvel a utilizao de planilhas eletrnicas,
como o Whats Best?, o Microsoft Excel e o Borland
Quattro; todos so ferramentas poderosas, apesar de
sua aparncia simples; um programa interessante o
LINDO
O LINDO Linear, INteractive and Discrete Optmizer
um software desenvolvido pela Lindo Systems Inc.,
de Chicago, Illinois, EUA, para a resoluo de
modelos de programao linear, quadrtica ou inteira
Foi desenvolvido por Linus Schrage, em 1986
Captulo 6
Curso de Graduao em Engenharia Agrcola
5
2 Software LINDO
Os problemas resolvidos pelo software so comuns
s reas de negcios, indstrias, pesquisas, entre
outros
Especificamente, LINDO pode ser de grande utilidade
em setores como distribuio de produtos, mistura de
ingredientes, planejamento da produo e de pessoal,
administrao de inventrio, ...
A filosofia projetada no LINDO designa que, se o
usurio deseja algo simples, ento ele no dever
gastar muito tempo para aprender a usar o software
Captulo 6
Curso de Graduao em Engenharia Agrcola
6
2 Software LINDO
Se, por exemplo, o usurio procura:
Maximizar 2x
1
+ 3x
2
Sujeito a:
4x
1
+ 3x
2
10
3x
1
+ 5x
2
12
ento exatamente isto que ele dever digitar no
LINDO imediatamente aps a inicializao do
programa
Por outro lado, LINDO tem sido utilizado para resolver
problemas reais de considervel tamanho, s vezes
com mais de 50.000 restries e 200.000 variveis!
Captulo 6
Curso de Graduao em Engenharia Agrcola
Engenharia de Sistemas Agrcolas
Prof. Ricardo Caetano Rezende, D.S. 2
7
2 Software LINDO
Informaes sobre o software podem ser verificadas
diretamente pelo site www.lindo.com, bem como o
download de sua verso demonstrativa (trial version)
As diferentes verses, preos e capacidades, podem
ser observadas na tabela abaixo:
Verso
Preo, US$
comum educacional
Restries Variveis
Variveis
Inteiras
Trial $0 $0 150 300 30
Super $395 $195 1.000 2.000 200
Hyper $795 $395 4.000 8.000 800
Industrial $2,395 $695 16.000 32.000 3.200
Extended $3,995 $995 ilimitadas ilimitadas Ilimitadas
Fonte: www.lindo.com, setembro de 2010
Captulo 6
Curso de Graduao em Engenharia Agrcola
8
Ser ilustrado agora como adicionar e resolver
pequenos problemas no LINDO
Todas as demonstraes utilizaro a verso trial que,
ao ser acionada (seja por meio do cone do software
no desktop ou pelo Iniciar Programas do Windows)
apresentar a seguinte tela de abertura
Observe que a pequena janela central prpria desta
verso, designando sua capacidade, em termos de
variveis e restries; em pouco tempo ela
desaparece e a imagem seguinte apresentada
Temos a janela principal do LINDO, com seu menu de
comandos e sua barra de atalhos
Executando um Exemplo
Captulo 6
Curso de Graduao em Engenharia Agrcola
Curso de Graduao em Engenharia de Produo
9
Curso de Graduao em Engenharia de Produo
10
nesta janela menor, vazia,
que um novo modelo ser digitado
Entretanto, antes de iniciarmos, importante
destacar que qualquer modelo no LINDO necessita
de 3 requisitos bsicos:
1. Declarao das variveis (opcional)
2. Funo objetivo
3. Restries
Menu principal
Barra de atalhos
11
Temos 2 opes para o objetivo: MAX ou MIN
J sabemos que a expresso matemtica adicionada
depois de MAX ou MIN chamada de funo objetivo
As variveis que compem a funo objetivo so x
1
,
x
2
, ..., x
n
, de forma que o LINDO dever obter os
valores das mesmas buscando o mximo proveito,
segundo o objetivo proposto
Quanto s restries, em alguns casos, elas
constituem a parte mais importante do modelo
O programa assume que todas as variveis so no
negativas: no so necessrias as restries de no
negatividade
Executando um Exemplo
Captulo 6
Curso de Graduao em Engenharia Agrcola
12
Vamos inserir o
seguinte exemplo no
LINDO:
Maximizar 2x
1
+ 3x
2
Sujeito a:
4x
1
+ 3x
2
10
3x
1
+ 5x
2
12
Executando um Exemplo
Basta digitar os dados
conforme o
estabelecido abaixo:
MAX 2X1 + 3X2
ST
4X1 + 3X2 < 10
3X1 + 5X2 < 12
END
No LINDO, podemos iniciar a digitao de cada linha
em qualquer coluna; utilizamos o sinal < para
A tela a seguir mostra o resultado deste procedimento
no software
Captulo 6
Curso de Graduao em Engenharia Agrcola
Engenharia de Sistemas Agrcolas
Prof. Ricardo Caetano Rezende, D.S. 3
13
Observe que:
! Inicia uma linha de
comentrio
MAX o comando que
solicita maximizar uma
funo
ST = subject to =
sujeito a; informa que
a seguir temos o
conjunto de restries
END informa o fim
dos dados
Executando um Exemplo
Captulo 6
Curso de Graduao em Engenharia Agrcola
14
O modelo agora est pronto para ser resolvido
O LINDO tem 3 opes para executar o exemplo:
a) Clique em solve no menu principal e novamente em
solve
b) Tecle Crtl+S
c) Pressione o cone na barra de atalhos
Inicialmente, o modelo ser compilado, isto , um
teste para verificao de erros de sintaxe
Aps isto, no havendo erros,
aparece uma tela perguntando se
se deseja efetuar uma anlise de
sensitividade; tecle No
Executando um Exemplo
Captulo 6
Curso de Graduao em Engenharia Agrcola
15
A seguir, aparece a tela abaixo, que contm um
resumo do resultado alcanado ou informaes de
alerta caso o modelo apresente algum problema
Status pode incluir as solues:
optimal = tima
feasible = possvel
infeasible = impossvel
unbounded = ilimitada
Iterations interaes para soluo
Infeasibility restries violadas
Objective valor da funo objetiva
Best IP, IP Bound e Branches
referem-se Programao Inteira
Elapsed Time tempo decorrido, s
Executando um Exemplo
Captulo 6
Curso de Graduao em Engenharia Agrcola
16
Aps analisar a tela
anterior, clique em
Close; a tela pode
retornar com Window /
Open Status Window
Observe agora que por
trs da janela
<untitled> aparece
uma janela maior:
Report Window; esta
a tela de resultados
Clique em qualquer
ponto desta tela
Executando um Exemplo
Captulo 6
Curso de Graduao em Engenharia Agrcola
17
Com o objetivo de visualizarmos melhor tanto a tela
de entrada como a tela de resultados, faamos o
seguinte:
Clique em Window, no menu principal, e retorne a tela de
entrada (sobre a tela de resultados)
Clique novamente em
Window e acione Tile
A janela ao lado vai aparecer
Pressione OK e veja o que
vai acontecer
Verticalmente, as 2 telas estaro lado a lado,
facilitando a visualizao e modificaes
Clique na janela desejada para acion-la
Executando um Exemplo
Captulo 6
Curso de Graduao em Engenharia Agrcola Curso de Graduao em Engenharia de Produo
18
Vamos agora interpretar as informaes contidas na
janela Reports Window, que nossa tela de
resultados
Entretanto, importante saber que, nesta tela:
1) refere-se funo objetivo
2) refere-se 1 restrio
3) refere-se 2 restrio
Engenharia de Sistemas Agrcolas
Prof. Ricardo Caetano Rezende, D.S. 4
19
LP OPTIMUM FOUND STEP 0
significa que o algoritmo simplex
utilizado pelo programa encontrou
a soluo tima no passo 0 (um
passo corresponde a 1 vrtice do
mtodo simplex)
OBJECTIVE FUNCTION VALUE
1) 7.454545
Indica o valor timo encontrado
para a funo objetivo
VARIABLE VALUE
X1 1.272727
X2 1.636364
apresenta os valores timos das
variveis bsicas
Executando um Exemplo
Captulo 6
Curso de Graduao em Engenharia Agrcola
20
Quanto coluna REDUCED COST:
Representa a quantidade pela qual o coeficiente da
funo objetivo da varivel deveria ser aumentado
de modo que sua soluo seja diferente de 0; assim,
todas as variveis cujas solues j so diferentes
de 0 possuem um valor 0 para o Custo Reduzido
(como o caso deste exemplo)
Ou pode ser a penalidade que se deve pagar, ou
seja, reduo no lucro, para introduzir 1 unidade
daquela varivel na soluo
Estas observaes ficaro mais claras quando
tratarmos, a seguir, da Anlise de Sensitividade
Executando um Exemplo
Captulo 6
Curso de Graduao em Engenharia Agrcola
21
Quanto coluna SLACK OR SURPLUS:
Significa folga ou excesso
Folga = 0 diz que se atingiu o limite da restrio;
como 4X1 + 3X2 10, ento 4(1,27) + 3(1,64) = 10
Verifique que isto tambm vlido para a 2
restrio; foi usado todo o disponibilizado
DUAL PRICE relaciona-se coluna anterior:
Se 0,091 para a 1 restrio, representa o
aumento na funo objetivo se se aumentar de 1 o
limite da restrio; portanto, se a restrio passar de
10 para 11, o valor da funo objetivo subir de 7,46
para 7,55 (verifique)
Executando um Exemplo
Captulo 6
Curso de Graduao em Engenharia Agrcola
22
Para salvar os dados em um arquivo:
Clique em File no menu principal e depois em Save
as
Selecione o diretrio e escolha um nome adequado
Clique em OK
Para imprimir os resultados, ative esta tela e clique
em File no menu principal e depois em Print; pode-
se acrescentar tambm, ao final dos resultados,
antes da impresso, data e horrio, bastando para
isso teclar Shift+F4
Para imprimir o modelo junto com resultados, cole-
os na mesma janela e, alternativamente, tecle F8
Executando um Exemplo
Captulo 6
Curso de Graduao em Engenharia Agrcola
23
1. Max Lucro = 3ST + 4LX
Restries:
Corte) 4ST + 2LX 80
Polim) 2ST + 5LX 120
Lucro = ; ST = ; LX =
2. Max Lucro = 110a + 65b
Restries:
Peas) 2a + b 7
Horas) 5a + 7b 30
Lucro = ; a = ; b =
3. Max Lucro = 180A + 300B
Restries:
Gab.Peq) A 60
Gab.Grd) B 50
Disco) A + 2B 120
Lucro = ; A = ; B =
4. Min Custo = 2a + 3b
Restries:
Protenas) 3a + 6b 15
Carboidratos) 10a + 5b 20
Custo = ; a = ; b =
Exerccios no LINDO Bloco 01
Captulo 6
Curso de Graduao em Engenharia Agrcola
24
Exerccios no LINDO Bloco 02
1) Uma pequena fbrica de papel-toalha manufatura 3
tipos de produto: A, B e C. A fbrica recebe o papel
em grandes rolos. cortado, dobrado e
empacotado. Dada a pequena escala da fbrica, o
mercado absorver qualquer produo a um preo
constante. O lucro unitrio de cada produto ,
respectivamente, R$ 1,00, R$ 1,50 e R$ 2,00. O
quadro a seguir identifica o tempo requerido para
operao (em horas) em cada seo da fbrica, bem
como a quantidade de mquinas disponveis.
Captulo 6
Curso de Graduao em Engenharia Agrcola
Engenharia de Sistemas Agrcolas
Prof. Ricardo Caetano Rezende, D.S. 5
25
Exerccios no LINDO Bloco 02
1) Cont.
Pergunta-se:
a) qual o esquema timo de produo semanal (40h)?
b) que equipamentos ficaro ociosos e em que nvel?
Seo Produto A Produto B Produto C Qtd. mquinas
Corte 8,0 5,0 2,0 3
Dobra 5,0 10,0 4,0 10
Empacotamento 0,7 1,0 2,0 2
Captulo 6
Curso de Graduao em Engenharia Agrcola
26
Exerccios no LINDO Bloco 02
2) A tabela abaixo fornece as necessidades
alimentares semanais de um certo animal. Que
mistura destas raes satisfaz os requisitos
alimentares a um custo mnimo para o proprietrio?
Rao
Protenas,
unidades/kg
Carboidratos,
unidades/kg
Custo,
R$/kg
A 25 55 3,00
B 25 20 2,00
C 45 10 4,00
D 35 35 3,00
E 25 20 3,00
Mnimo, unidades 200 250
Captulo 6
Curso de Graduao em Engenharia Agrcola
27
Exerccios no LINDO Bloco 02
3) Um fazendeiro possui 200 ha cultivveis para milho
e, ou, soja. Os dados so os seguintes:
Qual deve ser a alocao da terra para os vrios
tipos de cultura de maneira a maximizar os lucros?
Atividade Milho Soja Disponvel
Espao, h 1 1 200
Preparo do terreno, R$ 500 700 200.000
MDO, homens/dia 15 18 20.000
Lucro, R$ 900 1.300
Captulo 6
Curso de Graduao em Engenharia Agrcola Curso de Graduao em Engenharia Agrcola
28
4. Considere, como exemplo,
o caso de um fundo de
investimentos que tem as
seguintes opes de
compra de aes ao lado
As restries do governo
estabelecem que nenhum
investimento isolado pode
ultrapassar 15% do capital
total do fundo; alm disso,
o total de investimento por
categoria no pode
ultrapassar 40%
Empresa Categoria
Lucro
Esperado
E1 A 10%
E2 A 15%
E3 B 5%
E4 C 20%
E5 A 12%
E6 B 15%
E7 A 10%
E8 C 5%
E9 B 5%
E10 C 10%
Exerccios no LINDO Bloco 02
Captulo 6
O programa Microsoft Excel possui a funo
Solver, que tem se revelado muito conveniente
para a soluo de pequenos e mdios problemas
de programao linear
Normalmente esta funo no
instalada automaticamente
quando se instala o Microsoft
Office na modalidade
Instalao Tpica; para ativar
esta funo v em
Suplementos e ative o Solver
29
Captulo 6
3 Microsoft Excel Solver
Curso de Graduao em Engenharia Agrcola
Seja o exemplo da fbrica de rdios que possui 2
linhas de produo: standard e luxo
A linha de produo standard comporta 24
pessoas, consume 1 homem/dia/rdio e cada rdio
fornece um lucro de R$ 30,00
A linha de produo luxo comporta 32 pessoas,
consume 2 homens/dia/rdio e cada rdio fornece
um lucro de R$ 40,00
A fbrica possui um total de 40 empregados e o
desafio alocar os empregados nas 2 linhas
30
Captulo 6
Executando um Exemplo
Curso de Graduao em Engenharia Agrcola
Engenharia de Sistemas Agrcolas
Prof. Ricardo Caetano Rezende, D.S. 6
O modelo de programao linear :
ST = produo de rdios standard por dia
LX = produo de rdios luxo por dia
MAX 30ST + 40LX
SUJEITO A
MAX_ST) ST <= 24
MAX_LX) LX <= 16
MDO) ST + 2LX <= 40
31
Captulo 6
Executando um Exemplo
Curso de Graduao em Engenharia Agrcola
Para se criar um modelo no Microsoft Excel
Solver, necessrio:
a. Fornecer nomes de funo objetivo, variveis e
restries
b. Fornecer frmulas e dados
c. Fornecer informaes adicionais (parmetros) ao
Solver
32
Captulo 6
Executando um Exemplo
Curso de Graduao em Engenharia Agrcola
a. Inicialmente, preocupe-se em registrar no Excel os
nomes em seus respectivos campos:
33
Captulo 6
Executando um Exemplo
Curso de Graduao em Engenharia Agrcola
b. Digite agora as frmulas e dados iniciais
correspondentes, conforme indicado abaixo:
34
Captulo 6
Executando um Exemplo
Curso de Graduao em Engenharia Agrcola
c. As informaes adicionais so fornecidas na tela
Parmetros do Solver (v em Ferramentas +
Solver ou em Dados + Solver):
35
Captulo 6
Executando um Exemplo
Curso de Graduao em Engenharia Agrcola
c. Como trata-se de uma programao linear, clique
em Opes e ative Presumir modelo linear e
depois em OK (isto far com que os resultados
sejam mais completos):
36
Captulo 6
Executando um Exemplo
Curso de Graduao em Engenharia Agrcola
Engenharia de Sistemas Agrcolas
Prof. Ricardo Caetano Rezende, D.S. 7
Para obter a soluo do problema, clique no boto
Resolver; observe na tela abaixo que o resultado
timo substituiu os valores originais (clulas que
continham frmulas):
37
Captulo 6
Executando um Exemplo
Curso de Graduao em Engenharia Agrcola
Na janela
Relatrios, clique
em Resposta e
depois em OK;
uma nova planilha
ser adicionada
antes daquela que
contm o modelo,
com o nome de
Relatrio de
resposta 1:
38
Captulo 6
Executando um Exemplo
Curso de Graduao em Engenharia Agrcola
Uma nova planilha
ser adicionada
antes daquela que
contm o modelo,
com o nome de
Relatrio de
sensibilidade 1:
Voltando planilha do modelo, resolva-o novamente
e na janela Relatrios, clique em Sensibilidade e
depois em OK
39
Captulo 6
Executando um Exemplo
Curso de Graduao em Engenharia Agrcola
Uma nova
planilha ser
adicionada antes
daquela que
contm o modelo,
com o nome de
Relatrio de
limites 1:
Finalmente, voltando planilha do modelo, resolva-o
novamente e na janela Relatrios, clique em Limites e
depois em OK
40
Captulo 6
Executando um Exemplo
Curso de Graduao em Engenharia Agrcola
1. Resolva o problema abaixo usando o Excel Solver:
! Problema do criador de coelhos que deseja produzir rao
! X1 = rao A utilizada na mistura, em kg
! X2 = rao B utilizada na mistura, em kg
! X3 = rao C utilizada na mistura, em kg
! X4 = rao D utilizada na mistura, em kg
! X5 = rao E utilizada na mistura, em kg
MIN 0.2X1 + 0.3X2 + 0.4X3 + 0.5X4 + 0.25X5
st
prot) 30X1 + 20X2 + 15X3 + 80X4 + 20X5 > 80
carboi) 60X1 + 20X2 + 60X3 + 20X4 + 20X5 > 120
gord) 5X1 + 10X2 + 5X3 + 3X4 + 2X5 > 30
end
41
Captulo 6
Exerccios no Excel Solver
Curso de Graduao em Engenharia Agrcola
2. Uma oficina mecnica deseja alocar o tempo ocioso
disponvel em suas mquinas para a produo de 3
produtos. A tabela abaixo d as informaes sobre as
necessidades de horas de mquina para produzir uma
unidade de cada produto, assim como a
disponibilidade das mquinas, o lucro dos produtos e a
demanda mxima existente no mercado. Pede-se o
esquema de produo de lucro mximo. Use o Solver.
42
Captulo 6
Exerccios no Excel Solver
Curso de Graduao em Engenharia Agrcola