30
Escola de Engenharia Departamento de Produção e Sistemas Mestrado em Engenharia de Sistemas Projeto Integrado I Mecanismos de CAP: CONWIP, POLCA e GPOLCA, uma análise comparativa através de modelagem e simulação em ARENA JOSÉ ROGÉRIO FERNANDES – PG22722 WASHINGTON LUIZ PERONI BALSEVICIUS – E4999 EDISON FRANCISCA – PG23188 Luís Dias, Guilherme Pereira, Sílvio Carmo Silva Braga, 10 de Fevereirode 2013

Mecanismos de CAP: CONWIP, POLCA e GPOLCA, uma análise comparativa através de modelagem e simulação em ARENA

Embed Size (px)

DESCRIPTION

O estudo pretende analisar os mecanismos de controle da actividade produtiva através de simulação e optimização das variáveis de controle, para atingir valores alvos das medidas de desempenho. Definição dos mecanismos, das medidas de desempenho e das variáveis de controle respectivamente. CONWIP-MTO: Constant Work In Process - Make To Order. POLCA: Paired-cell Overlapping Loops of Cards with Authorization. GPOLCA: Generic Paired-cell Overlapping Loops of Cards with Authorization. Troughput: tempo médio entre as saídas do sistema. WIP (Work In Process): média de encomendas em curso de fabrico no sistema. Cartão ou Kanban é uma palavra japonesa que significa literalmente registro ou placa visível. Em Gestão da Produção significa um cartão de sinalização que controla os fluxos de produção ou transportes numa indústria. O cartão pode ser substituído por outro sistema de sinalização, como luzes, caixas vazias e até locais vazios demarcados. Número de cartões: é uma quantidade inteira de cartões que dão ordem ou carga aos Centros de Trabalho para que iniciem, ou continuem a produzir conforme a quantidade de encomendas nos seus buffers. Outros termos usados: CT: Centro de trabalho

Citation preview

Page 1: Mecanismos de CAP: CONWIP, POLCA e GPOLCA, uma análise comparativa através de modelagem e simulação em ARENA

Escola de Engenharia

Departamento de Produção e Sistemas

Mestrado em Engenharia de Sistemas

Projeto Integrado I

Mecanismos de CAP: CONWIP, POLCA e GPOLCA, uma análise comparativa através de modelagem e simulação em ARENA

JOSÉ ROGÉRIO FERNANDES – PG22722

WASHINGTON LUIZ PERONI BALSEVICIUS – E4999

EDISON FRANCISCA – PG23188

Luís Dias, Guilherme Pereira, Sílvio Carmo Silva

Braga, 10 de Fevereirode 2013

Page 2: Mecanismos de CAP: CONWIP, POLCA e GPOLCA, uma análise comparativa através de modelagem e simulação em ARENA

UMinho 2012/13 - Proj. Integrado I – “CONWIP, POLCA e GPOLCA, Modelação e Comparação” José Fernandes, Washigton Peroni, Edison Francisca Pág. 2/30

Resumo

Neste trabalho pretende-se analisar e comparar sistemas de controle da actividade produtiva, através de modelagem e simulação utilizando-se o software Rockwell Arena. Os Sistemas CAP que foram objecto de estudo nesse trabalho de pesquisa são:

i. CONWIP

ii. POLCA

iii. GPOLCA

Page 3: Mecanismos de CAP: CONWIP, POLCA e GPOLCA, uma análise comparativa através de modelagem e simulação em ARENA

UMinho 2012/13 - Proj. Integrado I – “CONWIP, POLCA e GPOLCA, Modelação e Comparação” José Fernandes, Washigton Peroni, Edison Francisca Pág. 3/30

Índice

Resumo ..................................................................... 2

Índice ........................................................................ 3

1. Introdução ao estudo ........................................ 4

2. CAP - Controlo da Actividade Produtiva ............ 5

2.1 .. Principais objetivos do CAP .......................................... 5

3. Mecanismos ....................................................... 6

3.1 .. CONWIP-MTO ............................................................. 6

3.2 .. POLCA ......................................................................... 8

3.3 .. GPOLCA ..................................................................... 10

4. Simulação ........................................................ 13

4.1 .. Software de Simulação ARENA................................... 13

5. Modelos dos Mecanismos em Arena ............... 14

5.1 .. CONWIP .................................................................... 14

5.2 .. POLCA ....................................................................... 15

5.3 .. GPOLCA ..................................................................... 16

6. Ferramenta de otimização Optquest ............... 17

6.1 .. Visão global ............................................................... 17

6.2 .. Exemplos de aplicações são: ...................................... 17

6.3 .. Optquest na nossa experimentação ........................... 17 6.3.1 Objectivo 17 6.3.2 Restrição 17 6.3.3 Variável de controlo 17

7. Resultados e análise ........................................ 18

7.1 .. Amostra homogenea ................................................. 18

7.2 .. Amostra heterogenea ................................................ 18

8. Conclusões ....................................................... 19

9. Bibliografia e referências ................................. 20

10. Anexos ............................................................. 21

10.1 . Número de cartões nos vários modelos ..................... 21

10.2 . Código SIMAN CONWIP ............................................. 22

10.3 . Código SIMAN POLCA ................................................ 25

10.4 . Código SIMAN GPOLCA .............................................. 28

Figuras

Figura 1: Esquema simplificado CONWIP-MTO ............... 7

Figura 2: Esquema simplificado POLCA ........................... 9

Figura 3: Esquema simplificado GPOLCA....................... 12

Figura 3: Modelo arena CONWIP .................................. 14

Figura 3: Modelo arena POLCA..................................... 15

Figura 6: Modelo arena GPOLCA .................................. 16

Figura 6: Optquest: Objectives ..................................... 17

Figura 6: Optquest: Constraints.................................... 17

Figura 9: Arena: Cards Create....................................... 17

Figura 6: Optquest: Controls ........................................ 17

Figura 6: Gráfico amostra heterogenea ........................ 18

Anexos

Tabela 1: Amostra homogenea .................................... 18

Tabela 2: Amostra heterogenea ................................... 18

Tabela 2: Nº de cartões em amostra homogenea ......... 21

Tabela 2: Nº de cartões em amostra heterogenea ........ 21

Page 4: Mecanismos de CAP: CONWIP, POLCA e GPOLCA, uma análise comparativa através de modelagem e simulação em ARENA

UMinho 2012/13 - Proj. Integrado I – “CONWIP, POLCA e GPOLCA, Modelação e Comparação” José Fernandes, Washigton Peroni, Edison Francisca Pág. 4/30

1. Introdução ao estudo

O estudo pretende analisar os mecanismos de controle da actividade produtiva através de simulação e optimização das variáveis de controle, para atingir valores alvos das medidas de desempenho.

Definição dos mecanismos, das medidas de desempenho e das variáveis de controle respectivamente.

CONWIP-MTO: Constant Work In Process - Make To Order.

POLCA: Paired-cell Overlapping Loops of Cards with Authorization.

GPOLCA: Generic Paired-cell Overlapping Loops of Cards with Authorization.

Troughput: tempo médio entre as saídas do sistema.

WIP (Work In Process): média de encomendas em curso de fabrico no sistema.

Cartão ou Kanban é uma palavra japonesa que significa literalmente registro ou placa visível. Em Gestão da Produção significa um cartão de sinalização que controla os fluxos de produção ou transportes numa indústria. O cartão pode ser substituído por outro sistema de sinalização, como luzes, caixas vazias e até locais vazios demarcados.

Número de cartões: é uma quantidade inteira de cartões que dão ordem ou carga aos Centros de Trabalho para que iniciem, ou continuem a produzir conforme a quantidade de encomendas nos seus buffers.

Outros termos usados:

CT: Centro de trabalho

Page 5: Mecanismos de CAP: CONWIP, POLCA e GPOLCA, uma análise comparativa através de modelagem e simulação em ARENA

UMinho 2012/13 - Proj. Integrado I – “CONWIP, POLCA e GPOLCA, Modelação e Comparação” José Fernandes, Washigton Peroni, Edison Francisca Pág. 5/30

2. CAP - Controlo da Actividade Produtiva

O Controlo da Actividade Produtiva (CAP), segundo Fernandes1: “É uma função de importância estratégica para o sucesso económico das empresas industriais. Este incide sobre duas vertentes de decisão fundamentais: a de lançamento de trabalhos para a produção e a de controlo do fluxo de materiais.”

2.1 Principais objetivos do CAP

Manter conhecimento sobre o estado actual das tarefas.

Que tarefas estão a ser realizadas e em que locais.

Determinar as operações seguintes a realizar.

Que tarefas devem ser realizadas a seguir em cada posto de trabalho.

Assegurar que os materiais e as capacidades são adequados.

