1 Dia 16 de outubro Introdução à simulação PROFa. Giovana Savitri Pasa...

Post on 07-Apr-2016

220 views 1 download

Transcript of 1 Dia 16 de outubro Introdução à simulação PROFa. Giovana Savitri Pasa...

1

Dia 16 de outubro

Introdução à simulação

PROFa. Giovana Savitri Pasa giovanapasa@producao.ufrgs.br 2012-2

SISTEMAS PRODUTIVOS II ENG 09014

2

Empresas que aplicam simulação:

3

saúde

4

definições

SISTEMA: “Conjunto de entidades que interagem com o objetivo de atingir algum fim lógico.”

MODELO:Para estudar um sistema é preciso estabelecer pressupostos a respeito de seu funcionamento.Esses tomam a forma de expressões matemáticas ou lógicas que constituem o modelo.

Agenda

IR ATÉ NOVO HAMBURGO

melhorintermediáriopior

REUNIÃO NA EMPRESA A

0:551:101:15

melhorintermediáriopior

1:001:301:40

melhorintermediáriopior

0:300:350:50

REUNIÃO NA EMPRESA B

ACORDAR5:456:006:15

melhorintermediáriopior

CAFÉ0:070:090:11

melhorintermediáriopior

ABASTECER CARRO

0:120:150:18

melhorintermediáriopior

CAFÉ-Reuniãomelhorintermediáriopior

PALESTRA2:002:203:00

melhorintermediáriopior

0:400:501:00

melhorintermediáriopior

0:501:302:00

VOLTAR A PORTO ALEGRE

melhor intermediário pior

ACORDAR 05:45 06:00 06:15CAFÉ 00:07 00:09 00:11ABASTECER 00:12 00:15 00:18IR A NH 00:30 00:35 00:50REUNIÃO A 00:55 01:10 01:15REUNIÃO B 01:00 01:30 01:40ALMOÇO 00:50 01:30 02:00PALESTRA 02:00 02:20 03:00VOLTAR 00:40 00:50 01:00TOTAL 06:14 08:19 10:14CHEGADA 11:59 14:19 16:29

CAFÉ-Reunião

6

Por que usar simulação?

7

Law e kelton

Sistema

Experimento com o sistema real

Experimento com um modelo do sistema

Modelo físico

Modelo matemático

Solução analítica

Simulação

Adequação da simulação

8

complexidade

estocasticidade

Programação linear simulação

Teoria das filas

9

Testar:

configurações diferentes do sistema

• layout funcional, layout em linha

A A B

CC

CDD

EE

EE

Funcional Linha

A B C D E

10

Testar:

para uma configuração, condições alternativas• capacidades de máquinas

•mix produtivos

A B

CC

DD

EE

A A B

CC

CDD

EE

EE

40%

60%

30%

50%20%

11

Avaliar desempenho• lead time ou tempo de atravessamento

•índice de retrabalho

A B

CC

DD

EE

A A B

CC

CDD

EE

EE

95 min 108 min

25% 33%

12

• recupera a visão sistêmica dos processos

13

Simulação – bancos

Nro de caixas automáticos

Tipos de funcionalidades nos caixas automáticos

Arranjo físico

Alocação de funcionários por turno

Horários de atendimento

Tempos de espera na fila

14

Simulação - hospitais

Nro de leitos por setor

Nro de médicos por tipo de especialidade em

plantões de emergência

Distribuição de medicamentos e material

Alocação de leitos compartilhados por

hospitais de modo a reduzir transferências

15

Exemplo 3: Manufatura

16

Lead time

Estoques intermediários

Turnos de trabalho

Alocação de operadores

Balanceamento da linha

Fluxo de pessoas

Fluxo de materiais

Layout

Dimensionamento de

capacidade

Mix de produção

Substituição de

equipamentos

Manutenção

Simulação da manufatura

17

18

Simulação da logística

Localização dos CDs

Roteiros de coleta

Tipos de veículos

Alocação de cargas

Lead times

Composição das cargas

Equipamentos de movimentação de cargas

19

Terminologia em Simulação

Estado de um sistema

• conjunto de variáveis necessárias para descrever o seu status em dado momento no tempo

Ex.: Em um banco, na medida em que os clientes chegam, são atendidos ou partem o status do sistema muda.

20

Mudanças no Status

Para descrever cada mudança possível no estado do sistema, necessitamos de um conjunto de variáveis chamadas de variáveis de estado.

Ex.: nº de atendentes ocupados nº de clientes no banco momento de chegada do próximo cliente momento de partida do cliente em atendimento

21

• objeto de interesse Entidade

• propriedades de uma entidade Atributos

Ex.: BancoEntidade: cliente Atributo: profissão

