SlideShare uma empresa Scribd logo
1 de 8
Baixar para ler offline
Universidade do Vale do Rio dos Sinos (UNISINOS)
Disciplina de Pesquisa Operacional
Lindo 6.1®
Manual de apoio ao aluno
Professor Dr Luís Henrique Rodrigues
Mestrando Eduardo Rücker
1. Sobre o Lindo e o Manual
O Lindo (Linear Interactive and Discrete Optimizer) é um programa que pode ser usado
para resolver problemas de programação linear, inteira e quadrática.
A versão demo do sistema, a qual será utilizada em sala de aula, possui algumas
limitações:
• Número máximo de restrições: 150.
• Número máximo de variáveis: 300.
• Número máximo de variáveis inteiras: 50.
Em caso de dúvidas sobre o funcionamento do sistema, é possível utilizar o menu Ajuda
sob duas formas de visualização:
• Menu Help, Contents.
• Menu Help, Search for help on...
Este manual tem como objetivo servir de apoio ao estudo da ferramenta, apresentando
questões básicas inerentes ao funcionamento e à modelagem de dados.
2. Sintaxe e regras de modelagem
Para se modelar problemas no Lindo, deve se obedecer à sintaxe padrão e respeitar
algumas regras.
A sintaxe padrão para um modelo desenvolvido no Lindo deve possuir os três elementos
abaixo, na ordem em que aparecem:
• Indicar se o problema é de maximização ou de minimização: toda modelagem no
Lindo deve iniciar por MAX ou MIN.
• ST: entre o final da modelagem da função objetivo e o início da modelagem das
restrições, deve-se digitar a expressão “ST” (subject to = sujeito a).
• Ao final do modelo, deve-se utilizar a expressão “END”.
Regras e dicas importantes para a modelagem:
• Uma mesma variável não pode ter dois ou mais nomes em um mesmo modelo.
Exemplo: se a variável para a quantidade de peças em um problema qualquer
aparecer na função objetivo como Xa, ela não poderá aparecer como Xab na
modelagem das restrições. O Lindo interpretará esta situação como duas variáveis
distintas, mesmo que tenha sido feito um pequeno erro de digitação.
• As variáveis devem possuir no máximo 8 caracteres e iniciar por uma letra. Caso seja
necessário utilizar um espaço no nome da variável, deve-se usar o underline.
• O Lindo não diferencia letras maiusculas e minúsculas.
• O Lindo não reconhece vírgula, e sim ponto. Logo, todo número decimal deve utilizar
ponto. Exemplos:
Errado: 2,5 xab + 3,33 xcd
Correto: 2.5 xab + 3.33 xcd
• Os coeficientes podem tanto estar separados quanto juntos das variáveis, não sendo
necessário digitar o sinal de multiplicação. Exemplos:
2 xab + 4 xbd >= 6
3xab + 5xbd >= 8
• Maior ou igual e menor ou igual devem ser escritos da seguinte maneira: >= e <=.
• A constante das restrições deve estar sempre isolada do lado direito da inequação. Já
as variáveis e os seus coeficientes devem estar no lado esquerdo. Exemplos:
O que NÃO pode ocorrer: 2 xab >= 6 – 4 xbd
O que deve ocorrer: 2 xab + 4 xbd >= 6
• Para se fazer comentários no modelo, basta utilizar um ponto de exclamação seguido
do comentário. Exemplos:
! exercício 1 do apêndice F
! Xi = quantidade de peças do tipo “i”
• Para se identificarem as restrições do modelo, é possível indicar o nome delas,
sempre na margem esquerda da tela, seguido de parênteses. Exemplos:
Maq1) 2Xac + 4Xbd <= 20
Demanda) Xac + Xbd >= 5
Obs.:
ü os nomes seguem a mesma regra das variáveis (máximo de 8 caracteres, etc).
ü a vantagem dessa identificação é o fato de ela aparecer nos relatórios que o
Lindo gera, facilitando a visualização e a interpretação dos resultados.
• Quando a modelagem for uma programação inteira de números reais, deve-se utilizar
a função GIN. Exemplos:
ü Se for modelada a produção de cadeiras, a solução ótima não poderá sugerir
quantidades decimais. Neste caso, a função GIN torna-se obrigatória.
ü Se for modelada a produção de ração animal, em toneladas, os números após a
vírgula talvez necessitem ser considerados. Neste caso, o uso da função GIN
pode não ser a melhor opção de modelagem.
Observações:
ü A utilização da função GIN acarreta na perda da análise de sensibilidade (ver
seção 4).
ü A modelagem da função GIN deve ser feita ao final do modelo, após a expressão
“END”, para cada variável. Exemplos:
END
GIN Xab
GIN Xbc
• Quando a modelagem for uma programação inteira de números binários (0 ou 1),
deve-se utilizar a função INT. Exemplos:
ü Fazer ou não fazer um produto.
ü Convidar ou não convidar um amigo para assistir ao jogo de futebol.
Observações:
ü A modelagem da função INT deve ser feita ao final do modelo, após a expressão
“END”, para cada variável. Exemplos:
END
INT Xab
INT Xbc
Com base em algumas das regras listadas acima, a figura abaixo apresenta um exemplo
de modelagem no Lindo que respeita essas regras:
! exercício 1 apêndice F
! xi = quantidade de peças do tipo “i”
MAX 0.03 xav + 0.05 xad + 0.02 xco
st
produtoA) 0.2 xav + 0.5 xad + 0.75 xco <= 10
produtoB) 0.3 xav + 0.3 xad + 0.05 xco <= 3
produtoC) 0.5 xav + 0.2 xad + 0.2 xco <= 7
demanda) xco >= 8
end
Figura 1 – Exemplo de modelagem no Lindo
3. Rodada
A rodada de um modelo no Lindo depende do respeito às regras detalhadas na seção 2.
Caso existam erros relacionados às regras ou à sintaxe, são geradas mensagens informando
sobre isso. Para que o modelo possa ser validado quanto a essas regras e à sintaxe, sugere-se
utilizar o comando Compile model. Já o processo de rodada é iniciado a partir do comando
Solve.
As funções e os botões para acesso rápido desses comandos estão listados no quadro
abaixo:
Menu Comando Função
Botão para
acesso rápido
Solve
Compile
model
Verifica erros no modelo
Solve Roda o modelo
4. Interpretação de resultados
Após rodar, o Lindo gera as soluções e ainda oferece a opção de visualizar a análise de
sensibilidade, a qual é gerada se for clicado em “Sim” na caixa de diálogo “DO RANGE
(SENSITIVITY) ANALYSIS?”.
A aparência dos resultados de uma rodada pode ser visualizada na figura 2:
Figura 2 – Exemplo dos resultados de um modelo rodado no Lindo
A seguir, descreve-se como se dá o processo de análise dos resultados gerados nos
relatórios de solução e de análise de sensibilidade.
Relatório de solução:
1. Valor da função objetivo (objective function value): apresenta a solução ótima do modelo, ou
seja, é o resultado da função objetivo. Este valor é obtido através da aplicação dos valores das
variáveis (ver item 2) na função objetivo.
No exemplo da figura 2, os valores das variáveis gerados na otimização foram: XAV = 1.1111;
XAD = 7.5555; e XCO = 8. Já a função objetivo do problema era 0.03 XAV + 0.05 XAD + 0.02
XCO. Com isso:
0.03 * 1.1111 + 0.05 * 7.5555 + 0.02 * 8 = 0.5711
2. Variáveis de decisão:
• Valor (Value): é o valor gerado para cada variável no processo de otimização.
• Custo reduzido (Reduced cost): somente válido quando a variável tem valor = 0. O reduced
cost pode ser interpretado de duas formas:
a) O quanto o coeficiente da variável na função objetivo teria que aumentar ou reduzir
para que a introdução da variável na solução ótima fosse rentável (viável).
Nos problemas de MINimização, é o valor que o coeficiente deveria reduzir.
Nos problemas de MAXimização, é o valor que o coeficiente deveria aumentar.
b) Qual seria a “penalidade” (redução da solução ótima) ao aumentar em uma unidade a
variável em questão para fazer com que ela fizesse parte da solução ótima. O termo
“unidade” aqui utilizado refere-se a um aumento qualquer, tanto de números inteiros
quanto decimais. Exemplos: de 10 para 11 ou de 10 para 10.1. Porém, se o aumento
for de 0.1, o custo reduzido resultante na solução ótima será igual a custo reduzido *
0.1.
3. Restrições:
• Linha (Row): indica em que posição (linha) do modelo estão cada uma das restrições. Como
no exemplo da figura 1 as restrições foram nomeadas, o que apareceu foi a própria
descrição da restrição, e não a identificação da linha do modelo.
• Folga ou excesso (slack or surplus): indica quão perto se está do limite do valor do lado
direito da inequação. No caso da figura 2, a restrição “PRODUTOC” possui folga. Se ela
fosse uma máquina, isso indicaria ociosidade do equipamento.
Para verificar se a restrição “PRODUTOC” realmente tem folga, basta substituir os valores
das variáveis na restrição.
Algumas observações:
a) Em inequações do tipo “menor ou igual a”, geralmente tem-se folga quando o número é
maior que zero.
b) Em inequações do tipo “maior ou igual a”, geralmente tem-se excesso quando o
número é maior que zero.
c) O valor pode ser negativo quando uma restrição é violada, situação em que a solução
ótima é inviável.
• Preço dual (Dual price): também chamado de preço sombra (shadow price), indica o quanto
a solução ótima melhoraria ou pioraria por meio da adição de uma unidade no lado direito
da restrição. Em outras palavras, o preço dual ajuda a responder à seguinte pergunta, por
exemplo: até que ponto se deve investir em mais recursos (máquinas, pessoas, etc)?
O termo “unidade” aqui utilizado refere-se a um aumento qualquer, tanto de números
inteiros quanto decimais. Exemplos: de 10 para 11 ou de 10 para 10.1. Porém, se o
aumento for de 0.1, o impacto sobre a solução ótima será igual a preço dual * 0.1.
No exemplo da figura 2, se a capacidade da restrição “PRODUTOA” fosse aumentada de 10
para 10.1, o aumento na solução ótima seria de $ 0.006667 (0.1 * 0.066667). No entanto, o
valor de $ 0.066667 para cada unidade acrescida nem sempre acontecerá, como mostrará a
análise de sensibilidade das restrições – por isso, o preço dual deve ser sempre analisado
conjutamente com o Relatório de Sensibilidade. No exemplo da figura 2, existem limites
mínimos e máximos para a variação do lado direito da restrição dentro dos quais o preço
dual ou a folga/sobra não se alteram. Isso está melhor detalhado na seção que versa sobre
o relatório de análise de sensibilidade.
Adiantando um pouco o tópico sobre análise de sensibilidade: ainda no exemplo da figura 2,
caso o aumento da capacidade da restrição “PRODUTOA” fosse de 0.4, e não 0.1, o
aumento da função objetivo não seria de 0.026667 (0,066667*0.4). A análise de
sensibilidade mostrará que aumentos superiores a 0.333333 na capacidade deste recurso
não garantem o mesmo aumento de 0.066667 na função objetivo para cada unidade do
recurso acrescida (dual price). Em outras palavras, se a capacidade da restrição
“PRODUTOA” fosse aumentada para um número maior ou igual a 10.34, o dual price
mudaria.
Obs.: em problemas de minimização, é preciso ter cuidado na análise. Caso um problema
de minimização de despesas com o escalonamento de mão-de-obra tenha uma restrição
para o domingo com preço dual -100, a inclusão deste dia na solução ótima acarretaria em
um aumento do custo de mão-de-obra. Logo, mesmo que o preço dual seja -100, neste
problema o objetivo seria minimizar as despesas de MO, as quais incluiriam um adicional de
$ 100 em função de disponibilizar-se 1 funcionário no domingo.
Relatório de análise de sensibilidade
A análise de sensibilidade apresenta as faixas de valores nas quais a solução ótima
(resultado das variáveis sugerido pelo Lindo) ou a folga/excesso e preço dual não são afetados.
Em outras palavras, trata-se de um auxílio para a análise do impacto dos coeficientes da função
objetivo e do valor da constante das restrições sobre a solução ótima e a folga/excesso e preço
dual, respectivamente.
1. Sensibilidade de variações nos coeficientes (Obj coefficient ranges):
• Coeficiente atual (Current coef): é o valor do coeficiente de cada variável na função objetivo.
• Aumento admissível (Allowable increase): indica até que ponto o coeficiente de cada
variável poderia, um de cada vez, ser aumentado sem que o valor da variável sofra
alterações.
No exemplo da figura 2, se o coeficiente da variável XAV fosse aumentado de 0.03 para
0.04475, o valor da variável manteria-se o mesmo em relação à solução inicial.
• Redução admissível (Allowable decrease): indica até que ponto o coeficiente de cada
variável poderia, um de cada vez, ser reduzido sem que o valor da variável sofra alterações.
2. Sensibilidade de variações no lado direito das inequações (Righthand side ranges):
• Valor atual (Current RHS): é o valor da constante (que deve estar sempre isolada no lado
direito da restrição).
• Aumento admissível (Allowable increase): indica até que ponto o valor da constante de cada
restrição poderia, um de cada vez, ser aumentado sem que a folga/sobra ou preço dual
sofram alterações.
No exemplo da figura 2, se a constante da constante “PRODUTOA” fosse aumentada de 10
para 10.3333, a folga/sobra e o preço dual manteriam-se os mesmos em relação à solução
inicial.
• Redução admissível (Allowable decrease): indica até que ponto o valor da constante de
cada restrição poderia, um de cada vez, ser reduzido sem que a folga/sobra ou preço dual
sofram alterações.
Obs.: uma análise pode ser feita comparando-se o preço dual com a sensibilidade das
restrições. Utilizando-se como exemplo a restrição “PRODUTOA”, verifica-se que o preço
dual indica aumento da solução ótima no caso de aumento de 1 unidade da restrição.
Porém, por meio da análise de sensibilidade verifica-se que aumentos maiores que
0.333333 nesta restrição alteram o preço dual, bem como aumentos menores que 0.333333
não influenciam o preço dual.
5. Referências
Lindo Systems Inc., Chicago. User´s help.