Garantir que existem os materiais necessários e que existe capacidade.

Suficiente para realizar as operações.

Maximizar a eficiência.

Maximizar a utilização da mão-de-obra e das máquinas e minimizar.

Stocks, tempos de setup.

Manter controlo operacional.

Monitorizar a evolução das operações e desencadear acções correctivas sempre que necessárias.

1 Fernandes N.O. Instituto Politécnico de Castelo Branco, Departamento de

Engenharia Industrial 2007

Page 6: Mecanismos de CAP: CONWIP, POLCA e GPOLCA, uma análise comparativa através de modelagem e simulação em ARENA

UMinho 2012/13 - Proj. Integrado I – “CONWIP, POLCA e GPOLCA, Modelação e Comparação” José Fernandes, Washigton Peroni, Edison Francisca Pág. 6/30

3. Mecanismos

Os mecanismos de Controlo da Actividade de Produção (CAP) são de importância estratégica para o sucesso económico das empresas, influenciando significativamente critérios como o prazo de entrega, a entrega atempada, o WIP e a utilização dos recursos.

O aparecimento da filosofia de produção Just In Time (JIT), com origem no Japão, veio sublinhar a importância do lançamento controlado. O JIT está na origem do Toyota Kanban System (TKS) (Sugimori et al., 1977), um mecanismo usado com sucesso desde o final dos anos setenta em todos os países industrializados.

O TKS limita o nível de existências ou WIP nos centros de trabalho, limitando implicitamente o WIP no espaço fabril. Na sua forma mais simples, cada centro de trabalho é constituído por uma máquina e um buffer de saída. Se o nível de existências nestes buffers, cair abaixo de um valor previamente definido, a máquina é autorizada a produzir de forma a repor as quantidades consumidas, caso contrário, permanece inactiva. Para isto são usados kanbans, i.e. cartões, em cada centro de trabalho do espaço fabril, os quais funcionam como autorizações de produção. Em geral, estes cartões são específicos do tipo de trabalho a executar.

3.1 CONWIP-MTO

Spearman et al. (1990[4]) introduziram o mecanismo CONWIP numa tentativa de estender os benefícios do JIT a ambientes produtivos onde o TKS é considerado inapropriado

Este sistema pode ser considerado como um sistema híbrido de puxar e empurrar2 (Spearman et al. 1990 [4]). O mecanismo limita a quantidade total de trabalhos no espaço fabril, permitindo variações na mistura destes e na sua localização, o que não acontece no TKS. Isto é usualmente feito usando cartões que são atribuídos aos trabalhos, no momento em que são lançados para o espaço fabril. Quando o limite de WIP no espaço fabril é alcançado, o lançamento de novos trabalhos só pode ser autorizado pela conclusão de trabalhos previamente lançados, ou pelo consumo de produtos acabados. Num sistema de envio ou de empurrar, a ordem de produção está prevista e o material é empurrado para dentro da linha de produção3.

No nosso sistema assumimos que as matérias primas existem de forma infinita (sempre dísponiveis) para melhor simular cada modelo. Num sistema de puxar, o

2 Um sistema push-pull no negócio descreve o movimento de um produto

ou de informações entre dois sujeitos. A produção de envio é baseado em previsão de procura e puxar produção é baseada na procura real ou consumido.

3 A linha de produção é um conjunto de operações sequenciais

estabelecidos numa fábrica em que os materiais são submetidos a um processo de refinação para a produção de um produto final que é adequada para o consumo em diante, ou os componentes são montados para fazer um artigo acabado.

início do processo de montagem de cada produto é desencadeada pela realização de outra no final da linha de produção. Essa atração variante é conhecida por sua facilidade de implementação.

Em baixo apresentamos um diagrama que contém, de forma simplificada, o funcionamento do mecanismo CONWIP.

Page 7: Mecanismos de CAP: CONWIP, POLCA e GPOLCA, uma análise comparativa através de modelagem e simulação em ARENA

UMinho 2012/13 - Proj. Integrado I – “CONWIP, POLCA e GPOLCA, Modelação e Comparação” José Fernandes, Washigton Peroni, Edison Francisca Pág. 7/30

Figura 1: Esquema simplificado CONWIP-MTO

Page 8: Mecanismos de CAP: CONWIP, POLCA e GPOLCA, uma análise comparativa através de modelagem e simulação em ARENA

UMinho 2012/13 - Proj. Integrado I – “CONWIP, POLCA e GPOLCA, Modelação e Comparação” José Fernandes, Washigton Peroni, Edison Francisca Pág. 8/30

3.2 POLCA

Suri (1998[5]) introduziu o mecanismo POLCA. O mecanismo controla o lançamento e o fluxo de trabalhos ao longo do espaço fabril, usando uma combinação de autorizações de libertação e autorizações de produção.

O POLCA requer em cada centro de trabalho, a geração de uma lista de ordens de produção com uma data planeada de libertação associada. O mecanismo é implementado como um sistema de cartões, os quais são atribuídos a pares de células. Tal como no CONWIP, mas ao contrário do TKS, os cartões são genéricos, i.e. não são específicos de um particular tipo de trabalho. O cartão POLCA, que é uma função do sinal importante no processo de produção, dá a permissão para iniciar novas ordens de produção de uma célula de produção. É um método simples para a produção de forma eficiente. O cartão POLCA envia ordens de produção, de modo que em um determinado local de trabalho não muito existe em outro lugar, enquanto muito pouco trabalho está em andamento.

POLCA é um sistema de planeamento de produção para as empresas que fazem uma ampla gama de produtos, e / ou a produtos específicos do cliente. No entanto, o POLCA-sistema não é a solução ideal para todos tipos de produção.

Page 9: Mecanismos de CAP: CONWIP, POLCA e GPOLCA, uma análise comparativa através de modelagem e simulação em ARENA

UMinho 2012/13 - Proj. Integrado I – “CONWIP, POLCA e GPOLCA, Modelação e Comparação” José Fernandes, Washigton Peroni, Edison Francisca Pág. 9/30

Figura 2: Esquema simplificado POLCA

Page 10: Mecanismos de CAP: CONWIP, POLCA e GPOLCA, uma análise comparativa através de modelagem e simulação em ARENA

UMinho 2012/13 - Proj. Integrado I – “CONWIP, POLCA e GPOLCA, Modelação e Comparação” José Fernandes, Washigton Peroni, Edison Francisca Pág. 10/30

3.3 GPOLCA

GPOLCA (Fernandes e Silva, 2006[1]) é um mecanismo de CAP baseado no mecanismo POLCA. Tal como este,

controla o lançamento de trabalhos para o espaço fabril através de uma combinação de datas de libertação e de

autorizações de produção.

O mecanismo é implementado como um sistema de cartões, os quais são atribuídos a pares de centros de trabalho sucessivos no roteiro de fabrico do trabalho. Contudo, ao contrário do POLCA, em que os cartões limitam a carga directa em cada par de centros de trabalho. Este também não requer a geração, para cada centro de trabalho, de uma lista de ordens de produção e respectiva data planeada de libertação, baseando-se numa pool, a partir da qual os trabalhos são lançados para o espaço fabril. Virtualmente, o GPOLCA pode ser visto com um sistema zero existências, no sentido em que a reposição de existências, componentes ou produtos finais, não é autorizada. A ideia básica é a de manter um stock de cartões de autorização de produção a circular no espaço fabril, em vez de manter stocks de componentes e/ou produtos finais.

O gPOLCA usa cartões para controlar a carga, ou WIP, no espaço fabril. Estes cartões não são específicos de um particular tipo de trabalho, ou ordem de produção, sendo atribuídos a pares sucessivos de centros de trabalho no roteiro de fabrico do trabalho. Embora os cartões sejam usados para limitar a carga que pode ser lançada para os pares de centros de trabalho a que pertencem, são recolhidos e afectados ao trabalho no momento do lançamento. O mesmo cartão pode ser reutilizado e afectado a diferentes trabalhos ao longo do tempo, desde que estes necessitem processamento no par de centros de trabalho a que o cartão pertence.

O GPOLCA limita, assim, a carga no espaço fabril, fixando o número de cartões a atribuir a cada par de centros de trabalho. A Figura3 ilustra o fluxo de trabalhos e cartões

no GPOLCA para uma flow shop com três centros três centros de trabalho.

Para que um particular trabalho seja lançado para o espaço fabril, é necessário que se verifiquem cumulativamente duas condições: a disponibilidade de cartões provenientes de todos os pares de centros de trabalho, do roteiro de fabrico desse trabalho, e que a data planeada de libertação do trabalho se encontre dentro de um determinado limite temporal contado a partir da data actual. Uma vez lançado, o trabalho é empurrado de centro de trabalho para centro de trabalho até que este seja concluído. O mecanismo actua activando a produção nos centros trabalho, sempre que existe material para ser processado, independentemente dos níveis de existências nos centros de trabalho a jusante.

