Upload
internet
View
124
Download
4
Embed Size (px)
Citation preview
1
Operadores e Funções do LINGO
Prof. André Marcato
Livro Texto: LINGO – The Modeling Language and Optimizer
Aula 4 2
Introdução
Operadores Padrões: Aritméticos, lógicos e relacionais Matemáticos Financeiros Probabilísticos Domínio Variável Manipulação de Conjuntos Laço de Conjunto Importação e Exportação Miscelânea
Aula 4 3
Operadores Padrões - Aritméticos
Aula 4 4
Operadores Padrões - Lógicos
Aula 4 5
Operadores Padrões - Lógicos
Aula 4 6
Operadores Padrões - Relacionais
São utilizados nas restrições do modelo.
O operador < é equivalente a <=. O operador > é equivalente >=. O LINGO não possui o operador estritamente menor que ou estritamente maior que.
Aula 4 7
Tabela de Prioridades de Operadores
Na ausência de parênteses todos os operadores de mesma prioridade são executados da esquerda para direita.
A melhor estratégia é a utilização de parênteses.
Aula 4 8
Funções Matemáticas (1)
Aula 4 9
Funções Matemáticas (2)
Aula 4 10
Funções Matemáticas (3)
Aula 4 11
Funções Matemáticas (4)
Aula 4 12
Funções Financeiras
FPA: Numa série de pagamentos fixos de R$ 1,00 que foram calculados a uma taxa I. Qual o valor presente do montante?
FPL: Numa série de N pagamentos fixos de R$ 1,00 que foram calculados a uma taxa I. Qual o valor presente da N-ésima
parcela?
Aula 4 13
Funções de Probabilidades
Aula 4 14
Funções de Probabilidades
Aula 4 15
Funções de Probabilidades
Funções de Probabilidade
@QRAND: Produz uma seqüência de números uniformente distribuídos no intervalo (0,1). Só pode ser utilizada na seção DATA.
Geralmente, será utilizada para preencher uma tabela de duas dimensões com m linhas e n variáveis. m representa o número de cenários e n o número de variáveis aleatórias em cada cenário. Entre linhas, os números são “super uniformente distribuídos”.
Exemplo: m = 4; n = 2. Para uma linha os números estarão no invervalo (0,0.5), para outra linha os números estarão no intervalo (0.5,1) e para as outras duas um número será menor que 0.5 e o outro maior que 0.5.
Se a semente não for especificada, será utilizado o clock do sistema para construir o valor da semente.
Aula 4 16
Aula 4 17
Funções de Probabilidades
Aula 4 18
Funções de Probabilidades
Aula 4 19
Funções de Domínio Variável
Aula 4 20
Funções de Manipulação de Conjunto
@IN: determina se um elemento de conjunto está contido em um conjunto.
@INDEX: retorna o índice de um elemento primitivo de conjunto dentro do seu conjunto.
@SIZE: retorna o número de elementos de um conjunto
@WRAP:
Aula 4 21
Funções de Manipulação de Conjunto - Exemplo
Aula 4 22
Funções de Manipulação de Conjunto - Exemplo
Aula 4 23
Funções de Laço de Conjunto
Aula 4 24
Funções de Interface
Permite que o usuário inclua dados de arquivo texto externos em qualquer posição do modelo.
Aula 4 25
Funções de Interface
Esta função é utilizada para estabelecer conexões com algum banco de dados
data_source: nome do banco de dados table_name: É o nome da tabela do banco de dados
que será estabelecida a conexão col_i: É a coluna (ou campo) do banco de dados que
será estabelecida a conexão
Aula 4 26
Funções de Interface
Cria uma interface com o excel que permite a importação e exportação de dados.
A transferência é feita diretamente através da memória sem necessidade de criação de arquivos intermediários
Aula 4 27
Funções de Interface
Esta função é para ser utilizada em conjunto com o LINGO DLL (Dynamic Link Library)
Permite a transferência de dados diretamente através de compartilhamento de memória.
Aula 4 28
Funções de Interface
É utilizada para exportar soluções para arquivos texto. ´a´: append.
Funções de Relatório
São usadas para gerar relatórios baseados nos resultados do modelo.
São válidas tanto para a Seção CALC como para a Seção DATA
Permite ao usuário exportar os relatórios para arquivos texto, planilhas, banco de dados ou aplicações chamadas pelo próprio usuário.
Aula 4 29
Funções de Relatório
Aula 4 30
@ DUAL: Imprime os valores duais de uma variável ou restrição.
Funções de Relatório
Aula 4 31
@FORMAT: Usada em conjunto com os comandos @WRITE e @WRITEFOR
Utiliza as convenções da linguagem C.
12.2f: 12 caracteres, sendo que destes os três últimos correspondem pontos e aos dígitos decimais
Funções de Relatório
Aula 4 32
Funções de Relatório
Aula 4 33
Plotando uma Função Normal Padrão
Aula 4 34
Plotando uma Função Normal Padrão
Aula 4 35
Plotando uma Função Normal Padrão
Aula 4 36
Plotando uma Função Normal Padrão
Aula 4 37
Funções de Relatório
Aula 4 38
@ITERS: Retorna o número total de iterações requeridas para resolver o modelo.
Funções de Relatório
Aula 4 39
@NAME: retorna o nome de uma variável ou linha como texto.
Funções de Relatório
Aula 4 40
@NEWLINE: Escreve n linhas no dispositivo de saída.
@OBJBNS: Retorna o limite sobre o valor objetivo.
@RANGED: Retorna o decremento possível de uma variável ou uma restrição.
@RANDEU: Retornoa o incremento possível de uma variável ou uma restrição
Funções de Relatório
Aula 4 41
Funções de Relatório
Aula 4 42
@STATUS: Retorna o status final do processo
Funções de Relatório
Aula 4 43
Funções de Relatório
Aula 4 44
@STRLEN: Retorna o comprimento de uma determinada string.
@TABLE: Imprime tanto um valor de atributo quanto os membros de um conjunto em formato tabulado.
Funções de Relatório
Aula 4 45
Funções de Relatório
Aula 4 46
Funções de Relatório
Aula 4 47
@TABLE
Funções de Relatório
Aula 4 48
@TIME: retorna o tempo total de execução, em segundos.
Funções de Relatório
Aula 4 49
@WRITE: retorna o valor de um ou mais objetos
@WRITEFOR: retorna o valor de um ou mais conjuntos ao longo SET.
Funções de Relatório
Aula 4 50
Funções de Relatório
Aula 4 51
Text Replication Operator (*): Pode ser usado tanto no write quanto no write for.
Funções de Relatório
Aula 4 52
Miscelânea
Aula 4 53
@IF: Avalia uma função lógica.
Funções de Relatório
Aula 4 54
@IF: Opções de linearização e otimização global desativadas.
Funções de Relatório
Aula 4 55
@IF com opção de linearização ativada ou global solver ativado:
Funções de Relatório
Aula 4 56
@WARN: Imprime uma mensagem se a condição lógica é atendida.
Funções de Relatório
Aula 4 57