Num sistema

22

Modelos de simulação

ESTÁTICOS

Representam o sistema num momento particular do tempo

Monte Carlo

DINÂMICOS

Representam o sistema modificando-se no tempo.

23

Dinâmicos

Representam o sistema modificando-se no tempo.

simulação contínuasimulação discreta ou de eventos discretos

24

Simulação contínua

Processos químicos, biológicos

Usam equações diferenciais – resolvidas com técnicas numéricas

25

Simulação discreta

Num banco:

Evento cliente tem o seu atendimento iniciado cliente tem o seu atendimento concluído

variável de estado é atualizada

Relógio ou clock é atualizado 10:00 10:15

26

Modelos de simulaçãoDETERMINÍSTICO

Valores exatosSimplificação

ESTOCÁSTICO

Valores estimadosVariabilidade natural

do processo é modelada

27

Modelagem ESTOCÁSTICA

lembrando: os tempos entre chegadas de clientes... os tempos entre chegadas de peças a serem

processadas... a duração dos atendimentos dos clientes... a duração dos processamentos nas máquinas... as tarefas feitas pelas pessoas...

... apresentam variabilidade natural!

Por isso usamos Distribuições de Probabilidade!

28

Os tempos de execução de uma atividade apresentam variabilidade...

Tempo medido

29

Tempo medido

30

Tempo medido

31

Tempo medido

32

Tempo medido

33

Tempo medido

34

O que esta figura lembra?

Tempo medido

35

Distribuição de probabilidade normal

36

Simulação de eventos discretos

EstáticaDinâmica

Contínua Discreta

Determinística Estocástica

Estuda sistemas estocásticos que mudamcom o passar do tempo

As mudanças ocorrem em momentos discretosdo tempo (eventos)

O evento muda o estado do sistema instantaneamente(variáveis de estado são atualizadas)!

37

Para estimar o tempo médio na fila, você precisa das variáveis de estado:status do servidor: ocupado ou ociosonúmero de clientes na filainstante de chegada de cada cliente na fila

O status do servidor é necessário para determinar se o cliente que chegou vai ser atendido imediatamente ou vai entrar na fila

O número de clientes na fila é necessário para saber se, ao terminar o atendimento atual, o servidor ficará ocioso ou ocupado com alguém que estava na fila

O instante de chegada é necessário para calcular o tempo gasto na fila: = tempo de início do atendimento menos instante de chegada

38

Eventos do exemplo:

1 - chegada de um clienteou muda a variável de estado status do servidor de ocioso para ocupado

ou incrementa 1 na variável de estado número de clientes na fila

2 - finalização de um atendimentoou muda a variável de estado status do servidor de ocupado para ocioso

ou decrementa 1 na variável de estado número de clientes na fila

39

Mecanismos de avanço no tempo

simulation clock: é a variável que fornece o valor atual do tempo da simulação

incremento fixoavanço no próximo evento

40

Avanço no próximo evento

ei – instante de ocorrência do evento

i

ti – instante de chegada do cliente i

tfi – tempo que o cliente i fica na fila

tsi – instante em que o cliente i tem

seu atendimento concluído e sai

e0 e1 e2 e3 e4 e5tempo

0 t1 t2 ts1 t3 ts2

A1 A2 A3

S1 S2

Ai – tempo entre chegada dos

clientes i-1 e i

Ai = ti – ti-1

Si – tempo gasto atendendo o cliente i

tsi = ti + tfi + Si

41

Relógio é inicializado em zero: e0=0Status do servidor: ociosoUsamos distribuição de probabilidade (ddp) para gerar o valor de A1

(tempo entre chegadas)Então, primeiro cliente chegará em t1 = 0 + A1

e0 e1 e2 e3 e4 e5tempo

0 t1 t2 ts1 t3 ts2

A1 A2 A3

S1 S2

e0=0

42

Avançamos o relógio para: e1= t1

O cliente 1 que chegou em t1 encontrou o servidor ociosoO seu atendimento iniciou sem que ele ficasse em fila: tf1 = 0Status do servidor passou a ocupadoUsamos ddp para gerar o valor de S1 (tempo de atendimento do cliente 1)Então, o primeiro cliente sairá em ts1 = t1 + tf1 + S1

e0 e1 e2 e3 e4 e5tempo

0 t1 t2 ts1 t3 ts2

A1 A2 A3

S1 S2

e1= t1

43

Usamos ddp para gerar o valor de A2 (tempo entre chegadas para cliente 2)Então, segundo cliente chegará em t2 = t1 + A2

Como t2 < ts1 , o cliente 2 chega enquanto o cliente 1 ainda está sendo atendido e o relógio é avançado para e2= t2

