segunda-feira, 2 de junho de 2014

TIPOS DE SIMULADORES E LINGUAGEM DE SIMULAÇÃO GPSS

Terça-feira, 3 de junho de 2014



linguagens de simulação



          O acirramento da competitividade em decorrência do processo de globalização da economia trouxe para as empresas o desafio do aumento da eficiência de seu sistema produtivo. Isto implicou na modernização das plantas industriais, reposição de equipamentos obsoletos e alteração de "Layouts", com uso intensivo de sistemas automatizados. Estes sistemas, que possibilitam altos ganhos de produtividade (devido ao menor desperdício de tempo para inicialização dos equipamentos e maior eficiência no processo), qualidade (pela uniformização do produto) e rentabilidade (com índices menores de desperdício e maiores de produção) são cada vez mais  complexos, e seu monitoramento e operação por parte de operadores humanos toma-se arriscado devido à complexidade e quantidade das ações serem desencadeadas em caso de pane. Isto tudo implica em custos cada vez mais altos de inicialização de sistemas, de construção de protótipos, sistemas de treinamento, etc.; Esta situação trouxe consigo uma demanda por sistemas de simulação, os quais permitem que estas tarefas (como projetos ou "up-grades" de sistemas complexos, inicialização dos mesmos e treinamento dos operadores) possam ser realizados em tempo mais curto, sem riscos para os equipamentos e operadores e sem necessidade de parada da produção. Inicialmente, os sistemas de simulação foram desenvolvidos sobre linguagens de programação de propósito geral (Basic, Pascal, C, etc.). No entanto, isto demandava um grande esforço para construção de modelos, além de exigir do profissional responsável pela simulação, conhecimentos profundos de programação de computadores.

          Foi então que apareceram as linguagens de programação de computadores dedicadas á simulação, tais como GPSS, SIMAN, SLAM. SIMSCRIPT, etc. Estas linguagens na realidade eram bibliotecas compostas de conjuntos de macrocomandos de outras linguagens de propósito geral (na maioria das vezes, FORTRAN), e conforme já mencionado anteriormente; visavam facilitar o processo de construção dos modelos. Alguns dos simuladores gráficos da geração seguinte são desenvolvidos sobre plataforma destas linguagens, como no caso do ARENA, construído sobre a linguagem SIMAN (ARENA, 1994).



Linguagens Específicas
           As linguagens de simulação em computador facilitam o desenvolvimento e execução de simulações de sistemas complexos do mundo real. Neste contexto existem as linguagens de programação de uso geral como o FORTRAN, Pascal, C, C++. As linguagens específicas de simulação como GPSS, SIMAN V, entre outras.
          Para este estudo será explicado apenas a Linguagem Especifica GPSS. Desta forma a Linguagem GPSS que significa em inglês General Purpose Simulation System  a qual traduzida em português vem a ser Sistema de Simulação de Propósito Geral. Senso a GPSS é uma linguagem de programação para o fim específico de simulação e com alto grau de estruturação e orientada para transações (um caso especial de orientação a processos). Foi projetada para facilitar a simulação de sistemas de filas.
           Para essa Linguagem especifica, verifica-se como principal exemplo de aplicação o Software Arena que é um pacote de simulação extensível e com recursos de animação. O modelo de simulação é construído selecionando módulos que contêm características do processo. Por exemplo, um módulo de inspeção pode modelar a tarefa de inspeção de um processo. Depois da escolha e especificação dos parâmetros dos módulos, o Arena executa uma animação do processo.

Linguagem de simulação GPSS


      A primeira versão do GPSS foi lançada em 1961, pela IBM.Originalmente, GPSS significava Gordon’s Programmable Simulation System, em homenagem a Geoffrey Gordon, seu criador. Mais tarde,passou a significar General Purpose Simulation System.
GPSS sempre foi a principal linguagem de simulação da IBM. Como tal, um grande número de aplicações foram desenvolvidas nestes seus quase 50 anos de existência.
       A idéia principal que guiou o projeto do GPSS foi a de criar uma ferramenta que pudesse ser usada por não especialistas. Isso motivou a representação dos modelos de forma gráfica. Um modelo GPSS é um diagrama de blocos, por onde fluem transações, que são as entidades temporárias do sistema.
