Slide 1

Propaganda
Operadores e Funções do
LINGO
Prof. André Marcato
Livro Texto: LINGO – The Modeling Language and Optimizer
1
Introdução









Aula 4
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
2
Operadores Padrões - Aritméticos
Aula 4
3
Operadores Padrões - Lógicos
Aula 4
4
Operadores Padrões - Lógicos
Aula 4
5
Operadores Padrões - Relacionais
Aula 4

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.
6
Tabela de Prioridades de
Operadores


Aula 4
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.
7
Funções Matemáticas (1)
Aula 4
8
Funções Matemáticas (2)
Aula 4
9
Funções Matemáticas (3)
Aula 4
10
Funções Matemáticas (4)
Aula 4
11
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
12
Funções de Probabilidades
Aula 4
13
Funções de Probabilidades
Aula 4
14
Funções de Probabilidades
Aula 4
15
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
Funções de Probabilidades
Aula 4
17
Funções de Probabilidades
Aula 4
18
Funções de Domínio Variável
Aula 4
19
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
20
Funções de Manipulação de
Conjunto - Exemplo
Aula 4
21
Funções de Manipulação de
Conjunto - Exemplo
Aula 4
22
Funções de Laço de Conjunto
Aula 4
23
Funções de Interface

Aula 4
Permite que o usuário inclua dados de arquivo texto
externos em qualquer posição do modelo.
24
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
25
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
26
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
27
Funções de Interface


Aula 4
É utilizada para exportar soluções para arquivos texto.
´a´: append.
28
Funções de Relatório



Aula 4
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.
29
Funções de Relatório
@ DUAL: Imprime os valores duais de
uma variável ou restrição.
Aula 4
30
Funções de Relatório
@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
Aula 4
31
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
@ITERS: Retorna o número total de
iterações requeridas para resolver o
modelo.
Aula 4
38
Funções de Relatório
@NAME: retorna o nome de uma variável
ou linha como texto.
Aula 4
39
Funções de Relatório
@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
Aula 4
40
Funções de Relatório
Aula 4
41
Funções de Relatório
@STATUS: Retorna o status final do processo
Aula 4
42
Funções de Relatório
Aula 4
43
Funções de Relatório
@STRLEN: Retorna o comprimento de
uma determinada string.
@TABLE: Imprime tanto um valor de
atributo quanto os membros de um
conjunto em formato tabulado.
Aula 4
44
Funções de Relatório
Aula 4
45
Funções de Relatório
Aula 4
46
Funções de Relatório
@TABLE
Aula 4
47
Funções de Relatório
@TIME: retorna o tempo total de
execução, em segundos.
Aula 4
48
Funções de Relatório
@WRITE: retorna o valor de um ou mais
objetos
@WRITEFOR: retorna o valor de um ou
mais conjuntos ao longo SET.
Aula 4
49
Funções de Relatório
Aula 4
50
Funções de Relatório
Text Replication Operator (*): Pode ser
usado tanto no write quanto no write for.
Aula 4
51
Funções de Relatório
Aula 4
52
Miscelânea
@IF: Avalia uma função lógica.
Aula 4
53
Funções de Relatório
@IF: Opções de linearização e otimização
global desativadas.
Aula 4
54
Funções de Relatório
@IF com opção de linearização ativada ou
global solver ativado:
Aula 4
55
Funções de Relatório
@WARN: Imprime uma mensagem se a
condição lógica é atendida.
Aula 4
56
Funções de Relatório
Aula 4
57
Download