O GPOLCA opera de acordo com as seguintes regras, relativamente à forma como os cartões são manipulados:

1. Todos os cartões requeridos por um trabalho, em cada par de centros de trabalho do seu roteiro de fabrico, são afectados a este no momento em que é lançado para o espaço fabril, i.e. no momento em que entra no primeiro centro de trabalho do seu roteiro de fabrico.

Note-se que num par de centros de trabalho pode ser necessário atribuir mais de um cartão ao trabalho, dependendo da carga associada a cada cartão.

2. Quando um trabalho chega a um qualquer centro de trabalho, o seu processamento pode iniciar-se de imediato, desde que todos os recursos e materiais necessários se encontrem disponíveis.

Podem ser usados mecanismos de despacho, v.g. regras de prioridade como FIFO, para decidir qual, dos trabalhos que se encontram em fila de espera, deve ser o próximo a processar.

3. Os cartões permanecem com o trabalho desde que este é lançado, até que é processado pelo segundo centro de trabalho do par a que pertencem, i.e. o centro de trabalho a jusante.

4. Os cartões dissociados dos trabalhos ficam disponíveis para serem afectados a novos trabalhos, cujo roteiro de fabrico inclua o par de centros de trabalho a que esses cartões estão atribuídos.

Estas regras estabelecem características diferenciadoras do GPOLCA relativamente ao POLCA. Enquanto o primeiro efectua um controlo detalhado ao nível do lançamento, o segundo efectua um controlo detalhado ao nível do fluxo de materiais.

O lançamento de trabalhos para o espaço fabril, no GPOLCA, é feito atendendo à carga (agregada) em todos os pares de centros de trabalho do seu roteiro de fabrico. No POLCA, apenas o estado do par de células, ou centros de trabalho, formado pelas duas primeiras células do roteiro de fabrico é considerado para lançamento. Relativamente ao controlo do fluxo de materiais, este é feito no POLCA com base em autorizações de libertação, autorizações de produção e na disponibilidade de materiais. No GPOLCA, a disponibilidade de materiais é suficiente para activar a produção nos diversos centros de trabalho.

No POLCA, um cartão pertencente a uma par de células ou de centros de trabalho. No GPOLCA, um cartão pertencente a um par de centros de trabalho, por exemplo ao par 2/3, ver esquema, é afectado ao trabalho logo que este entra para o espaço fabril, i.e. no centro de trabalho 1, permanecendo com este até à sua conclusão no centro de trabalho a jusante, do par a que pertence, i.e. no centro de trabalho 3. Nesta altura o cartão fica de imediato disponível para ser atribuído a um novo trabalho. No GPOLCA, o lançamento de trabalhos ou ordens de produção para o espaço fabril, não é feito de imediato, i.e. logo que estes chegam ao sistema e que

Page 11: Mecanismos de CAP: CONWIP, POLCA e GPOLCA, uma análise comparativa através de modelagem e simulação em ARENA

UMinho 2012/13 - Proj. Integrado I – “CONWIP, POLCA e GPOLCA, Modelação e Comparação” José Fernandes, Washigton Peroni, Edison Francisca Pág. 11/30

materiais, equipamentos, ferramentas, documentos, etc. ficam disponíveis. Os trabalhos são recolhidos numa pool, onde aguardam pelo seu lançamento.

O procedimento usado pelo mecanismo para lançar os trabalhos ou ordens de produção para o espaço fabril é o seguinte:

Passo 1: para cada trabalho que se encontra na pool é determinada uma data planeada de libertação, a qual é obtida por subtracção dos lead times de produção das datas de entrega dos trabalhos.

Passo 2: os trabalhos são considerados para lançamento de acordo com a data mais cedo planeada de libertação. Apenas os trabalhos com uma data planeada de libertação dentro do limite temporal são considerados.

Passo 3: o lançamento de um trabalho para o espaço fabril ocorre logo que todos os cartões requeridos por este se encontrem disponíveis para afectação.

Passo 4: os trabalhos para os quais algum dos cartões requeridos não se encontra disponível são mantidos na pool. Os trabalhos não são lançados até que a situação se altere, i.e. até que a carga em todos os pares de centros de trabalho do seu roteiro de fabrico se situe abaixo do nível planeado.

Page 12: Mecanismos de CAP: CONWIP, POLCA e GPOLCA, uma análise comparativa através de modelagem e simulação em ARENA

UMinho 2012/13 - Proj. Integrado I – “CONWIP, POLCA e GPOLCA, Modelação e Comparação” José Fernandes, Washigton Peroni, Edison Francisca Pág. 12/30

Figura 3: Esquema simplificado GPOLCA

Page 13: Mecanismos de CAP: CONWIP, POLCA e GPOLCA, uma análise comparativa através de modelagem e simulação em ARENA

UMinho 2012/13 - Proj. Integrado I – “CONWIP, POLCA e GPOLCA, Modelação e Comparação” José Fernandes, Washigton Peroni, Edison Francisca Pág. 13/30

4. Simulação

Simulação, foi definida de várias maneiras, mas as mais aceitas são de Schriber, Shannon e Pegden.

Schriber definiu no seu clássico livro “Simulation Using GPSS4” em 1974 “Simulação implica na modelagem de um processo ou sistema, e tal forma que o modelo imite as respostas do sistema real numa sucessão de eventos que ocorre ao longo do tempo”, por sua vez Robert Shannon em 1975, definiu simulação como “Um modelo computacional é um programa de computador cujas variáveis apresentam o mesmo comportamento dinâmico e estocástico do sistema real que apresenta”

Entretanto, a definição mais completa e aceite, somente seria proferida em 1991, por Claude Dennis Pegden que nos ensina: “A simulação é um processo de projectar um modelo computacional de um sistema real e conduzir experimentos com este modelo com o propósito de entender seu comportamento e/ou avaliar estratégias para sua operação”

Assim, estando de acordo com as definições, para este estudo Simulação, é á acção de criar um modelo computacional a partir de um sistema real, manipular suas variáveis e verificar se os resultados acompanham os resultados reais, para melhor compreensão de seus mecanismos de funcionamento e estratégias empregadas ao sistema.

4.1 Software de Simulação ARENA.

Em 1982 foi lançada a primeira versão da linguagem de simulação SIMAN pela Systems Modelyng Corporation (EUA), inspirada na linguagem GPSS4 usada em computadores de grande porte. Inovadora, foi a primeira linguagem específica de simulação destinada a IBM-PC compatíveis. Nos anos seguintes, o SIMAN foi aprimorado e também sua interface, inovando novamente: foi a primeira linguagem de simulação a fazer uso do mouse em sua interface, em uma época anterior ao Windows. Em 1990, foi lançado o pacote CINEMA, que, integrado ao SIMAN permitia, apresentar uma representação animada e em cores do funcionamento do sistema. Foi, mais uma vez, a primeira interface do tipo para simuladores. Em 1993, SIMAN e CINEMA foram integrados em um ambiente único de simulação que unia e potencializava

4 General Purpose Simulation System (GPSS) (originally Gordon's

Programmable Simulation System after creator Geoffrey Gordon; the name was changed when it was decided to release it as a product) is a discrete time simulation general-purpose programming language, where a simulation clock advances in discrete steps. A system is modeled as transactions enter the system and are passed from one service (represented by blocs) to another. This is particularly well-suited for problems such as a factory.

seus recursos, o software ARENA. A linguagem SIMAN, através do software ARENA, passou a ser representada em formato gráfico, tornando-se bastante intuitiva. Em 1995 foi lançado a versão do software ARENA para Windows 95, sendo a primeira ferramenta de simulação a trabalhar em versão 32 bits. No ano seguinte, com a versão 3.0, passou a ser a primeira e única até o momento a receber a certificação “Microsoft Windows Compatible”, integrando a linguagem VBA, que permite acessar ou ser acessada por todos os aplicativos do MS Office e muitos outros. Com a compra da Systems Modeling pela gigante Rockwell em 2000, o software ARENA recebeu um enorme impulso de desenvolvimento, e novas versões agregando melhorias são lançadas em intervalos de tempo cada vez mais curtos. O software ARENA passou a fazer parte da suíte RS BIZWARE, que reúne uma solução integrada e completa para projetar, planejar e gerenciar o chão de fábrica. Assim, o ARENA agora é parte importante da estratégica de atuação da Rockwell Software, braço de software da Rockwell, dentro do segmento de MES (Manufacturing Execution System).

Page 14: Mecanismos de CAP: CONWIP, POLCA e GPOLCA, uma análise comparativa através de modelagem e simulação em ARENA