Mais conteúdo relacionado

Mais procurados

Pesquisa Operacional 1_Aula 2
Pesquisa Operacional 1_Aula 2Pesquisa Operacional 1_Aula 2
Pesquisa Operacional 1_Aula 2Joabe Amaral
 
Programação dinâmica parte 1
Programação dinâmica   parte 1Programação dinâmica   parte 1
Programação dinâmica parte 1Erika Cristina
 
Triângulo de Pascal - Exercícios resolvidos
Triângulo de Pascal - Exercícios resolvidosTriângulo de Pascal - Exercícios resolvidos
Triângulo de Pascal - Exercícios resolvidostadilu3
 
Tema 3. Método gráfico guía teórica
Tema 3. Método gráfico guía teóricaTema 3. Método gráfico guía teórica
Tema 3. Método gráfico guía teóricaSistemadeEstudiosMed
 
1ª lista de exercícios de pesquisa operacional com gabarito
1ª lista de exercícios de pesquisa operacional   com gabarito1ª lista de exercícios de pesquisa operacional   com gabarito
1ª lista de exercícios de pesquisa operacional com gabaritoAntonio Rodrigues
 
Método AHP em Processo Decisório
Método AHP em Processo DecisórioMétodo AHP em Processo Decisório
Método AHP em Processo DecisórioWellington Oliveira
 