(Se t2 ≥ ts1 , o relógio avançaria para e2= ts1)

e0 e1 e2 e3 e4 e5tempo

0 t1 t2 ts1 t3 ts2

A1 A2 A3

S1 S2

e1= t1

44

O cliente 2 encontrou o servidor ocupado, então vai para a filaA variável nro de clientes na fila é incrementada de 1 e anotamos o

instante de entrada na filaUsamos ddp para gerar o valor de A3 (tempo entre chegadas para cliente 3)Então, cliente 3 chegará em t3 = t2 + A3

Como ts1 < t3 , o relógio é avançado para e3= ts1 e o cliente 1 sai

e0 e1 e2 e3 e4 e5tempo

0 t1 t2 ts1 t3 ts2

A1 A2 A3

S1 S2

e2= t2

45

O cliente 2 que estava na fila tem seu atendimento iniciadoO tempo de fila é calculado: tf2 = ts1 - t2 A variável nro de clientes na fila é decrementada de 1Usamos ddp para gerar o valor de S2 (tempo atendimento do cliente 2)Então, cliente 2 sairá em ts2 = ts1 + S2

Como t3 < ts2 , o relógio é avançado para e4= t3 , etc.

Precisamos criar um critério de finalização

e0 e1 e2 e3 e4 e5tempo

0 t1 t2 ts1 t3 ts2

A1 A2 A3

S1 S2

e3= ts1

46

Sintetizando:Sintetizando:Componentes e organização do modelo

Estado do sistema: conjunto de variáveis para descrever o sistema em dado instante

Relógio ou clock: variável que fornece o valor atual do tempo de simulação

Lista de eventos: registra o próximo instante em que cada tipo de evento irá ocorrer

Contadores estatísticos: armazenam indicadores de desempenho do sistema simulado

47

Componentes e organização do modelo

Rotina de inicialização: subprograma que inicializa o sistema no instante zero

Rotina de timing: subprograma que determina qual o próximo evento da lista e atualiza o relógio para o instante de ocorrência deste evento

Rotina de evento: subprograma que atualiza o estado do sistema quando um determinado tipo de evento ocorreu (cada tipo de evento tem sua própria rotina)

Biblioteca de rotinas: conjunto de subprogramas para gerar valores a partir das ddp

48

Componentes e organização do modelo

Gerador de relatório: subprograma que calcula as estimativas dos indicadores de desempenho do modelo

Programa principal: controla o fluxo das açõeschama rotina de timing para determinar próximo eventotransfere controle para rotina de evento atualizar variáveis de estadoverifica finalizaçãochama gerador de relatório.

início

0. Chama rotina inicialização

1. Chama rotina timing2. Chama rotina evento i Repetidamente

Programa principal

Rotina evento i

1. Atualiza o estado do sistema2. Atualiza os contadores estatísticos3. Gera eventos futuros e adiciona à lista de eventos

Simulaçãoconcluída ?

sim1. Calcula estimativas2. Gera relatórios

Fim

Gerador relatórios

1. Determina o tipo do próximoevento i2. Avança relógio

Rotina timing

1

i

0Rotina inicialização

2

não

1. Relógio ézerado2. Inicializa estado do sistema e contadores3. Inicializa listade eventos

FLUXO DE CONTROLE

Gerador de variáveis aleatórias

Biblioteca de rotinas

50

exemplo

Objetivo da simulação: dimensionar o setor de manutenção com relação ao

número de funcionários para reduzir o tempo médio de atendimento das solicitações de serviço de manutenção.

Quais entidades devem ser consideradas? solicitação de serviço de manutenção.

Há a necessidade de diferenciar as entidades através de atributos? sim

51

manutenção

Entidade: solicitação de serviço de manutenção

Atributo: tipo de manutenção corretiva preventiva

Preciso de outro atributo para distinguir as solicitações de serviço?

52

manutenção

SIM, o tipo de máquina que vai sofrer manutenção

MAS: Haverá diversos tipos de máquinas! Será que preciso criar tantos valores para o atributo máquina?!

Faça rapidamente um pareto ou use o seu conhecimento e escolha os 3 tipos de máquinas que ocupam o maior percentual de tempo do setor de manutenção. Inicie criando estes 3 possíveis valores para o atributo “máquina que vai sofrer manutenção”.

53

Como ficou até aqui:

Entidade: solicitação de serviço Atributo 1: tipo de manutenção

corretiva Att1=1 preventiva Att1=2

Atributo: máquina que vai sofrer manutenção m1 Att2=1 m2 Att2=2 m3 Att2=3

Os atributos auxiliam a distinguir. Isto permite saber que ação tomar em relação àquela entidade específica.

54

Quais os recursos utilizados na manutenção?

