capítulo 3.1_apendice_a pesquisa operacional na tomada de decisões resolvendo programação linear...
TRANSCRIPT
![Page 1: Capítulo 3.1_Apendice_A Pesquisa Operacional na Tomada de Decisões Resolvendo Programação Linear Em um Microcomputador](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc10b497959413d8c1877/html5/thumbnails/1.jpg)
Capítulo 3.1_Apendice_A
Pesquisa Operacional na Tomada de Decisões
Resolvendo Programação Linear
Em um Microcomputador
![Page 2: Capítulo 3.1_Apendice_A Pesquisa Operacional na Tomada de Decisões Resolvendo Programação Linear Em um Microcomputador](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc10b497959413d8c1877/html5/thumbnails/2.jpg)
Capítulo 3.1_Apendice_A
Conteúdos da Seção
Programação Linear Software Lindo
Versão Windows e comandosFormulação do problemaSolução do problema
Reduced costSintaxe modeloComandos opcionaisFile | Log output
O Caso do Vendedor de Frutas
![Page 3: Capítulo 3.1_Apendice_A Pesquisa Operacional na Tomada de Decisões Resolvendo Programação Linear Em um Microcomputador](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc10b497959413d8c1877/html5/thumbnails/3.jpg)
Capítulo 3.1_Apendice_A
Programação LinearSoftware Lindo
Lindo (Linear Interactive Discrete Optimizer) é um software interativo para resolução de problemas de programação Linear Quadrática Inteira
Utilizado para resolução de problemas reais de mais de 10.000 variáveis, dispõe de características que mostram os passos e quadros intermediários do método simplex
![Page 4: Capítulo 3.1_Apendice_A Pesquisa Operacional na Tomada de Decisões Resolvendo Programação Linear Em um Microcomputador](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc10b497959413d8c1877/html5/thumbnails/4.jpg)
Capítulo 3.1_Apendice_A
Software LindoVersão Windows
![Page 5: Capítulo 3.1_Apendice_A Pesquisa Operacional na Tomada de Decisões Resolvendo Programação Linear Em um Microcomputador](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc10b497959413d8c1877/html5/thumbnails/5.jpg)
Capítulo 3.1_Apendice_A
LindoComandos
Comandos MAX
Inicia um problema de maximização MIN
Inicia um problema de minimização END
Termina a entrada de um problema Operadores
Menor < Maior > Menor ou igual <= Maior ou igual >=
![Page 6: Capítulo 3.1_Apendice_A Pesquisa Operacional na Tomada de Decisões Resolvendo Programação Linear Em um Microcomputador](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc10b497959413d8c1877/html5/thumbnails/6.jpg)
Capítulo 3.1_Apendice_A
LindoFormulação de Problema
A seguinte entrada é uma formulação válida de uma problema
END
125y3x
103y4x
s.t.
3y2x Max
0,
1253
1034
s.t.
32
yx
yx
yx
yx Max
![Page 7: Capítulo 3.1_Apendice_A Pesquisa Operacional na Tomada de Decisões Resolvendo Programação Linear Em um Microcomputador](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc10b497959413d8c1877/html5/thumbnails/7.jpg)
Capítulo 3.1_Apendice_A
LindoFormulação de Problema
Solve
Se a sintaxe não estiver correta, a seguinte mensagem aparecerá: An error occured during compilation on line: n
![Page 8: Capítulo 3.1_Apendice_A Pesquisa Operacional na Tomada de Decisões Resolvendo Programação Linear Em um Microcomputador](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc10b497959413d8c1877/html5/thumbnails/8.jpg)
Capítulo 3.1_Apendice_A
Se nenhum erro ocorrer durante a compilação, a tela ao lado aparecerá.
Se a análise de sensibilidade for desejada responda sim
LindoSolução do Problema
![Page 9: Capítulo 3.1_Apendice_A Pesquisa Operacional na Tomada de Decisões Resolvendo Programação Linear Em um Microcomputador](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc10b497959413d8c1877/html5/thumbnails/9.jpg)
Capítulo 3.1_Apendice_A
Quando o problema estiver resolvido, uma janela denominada Reports Window ou janela de relatórios aparecerá automaticamente.
Essa janela de relatórios é o lugar onde todos os resultados serão lançados.
Se dois problemas forem resolvidos e houver espaço na janela, suas resoluções aparecerão uma seguida da outra
Para se examinar essa janela basta clicar no menu Windows|Reports Windows (ver slide a seguir)
LindoSolução do Problema
![Page 10: Capítulo 3.1_Apendice_A Pesquisa Operacional na Tomada de Decisões Resolvendo Programação Linear Em um Microcomputador](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc10b497959413d8c1877/html5/thumbnails/10.jpg)
Capítulo 3.1_Apendice_A
LindoSolução do Problema
![Page 11: Capítulo 3.1_Apendice_A Pesquisa Operacional na Tomada de Decisões Resolvendo Programação Linear Em um Microcomputador](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc10b497959413d8c1877/html5/thumbnails/11.jpg)
Capítulo 3.1_Apendice_A
LindoSolução do Problema
Valor Ótimo da Função Objetivo
Valor das Variáveis Originais
Valor das Variáveis de Folga ou Excesso
![Page 12: Capítulo 3.1_Apendice_A Pesquisa Operacional na Tomada de Decisões Resolvendo Programação Linear Em um Microcomputador](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc10b497959413d8c1877/html5/thumbnails/12.jpg)
Capítulo 3.1_Apendice_A
Solução do ProblemaReduced Cost
Existem duas interpretações para o Reduced Cost: A quantidade que o
coeficiente da função objetiva de uma variável original deve melhorar antes desta variável se tornar básica.
A quantidade de penalização deverá ser paga se quisermos tornar uma variável básica
![Page 13: Capítulo 3.1_Apendice_A Pesquisa Operacional na Tomada de Decisões Resolvendo Programação Linear Em um Microcomputador](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc10b497959413d8c1877/html5/thumbnails/13.jpg)
Capítulo 3.1_Apendice_A
Existem duas interpretações para os Dual Prices: A quantidade pela qual a
função objetiva será melhorada dado um incremento de uma unidade na constante de uma restrição
Quanto estaríamos dispostos a pagar por uma unidade adicional de um recurso
Solução do ProblemaReduced Cost
![Page 14: Capítulo 3.1_Apendice_A Pesquisa Operacional na Tomada de Decisões Resolvendo Programação Linear Em um Microcomputador](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc10b497959413d8c1877/html5/thumbnails/14.jpg)
Capítulo 3.1_Apendice_A
LindoSintaxe Modelo
A função objetivo deve sempre aparecer no começo do modelo e deve ser iniciada pelo comando MAX ou MIN.
O fim da função objetivo é definido através de uma das seguintes expressões: SUBJECT TO S.T. ST
![Page 15: Capítulo 3.1_Apendice_A Pesquisa Operacional na Tomada de Decisões Resolvendo Programação Linear Em um Microcomputador](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc10b497959413d8c1877/html5/thumbnails/15.jpg)
Capítulo 3.1_Apendice_A
O final das restrições é determinada pelo comando END.
O Comando END só é obrigatório se após as restrições aparecerem comandos do tipo GIN ou INT discutidos mais tarde
O nome de uma variável no LINDO pode conter até 8 caracteres Começar por uma letra Não conter um dos seguintes caracteres:
! )+ - = < >
LindoSintaxe Modelo
![Page 16: Capítulo 3.1_Apendice_A Pesquisa Operacional na Tomada de Decisões Resolvendo Programação Linear Em um Microcomputador](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc10b497959413d8c1877/html5/thumbnails/16.jpg)
Capítulo 3.1_Apendice_A
Opcionalmente podemos nomear as restrições de um
modelo. O nome das restrições seguem as mesmas
convenções dos nomes das variáveis
Para nomear uma restrição, inclua o nome, um
parêntese, e a própria restrição em seguida Exemplo: NOME) 2x + 4y <= 10
LindoSintaxe Modelo
![Page 17: Capítulo 3.1_Apendice_A Pesquisa Operacional na Tomada de Decisões Resolvendo Programação Linear Em um Microcomputador](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc10b497959413d8c1877/html5/thumbnails/17.jpg)
Capítulo 3.1_Apendice_A
O LINDO não aceita parêntesis ( ) como indicadores de preferência de ordem de precedência. Todas as operações são executadas da esquerda para a direita.
Somente constantes (não variáveis) são permitidas do lado direito das restrições.
Somente variáveis e seus coeficientes (não constantes) podem ser colocados do lado esquerdo das restrições.
LindoSintaxe Modelo
![Page 18: Capítulo 3.1_Apendice_A Pesquisa Operacional na Tomada de Decisões Resolvendo Programação Linear Em um Microcomputador](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc10b497959413d8c1877/html5/thumbnails/18.jpg)
Capítulo 3.1_Apendice_A
LindoComandos Opcionais
Os comandos adicionais abaixo são colocados após o comando END ao final das restrições.
FREE <Variável> - Remove os limites de não negatividade imposta a todas as variáveis por default.
GIN <Variável> - Faz a <Variável> uma variável inteira geral.
INT <Variável> - Faz a <Variável> uma variável inteira binária.
![Page 19: Capítulo 3.1_Apendice_A Pesquisa Operacional na Tomada de Decisões Resolvendo Programação Linear Em um Microcomputador](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc10b497959413d8c1877/html5/thumbnails/19.jpg)
Capítulo 3.1_Apendice_A
LindoFile|Log Output
Esse comando serve para se criar um arquivo contendo todos os resultados colocados na tela de resultados.
O comando é do tipo liga/desliga, isto é, a primeira vez, abre um arquivo (ativa o comando) e a segunda fecha este arquivo.
Um símbolo de check é colocado ao lado do menu do comando enquanto este estiver ativado
![Page 20: Capítulo 3.1_Apendice_A Pesquisa Operacional na Tomada de Decisões Resolvendo Programação Linear Em um Microcomputador](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc10b497959413d8c1877/html5/thumbnails/20.jpg)
Capítulo 3.1_Apendice_A
O Caso do Vendedor de Frutas
Um vendedor de frutas pode transportar 800 caixas de
frutas para sua região de vendas. Ele necessita
transportar pelo menos 200 caixas de laranja e pelo
menos 100 caixas de pêssegos e no máximo 200 caixas
de tangerinas O vendedor obtêm um lucro por caixa de
20, 10 e 30 reais para laranjas, pêssegos e tangerina,
respectivamente. De que forma ele deverá carregar o
caminhão para obter o lucro máximo?
![Page 21: Capítulo 3.1_Apendice_A Pesquisa Operacional na Tomada de Decisões Resolvendo Programação Linear Em um Microcomputador](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc10b497959413d8c1877/html5/thumbnails/21.jpg)
Capítulo 3.1_Apendice_A
Hipóteses Tudo o que o vendedor levar será vendido.
Nada estragará no caminho
Função-Objetiva Maximizar o lucro
Max 20x1 + 10x2 + 30x3
O Caso do Vendedor de Frutas
![Page 22: Capítulo 3.1_Apendice_A Pesquisa Operacional na Tomada de Decisões Resolvendo Programação Linear Em um Microcomputador](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc10b497959413d8c1877/html5/thumbnails/22.jpg)
Capítulo 3.1_Apendice_A
Restrições de venda Laranjas: x1 > 200
Pêssegos: x2 > 100
Tangerinas: x3 < 200
Restrição de Transporte x1 + x2 + x3 < 800
O Caso do Vendedor de Frutas
![Page 23: Capítulo 3.1_Apendice_A Pesquisa Operacional na Tomada de Decisões Resolvendo Programação Linear Em um Microcomputador](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc10b497959413d8c1877/html5/thumbnails/23.jpg)
Capítulo 3.1_Apendice_A
0,,200100200
800s.r.
301020
321
3
2
1
321
321
xxxxxx
xxx
xxxMax
Este problema está visivelmente em forma não padrão. Resolveremos usando o Lindo.
O Caso do Vendedor de Frutas
![Page 24: Capítulo 3.1_Apendice_A Pesquisa Operacional na Tomada de Decisões Resolvendo Programação Linear Em um Microcomputador](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc10b497959413d8c1877/html5/thumbnails/24.jpg)
Capítulo 3.1_Apendice_A
O Caso do Vendedor de FrutasResolvendo Usando o Lindo
![Page 25: Capítulo 3.1_Apendice_A Pesquisa Operacional na Tomada de Decisões Resolvendo Programação Linear Em um Microcomputador](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc10b497959413d8c1877/html5/thumbnails/25.jpg)
Capítulo 3.1_Apendice_A
O Caso do Vendedor de FrutasResolvendo Usando o Lindo
![Page 26: Capítulo 3.1_Apendice_A Pesquisa Operacional na Tomada de Decisões Resolvendo Programação Linear Em um Microcomputador](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc10b497959413d8c1877/html5/thumbnails/26.jpg)
Capítulo 3.1_Apendice_A
O Caso do Vendedor de FrutasResolvendo Usando o Lindo
![Page 27: Capítulo 3.1_Apendice_A Pesquisa Operacional na Tomada de Decisões Resolvendo Programação Linear Em um Microcomputador](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc10b497959413d8c1877/html5/thumbnails/27.jpg)
Capítulo 3.1_Apendice_A
O Caso do Vendedor de FrutasResolvendo Usando o Lindo
![Page 28: Capítulo 3.1_Apendice_A Pesquisa Operacional na Tomada de Decisões Resolvendo Programação Linear Em um Microcomputador](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc10b497959413d8c1877/html5/thumbnails/28.jpg)
Capítulo 3.1_Apendice_A
O Caso do Vendedor de FrutasResolvendo Usando o Lindo
![Page 29: Capítulo 3.1_Apendice_A Pesquisa Operacional na Tomada de Decisões Resolvendo Programação Linear Em um Microcomputador](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc10b497959413d8c1877/html5/thumbnails/29.jpg)
Capítulo 3.1_Apendice_A
Vamos verificar a solução do problema abaixo com a ajuda do Lindo, como já fizemos com o Excel na seção anterior:
sinal de restrições sem ,,
0,,
302
20323
15
10 ..
45623
654
321
6432
5421
654
321
654321
xxx
xxx
xxxx
xxxx
xxx
xxxrs
xxxxxxZMax
![Page 30: Capítulo 3.1_Apendice_A Pesquisa Operacional na Tomada de Decisões Resolvendo Programação Linear Em um Microcomputador](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc10b497959413d8c1877/html5/thumbnails/30.jpg)
Capítulo 3.1_Apendice_A
O Problema no Lindo
Variáveis sem restrições de sinal
![Page 31: Capítulo 3.1_Apendice_A Pesquisa Operacional na Tomada de Decisões Resolvendo Programação Linear Em um Microcomputador](https://reader036.vdocuments.pub/reader036/viewer/2022062418/552fc10b497959413d8c1877/html5/thumbnails/31.jpg)
Capítulo 3.1_Apendice_A
Solução