UMinho 2012/13 - Proj. Integrado I – “CONWIP, POLCA e GPOLCA, Modelação e Comparação” José Fernandes, Washigton Peroni, Edison Francisca Pág. 14/30

5. Modelos dos Mecanismos em Arena

5.1 CONWIP

Figura 4: Modelo arena CONWIP

Page 15: Mecanismos de CAP: CONWIP, POLCA e GPOLCA, uma análise comparativa através de modelagem e simulação em ARENA

UMinho 2012/13 - Proj. Integrado I – “CONWIP, POLCA e GPOLCA, Modelação e Comparação” José Fernandes, Washigton Peroni, Edison Francisca Pág. 15/30

5.2 POLCA

Figura 5: Modelo arena POLCA

Page 16: Mecanismos de CAP: CONWIP, POLCA e GPOLCA, uma análise comparativa através de modelagem e simulação em ARENA

UMinho 2012/13 - Proj. Integrado I – “CONWIP, POLCA e GPOLCA, Modelação e Comparação” José Fernandes, Washigton Peroni, Edison Francisca Pág. 16/30

5.3 GPOLCA

Figura 6: Modelo arena GPOLCA

Page 17: Mecanismos de CAP: CONWIP, POLCA e GPOLCA, uma análise comparativa através de modelagem e simulação em ARENA

UMinho 2012/13 - Proj. Integrado I – “CONWIP, POLCA e GPOLCA, Modelação e Comparação” José Fernandes, Washigton Peroni, Edison Francisca Pág. 17/30

6. Ferramenta de otimização Optquest

6.1 Visão global

OptQuest® para Arena® é uma ferramenta de otimização (solver) personalizável e de aperfeicionamento para analisar os resultados da simulação conduzidas e realizadas em Arena (experimentação). OptQuest inclui técnicas de amostragem e de controle de erro avançada para encontrar respostas melhores e mais rápidas, e incorpora o estado-da-arte em algoritmos baseados em busca tabu, pesquisa de dispersão, programação inteira e redes neurais. Essa tecnologia bem pesquisado foi mostrado para ser várias ordens de magnitude mais rápidas do que as abordagens mais simples.

OptQuest para Arena é uma opção add-on para Arena Basic Edition, Basic Edition Plus Arena, Arena e Edição Standard. É um recurso padrão do Arena Professional Edition e Enterprise Arena Edition.

6.2 Exemplos de aplicações são:

Calcular a melhor combinação de capacidades de recursos para maximizar a produção em um sistema (throughput).

Medidas de satisfação dos clientes (por exemplo, tempos médios de espera não superior a um limite), a serem cumpridas de soluções viáveis.

Minimização de custos / maximização dos lucros, mantendo os níveis de serviço ao cliente.

6.3 Optquest na nossa experimentação

Para a nossa experimentação, queriamos que para a máxima produção otivessemos o menor WIP.

Assim sendo, estas foram as nossas configurações no Optquest para todas as modelações e testes.

6.3.1 Objectivo

Figura 7: Optquest: Objectives

O WIP considerado por nós, é calculado apenas quando a encomenda entra no sistema junto com o cartão (ou par de cartões). O Consideramos a média desse valor.

E_WIP Value: Média do WIP

6.3.2 Restrição

Figura 8: Optquest: Constraints

Esta restrição é construída como exemplo para o throughput de 0.6, então consideramos o limite máximo de 0.005, valor este que foi usado para todas as experimentações, de todos os modelos (conwip, gpolca e polca).

TP Value: Média do throughput

6.3.3 Variável de controlo

Primeiramente definimos no arena, a variável e utilizamos essa variável no Entities per Arrival. Depois no optquest definimos os limites a simular e o optquest vai encontrar a melhor combinação de cartões de acordo com as restrições e objetivos.

Figura 9: Arena: Cards Create

Figura 10: Optquest: Controls

Page 18: Mecanismos de CAP: CONWIP, POLCA e GPOLCA, uma análise comparativa através de modelagem e simulação em ARENA

UMinho 2012/13 - Proj. Integrado I – “CONWIP, POLCA e GPOLCA, Modelação e Comparação” José Fernandes, Washigton Peroni, Edison Francisca Pág. 18/30

7. Resultados e análise

Nas várias simulações que fizemos consideramos variáveis que foram igualmente consideradas e calculadas para todos os modelos (TP, WIP, FLOWTIME). Para uma melhor comparação de valores, simulamos todos os modelos em Optquest e então obtivemos os seguintes resultados.

7.1 Amostra homogenea

Nesta amostra todas as ecomendas têm o mesmo tempo de processamento. Este tempo de processamento é de EXPO(1) para todas as encomendas. Este tempo é um atributo definido em Arena.

TP WIP

CONWIP POLCA GPOLCA

0.5 3.0154 1.783 1.7643 0.55 3.6286 2.5887 2.4008

0.6 4.4590 2.9243 2.8287

0.65 5.4957 3.4166 3.4008

0.7 6.9735 4.5068 4.3447

0.75 8.9445 5.4048 5.3414

0.8 11.7924 7.1941 7.0738

0.85 16.5366 11.095 11.6226 0.9 25.4833 15.6995 15.5516

0.95 52.3620 31.7195 30.7536

Tabela 1: Amostra homogenea

Figura 11: Gráfico amostra heterogenea

Estes resultados demonstram que o modelo GPOLCA é o melhor mecanismo em amostras homogeneas. Os dados demonstram que apesar de bastante parecido com o polca, tem um menor WIP para o mesmo TP. O CONWIP é nesta comparação bastante próximo com os outros mecanismos até um TP de 0.7 mas depois começa a ter um TP cada vez maior, crescendo de forma exponencial.

7.2 Amostra heterogenea

Nesta amostra, ao 7º dia, o tempo de processamento das encomendas muda. As encomendas de Tipo I têm um tempo de processamento EXPO(1.5) e as encomendas de Tipo II têm um tempo de processamento EXPO(0.75). Este tempo é um atributo definido em Arena que depois é lido por cada máquina / centro de trabalho.

TP WIP

CONWIP POLCA GPOLCA

0.5 3.1779 1.797 1.7814

0.55 3.8247 2.6041 2.4183

0.6 4.7203 2.9586 2.8431

0.65 5.9845 3.3888 3.4077

0.7 7.6441 4.5868 4.3869

0.75 10.0329 5.4064 5.4472

0.8 13.8258 7.7388 7.1867

0.85 19.8299 10.2902 10.8573

0.9 35.1743 16.3838 16.0823

0.95 86.1414 32.5667 31.7829

Tabela 2: Amostra heterogenea

Na amostra heterogenea o mecanismo que voltou a apresentar melhores resultados foi o GPOLCA. As diferenças são pequenas, ainda assim, mostrou-se o mais robusto em diferentes tipos de amostras. Já o CONWIP, sofre bastante com uma amostra heterogenea em relação à amostra heterogenea.

Page 19: Mecanismos de CAP: CONWIP, POLCA e GPOLCA, uma análise comparativa através de modelagem e simulação em ARENA

UMinho 2012/13 - Proj. Integrado I – “CONWIP, POLCA e GPOLCA, Modelação e Comparação” José Fernandes, Washigton Peroni, Edison Francisca Pág. 19/30

8. Conclusões

GPOLCA mostrou-se o mecanismo CAP com melhor eficiência neste estudo. Vale aplica-lo num caso prático para realmente comprovarmos a eficácia simulada do quotidiano fabril, e claro continuar estudando outros mecanismos que se adeqúem melhor a cada linha de produção e realidade encontrada.

Em ambientes diferentes poderia acontecer que os mecanismos sofressem alterações na sua eficácia, por exemplo encomendas que tivessem trabalhos em diferentes máquinas, isto é as encomendas não precisarem todas de todas as máquinas, criando uma rede que poderia dar uns resultados diferentes, ainda assim esta simulação mostrou-se bastante robusta e os resultados.

Concluímos também que para obter resultados satisfatórios no controle da produção, devemos conhecer a fundo os mecanismos, sua base teórica, para que estes, aliados aos conhecimentos de simulação proporcionem um eficaz arcabouço de competências que é esperado dos Engenheiros Mestres em Sistemas

Page 20: Mecanismos de CAP: CONWIP, POLCA e GPOLCA, uma análise comparativa através de modelagem e simulação em ARENA

UMinho 2012/13 - Proj. Integrado I – “CONWIP, POLCA e GPOLCA, Modelação e Comparação” José Fernandes, Washigton Peroni, Edison Francisca Pág. 20/30

9. Bibliografia e referências