Sistemas de equações do 1⁰ grau revisão
Sistemas de equações do 1⁰ grau revisãoSistemas de equações do 1⁰ grau revisão
Sistemas de equações do 1⁰ grau revisãoAngela Costa
 
Algoritmos e Programação: Matrizes
Algoritmos e Programação: MatrizesAlgoritmos e Programação: Matrizes
Algoritmos e Programação: MatrizesAlex Camargo
 
Pasos metodo simplex
Pasos metodo simplexPasos metodo simplex
Pasos metodo simplexjoshraya
 
Estatística aplicada à gestão empresarial
Estatística aplicada à gestão empresarialEstatística aplicada à gestão empresarial
Estatística aplicada à gestão empresarialAdriano Bruni
 
Operações com funções
Operações com funçõesOperações com funções
Operações com funções2301luisa
 
Programacion lineal presentacion (3)
Programacion lineal presentacion (3)Programacion lineal presentacion (3)
Programacion lineal presentacion (3)Ricardo Pesca
 
Limites - Matemática
Limites - MatemáticaLimites - Matemática
Limites - MatemáticaMatheus Ramos
 
Estrutura de Dados - Procedimentos e Funções
Estrutura de Dados - Procedimentos e FunçõesEstrutura de Dados - Procedimentos e Funções
Estrutura de Dados - Procedimentos e FunçõesAdriano Teixeira de Souza
 