Precisamos listar todos os recursos a serem utilizados na manutenção?Inicialmente, liste os recursos mais nobres (gargalos): Funcionários

Quais os locais envolvidos na modelagem? chegada de solicitações de manutenção setor de manutenção saída

55

continuação:

Como é o processo de chegada?Neste ponto, precisamos obter dados para as freqüências de

chegadas de solicitações de serviço dos tipos corretiva e preventiva para as máquinas m1, m2 e m3.

Corretiva Preventiva Att1 1 2 40% 60% m1 m2 m3 m1 m2 m3 Att2 1 2 3 1 2 3 Nro de solicit. 16% 16% 8% 24% 24% 12%

56

continuação:

Como é o tempo de atendimento?Neste ponto, precisamos obter dados para os tempos de

atendimento em cada serviço dos tipos corretiva e preventiva para as máquinas m1, m2 e m3. Vamos iniciar com valores determinísticos para obtermos domínio sobre o modelo.

Corretiva Preventiva Att1 1 2 m1 m2 m3 m1 m2 m3 Att2 1 2 3 1 2 3 Tempo de atend.

10 20 50 60 70 80

57

continuação:

Quais eventos precisam ser modelados? 1 - chegada de uma solicitação de serviço 2 - finalização de uma manutenção

Quais as variáveis de estado necessárias para descrever os possíveis estados desencadeados pelos eventos? status do funcionário: ocupado ou ocioso número de solicitações na fila instante de chegada de cada solicitação na fila

58

Status

1 - chegada de uma solicitação de serviço ou muda a variável de estado status do funcionário de

ocioso para ocupado ou incrementa 1 na variável de estado número de

solicitações na fila

2 - finalização de uma manutenção ou muda a variável de estado status do funcionário de

ocupado para ocioso ou decrementa 1 na variável de estado número de

solicitações na fila

59

medições

Quais as variáveis nos auxiliarão a determinar se estamos nos aproximando do objetivo da simulação? tempo de fila tempo de atendimento tempo no sistema (=tempo fila+tempo atendimento) nível de ocupação dos funcionários

60

medições incrementando variáveis

As variáveis (tempo de fila, tempo de atendimento,

tempo no sistema, nível de ocupação dos

funcionários) que nos auxiliarão a determinar se

estamos nos aproximando do objetivo da simulação

serão incrementadas ou decrementadas na medida

em que os eventos ocorrerem.

61

pressupostos

Quais pressupostos assumimos inicialmente? modelagem das manutenções de maior

impacto na ocupação do setor simplificação nos locais simplificação na qualificação dos

funcionários

Regime: permanente

62

Terminologia em TEORIA DAS FILAS

Descreve a forma como os clientes chegam no sistema.

processo de chegada

(arrival ou input process)

1 - Processo de chegada

•um cliente por vez•grupos

63

2 - Processo de atendimento

descreve a forma como os clientes são atendidos

distribuição do tempo de atendimento

um ou mais servidores série ou paralelo

processo de atendimento

(service or output process)

64

Para modelarmos os processos de chegada e atendimento...

... podemos ter uma modelagem determinística (D) ou podemos ter as distribuições de probabilidade (ddp). Algumas delas são:

M – exponencialU - UniformeG – geral ou arbitrária

Mais adiante serão estudadas em detalhe.

65

3 – Número de atendentes

um atendente vários

66

4 - Regra ou disciplina da fila

descreve a ordem em que os clientes serão atendidos primeiro a chegar é o primeiro a ser atendido

FCFS – first come, first served último a chegar é o primeiro a ser atendido

LCFS – last come, first served aleatório em relação à chegada prioridades por categorias

67

5 – Número máximo de clientes no sistema

limitado infinito

68

6 - População

Fonte infinita – chegadas independem do nro de clientes no sistema

Fonte finita – dependem - população pequena - desistem em

função do tamanho da

fila

69

FILAS: elementos básicos

Os elementos básicos das filas são os seis apresentados, especialmente:

- taxa de chegada - taxa de atendimento

A notação de Kendall- Lee organiza estes elementos da seguinte forma:

70

Notação Kendall-Lee

1/2/3/4/5/6

1 – processo de chegada2 – processo de atendimento3 – número de atendentes4 – regra da fila5 – número máximo de clientes no sistema6 – tamanho da população

71

exemplo:

M/M/1

1 – processo de chegada exponencial2 – processo de atendimento exponencial3 – número de atendentes = 14 – regra da fila: geral5 – número máximo de clientes no sistema: 6 – tamanho da população:

72

FILAS

SISTEMACLIENTE NA FILA

CLIENTE SENDO ATENDIDO

chegada fila atendimento saída

IC TF NF TA NA sistemaTS NS