[1] FERNANDES, Nuno Octávio; SILVA, Sílvio do Carmo (2006) - Generic POLCA : a production and materials flow control mechanism for quick response manufacturing. International Journal of Production Economics. ISSN 0925-5273. Vol 104, nº 1, p. 74-84

[2] Mohammad D. Al-Tahat, Ibrahim A. Rawabdeh, (2008) "Stochastic analysis and design of CONWIP controlled production systems", Journal of Manufacturing Technology Management, Vol. 19 Iss: 2, pp.253 – 273

[3] SERENO, Bruno; SILVA, Daniel Sant Anna da; LEONARDO, Dênis Gustavo and SAMPAIO, Mauro. Método híbrido CONWIP/KANBAN um estudo de caso. Gest. Prod. [online]. 2011, vol.18, n.3, pp. 651-672. ISSN 0104-530X.

[4] Spearman, M.L. and M.A. Zazanis. 1992. “Push and Pull Production Systems: Issues and Comparisons,” Operations Research, 40(3), pp. 521-532

[5] Suri, R. 1998. Quick Response Manufacturing: A Companywide Approach toLead Time Reduction, Productivity Press.

Page 21: Mecanismos de CAP: CONWIP, POLCA e GPOLCA, uma análise comparativa através de modelagem e simulação em ARENA

UMinho 2012/13 - Proj. Integrado I – “CONWIP, POLCA e GPOLCA, Modelação e Comparação” José Fernandes, Washigton Peroni, Edison Francisca Pág. 21/30

10. Anexos

10.1 Número de cartões nos vários modelos

Os dados abaixo foram obtidos pelo Optquest

CONWIP POLCA GPOLCA

TP CARTÕES C1C2 C2C3 C1C2 C2C3

0.5 9 1 5 1 5

0.55 12 2 3 2 3

0.6 19 2 3 2 4

0.65 21 2 6 2 7

0.7 17 3 5 3 6

0.75 31 3 15 3 16

0.8 27 4 14 4 15

0.85 43 7 19 8 18

0.9 53 9 22 10 21

0.95 82 18 47 18 49

Tabela 3: Nº de cartões em amostra homogénea

Tabela 4: Nº de cartões em amostra heterogenea

CONWIP POLCA GPOLCA

TP CARTÕES C1C2 C2C3 C1C2 C2C3

0.5 18 1 5 1 5

0.55 12 2 3 2 3

0.6 25 2 3 2 4

0.65 22 2 5 2 7

0.7 24 3 5 3 6

0.75 37 3 12 3 15

0.8 33 5 8 4 16

0.85 39 6 15 7 17

0.9 85 10 19 11 20

0.95 112 20 49 19 50

Page 22: Mecanismos de CAP: CONWIP, POLCA e GPOLCA, uma análise comparativa através de modelagem e simulação em ARENA

UMinho 2012/13 - Proj. Integrado I – “CONWIP, POLCA e GPOLCA, Modelação e Comparação” José Fernandes, Washigton Peroni, Edison Francisca Pág. 22/30

10.2 Código SIMAN CONWIP

; Model statements for module: BasicProcess.Create 1 (Chegada

de Encomendas)

;

39$ CREATE,

1,MinutesToBaseTime(0.0),Encomenda:MinutesToBaseTime(EXPO(1/Lambda)):NEXT(40$);

40$ ASSIGN: Chegada de

Encomendas.NumberOut=Chegada de Encomendas.NumberOut + 1:NEXT(18$);

; Model statements for module: BasicProcess.Assign 19

(DEFINE_DIA)

;

18$ ASSIGN: TempoEntrada=TNOW:

T=TNOW:

dia=(T-TFINAL)/(480):NEXT(19$);

; Model statements for module: BasicProcess.Decide 6 (RESET

DIA?)

;

19$ BRANCH, 1:

If,dia>=7,43$,Yes:

Else,44$,Yes;

43$ ASSIGN: RESET DIA?.NumberOut True=RESET

DIA?.NumberOut True + 1:NEXT(20$);

44$ ASSIGN: RESET DIA?.NumberOut False=RESET DIA?.NumberOut False + 1:NEXT(21$);

; Model statements for module: BasicProcess.Assign 20

(REINICIA_CONTADOR)

;

20$ ASSIGN: TFINAL=TNOW:NEXT(21$);

; Model statements for module: BasicProcess.Decide 7 (DECIDE_HOMOGENIDADE)

;

21$ BRANCH, 1:

If,(dia>=7)&&(dia<=6),45$,Yes:

Else,46$,Yes;

45$ ASSIGN: DECIDE_HOMOGENIDADE.NumberOut

True=DECIDE_HOMOGENIDADE.NumberOut True + 1:NEXT(1$);

46$ ASSIGN: DECIDE_HOMOGENIDADE.NumberOut

False=DECIDE_HOMOGENIDADE.NumberOut False + 1:NEXT(22$);

; Model statements for module: BasicProcess.Decide 2 (Tipo de Produto)

;

1$ BRANCH, 1:

With,(50)/100,47$,Yes:

Else,48$,Yes;

47$ ASSIGN: Tipo de Produto.NumberOut True=Tipo de

Produto.NumberOut True + 1:NEXT(0$);

48$ ASSIGN: Tipo de Produto.NumberOut False=Tipo de

Produto.NumberOut False + 1:NEXT(2$);

; Model statements for module: BasicProcess.Assign 2 (HETEROGENEO TIPO I)

;

0$ ASSIGN: FhA=1.5:

TipoHeterogeneo=1:NEXT(26$);

; Model statements for module: AdvancedProcess.Match 4 (SYNC

ENC CARTAO)

;

26$ QUEUE, SYNC ENC CARTAO.Queue1:DETACH;

29$ QUEUE, SYNC ENC CARTAO.Queue2:DETACH;

MATCH: 26$,37$:

29$,34$;

; Model statements for module: AdvancedProcess.Match 6 (SYNC

CARTAO ENC)

;

31$ QUEUE, SYNC CARTAO ENC.Queue1:DETACH;

34$ QUEUE, SYNC CARTAO ENC.Queue2:DETACH;

MATCH: 31$,36$:

34$,12$;

; Model statements for module: AdvancedTransfer.Route 14 (Volta

Para Junta Cartoes)

;

12$ ROUTE: 0.000000000000000,Junta Cartoes;

; Model statements for module: BasicProcess.Record 6 (FlowTime

E)

;

36$ TALLY: FlowTime,INT(TempoEntrada),1:NEXT(15$);

; Model statements for module: BasicProcess.Record 3 (Rec TP)

;

15$ TALLY: Troughput,BET,1:NEXT(16$);

Page 23: Mecanismos de CAP: CONWIP, POLCA e GPOLCA, uma análise comparativa através de modelagem e simulação em ARENA

UMinho 2012/13 - Proj. Integrado I – “CONWIP, POLCA e GPOLCA, Modelação e Comparação” José Fernandes, Washigton Peroni, Edison Francisca Pág. 23/30

; Model statements for module: BasicProcess.Assign 17 (Calc TP)

;

16$ ASSIGN: FT=1/(TAVG(FlowTime)+0.00000001):

TP=1/(TAVG(Troughput)+0.00000001):NEXT(17$);

; Model statements for module: BasicProcess.Assign 18 (MWIP)

;

17$ ASSIGN:

VWIP=EntitiesWIP(Encomenda)+0.0000000001:NEXT(14$);

; Model statements for module: BasicProcess.Dispose 4 (Dispose

4)

;

14$ ASSIGN: Dispose 4.NumberOut=Dispose 4.NumberOut + 1;

49$ DISPOSE: Yes;

; Model statements for module: BasicProcess.Assign 26

(AcrescentaWIP)

;

37$ ASSIGN: MY_WIP=MY_WIP+1:NEXT(11$);

; Model statements for module: AdvancedTransfer.Route 13

(Processa Encomenda)

;

11$ ROUTE: 0.000000000000000,Estacao I;

; Model statements for module: BasicProcess.Assign 6

(HETEROGENEO TIPO II)

;

2$ ASSIGN: FhA=0.75:

Tipo=2:NEXT(26$);

; Model statements for module: BasicProcess.Decide 8 (TIPO DE

PRODUTO HOMOGENEO)

;

22$ BRANCH, 1:

With,(50)/100,50$,Yes:

Else,51$,Yes;

50$ ASSIGN: TIPO DE PRODUTO HOMOGENEO.NumberOut True=TIPO DE PRODUTO

HOMOGENEO.NumberOut True + 1:NEXT(23$);

51$ ASSIGN: TIPO DE PRODUTO HOMOGENEO.NumberOut False=TIPO DE PRODUTO

HOMOGENEO.NumberOut False + 1:NEXT(24$);

; Model statements for module: BasicProcess.Assign 22 (HOMOGENEO TIPO I)

