análise e modelagem de processos prof. bruno samways dos santos prof_brunosantos@camporeal.edu.br
Post on 17-Apr-2015
108 Views
Preview:
TRANSCRIPT
Análise e Modelagem de ProcessosProf. Bruno Samways dos Santosprof_brunosantos@camporeal.edu.br
Análise e Modelagem de Processos
Linguagem de programação
•A linguagem de programação do LINGO permite a formulação de modelos com muitas variáveis e restrições, a utilização de funções pré-definidas e o interfaceamento com outros programas (excel, bancos de dados, C/C++, Java, VB.net, Delphi, etc.)
Análise e Modelagem de Processos
Estrutura do modelo
•Modelo composto por duas seções: função objetivo e restrições.
MODEL:
SETS:…;
ENDSETS
DATA:…;
ENDDATA
Função objetivo e restrições
END
definições
dados
modelo
Análise e Modelagem de Processos
SETS• É a seção de definição das variáveis e
constantes do modelo;• Set (conjunto) = grupo de objetos similares
ordenados que apresentam mesmo(s) atributo(s) (ou características(s));
• Exemplo:▫Conjuntos: lista de produtos, veículos,
funcionários, etc.▫Atributos: peso, preço unitário, demanda
• Todos os membros de um conjunto possuem os mesmos atributos.
Análise e Modelagem de Processos
Tipos de Conjuntos
•Primitivo: conjunto formado por objetos básicos que não podem ser decompostos.
•Derivado: conjunto definido a partir de um ou mais conjuntos por meio de duas operações.
Análise e Modelagem de Processos
Exemplos
•Conjunto primitivo: DEPOSITOS(membros: relação de depósitos), CLIENTES (membros: relação de clientes)
•Conjunto derivado: ROTAS (membros: todas as possíveis combinações de DEPOSITOS e CLIENTES)
•Sintaxe de conjunto primitivo“nome_conjunto/membro_1,membro_2,
…,membro_n/:lista_de_atributos”OPCIONAL
Análise e Modelagem de Processos
Exemplos• Depósitos de uma empresa:DEPOSITOS/D1,D2,D3/:CAPACIDADE;Conjunto: DEPOSITOSMembros: D1, D2, D3Atributos: CAPACIDADE
• Frotas de caminhões de uma empresa.FROTA/FORD,VOLVO,MERCEDES,DODGE/: CAPACIDADE,CUSTO;Conjunto: FROTAMembros: FORD, VOLVO, MERCEDES, DODGEAtributos: CAPACIDADE, CUSTO
Análise e Modelagem de Processos
Tipos de conjuntos• Sintaxe de conjunto derivado:“Nome_conjunto(lista_conjuntos)/lista_de_membros/:lista_de_atributos;”
• Exemplo: Rotas de transporte de depósitos (2) para clientes (2).ROTAS(DEPOSITOS,CLIENTES)/X11,X12,X21,X22/:CUSTO,VOLUME;Conjunto derivado: ROTASConjuntos formadores: DEPOSITOS,CLIENTESMembros: X11, X12, X21, X22Atributos: CAPACIDADE
• Exemplo: Nutrientes encontrados em porções de alimentos.COMP(NUTRIENTES,ALIMENTOS):QUANT;Conjunto derivado: COMPConjuntos formadores: NUTRIENTES, ALIMENTOSMembros: ---Atributos: QUANT
OPCIONAL
Análise e Modelagem de Processos
DATA• Atribui valores aos membros e/ou atributos
dos conjuntos• Sintaxe:
“lista_de_objetos=lista_de_valores;”
• lista_de_objetos = compreende o nome de um (ou mais) conjunto ou atributo(s) a serem inicializados.
• lista_de_valores = contém os valores ou definições atribuídos ao objetos relacionados na lista_de_objetos.
Análise e Modelagem de Processos
ExemplosSETS:ALIMENTOS/ARROZ,MACARRAO,FEIJAO/:VIT_A,CARBOIDRATO;ENDSETSConjunto: ALIMENTOSMembros: ARROZ, MACARRAO, FEIJAOAtributos: VIT_A, CARBOIDRATO
DATA:VIT_A = 0.35, 0.55, 1.2;CARBOIDRATO = 2.75, 8.50, 3.75ENDDATA
Lista_de_objetos (atributo): VIT_ALista_de_valores (valores): 0.35, 0.55, 1.2
Lista_de_objetos (atributo): CARBOIDRATOLista_de_valores (valores): 2.75, 8.50, 3.45
Análise e Modelagem de Processos
Detalhe!• A lista de membros pode ser incluídas diretamente no
“DATA”, por exemplo:SETS:ALIMENTOS/ARROZ,MACARRAO,FEIJAO/:VIT_A,CARBOIDRATO;ENDSETSDATA:VIT_A = 0.35, 0.55, 1.2;CARBOIDRATO = 2.75, 8.50, 3.75ENDDATAOUSETS:ALIMENTOS:VIT_A,CARBOIDRATO;ENDSETSDATA:ALIMENTOS=ARROZ,MACARRAOM,FEIJAO;VIT_A = 0.35, 0.55, 1.2;CARBOIDRATO = 2.75, 8.50, 3.75ENDDATA
Análise e Modelagem de Processos
FUNÇÕES DE LAÇO
•Utilizam-se as chamadas funções de laço para identificar as restrições e função objetivo do problema;
@SUM – Retorna o somatório de expressões operadas sobre um conjunto.
@SUM(nome_conjunto(índice):lista_expressão)
@FOR – Gera expressão(ões) contida na lista_expressões para todos os membros do conjunto em um laço (utiliza-se para definir restrições!).
@FOR(nome_conjunto(índice):lista_expressão)
Análise e Modelagem de Processos
FUNÇÃO OBJETIVOExemplo: minimizar o custo da mistura (porção) entre o conjunto de alimentos...
MIN = 0.14*X1 + 0.09*X2 + 0.12*X3;
Se C = custo, então pode ser lido da seguinte forma:
MIN = @SUM(ALIMENTOS(J):CUSTO(J)*X(J));
NUTRIENTE 1 2 3A 7 4 2 20B 8 12 18 32C 5 7 2 12
CUSTO (R$ por porção)
0,14 0,09 0,12
ALIMENTOS QUANT. MÍNIMA DIÁRIA
Colunas j
Lin
has
i
1 1 2 2 3 3
n
j jj
Z C X C X C X C X
Análise e Modelagem de Processos
Restrições NUTRIENTE 1 2 3A 7 4 2 20B 8 12 18 32C 5 7 2 12
CUSTO (R$ por porção)
0,14 0,09 0,12
ALIMENTOS QUANT. MÍNIMA DIÁRIA
Colunas j
Lin
has
i
1 2 3
1 2 3
1 2 3
7 4 2 20
8 12 18 32
5 7 2 12
X X X
X X X
X X X
Colunas j
Lin
has
i
1
n
ij j ij
a X b
i
Onde: ija = composição linha i (nutrientes) com
coluna j (alimentos)
3
1 1 11 1 12 2 13 3 1 1 2 31
3
2 2 21 1 22 2 23 3 2 1 2 31
3
3 3 31 1 32 2 33 3 3 1 2 31
1: ( ) ( ) (7 4 2 20)
2 : ( ) ( ) (8 12 18 32)
3: ( ) ( ) (5 7 2 12)
j jj
j jj
j jj
i a X b a X a X a X b X X X
i a X b a X a X a X b X X X
i a X b a X a X a X b X X X
ib = Mínimo diário requerido (atributo do conjunto nutrientes) para cada nutriente.
Análise e Modelagem de Processos
EXERCÍCIO - EXEMPLO
NUTRIENTE 1 2 3A 7 4 2 20B 8 12 18 32C 5 7 2 12
CUSTO (R$ por porção)
0,14 0,09 0,12
ALIMENTOS QUANT. MÍNIMA DIÁRIA
CONJUNTOS:ALIMENTOS:
Membros: 1, 2, 3Atributos: CUSTO, X
NUTRIENTES:Membros: A, B, CAtributos: MINIMO
COMP(ALIMENTOS,NUTRIENTES):Atributos: VAL
MODEL:SETS:
!CONJUNTOS PRIMITIVOS:
!CONJUNTO DERIVADO (NESTE CASO, É A MATRIZ Aij, POIS SE FOR INSERIDO OU RETIRADO UM ALIMENTO OU NUTRIENTE,O TAMANHO DESTE CONJUNTO É MUDADO);
NUTRIENTES/A,B,C/:MINIMO;ALIMENTOS/1,2,3/:CUSTO,X;COMP(NUTRIENTES,ALIMENTOS):VAL;
ENDSETS
Análise e Modelagem de Processos
EXERCÍCIO - EXEMPLO
NUTRIENTE 1 2 3A 7 4 2 20B 8 12 18 32C 5 7 2 12
CUSTO (R$ por porção)
0,14 0,09 0,12
ALIMENTOS QUANT. MÍNIMA DIÁRIA
DADOS:
CUSTO = 0.14, 0.09, 0.12MINIMO = 20, 32 12;VAL = 7, 4, 2,
8, 12, 185, 7, 2;
DATA:MINIMO=20,32,12;CUSTO=0.14,0.09,0.12;VAL= 7,4,2,
8,12,18,5,7,2;
ENDDATA
Análise e Modelagem de Processos
EXERCÍCIO - EXEMPLO
NUTRIENTE 1 2 3A 7 4 2 20B 8 12 18 32C 5 7 2 12
CUSTO (R$ por porção)
0,14 0,09 0,12
ALIMENTOS QUANT. MÍNIMA DIÁRIA
MINIMIZAR Z;
Z = 0,14X1 + 0,09X2 + 0,12
!FUNÇÃO OBJETIVO É IGUAL AO SOMATÓRIO DAS COLUNAS "j" ATÉ "n" QUE É O NÚMERO DE COLUNAS DA MULTIPLICAÇÃO CjXj.fica: SOMATÓRIO DE CjXj, com J VARIANDO DE 1 ATÉ 3.;
MIN = @SUM(ALIMENTOS(J):CUSTO(J)*X(J));
@SUM(nome_conjunto(índice):lista_expressão)
Análise e Modelagem de Processos
EXERCÍCIO - EXEMPLO
NUTRIENTE 1 2 3A 7 4 2 20B 8 12 18 32C 5 7 2 12
CUSTO (R$ por porção)
0,14 0,09 0,12
ALIMENTOS QUANT. MÍNIMA DIÁRIA
A MATRIZ Aij é definida pela composição dos nutrientes (i) nos alimentos (j). Os valores são representados por “VAL”, como definido nos conjuntos.
Para todas as linhas de nutrientes i, faz-se a somatória do produto entre os coeficientes dentro da matriz Aij (“VAL”) e as variáveis Xj, referentes à quantidade da porção a ser adquirida de cada alimento. Esta somatória deve ser maior ou igual quantidade mínima diária bi(“MINIMO”)
@FOR(NUTRIENTES(I):@SUM(ALIMENTOS(J):VAL(I,J)*X(J)) >= MINIMO(I));
Análise e Modelagem de Processos
Modelo completo!EXEMPLO 1 - PROBLEMA DE DIETA;
MODEL:
SETS:
!CONJUNTOS PRIMITIVOS:
!CONJUNTO DERIVADO (NESTE CASO, É A MATRIZ Aij, POIS SE FOR INSERIDO OU RETIRADO UM ALIMENTO OU NUTRIENTE, O TAMANHO DESTE CONJUNTO É MUDADO);
NUTRIENTES/A,B,C/:MINIMO;
ALIMENTOS/1,2,3/:CUSTO,X;
COMP(NUTRIENTES,ALIMENTOS):VAL;
ENDSETS
DATA:
MINIMO=20,32,12;
CUSTO=0.14,0.09,0.12;
VAL= 7,4,2,
8,12,18,
5,7,2;
ENDDATA
MIN = @SUM(ALIMENTOS(J):CUSTO(J)*X(J));
@FOR(NUTRIENTES(I):
@SUM(ALIMENTOS(J):VAL(I,J)*X(J)) >= MINIMO(I));
END
Análise e Modelagem de Processos
Exercício antigoUma fundição planeja produzir em uma semana
conexões T modelos T500 e T1000 com o objetivo de maximizar os lucros da empresa. As conexões T500 e T1000 retornam um lucro de R$ 54,00 e R$ 78,00 por unidade vendida, respectivamente. Para a fabricação de uma conexão T500 são necessários 1,5kg de cobre, 0,5kg de zinco e 0,2kg de níquel. As conexões T1000 utilizam 2,5kg de cobre e 1 kg de zinco por unidade. A fundição pode receber semanalmente 500kg de cobre, 200kg de zinco e 35kg de níquel.
Nestas condições, qual deve ser a quantidade de conexões T500 e T1000 que devem ser produzidos de modo a maximizar o lucro da empresa?
Análise e Modelagem de Processos
Problema de transportes
FÁBRICA 1
FÁBRICA 2
CLIENTE 1
CLIENTE 2
CLIENTE 3
400
500
300
200
400
600
800
700
400
900
600
CAPACIDADE DE FABRICAÇÃO
DEMANDA POR PRODUTOSCUSTOS (R$/PRODUTO)
Encontre o menor custo de envio de produtos das fábricas para os clientes
Análise e Modelagem de Processos
Problema de transportesTrês reservatórios com capacidades diárias de 15,20 e 25 milhões de litros de água, abastecem 4 cidades com consumos diários de 8, 10, 12 e 15 milhões de litros de água. O custo de abastecimento, por milhão de litros, é apresentado na abaixo.
Determine a política de abastecimento ótima, ou seja, aquela com menor custo.
RESERVATÓRIOS
CIDADES
A B C D
1 2 3 4 5
2 3 2 5 2
3 4 1 2 3
Análise e Modelagem de Processos
Problema de designaçãoUma fábrica possui quatro locais: 1, 2, 3 e 4 para receber três máquinas novas (A,B,C). O local 4 é demasiado pequeno para conter a máquina A. O custo da manipulação dos materiais que são processados nas máquinas, em centenas de R$/hora, envolvendo cada máquina com as respectivas posições, é o seguinte:
Pretende-se determinar que local ocupará cada uma das novas máquinas, com o objetivo de minimizar o custo total de manipulação dos materiais.
1 2 3 4
A 5 1 3 X
B 3 1 4 3
C 3 3 4 2
top related