MultiplicaçãO
MultiplicaçãOMultiplicaçãO
MultiplicaçãOAna Duarte
 

Mais procurados (20)

GP4US - Pesquisa operacional exercicios resolvidos - metodo simplex
GP4US - Pesquisa operacional   exercicios resolvidos - metodo simplexGP4US - Pesquisa operacional   exercicios resolvidos - metodo simplex
GP4US - Pesquisa operacional exercicios resolvidos - metodo simplex
 
Pesquisa Operacional 1_Aula 2
Pesquisa Operacional 1_Aula 2Pesquisa Operacional 1_Aula 2
Pesquisa Operacional 1_Aula 2
 
Programação dinâmica parte 1
Programação dinâmica   parte 1Programação dinâmica   parte 1
Programação dinâmica parte 1
 
Triângulo de Pascal - Exercícios resolvidos
Triângulo de Pascal - Exercícios resolvidosTriângulo de Pascal - Exercícios resolvidos
Triângulo de Pascal - Exercícios resolvidos
 
Tema 3. Método gráfico guía teórica
Tema 3. Método gráfico guía teóricaTema 3. Método gráfico guía teórica
Tema 3. Método gráfico guía teórica
 
1ª lista de exercícios de pesquisa operacional com gabarito
1ª lista de exercícios de pesquisa operacional   com gabarito1ª lista de exercícios de pesquisa operacional   com gabarito
1ª lista de exercícios de pesquisa operacional com gabarito
 
Tic modulo-25
Tic modulo-25Tic modulo-25
Tic modulo-25
 
Método AHP em Processo Decisório
Método AHP em Processo DecisórioMétodo AHP em Processo Decisório
Método AHP em Processo Decisório
 
Sistemas de equações do 1⁰ grau revisão
Sistemas de equações do 1⁰ grau revisãoSistemas de equações do 1⁰ grau revisão
Sistemas de equações do 1⁰ grau revisão
 
Algoritmos e Programação: Matrizes
Algoritmos e Programação: MatrizesAlgoritmos e Programação: Matrizes
Algoritmos e Programação: Matrizes
 
Pasos metodo simplex
Pasos metodo simplexPasos metodo simplex
Pasos metodo simplex
 
Programando com Python
Programando com PythonProgramando com Python
Programando com Python
 
Estatística aplicada à gestão empresarial
Estatística aplicada à gestão empresarialEstatística aplicada à gestão empresarial
Estatística aplicada à gestão empresarial
 
Operações com funções
Operações com funçõesOperações com funções
Operações com funções
 
Programacion lineal presentacion (3)
Programacion lineal presentacion (3)Programacion lineal presentacion (3)
Programacion lineal presentacion (3)
 
Introdução - Teoria da Decisão
Introdução - Teoria da DecisãoIntrodução - Teoria da Decisão
Introdução - Teoria da Decisão
 
Limites - Matemática
Limites - MatemáticaLimites - Matemática
Limites - Matemática
 
Estrutura de Dados - Procedimentos e Funções
Estrutura de Dados - Procedimentos e FunçõesEstrutura de Dados - Procedimentos e Funções
Estrutura de Dados - Procedimentos e Funções
 
Determinantes - 2º B
Determinantes - 2º BDeterminantes - 2º B
Determinantes - 2º B
 
MultiplicaçãO
MultiplicaçãOMultiplicaçãO
MultiplicaçãO
 

Semelhante a Manual lindo 6.1

Semelhante a Manual lindo 6.1 (20)

Curso CAT3D 2018. Atualização em IMRT. Caso Teste
Curso CAT3D 2018.  Atualização em IMRT. Caso TesteCurso CAT3D 2018.  Atualização em IMRT. Caso Teste
Curso CAT3D 2018. Atualização em IMRT. Caso Teste
 
Apostila Software Arena
Apostila Software ArenaApostila Software Arena
Apostila Software Arena
 
EMA013_03-PROGRAMAO_LINEAR_METODO_SIMPLEX.pdf
EMA013_03-PROGRAMAO_LINEAR_METODO_SIMPLEX.pdfEMA013_03-PROGRAMAO_LINEAR_METODO_SIMPLEX.pdf
EMA013_03-PROGRAMAO_LINEAR_METODO_SIMPLEX.pdf
 