Atualmente, as versões disponíveis mais conhecidas são GPPS/H, GPSS World e Web GPSS. Muitas ferramentas de simulação (por exemplo, a linguagem Arena) foram fortemente influenciadas pelo GPSS.
          A linguagem não é orientada a eventos nem a processos. Na verdade, GPSS lembra uma linguagem tipo data-flow.
         Na linguagem GPSS, um modelo é descrito através de um diagrama de blocos.
       Existe um conjunto de blocos à disposição do programador, os quais podem ser interconectados para representar um sistema.
 


Exemplo de Aplicação utilizando o simulador ARENA


           Em um banco os clientes chegam a uma taxa exponencial de 230 segundos. Ao chegar, cada cliente deve ser atendido pelo caixa ou pelo gerente (cerca de 10%). No caixa os atendimentos variam de 0.5 a 9.0 minutos com um valor mais provável de 3.0 minutos. Na gerência os valores são 0.5, 9.0 e 4.0 respectivamente. Cerca de 10% dos clientes atendidos pelo gerente devem voltar para o caixa. Nesse caso, eles têm prioridade de atendimento e passam na frente dos demais clientes. Vamos considerar um tempo de 2 minutos para cada deslocamento dentro do banco.




Referências Bibliográficas

DISPONIVEL EM < http://minerva.ufpel.edu.br/~alejandro.martins/dis/2012_2/simulacao/Apostila_Simulacao.pdf> ACESSADO EM :  01/06/2014 às 14:00min.

DISPONÍVEL EM < http:/http://www.scielo.br/pdf/prod/v9n1/v9n1a02> ACESSADO EM :  01/06/2014 às 14:30min. 

DISPONÍVEL EM < http:/http://www.google.com.br/search?q=IMAGENS+DE+SIMULA%C3%87%C3%83O+DO+ARENA> ACESSADO EM :  01/06/2014 às 14:45min 


terça-feira, 27 de maio de 2014

SISTEMA ESPECIALISTA



 GESTOC – Gestão de Transferência de Estoques

            O sistema GESTOC consiste em um aplicativo orientado para o gerenciamento do nível de estoques de produtos através da programação diária de transferências de cargas entre as unidades de uma empresa. A aplicação é alimentada com a posição de estoque, previsão de produção e projeção de vendas de cada unidade. Gerencia o controle do cadastro de produtos, elementos de logística, e, com base em análises de projeção, elabora a programação de viagens para transporte de produtos.
            O objetivo final é o de, ao término de cada dia, a posição de estoques ser a mais equilibrada possível, garantindo as vendas projetadas para aquele período, e atender à estratégias de distribuição e demanda de vendas da empresa. O sistema possui rotinas específicas de otimização para propor movimentos de carga, distribuir os produtos nos caminhões e carretas, e equalizar a distribuição de peso nos compartimentos de transporte. Principais funcionalidades:
·         Gerenciamento de produção e logística
·         Projeção de produção, vendas e estoques.
·         Movimentos de transferência
·         Análise estatística de estoques e transferências
·         Integração com outras aplicações da empresa




Gerenciamento de Produção e Logística
            O gerenciamento de produção e logística consiste o banco de dados central do sistema. Está estruturado em duas camadas de informações, relacionadas à produção e à logística. Como produção entendemos todas as informações associadas aos produtos, como identificação, distribuição de grupos e famílias de produtos, paletes de armazenamento e transporte. São dados que definem cada produto em termos das informações pertinentes ao controle de estoques.
            Já os elementos associados à logística envolvem a definição das unidades de produção/estoque, as rotas de transporte e os diferentes elementos para caracterização da capacidade de movimentação de cargas.
            Obviamente, incluem dados para especificação das unidades de transporte, ou seja, os caminhões e carretas com suas especificações técnicas, além dos turnos de trabalho e motoristas disponíveis para as operações. 



