Modelagem E Simulação Discreta
Total Page:16
File Type:pdf, Size:1020Kb
Versão 12/05/2021 Brauliro G Leal Modelagem e Simulação Discreta Quarta Edição Juazeiro – BA 2021 Modelagem e Simulação Discreta 2 Copyright© 2016, 2017, 2018, 2019, 2020, 2021 by Brauliro Gonçalves Leal O conteúdo deste livro eletrônico é livre para uso de qualquer natureza desde que citado a fonte. Toda e qualquer parte desta publicação pode ser reproduzida, distribuída ou transmitida de qualquer forma ou por qualquer meio, ou armazenada de qualquer forma ou em qualquer sistema desde que reconhecida a autoria. Atribuição-CompartilhaIgual – esta licença permite que outros remixem, adaptem e criem a partir deste trabalho, mesmo para fins comerciais, desde que lhe atribuam o devido crédito e que licenciem as novas criações sob termos idênticos (creativecommons.org/licenses). e-mail: [email protected] Quarta Edição Eletrônica: maio de 2021 ISBN: a ser feito# O autor Brauliro Gonçalves Leal Professor do Colegiado de Engenharia da Computação Universidade Federal do Vale do São Francisco Avenida Antônio Carlos Magalhães, 510 Santo Antônio Juazeiro/BA – Brasil 48.902-300 e-mail: [email protected] site: www.univasf.edu.br/~brauliro.leal Sobre este documento Este documento foi escrito em LibreOffice (www.libreoffice.org), suas imagens foram produzidas pelo Kolourpaint (www.kolourpaint.org), seus programas foram editados na IDE Code::Blocks (www.codeblocks.org) e compilados com o GNU GCC (gcc.gnu.org). O Sistema Operacional utilizado foi o GNU/Linux Mint Cinnamon. Software livre é a melhor ideia! Modelagem e Simulação Discreta 3 Pois o conforto intelectual e o hábito têm horror das mensagens que os incomodam. Edgar Morin (Le Monde: 20 de abril de 2020) Modelagem e Simulação Discreta 4 Modelagem e Simulação Discreta Prefácio O objetivo principal deste livro é servir de texto para a disciplina Modelagem e Simulação do curso de Engenharia da Computação do Colegiado de Engenharia da Computação da Universidade Federal do Vale do São Francisco. Os grandes temas deste livro são: Sistemas de Fila, Simulação de Sistemas de Fila, Análise de Resultados Simulados, Verificação e Validação de Modelos, Geração de Números Aleatórios e Geração de Variáveis Aleatórias. Neste texto foram construídos os Modelos Analítico, Conceitual e Computacional de Sistemas de Fila a partir da Teoria de Filas e dos Modelos de Sistemas de Filas. Estes modelos permitem tratar os temas deste livro e são os eixos que dão suporte à teoria e às aplicações da Modelagem e Simulação Discreta. O Modelo Conceitual de Sistemas de Fila e seu respectivo Modelo Computacional, aqui apresentados, foram feitos em duas partes. Na primeira parte foi tratado o processo de simulação discreta e na segunda a análise estatística dos resultados. Desta forma, são enfatizadas as variáveis de real interesse para a simulação, tornando o modelo mais simples de ser compreendido. Esta abordagem revelou-se assaz didática. O uso de modelos é amplamente aceito pois permite estudar problemas aos poucos – ampliando o escopo quando necessário, maior facilidade para testar um sistema antes de lhe dar forma final – reduz custos, melhora a comunicação entre os membros de uma equipe – aumento da eficiência das equipes, e contribui com a publicidade dos seus resultados – favorece o entendimento do público de interesse. Os modelos computacionais foram implementados em C++, pelo rigor da linguagem, e em Javascript com HTML5, para permitir a visualização gráfica e a dinâmica da simulação discreta, viabilizando seu uso em navegadores web. Esta implementação permite a avaliação gráfica do comportamento dos sistemas simulados, dando grande estímulo à aprendizagem, com resultados inspiradores. Os algoritmos para a Geração de Variáveis Aleatórias também são contribuições relevantes, permitem gerar várias funções de distribuição acumuladas, discretas e contínuas, a partir de números aleatórios, dando suporte à simulação computacional. Outros algoritmos foram desenvolvidos, destinados aos tópicos relevantes da Simulação de Sistemas Simples de Fila, para Verificação e Validação de Modelos e também para a Análise de Resultados Simulados, com destaque para os métodos de Replicação Independente e Média de Lotes. O autor espera que tenha contribuído com o ensino destes conteúdos de modo a torná-los mais atraentes, visuais, dinâmicos e aplicados nas diversas áreas de conhecimento, quando cabível. Na esperança de que os estudantes descubram a expressão racional que se descobriu no mundo e que os ajude a reinventá-la. Os softwares e material didáticos auxiliares foram incluídos no texto e tem como finalidade pedagógica, destinam-se a ilustrar os conceitos da disciplina, estão sendo melhorados e otimizados e são de uso livre. O autor não assume quaisquer responsabilidades pelo seu uso e/ou pelas consequências de seu uso. Modelagem e Simulação Discreta 5 Construindo a Modelagem e Simulação de Sistemas Computacionais A Modelagem e Simulação de Sistemas Computacionais permitem representar Sistemas Computacionais por meio de modelos de simulação e reproduzir suas cadeias de causalidade, estimar e avaliar resultados e subsidiar o processo de tomada de decisões em nível de engenharia. A seguir são relacionados os principais conceitos que dão suporte à modelagem e a simulação destes sistemas. Mais de um século de pesquisa em sistemas de filas permitem compreender a organização dos sistemas computacionais e estabelecer suas relações físico- Teorias da Filas matemáticas sob a forma de Modelos Analíticos. Os seus resultados teóricos e experimentais atestam o sucesso desta abordagem Estatística é uma ferramenta usada quando não se sabe, ou é impossível saber, totalmente as informações contidas em um sistema. Desta forma, ela trabalha Estatística melhor com incertezas ao quantificá-las em níveis de confiança. Seus conceitos, métodos e técnicas dão o suporte necessário para a validação e verificação de experimentos envolvendo sistemas computacionais Computadores, com sua capacidade e velocidades extremadas, dão o suporte para a simulação. As linguagens de programação permitem escrever os Computadores, softwares necessários para a simulação e análise de resultados. As técnicas Linguagem e Técnicas computacionais, como estruturas de dados, programação orientada a objetos, Computacionais cálculo numérico e computação gráfica, dão suporte à simulação. Todo e qualquer hardware ou software, os computadores, seus componentes e seus elementos de conexão são, eles mesmos, objetos de estudo O acaso é um agente imprevisível e atua em todos os domínios da Natureza. Por ser um elemento explicativo nas Ciências, é necessário introduzi-lo nos sistemas, Geradores de Números o que pode ser feito por meio de números aleatórios. Os geradores de números Aleatórios e Geração aleatórios são essenciais para gerar variáveis aleatórias e suas distribuições de Variáveis Aleatórias estatísticas, viabilizando a simulação computacional a partir de poucos valores medidos, mas representativos Modelos Analíticos de Os modelos de Sistemas Computacionais tornaram possíveis a compreensão e a Redes de verificação de resultados de simulação discreta, extensíveis aos demais recursos Computadores de software e de hardware Os Sistemas Computacionais são transversais na vida das pessoas, das empresas e dos governos. Em todas as áreas, sua influência é marcante. Sistemas Sistemas de Computação são recursos de software e/ou de hardware, tomados Computacionais em parte ou no todo, de modo isolado ou em rede e, para sua compreensão e seu uso adequado, é necessário um conhecimento básico da terminologia da avaliação de desempenho, seus princípios e suas técnicas Com sua concisão e ubiquidade, a matemática é a linguagem que permite escrever o corpo teórico para a modelagem, simulação discreta e análise de Matemática resultados. As técnicas matemáticas, como Cálculos Diferencial e Integral e Séries, são requeridas para qualificar e quantificar as teorias deste livro e seus objetos de estudo Cabe aqui uma ressalva, a de que variáveis aleatórias diferem das variáveis deterministas habituais (da ciência e engenharia em geral). Variáveis deterministas apresentam um valor único a qual associa-se um erro de medida, como a aceleração da gravidade em um ponto deste planeta. Por outro lado, variáveis aleatórias têm seus valores associadas a distribuição de probabilidade, que devem ser interpretados tendo em vista estatísticas de cada resultado possível, antecipar a face de uma moeda em dado lance ou obter certa carta de um baralho. A simulação discreta faz uso de variáveis aleatórias de modo a representar a grande variabilidade dos seus objetos de estudo e seus usos e aplicações nas ciências e na sociedade em geral. Modelagem e Simulação Discreta 6 Uma outra ressalva é que nossos modelos científicos são apenas modelos, simplificações, aproximações que funcionam muito bem e, quando surge algo novo, o modelo é aprimorado. Esse é o modo de progresso da Ciência pois ela é inacabada, em eterna construção, como nós mesmos e a sociedade, mas busca diminuir as incertezas enquanto lida com a complexidade deste universo material. Visão dos Tópicos Tratados no Livro A maioria das simulações estocásticas têm a mesma estrutura básica: 1. Identificar uma variável aleatória de interesse X e desenvolver um software para sua simulação 2. Gerar uma amostra X1, ..., Xn independentes e igualmente distribuídas (iid) e com a mesma distribuição X 3. Estimar estatísticas de X1 e avaliar a precisão da estimativa2 A Figura 1 apresenta uma visão dos principais tópicos do livro. O tema central é a simulação