Analise de Sensibilidade
Analise de SensibilidadeAnalise de Sensibilidade
Analise de Sensibilidade
 
Planejamento de um caso-teste de IMRT no CAT3D
Planejamento de um caso-teste de IMRT no CAT3DPlanejamento de um caso-teste de IMRT no CAT3D
Planejamento de um caso-teste de IMRT no CAT3D
 
Aula rotulação automática - Automatic tagging
Aula rotulação automática - Automatic taggingAula rotulação automática - Automatic tagging
Aula rotulação automática - Automatic tagging
 
Cap3 icc final
Cap3 icc finalCap3 icc final
Cap3 icc final
 
Apostila excel-avancado
Apostila excel-avancadoApostila excel-avancado
Apostila excel-avancado
 
Apostila excel 2010 avançado
Apostila excel 2010 avançadoApostila excel 2010 avançado
Apostila excel 2010 avançado
 
Roteiro trabalho com o GoldVarb2001 v2
Roteiro trabalho com o GoldVarb2001 v2Roteiro trabalho com o GoldVarb2001 v2
Roteiro trabalho com o GoldVarb2001 v2
 
5 expressoes logicas - operadores - base binaria - operadores de bits
5   expressoes logicas - operadores - base binaria - operadores de bits5   expressoes logicas - operadores - base binaria - operadores de bits
5 expressoes logicas - operadores - base binaria - operadores de bits
 
Matlab
Matlab Matlab
Matlab
 
Techideias excel avançado v2012
Techideias excel avançado v2012Techideias excel avançado v2012
Techideias excel avançado v2012
 
Cap05
Cap05Cap05
Cap05
 
Cap05
Cap05Cap05
Cap05
 
Cap05
Cap05Cap05
Cap05
 
FC-Logic
FC-LogicFC-Logic
FC-Logic
 
Funções
FunçõesFunções
Funções
 
Visualg
VisualgVisualg
Visualg
 
Apostila excel
Apostila excelApostila excel
Apostila excel
 

Último

Música Meu Abrigo - Texto e atividade
Música   Meu   Abrigo  -   Texto e atividadeMúsica   Meu   Abrigo  -   Texto e atividade
Música Meu Abrigo - Texto e atividadeMary Alvarenga
 
trabalho wanda rocha ditadura
trabalho wanda rocha ditaduratrabalho wanda rocha ditadura
trabalho wanda rocha ditaduraAdryan Luiz
 
AD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptx
AD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptxAD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptx
AD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptxkarinedarozabatista
 
AULA SOBRE AMERICA LATINA E ANGLO SAXONICA.pptx
AULA SOBRE AMERICA LATINA E ANGLO SAXONICA.pptxAULA SOBRE AMERICA LATINA E ANGLO SAXONICA.pptx
AULA SOBRE AMERICA LATINA E ANGLO SAXONICA.pptxLaurindo6
 
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -Aline Santana
 
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...licinioBorges
 
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptxSlides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptxLuizHenriquedeAlmeid6
 
RedacoesComentadasModeloAnalisarFazer.pdf
RedacoesComentadasModeloAnalisarFazer.pdfRedacoesComentadasModeloAnalisarFazer.pdf
RedacoesComentadasModeloAnalisarFazer.pdfAlissonMiranda22
 
UFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfUFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfManuais Formação
 
Pedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxPedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxleandropereira983288
 
Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniModelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniCassio Meira Jr.
 
Literatura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.pptLiteratura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.pptMaiteFerreira4
 
1.ª Fase do Modernismo Brasileira - Contexto histórico, autores e obras.
1.ª Fase do Modernismo Brasileira - Contexto histórico, autores e obras.1.ª Fase do Modernismo Brasileira - Contexto histórico, autores e obras.
1.ª Fase do Modernismo Brasileira - Contexto histórico, autores e obras.MrPitobaldo
 
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASBCRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASBAline Santana
 
Nova BNCC Atualizada para novas pesquisas
Nova BNCC Atualizada para novas pesquisasNova BNCC Atualizada para novas pesquisas
Nova BNCC Atualizada para novas pesquisasraveccavp
 
D9 RECONHECER GENERO DISCURSIVO SPA.pptx
D9 RECONHECER GENERO DISCURSIVO SPA.pptxD9 RECONHECER GENERO DISCURSIVO SPA.pptx
D9 RECONHECER GENERO DISCURSIVO SPA.pptxRonys4
 
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptxSlides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptxLuizHenriquedeAlmeid6
 
Slide língua portuguesa português 8 ano.pptx
Slide língua portuguesa português 8 ano.pptxSlide língua portuguesa português 8 ano.pptx
Slide língua portuguesa português 8 ano.pptxssuserf54fa01
 

Último (20)

Música Meu Abrigo - Texto e atividade
Música   Meu   Abrigo  -   Texto e atividadeMúsica   Meu   Abrigo  -   Texto e atividade
Música Meu Abrigo - Texto e atividade
 
trabalho wanda rocha ditadura
trabalho wanda rocha ditaduratrabalho wanda rocha ditadura
trabalho wanda rocha ditadura
 
AD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptx
AD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptxAD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptx
AD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptx
 
AULA SOBRE AMERICA LATINA E ANGLO SAXONICA.pptx
AULA SOBRE AMERICA LATINA E ANGLO SAXONICA.pptxAULA SOBRE AMERICA LATINA E ANGLO SAXONICA.pptx
AULA SOBRE AMERICA LATINA E ANGLO SAXONICA.pptx
 
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
 
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
 
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptxSlides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
 