Projeção de Produção, Vendas e Estoques

            A projeção de posição das unidades inicia com a alimentação dos dados referentes à contagem atual de cada produto em cada estoque da empresa. Essa posição de estoque é o ponto inicial para a elaboração dos movimentos de cargas. Além da posição atual do estoque, são alimentadas as projeções de produção e a perspectiva de vendas de cada produto ao longo do dia. Esses valores devem ser equilibrados, em cada unidade, de forma a restar um estoque mínimo em cada unidade. Esse estoque mínimo se baseia exatamente em um número de dias mínimo definido para cada produto.
O balanceamento da equação será dado pela quantidade de produtos movimentados entre as unidades para cada produto cadastrado:

Produto com balanço tipo Demanda:
(Estoque + Produção + Extras) – (Reserva + Paradas) + MovEntrada – MovSaída >= Demanda * Dias_Estoque.

Produtos com balanço tipo Segurança:
(Estoque + Produção + Extras) – (Reserva + Paradas) + MovEntrada – MovSaída >=Segurança

            Essa condição deve ser projetada idealmente para atender os níveis mínimos de estoque, e, em segunda instância, para equilibrar os níveis de estoque entre as unidades – de forma que todas as unidades possuam o mesmo número de dias de estoques de produtos em função de suas projeções particulares de venda. Além dos valores acima, poderemos ter projeções adicionais de estoque, produção e vendas como forma de considerar alguma condição extra, como promoções, correções de contagem, alterações em ritmo de produção.


Movimentos de Transferências

            Os movimentos de transferência de produtos entre as unidades são o objetivo final de formulação do sistema. Com base no balanceamento da equação anteriormente apresentada, serão alimentados as quantidades de produtos a serem transportadas de uma unidade para outra, acrescidos do detalhamento de carga em cada unidade de transporte.

            O primeiro passo para a elaboração de um movimento de transferência de produtos compreende o balanceamento ideal do movimento de produtos. Esse balanço ideal é elaborado, produto a produto, com base em uma rotina de otimização, que indica o movimento ideal de produtos a serem movimentos entre as unidades. Detalhe importante a observar é o de que esse movimento considera uma capacidade infinita de transporte.

            Os passos seguintes para elaboração dos movimentos de transferência consistem na criação das viagens para cada conjunto motorista/caminhão/turno especificando que rota (origem/destino) será utilizada. Para cada viagem, detalhamos que produtos serão movimentados, e qual a disposição das cargas nas carretas – disposição essa otimizada por uma rotina de equalização de peso para os eixos das carretas.

            Note que todo o processo de cadastramento de viagens e movimentos pode ser feito manualmente. Porém, em cada um desses processos existirão dados-gráficos de orientação e sugestão segundo o balanço ideal elaborado. Da mesma forma, a distribuição das cargas nas carretas pode ser cadastrada manualmente ou sugerida por uma rotina de otimização.




Análise de estoques e transferências

            Todo o conjunto de dados de posição de estoques e transferência de produtos pode ser analisado através de funcionalidades configuradas para propiciar informações de apoio à decisão aos usuários. Essas funcionalidades consistem de consultas para exibição de dados/gráficos em cima da base de dados existente.  

            Temos consultas sobre posições críticas e alarmes referentes a posições no dia, bem como acompanhamentos estatísticos dos movimentos ao longos de intervalos de tempos solicitados. Todos os formulários, gráficos e relatórios possuem funcionalidades de filtros por características dos produtos, permitindo análises por certos grupos e famílias de produtos entre outros.



Integração com aplicações gerenciais

            A integração com sistemas gerenciais objetiva a alimentação de dados e históricos dos modelos com base nas bases de dados de empresas clientes. Esses sistemas podem estar baseados desde bancos de dados para acesso direto até mesmo planilhas de cálculo ou arquivos texto. Dessa forma, cada integração consiste de uma customização específica, e que estará adequada à necessidade e disponibilidade de informações do cliente. Todo o mecanismo de integração entre as aplicações e o GESTOC será feito por bibliotecas DLL particularizadas.

Fonte Bibliográfica: GESTOC - Gestão de Transferências entre Estoques - iLab Sistemas Especialistas.