;

23$ ASSIGN: FhA=1:

TipoHomogeneo=1:NEXT(26$);

; Model statements for module: BasicProcess.Assign 23

(HOMOGENEO TIPO II)

;

24$ ASSIGN: FhA=1:

TipoHomogeneo=2:NEXT(26$);

;

;

; Model statements for module: BasicProcess.Create 2 (Entrada de

Cartoes)

;

52$ CREATE,

Chegada_Cartoes,MinutesToBaseTime(0.0),Cartao:MinutesToBaseTime(1),1:NEXT(53$);

53$ ASSIGN: Entrada de Cartoes.NumberOut=Entrada de

Cartoes.NumberOut + 1:NEXT(25$);

; Model statements for module: BasicProcess.Assign 24 (ASSIGN

PICTURE)

;

25$ ASSIGN: Cartoes=25:

Picture=Picture.Report:NEXT(13$);

; Model statements for module: AdvancedTransfer.Station 13 (Junta Cartoes)

;

13$ STATION, Junta Cartoes;

58$ DELAY: 0.0,,VA:NEXT(29$);

; Model statements for module: AdvancedTransfer.Station 7

(Estacao I)

;

3$ STATION, Estacao I;

61$ DELAY: 0.0,,VA:NEXT(4$);

; Model statements for module: BasicProcess.Process 5 (Maquina

I)

;

4$ ASSIGN: Maquina I.NumberIn=Maquina I.NumberIn +

1:

Maquina I.WIP=Maquina I.WIP+1;

65$ QUEUE, Maquina I.Queue;

64$ SEIZE, 2,VA:

MaquinaI,1:NEXT(63$);

Page 24: Mecanismos de CAP: CONWIP, POLCA e GPOLCA, uma análise comparativa através de modelagem e simulação em ARENA

UMinho 2012/13 - Proj. Integrado I – “CONWIP, POLCA e GPOLCA, Modelação e Comparação” José Fernandes, Washigton Peroni, Edison Francisca Pág. 24/30

63$ DELAY: EXPO(FhA),,VA;

62$ RELEASE: MaquinaI,1;

110$ ASSIGN: Maquina I.NumberOut=Maquina I.NumberOut + 1:

Maquina I.WIP=Maquina I.WIP-1:NEXT(9$);

; Model statements for module: AdvancedTransfer.Route 9 (Rota

Para Maquina II)

;

9$ ROUTE: 0.000000000000000,Estacao II;

; Model statements for module: AdvancedTransfer.Station 8

(Estacao II)

;

7$ STATION, Estacao II;

115$ DELAY: 0.0,,VA:NEXT(5$);

; Model statements for module: BasicProcess.Process 6 (Maquina

II)

;

5$ ASSIGN: Maquina II.NumberIn=Maquina II.NumberIn +

1:

Maquina II.WIP=Maquina II.WIP+1;

119$ QUEUE, Maquina II.Queue;

118$ SEIZE, 2,VA:

MaquinaII,1:NEXT(117$);

117$ DELAY: EXPO(FhA),,VA;

116$ RELEASE: MaquinaII,1;

164$ ASSIGN: Maquina II.NumberOut=Maquina II.NumberOut + 1:

Maquina II.WIP=Maquina II.WIP-1:NEXT(10$);

; Model statements for module: AdvancedTransfer.Route 10 (Rota

Para Maquina III)

;

10$ ROUTE: 0.000000000000000,Estacao III;

;

;

; Model statements for module: AdvancedTransfer.Station 10

(Estacao III)

;

8$ STATION, Estacao III;

169$ DELAY: 0.0,,VA:NEXT(6$);

; Model statements for module: BasicProcess.Process 7 (Maquina

III)

;

6$ ASSIGN: Maquina III.NumberIn=Maquina III.NumberIn + 1:

Maquina III.WIP=Maquina III.WIP+1;

173$ QUEUE, Maquina III.Queue;

172$ SEIZE, 2,VA:

MaquinaIII,1:NEXT(171$);

171$ DELAY: EXPO(FhA),,VA;

170$ RELEASE: MaquinaIII,1;

218$ ASSIGN: Maquina III.NumberOut=Maquina

III.NumberOut + 1:

Maquina III.WIP=Maquina III.WIP-1:NEXT(38$);

; Model statements for module: BasicProcess.Assign 27 (DecrementaWIP)

;

38$ ASSIGN: MY_WIP=MY_WIP-1:NEXT(31$);

Page 25: Mecanismos de CAP: CONWIP, POLCA e GPOLCA, uma análise comparativa através de modelagem e simulação em ARENA

UMinho 2012/13 - Proj. Integrado I – “CONWIP, POLCA e GPOLCA, Modelação e Comparação” José Fernandes, Washigton Peroni, Edison Francisca Pág. 25/30

10.3 Código SIMAN POLCA

; Model statements for module: BasicProcess.Create 1

(Entrada_Encomendas)

46$ CREATE,

1,MinutesToBaseTime(0.0),encomendas:MinutesToBaseTime(EXPO(1/0.95)):NEXT(47$);

47$ ASSIGN:

Entrada_Encomendas.NumberOut=Entrada_Encomendas.NumberOut + 1:NEXT(35$);

; Model statements for module: BasicProcess.Assign 17

(DEFINE_DIA)

;

35$ ASSIGN: tempo chegada=TNOW:

T=TNOW:

dia=(T-TFINAL)/(480):NEXT(36$);

; Model statements for module: BasicProcess.Decide 6

(DECIDE_CRITERIO_POR_DIA)

;

36$ BRANCH, 1:

If,dia>=8,50$,Yes:

Else,51$,Yes;

50$ ASSIGN: DECIDE_CRITERIO_POR_DIA.NumberOut

True=DECIDE_CRITERIO_POR_DIA.NumberOut True + 1:NEXT(37$);

51$ ASSIGN: DECIDE_CRITERIO_POR_DIA.NumberOut

False=DECIDE_CRITERIO_POR_DIA.NumberOut False + 1:NEXT(28$);

; Model statements for module: BasicProcess.Assign 18

(REINICIA_CONT)

;

37$ ASSIGN: TFINAL=TNOW:NEXT(28$);

;

;

; Model statements for module: BasicProcess.Decide 2 (Define_Homogenidade)

;

28$ BRANCH, 1:

If,(dia>=8)&&(dia<=7),52$,Yes:

Else,53$,Yes;

52$ ASSIGN: Define_Homogenidade.NumberOut

True=Define_Homogenidade.NumberOut True + 1:NEXT(31$);

53$ ASSIGN: Define_Homogenidade.NumberOut

False=Define_Homogenidade.NumberOut False + 1:NEXT(30$);

; Model statements for module: BasicProcess.Decide 3

(Tipo_Encomenda)

;

31$ BRANCH, 1:

With,(1/3*100)/100,54$,Yes:

Else,55$,Yes;

54$ ASSIGN: Tipo_Encomenda.NumberOut True=Tipo_Encomenda.NumberOut True + 1:NEXT(29$);

55$ ASSIGN: Tipo_Encomenda.NumberOut

False=Tipo_Encomenda.NumberOut False + 1:NEXT(32$);

; Model statements for module: BasicProcess.Assign 9

(FH_TIPO1)

;

29$ ASSIGN: FhA=1.5:NEXT(14$);

; Model statements for module: AdvancedProcess.Match 9 (Card

Synchronizer)

;

14$ QUEUE, Card Synchronizer.Queue1:DETACH;

17$ QUEUE, Card Synchronizer.Queue2:DETACH;

MATCH: 14$,33$:

17$,5$;

; Model statements for module: AdvancedProcess.Match 2 (Card

Container C1C2)

;

2$ QUEUE, Card Container C1C2.Queue1:DETACH;

5$ QUEUE, Card Container C1C2.Queue2:DETACH;

3$ QUEUE, Card Container C1C2.Queue3:DETACH;

MATCH: 2$,1$:

5$,20$:

3$,22$;

; Model statements for module: AdvancedProcess.Match 10 (Card

Return C1C2)

;

19$ QUEUE, Card Return C1C2.Queue1:DETACH;

22$ QUEUE, Card Return C1C2.Queue2:DETACH;

20$ QUEUE, Card Return C1C2.Queue3:DETACH;

MATCH: 19$,12$:

22$,10$:

20$,17$;

Page 26: Mecanismos de CAP: CONWIP, POLCA e GPOLCA, uma análise comparativa através de modelagem e simulação em ARENA

UMinho 2012/13 - Proj. Integrado I – “CONWIP, POLCA e GPOLCA, Modelação e Comparação” José Fernandes, Washigton Peroni, Edison Francisca Pág. 26/30