RedacoesComentadasModeloAnalisarFazer.pdf
RedacoesComentadasModeloAnalisarFazer.pdfRedacoesComentadasModeloAnalisarFazer.pdf
RedacoesComentadasModeloAnalisarFazer.pdf
 
UFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfUFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdf
 
Pedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxPedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptx
 
Bullying, sai pra lá
Bullying,  sai pra láBullying,  sai pra lá
Bullying, sai pra lá
 
CINEMATICA DE LOS MATERIALES Y PARTICULA
CINEMATICA DE LOS MATERIALES Y PARTICULACINEMATICA DE LOS MATERIALES Y PARTICULA
CINEMATICA DE LOS MATERIALES Y PARTICULA
 
Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniModelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
 
Literatura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.pptLiteratura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.ppt
 
1.ª Fase do Modernismo Brasileira - Contexto histórico, autores e obras.
1.ª Fase do Modernismo Brasileira - Contexto histórico, autores e obras.1.ª Fase do Modernismo Brasileira - Contexto histórico, autores e obras.
1.ª Fase do Modernismo Brasileira - Contexto histórico, autores e obras.
 
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASBCRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
 
Nova BNCC Atualizada para novas pesquisas
Nova BNCC Atualizada para novas pesquisasNova BNCC Atualizada para novas pesquisas
Nova BNCC Atualizada para novas pesquisas
 
D9 RECONHECER GENERO DISCURSIVO SPA.pptx
D9 RECONHECER GENERO DISCURSIVO SPA.pptxD9 RECONHECER GENERO DISCURSIVO SPA.pptx
D9 RECONHECER GENERO DISCURSIVO SPA.pptx
 
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptxSlides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
 
Slide língua portuguesa português 8 ano.pptx
Slide língua portuguesa português 8 ano.pptxSlide língua portuguesa português 8 ano.pptx
Slide língua portuguesa português 8 ano.pptx
 