quarta-feira, 23 de abril de 2014

TEORIA DAS FILAS (MM1)

A teoria das filas é um ramo da probabilidade que estuda a formação de filas, através de análises matemáticas precisas e propriedades mensuráveis das filas. Ela provê modelos para demonstrar previamente o comportamento de um sistema que ofereça serviços cuja demanda cresce aleatoriamente, tornando possível dimensioná-lo de forma a satisfazer os clientes e ser viável economicamente para o provedor do serviço, evitando desperdícios e gargalos.E tem por objetivo otimizar o desempenho de um sistema, reduzindo seus custos operacionais. Para otimizar o desempenho dos modelos de filas de espera, é necessário analisar os resultados gerados por fórmulas apropriadas a um modelo específico. Em geral todo sistema de filas tem diferentes características, mas suas formas de funcionamento são similares. Ou seja, existem formas de chegada e formas de atendimento. Para obter resultados de um modelo é fundamental ter alguns dados de entrada para alimentar as fórmulas de uma fila de espera, como por exemplo a razão de chegada, a razão de atendimento etc. Também é necessário conhecer outras características de uma fila de espera, tais como: se um sistema de filas de espera é Markoviano ou não Markoviano. Todas essas características serão explicadas no transcurso deste estudo do sistema da teoria de filas de espera.  Um sistema  de filas pode ser interpretado da seguinte  forma:  clientes chegam para  serem atendidos mas, quando  não h´a um atendimento imediato,  ´e necess´ario formar  uma  fila de espera. Os clientes referidos acima podem ser pessoas que esperam  um atendimento, mensagens  que esperam ser transmitidas pelos canais de comunica¸c˜ao, carros que esperam num sem´aforo.  E, depois quando chegam,  esperam  e são atendidos pelos servidores  a partir de alguma  disciplina,  ou seja, ser´a primeiro atendido aquele que chega primeiro,  disciplina  conhecida  como first in first out - FIFO,  ou, ser atendido primeiro o que chega por u´ltimo, conhecida como first in last out - FILO.  A primeira disciplina  ´e geralmente  utilizada em nosso dia-a-dia,  j´a a segunda  tem como um exemplo a busca em discos r´ıgidos. Para  descrever  uma fila ´e utilizada a notac˜ao A/B/c, em que A representa a distribuic¸ao com que os clientes chegam no sistema,  B representa a distribui¸c˜ao do tempo  de servi¸co e c representa o nu´mero de servidores.  A disciplina  utilizada geralmente  ´e FIFO. 
            O principal motivo de se estudar filas é a melhoria do sistema, o que caracteriza uma melhor utilização dos serviços disponíveis, menor tempo de espera e maior rapidez no atendimento. Serão apresentadas as filas mais conhecidas, tais como, M/M/1, M/M/c e M/M/∞.
            Uma fila M/M/1 ´e o modelo mais simples dentre  os existentes  em teoria  de filas, no entanto ´e um dos   modelos mais estudados, e ser´a portanto o mais amplamente abordado  neste trabalho.  Esse tipo  de fila configura  um processo de nascimento  e morte,  no qual  as chegadas  em um intervalo de tempo  (0, T ] seguem um processo de Poisson  com taxa  λ, e os tempos  de serviço, seguem uma distribuiçãoo exponencial  de parametro µ. A grande vantagem desse modelo é a simplicidade de análise, uma vez que o model M/M/1 é um modelo Markoviano de fácil análise exata. Diversas medidas de desempenho podem ser facilmente computadas admitindo-se que o sistema esteja em equilíbrio, tais como a utilização média das máquinas, o número médio de peças no sistema, o tamanho médio da fila e o tempo médio de espera em fila. 
Fonte bibliográfica: 
ANDRADE, EDUARDO L. DE. Introdução à Pesquisa Operacional: métodos e modelos para a análise de decisão. 2 ed. Rio de Janeiro: LTC, 1989-1998.
Beatriz Castro Dias e Karem Maria Jung . Tema: Teoria de filas. Departamento de Estatistica- IMECC/UNICAMP