; Model statements for module: AdvancedProcess.Match 5 (Card car Return C2C3)

;

7$ QUEUE, Card car Return C2C3.Queue1:DETACH;

10$ QUEUE, Card car Return C2C3.Queue2:DETACH;

MATCH: 7$,45$:

10$,3$;

; Model statements for module: BasicProcess.Record 7 (Calcula Flow time)

;

45$ TALLY: Flow Time,INT(tempo chegada),1:NEXT(24$);

; Model statements for module: BasicProcess.Record 1 (Troughtput)

;

24$ TALLY: Troughtput,BET,1:NEXT(41$);

; Model statements for module: BasicProcess.Assign 24

(TAXA_UTIL)

;

41$ ASSIGN: CALCwip=DAVG(Machine1.NumberBusy) + DAVG(Machine2.NumberBusy)+DAVG(Machine3.NumberBusy):NEX

T(42$);

; Model statements for module: BasicProcess.Assign 27 (SAIDA_WIP)

;

42$ ASSIGN: E_WIP=E_WIP-1:NEXT(40$);

; Model statements for module: BasicProcess.Assign 23 (CALC_TP)

;

40$ ASSIGN:

TP=1/(TAVG(Troughtput)+0.0000001):NEXT(13$);

; Model statements for module: BasicProcess.Dispose 2

(Entrenga_Encomendas)

;

13$ ASSIGN: Entrenga_Encomendas.NumberOut=Entrenga_Encomendas.Number

Out + 1;

56$ DISPOSE: Yes;

; Model statements for module: BasicProcess.Process 4

(Workstation3)

;

12$ ASSIGN:

Workstation3.NumberIn=Workstation3.NumberIn + 1:

Workstation3.WIP=Workstation3.WIP+1;

60$ QUEUE, Workstation3.Queue;

59$ SEIZE, 2,VA:

Machine3,1:NEXT(58$);

58$ DELAY: EXPO( FhA ),,VA;

57$ RELEASE: Machine3,1;

105$ ASSIGN: Workstation3.NumberOut=Workstation3.NumberOut + 1:

Workstation3.WIP=Workstation3.WIP-1:NEXT(7$);

; Model statements for module: BasicProcess.Process 2

(Workstation2)

;

1$ ASSIGN: Workstation2.NumberIn=Workstation2.NumberIn + 1:

Workstation2.WIP=Workstation2.WIP+1;

111$ QUEUE, Workstation2.Queue;

110$ SEIZE, 2,VA:

Machine2,1:NEXT(109$);

109$ DELAY: EXPO( FhA),,VA;

108$ RELEASE: Machine2,1;

156$ ASSIGN:

Workstation2.NumberOut=Workstation2.NumberOut + 1:

Workstation2.WIP=Workstation2.WIP-1:NEXT(43$);

; Model statements for module: BasicProcess.Record 5 (SW2)

;

43$ COUNT: SW2,1:NEXT(34$);

; Model statements for module: BasicProcess.Assign 14 (Confere

FH)

;

34$ ASSIGN: Variable 2=FhA:NEXT(19$);

; Model statements for module: BasicProcess.Assign 12 (DEFINE

FH)

;

33$ ASSIGN: Variable 1=FhA:NEXT(44$);

;

;

; Model statements for module: BasicProcess.Assign 28

(ENTRADA_WIP)

;

44$ ASSIGN: E_WIP=E_WIP+1:NEXT(0$);

; Model statements for module: BasicProcess.Process 1

(Workstation1)

;

0$ ASSIGN:

Workstation1.NumberIn=Workstation1.NumberIn + 1:

Page 27: Mecanismos de CAP: CONWIP, POLCA e GPOLCA, uma análise comparativa através de modelagem e simulação em ARENA

UMinho 2012/13 - Proj. Integrado I – “CONWIP, POLCA e GPOLCA, Modelação e Comparação” José Fernandes, Washigton Peroni, Edison Francisca Pág. 27/30

Workstation1.WIP=Workstation1.WIP+1;

162$ QUEUE, Workstation1.Queue;

161$ SEIZE, 2,VA:

Machine1,1:NEXT(160$);

160$ DELAY: EXPO( FhA ),,VA;

159$ RELEASE: Machine1,1;

207$ ASSIGN:

Workstation1.NumberOut=Workstation1.NumberOut + 1:

Workstation1.WIP=Workstation1.WIP-1:NEXT(2$);

; Model statements for module: BasicProcess.Assign 11 (FH_TIPO2)

;

32$ ASSIGN: FhA=0.75:NEXT(14$);

; Model statements for module: BasicProcess.Assign 10

(FH_HOMOGENEO)

;

30$ ASSIGN: Fh=1:NEXT(27$);

; Model statements for module: BasicProcess.Decide 1

(Tipo_Produti)

;

27$ BRANCH, 1:

With,(50)/100,210$,Yes:

Else,211$,Yes;

210$ ASSIGN: Tipo_Produti.NumberOut

True=Tipo_Produti.NumberOut True + 1:NEXT(25$);

211$ ASSIGN: Tipo_Produti.NumberOut False=Tipo_Produti.NumberOut False + 1:NEXT(26$);

; Model statements for module: BasicProcess.Assign 1 (Produto i1)

;

25$ ASSIGN: FhA=1:

Picture=Picture.Box:NEXT(14$);

; Model statements for module: BasicProcess.Assign 2 (Produto i2)

;

26$ ASSIGN: FhA=1:

Picture=Picture.Telephone:NEXT(14$);

; Model statements for module: BasicProcess.Create 2 (CARDS

C1C2_Branco)

;

212$ CREATE, 20,MinutesToBaseTime(0.0),cards1:MinutesToBaseTime(1),1:NEXT(2

13$);

213$ ASSIGN: CARDS C1C2_Branco.NumberOut=CARDS C1C2_Branco.NumberOut + 1:NEXT(38$);

; Model statements for module: BasicProcess.Assign 20

(CONTROLA_C1C2)

;

38$ ASSIGN: C1C2=C1C2+1:NEXT(17$);

; Model statements for module: BasicProcess.Create 4 (CARDS

C2C3_Vermelho)

;

216$ CREATE,

25,MinutesToBaseTime(0.0),cards2:MinutesToBaseTime(1),1:NEXT(217$);

217$ ASSIGN: CARDS

C2C3_Vermelho.NumberOut=CARDS C2C3_Vermelho.NumberOut + 1:NEXT(39$);

; Model statements for module: BasicProcess.Assign 21

(CONTROLA_C2C3)

;

39$ ASSIGN: C2C3=C2C3+1:NEXT(3$);

Page 28: Mecanismos de CAP: CONWIP, POLCA e GPOLCA, uma análise comparativa através de modelagem e simulação em ARENA

UMinho 2012/13 - Proj. Integrado I – “CONWIP, POLCA e GPOLCA, Modelação e Comparação” José Fernandes, Washigton Peroni, Edison Francisca Pág. 28/30

10.4 Código SIMAN GPOLCA

; Model statements for module: BasicProcess.Create 1 (Entrada_Encomendas)

;

46$ CREATE,

1,MinutesToBaseTime(0.0),encomendas:MinutesToBaseTime(EXPO(1/0.95)):NEXT(47$);

47$ ASSIGN:

Entrada_Encomendas.NumberOut=Entrada_Encomendas.NumberOut + 1:NEXT(35$);

; Model statements for module: BasicProcess.Assign 17

(DEFINE_DIA)

;

35$ ASSIGN: tempo chegada=TNOW:

T=TNOW:

dia=(T-TFINAL)/(480):NEXT(36$);

; Model statements for module: BasicProcess.Decide 6 (DECIDE_CRITERIO_POR_DIA)

;

36$ BRANCH, 1:

If,dia>=8,50$,Yes:

Else,51$,Yes;

50$ ASSIGN: DECIDE_CRITERIO_POR_DIA.NumberOut

True=DECIDE_CRITERIO_POR_DIA.NumberOut True + 1:NEXT(37$);

51$ ASSIGN: DECIDE_CRITERIO_POR_DIA.NumberOut

False=DECIDE_CRITERIO_POR_DIA.NumberOut False + 1:NEXT(28$);

; Model statements for module: BasicProcess.Assign 18 (REINICIA_CONT)

;

37$ ASSIGN: TFINAL=TNOW:NEXT(28$);

; Model statements for module: BasicProcess.Decide 2 (Define_Homogenidade)

;

28$ BRANCH, 1:

If,(dia>=8)&&(dia<=7),52$,Yes:

Else,53$,Yes;

52$ ASSIGN: Define_Homogenidade.NumberOut

True=Define_Homogenidade.NumberOut True + 1:NEXT(31$);

53$ ASSIGN: Define_Homogenidade.NumberOut