Manual lindo 6.1

  • 1. Universidade do Vale do Rio dos Sinos (UNISINOS) Disciplina de Pesquisa Operacional Lindo 6.1® Manual de apoio ao aluno Professor Dr Luís Henrique Rodrigues Mestrando Eduardo Rücker
  • 2. 1. Sobre o Lindo e o Manual O Lindo (Linear Interactive and Discrete Optimizer) é um programa que pode ser usado para resolver problemas de programação linear, inteira e quadrática. A versão demo do sistema, a qual será utilizada em sala de aula, possui algumas limitações: • Número máximo de restrições: 150. • Número máximo de variáveis: 300. • Número máximo de variáveis inteiras: 50. Em caso de dúvidas sobre o funcionamento do sistema, é possível utilizar o menu Ajuda sob duas formas de visualização: • Menu Help, Contents. • Menu Help, Search for help on... Este manual tem como objetivo servir de apoio ao estudo da ferramenta, apresentando questões básicas inerentes ao funcionamento e à modelagem de dados. 2. Sintaxe e regras de modelagem Para se modelar problemas no Lindo, deve se obedecer à sintaxe padrão e respeitar algumas regras. A sintaxe padrão para um modelo desenvolvido no Lindo deve possuir os três elementos abaixo, na ordem em que aparecem: • Indicar se o problema é de maximização ou de minimização: toda modelagem no Lindo deve iniciar por MAX ou MIN. • ST: entre o final da modelagem da função objetivo e o início da modelagem das restrições, deve-se digitar a expressão “ST” (subject to = sujeito a). • Ao final do modelo, deve-se utilizar a expressão “END”. Regras e dicas importantes para a modelagem: • Uma mesma variável não pode ter dois ou mais nomes em um mesmo modelo. Exemplo: se a variável para a quantidade de peças em um problema qualquer aparecer na função objetivo como Xa, ela não poderá aparecer como Xab na modelagem das restrições. O Lindo interpretará esta situação como duas variáveis distintas, mesmo que tenha sido feito um pequeno erro de digitação. • As variáveis devem possuir no máximo 8 caracteres e iniciar por uma letra. Caso seja necessário utilizar um espaço no nome da variável, deve-se usar o underline. • O Lindo não diferencia letras maiusculas e minúsculas. • O Lindo não reconhece vírgula, e sim ponto. Logo, todo número decimal deve utilizar ponto. Exemplos: Errado: 2,5 xab + 3,33 xcd
  • 3. Correto: 2.5 xab + 3.33 xcd • Os coeficientes podem tanto estar separados quanto juntos das variáveis, não sendo necessário digitar o sinal de multiplicação. Exemplos: 2 xab + 4 xbd >= 6 3xab + 5xbd >= 8 • Maior ou igual e menor ou igual devem ser escritos da seguinte maneira: >= e <=. • A constante das restrições deve estar sempre isolada do lado direito da inequação. Já as variáveis e os seus coeficientes devem estar no lado esquerdo. Exemplos: O que NÃO pode ocorrer: 2 xab >= 6 – 4 xbd O que deve ocorrer: 2 xab + 4 xbd >= 6 • Para se fazer comentários no modelo, basta utilizar um ponto de exclamação seguido do comentário. Exemplos: ! exercício 1 do apêndice F ! Xi = quantidade de peças do tipo “i” • Para se identificarem as restrições do modelo, é possível indicar o nome delas, sempre na margem esquerda da tela, seguido de parênteses. Exemplos: Maq1) 2Xac + 4Xbd <= 20 Demanda) Xac + Xbd >= 5 Obs.: ü os nomes seguem a mesma regra das variáveis (máximo de 8 caracteres, etc). ü a vantagem dessa identificação é o fato de ela aparecer nos relatórios que o Lindo gera, facilitando a visualização e a interpretação dos resultados. • Quando a modelagem for uma programação inteira de números reais, deve-se utilizar a função GIN. Exemplos: ü Se for modelada a produção de cadeiras, a solução ótima não poderá sugerir quantidades decimais. Neste caso, a função GIN torna-se obrigatória. ü Se for modelada a produção de ração animal, em toneladas, os números após a vírgula talvez necessitem ser considerados. Neste caso, o uso da função GIN pode não ser a melhor opção de modelagem. Observações: ü A utilização da função GIN acarreta na perda da análise de sensibilidade (ver seção 4). ü A modelagem da função GIN deve ser feita ao final do modelo, após a expressão “END”, para cada variável. Exemplos: END GIN Xab GIN Xbc
  • 4. • Quando a modelagem for uma programação inteira de números binários (0 ou 1), deve-se utilizar a função INT. Exemplos: ü Fazer ou não fazer um produto. ü Convidar ou não convidar um amigo para assistir ao jogo de futebol. Observações: ü A modelagem da função INT deve ser feita ao final do modelo, após a expressão “END”, para cada variável. Exemplos: END INT Xab INT Xbc Com base em algumas das regras listadas acima, a figura abaixo apresenta um exemplo de modelagem no Lindo que respeita essas regras: ! exercício 1 apêndice F ! xi = quantidade de peças do tipo “i” MAX 0.03 xav + 0.05 xad + 0.02 xco st produtoA) 0.2 xav + 0.5 xad + 0.75 xco <= 10 produtoB) 0.3 xav + 0.3 xad + 0.05 xco <= 3 produtoC) 0.5 xav + 0.2 xad + 0.2 xco <= 7 demanda) xco >= 8 end Figura 1 – Exemplo de modelagem no Lindo 3. Rodada A rodada de um modelo no Lindo depende do respeito às regras detalhadas na seção 2. Caso existam erros relacionados às regras ou à sintaxe, são geradas mensagens informando sobre isso. Para que o modelo possa ser validado quanto a essas regras e à sintaxe, sugere-se utilizar o comando Compile model. Já o processo de rodada é iniciado a partir do comando Solve. As funções e os botões para acesso rápido desses comandos estão listados no quadro abaixo:
  • 5. Menu Comando Função Botão para acesso rápido Solve Compile model Verifica erros no modelo Solve Roda o modelo 4. Interpretação de resultados Após rodar, o Lindo gera as soluções e ainda oferece a opção de visualizar a análise de sensibilidade, a qual é gerada se for clicado em “Sim” na caixa de diálogo “DO RANGE (SENSITIVITY) ANALYSIS?”. A aparência dos resultados de uma rodada pode ser visualizada na figura 2: Figura 2 – Exemplo dos resultados de um modelo rodado no Lindo
  • 6. A seguir, descreve-se como se dá o processo de análise dos resultados gerados nos relatórios de solução e de análise de sensibilidade. Relatório de solução: 1. Valor da função objetivo (objective function value): apresenta a solução ótima do modelo, ou seja, é o resultado da função objetivo. Este valor é obtido através da aplicação dos valores das variáveis (ver item 2) na função objetivo. No exemplo da figura 2, os valores das variáveis gerados na otimização foram: XAV = 1.1111; XAD = 7.5555; e XCO = 8. Já a função objetivo do problema era 0.03 XAV + 0.05 XAD + 0.02 XCO. Com isso: 0.03 * 1.1111 + 0.05 * 7.5555 + 0.02 * 8 = 0.5711 2. Variáveis de decisão: • Valor (Value): é o valor gerado para cada variável no processo de otimização. • Custo reduzido (Reduced cost): somente válido quando a variável tem valor = 0. O reduced cost pode ser interpretado de duas formas: a) O quanto o coeficiente da variável na função objetivo teria que aumentar ou reduzir para que a introdução da variável na solução ótima fosse rentável (viável). Nos problemas de MINimização, é o valor que o coeficiente deveria reduzir. Nos problemas de MAXimização, é o valor que o coeficiente deveria aumentar. b) Qual seria a “penalidade” (redução da solução ótima) ao aumentar em uma unidade a variável em questão para fazer com que ela fizesse parte da solução ótima. O termo “unidade” aqui utilizado refere-se a um aumento qualquer, tanto de números inteiros quanto decimais. Exemplos: de 10 para 11 ou de 10 para 10.1. Porém, se o aumento for de 0.1, o custo reduzido resultante na solução ótima será igual a custo reduzido * 0.1. 3. Restrições: • Linha (Row): indica em que posição (linha) do modelo estão cada uma das restrições. Como no exemplo da figura 1 as restrições foram nomeadas, o que apareceu foi a própria descrição da restrição, e não a identificação da linha do modelo. • Folga ou excesso (slack or surplus): indica quão perto se está do limite do valor do lado direito da inequação. No caso da figura 2, a restrição “PRODUTOC” possui folga. Se ela fosse uma máquina, isso indicaria ociosidade do equipamento. Para verificar se a restrição “PRODUTOC” realmente tem folga, basta substituir os valores das variáveis na restrição. Algumas observações: a) Em inequações do tipo “menor ou igual a”, geralmente tem-se folga quando o número é maior que zero. b) Em inequações do tipo “maior ou igual a”, geralmente tem-se excesso quando o número é maior que zero.
  • 7. c) O valor pode ser negativo quando uma restrição é violada, situação em que a solução ótima é inviável. • Preço dual (Dual price): também chamado de preço sombra (shadow price), indica o quanto a solução ótima melhoraria ou pioraria por meio da adição de uma unidade no lado direito da restrição. Em outras palavras, o preço dual ajuda a responder à seguinte pergunta, por exemplo: até que ponto se deve investir em mais recursos (máquinas, pessoas, etc)? O termo “unidade” aqui utilizado refere-se a um aumento qualquer, tanto de números inteiros quanto decimais. Exemplos: de 10 para 11 ou de 10 para 10.1. Porém, se o aumento for de 0.1, o impacto sobre a solução ótima será igual a preço dual * 0.1. No exemplo da figura 2, se a capacidade da restrição “PRODUTOA” fosse aumentada de 10 para 10.1, o aumento na solução ótima seria de $ 0.006667 (0.1 * 0.066667). No entanto, o valor de $ 0.066667 para cada unidade acrescida nem sempre acontecerá, como mostrará a análise de sensibilidade das restrições – por isso, o preço dual deve ser sempre analisado conjutamente com o Relatório de Sensibilidade. No exemplo da figura 2, existem limites mínimos e máximos para a variação do lado direito da restrição dentro dos quais o preço dual ou a folga/sobra não se alteram. Isso está melhor detalhado na seção que versa sobre o relatório de análise de sensibilidade. Adiantando um pouco o tópico sobre análise de sensibilidade: ainda no exemplo da figura 2, caso o aumento da capacidade da restrição “PRODUTOA” fosse de 0.4, e não 0.1, o aumento da função objetivo não seria de 0.026667 (0,066667*0.4). A análise de sensibilidade mostrará que aumentos superiores a 0.333333 na capacidade deste recurso não garantem o mesmo aumento de 0.066667 na função objetivo para cada unidade do recurso acrescida (dual price). Em outras palavras, se a capacidade da restrição “PRODUTOA” fosse aumentada para um número maior ou igual a 10.34, o dual price mudaria. Obs.: em problemas de minimização, é preciso ter cuidado na análise. Caso um problema de minimização de despesas com o escalonamento de mão-de-obra tenha uma restrição para o domingo com preço dual -100, a inclusão deste dia na solução ótima acarretaria em um aumento do custo de mão-de-obra. Logo, mesmo que o preço dual seja -100, neste problema o objetivo seria minimizar as despesas de MO, as quais incluiriam um adicional de $ 100 em função de disponibilizar-se 1 funcionário no domingo. Relatório de análise de sensibilidade A análise de sensibilidade apresenta as faixas de valores nas quais a solução ótima (resultado das variáveis sugerido pelo Lindo) ou a folga/excesso e preço dual não são afetados. Em outras palavras, trata-se de um auxílio para a análise do impacto dos coeficientes da função objetivo e do valor da constante das restrições sobre a solução ótima e a folga/excesso e preço dual, respectivamente. 1. Sensibilidade de variações nos coeficientes (Obj coefficient ranges): • Coeficiente atual (Current coef): é o valor do coeficiente de cada variável na função objetivo. • Aumento admissível (Allowable increase): indica até que ponto o coeficiente de cada variável poderia, um de cada vez, ser aumentado sem que o valor da variável sofra alterações. No exemplo da figura 2, se o coeficiente da variável XAV fosse aumentado de 0.03 para 0.04475, o valor da variável manteria-se o mesmo em relação à solução inicial.
  • 8. • Redução admissível (Allowable decrease): indica até que ponto o coeficiente de cada variável poderia, um de cada vez, ser reduzido sem que o valor da variável sofra alterações. 2. Sensibilidade de variações no lado direito das inequações (Righthand side ranges): • Valor atual (Current RHS): é o valor da constante (que deve estar sempre isolada no lado direito da restrição). • Aumento admissível (Allowable increase): indica até que ponto o valor da constante de cada restrição poderia, um de cada vez, ser aumentado sem que a folga/sobra ou preço dual sofram alterações. No exemplo da figura 2, se a constante da constante “PRODUTOA” fosse aumentada de 10 para 10.3333, a folga/sobra e o preço dual manteriam-se os mesmos em relação à solução inicial. • Redução admissível (Allowable decrease): indica até que ponto o valor da constante de cada restrição poderia, um de cada vez, ser reduzido sem que a folga/sobra ou preço dual sofram alterações. Obs.: uma análise pode ser feita comparando-se o preço dual com a sensibilidade das restrições. Utilizando-se como exemplo a restrição “PRODUTOA”, verifica-se que o preço dual indica aumento da solução ótima no caso de aumento de 1 unidade da restrição. Porém, por meio da análise de sensibilidade verifica-se que aumentos maiores que 0.333333 nesta restrição alteram o preço dual, bem como aumentos menores que 0.333333 não influenciam o preço dual. 5. Referências Lindo Systems Inc., Chicago. User´s help.