False=Define_Homogenidade.NumberOut False + 1:NEXT(30$);

; Model statements for module: BasicProcess.Decide 3 (Tipo_Encomenda)

;

31$ BRANCH, 1:

With,(1/3*100)/100,54$,Yes:

Else,55$,Yes;

54$ ASSIGN: Tipo_Encomenda.NumberOut

True=Tipo_Encomenda.NumberOut True + 1:NEXT(29$);

55$ ASSIGN: Tipo_Encomenda.NumberOut

False=Tipo_Encomenda.NumberOut False + 1:NEXT(32$);

; Model statements for module: BasicProcess.Assign 9 (FH_TIPO1)

;

29$ ASSIGN: FhA=1.5:NEXT(14$);

; Model statements for module: AdvancedProcess.Match 9 (Card

Synchronizer)

;

14$ QUEUE, Card Synchronizer.Queue1:DETACH;

17$ QUEUE, Card Synchronizer.Queue2:DETACH;

15$ QUEUE, Card Synchronizer.Queue3:DETACH;

MATCH: 14$,33$:

17$,5$:

15$,3$;

; Model statements for module: AdvancedProcess.Match 2 (Card

Container C1C2)

;

2$ QUEUE, Card Container C1C2.Queue1:DETACH;

5$ QUEUE, Card Container C1C2.Queue2:DETACH;

3$ QUEUE, Card Container C1C2.Queue3:DETACH;

MATCH: 2$,1$:

5$,20$:

3$,22$;

; Model statements for module: AdvancedProcess.Match 10 (Card Return C1C2)

;

19$ QUEUE, Card Return C1C2.Queue1:DETACH;

22$ QUEUE, Card Return C1C2.Queue2:DETACH;

20$ QUEUE, Card Return C1C2.Queue3:DETACH;

MATCH: 19$,12$:

22$,10$:

20$,17$;

; Model statements for module: AdvancedProcess.Match 5 (Card

car Return C2C3)

;

7$ QUEUE, Card car Return C2C3.Queue1:DETACH;

10$ QUEUE, Card car Return C2C3.Queue2:DETACH;

MATCH: 7$,45$:

Page 29: Mecanismos de CAP: CONWIP, POLCA e GPOLCA, uma análise comparativa através de modelagem e simulação em ARENA

UMinho 2012/13 - Proj. Integrado I – “CONWIP, POLCA e GPOLCA, Modelação e Comparação” José Fernandes, Washigton Peroni, Edison Francisca Pág. 29/30

10$,15$;

; Model statements for module: BasicProcess.Record 6 (calcula

flow time)

;

45$ TALLY: Flow time,INT(tempo chegada),1:NEXT(24$);

; Model statements for module: BasicProcess.Record 1

(Troughtput)

;

24$ TALLY: Troughtput,BET,1:NEXT(41$);

; Model statements for module: BasicProcess.Assign 24

(TAXA_UTIL)

;

41$ ASSIGN: CALCwip=DAVG(Machine1.NumberBusy) +

DAVG(Machine2.NumberBusy)+DAVG(Machine3.NumberBusy):NEXT(42$);

; Model statements for module: BasicProcess.Assign 27

(SAIDA_WIP)

;

42$ ASSIGN: E_WIP=E_WIP-1:NEXT(40$);

; Model statements for module: BasicProcess.Assign 23

(CALC_TP)

;

40$ ASSIGN: TP=1/(TAVG(Troughtput)+0.0000001):NEXT(13$);

; Model statements for module: BasicProcess.Dispose 2

(Entrenga_Encomendas)

;

13$ ASSIGN:

Entrenga_Encomendas.NumberOut=Entrenga_Encomendas.NumberOut + 1;

56$ DISPOSE: Yes;

; Model statements for module: BasicProcess.Process 4 (Workstation3)

;

12$ ASSIGN:

Workstation3.NumberIn=Workstation3.NumberIn + 1:

Workstation3.WIP=Workstation3.WIP+1;

60$ QUEUE, Workstation3.Queue;

59$ SEIZE, 2,VA:

Machine3,1:NEXT(58$);

58$ DELAY: EXPO( FhA ),,VA;

57$ RELEASE: Machine3,1;

105$ ASSIGN:

Workstation3.NumberOut=Workstation3.NumberOut + 1:

Workstation3.WIP=Workstation3.WIP-1:NEXT(7$);

; Model statements for module: BasicProcess.Process 2

(Workstation2)

;

1$ ASSIGN:

Workstation2.NumberIn=Workstation2.NumberIn + 1:

Workstation2.WIP=Workstation2.WIP+1;

111$ QUEUE, Workstation2.Queue;

110$ SEIZE, 2,VA:

Machine2,1:NEXT(109$);

109$ DELAY: EXPO( FhA),,VA;

108$ RELEASE: Machine2,1;

156$ ASSIGN: Workstation2.NumberOut=Workstation2.NumberOut + 1:

Workstation2.WIP=Workstation2.WIP-1:NEXT(43$);

; Model statements for module: BasicProcess.Record 5 (SW2)

;

43$ COUNT: SW2,1:NEXT(34$);

; Model statements for module: BasicProcess.Assign 14 (Confere FH)

;

34$ ASSIGN: Variable 2=FhA:NEXT(19$);

; Model statements for module: BasicProcess.Assign 12 (DEFINE FH)

;

33$ ASSIGN: Variable 1=FhA:NEXT(44$);

; Model statements for module: BasicProcess.Assign 28 (ENTRADA_WIP)

;

44$ ASSIGN: E_WIP=E_WIP+1:NEXT(0$);

; Model statements for module: BasicProcess.Process 1 (Workstation1)

;

0$ ASSIGN:

Workstation1.NumberIn=Workstation1.NumberIn + 1:

Workstation1.WIP=Workstation1.WIP+1;

162$ QUEUE, Workstation1.Queue;

161$ SEIZE, 2,VA:

Machine1,1:NEXT(160$);

160$ DELAY: EXPO( FhA ),,VA;

159$ RELEASE: Machine1,1;

207$ ASSIGN:

Workstation1.NumberOut=Workstation1.NumberOut + 1:

Page 30: Mecanismos de CAP: CONWIP, POLCA e GPOLCA, uma análise comparativa através de modelagem e simulação em ARENA

UMinho 2012/13 - Proj. Integrado I – “CONWIP, POLCA e GPOLCA, Modelação e Comparação” José Fernandes, Washigton Peroni, Edison Francisca Pág. 30/30

Workstation1.WIP=Workstation1.WIP-1:NEXT(2$);

; Model statements for module: BasicProcess.Assign 11

(FH_TIPO2)

;

32$ ASSIGN: FhA=0.75:NEXT(14$);

; Model statements for module: BasicProcess.Assign 10

(FH_HOMOGENEO)

;

30$ ASSIGN: Fh=1:NEXT(27$);

; Model statements for module: BasicProcess.Decide 1 (Tipo_Produti)

;

27$ BRANCH, 1:

With,(50)/100,210$,Yes:

Else,211$,Yes;

210$ ASSIGN: Tipo_Produti.NumberOut

True=Tipo_Produti.NumberOut True + 1:NEXT(25$);

211$ ASSIGN: Tipo_Produti.NumberOut

False=Tipo_Produti.NumberOut False + 1:NEXT(26$);

; Model statements for module: BasicProcess.Assign 1 (Produto i1)

;

25$ ASSIGN: FhA=1:

Picture=Picture.Box:NEXT(14$);

; Model statements for module: BasicProcess.Assign 2 (Produto i2)

;

26$ ASSIGN: FhA=1:

Picture=Picture.Telephone:NEXT(14$);

; Model statements for module: BasicProcess.Create 2 (CARDS

C1C2_Branco)

212$ CREATE,

25,MinutesToBaseTime(0.0),cards1:MinutesToBaseTime(1),1:NEXT(213$);

213$ ASSIGN: CARDS C1C2_Branco.NumberOut=CARDS

C1C2_Branco.NumberOut + 1:NEXT(38$);

; Model statements for module: BasicProcess.Assign 20 (CONTROLA_C1C2)

;

38$ ASSIGN: C1C2=C1C2+1:NEXT(17$);

; Model statements for module: BasicProcess.Create 4 (CARDS C2C3_Vermelho)

;

216$ CREATE, 29,MinutesToBaseTime(0.0),cards2:MinutesToBaseTime(1),1:NEXT(2

17$);

217$ ASSIGN: CARDS C2C3_Vermelho.NumberOut=CARDS C2C3_Vermelho.NumberOut +

1:NEXT(39$);

; Model statements for module: BasicProcess.Assign 21 (CONTROLA_C2C3)

;

39$ ASSIGN: C2C3=C2C3+1:NEXT(15$);