SimPy: Simulação em Python
Grátis!
Preço mínimo
$17.00
Preço sugerido

SimPy: Simulação em Python

Um guia prático

Sobre o Livro

A obra SimPy: Simulação em Python apresenta a biblioteca SimPy para construção de modelos de simulação de eventos discretos em Python.

Ao longo dos seus capítulos, são apresentados os conceitos fundamentais da biblioteca, seus principais comandos por meio de exemplos e, ao final de cada capítulo, são propostos exercícios práticos resolvidos na forma de desafios e exercícios adicionais para que o leitor teste seu conhecimento.

Além dos fundamentos da biblioteca, a obra também apresenta alguns tópicos avançados, tais como: simulação de agentes e otimização e simulação.

Sobre o Autor

Afonso C. Medina
Afonso C. Medina

Afonso C. Medina é graduado em Engenharia Naval pela Escola Politécnica da Universidade de São Paulo e Mestre pela USP. Especialista nas áreas de Pesquisa Operacional e Logística, foi pesquisador do Laboratório de Planejamento e Operações de Transportes – LPT/USP e do Centro de Inovação em Logística e Infraestrutura Portuária – CILIP do Departamento de Engenharia Naval da Escola Politécnica da USP. Foi responsável por disciplinas de graduação de Métodos de Otimização da Escola Politécnica da Universidade de São Paulo. Atualmente, é consultor na área de Logística e Otimização na Genoa, tendo já realizado projetos para diversas empresas, tais como: Petrobras, VALE, CSN, Rumo, Suzano, ADM, Natura, Codesp, Promon, DER, Prefeitura-SP, CBTU, Porto de Santos, FIA-USP, dentre outras.

Índice

    • 1See me, Fell me, README
    • 2Apresentação
      • 2.1Por que utilizar o SimPy?
      • 2.2Prós e contras
      • 2.3Um breve histórico do SimPy
      • 2.4Onde procurar ajuda sobre o SimPy
      • 2.5Como utilizar este livro
    • 3Instalando o SimPy
      • 3.1Passo 1: Anaconda, the easy way
      • 3.2Passo 2: Instalando o Pip (para quem não instalou o Anaconda)
      • 3.3Passo 3: Instalando o SimPy
      • 3.4Passo 4: Instalando algum Ambiente Integrado de Desenvolvimento (IDE)
    • 4Tudo depende do Python
      • 4.1Teste seus conhecimentos em Python: o problema da ruína do apostador
      • 4.2Desafios
      • 4.3Solução do desafio 1
      • 4.4Teste seus conhecimentos
    • 5Primeiros passos em SimPy: criando entidades
      • 5.1Chamada das bibliotecas random e simpy
      • 5.2Criando um environment de simulação
      • 5.3Criando um gerador de chegadas dentro do environment
      • 5.4Criando intervalos de tempo de espera com env.timeout(tempo_de_espera)
      • 5.5Executando o modelo por um tempo determinado com env.run(until=tempo_de_simulacao)
      • 5.6Conceitos desta seção
      • 5.7Desafios
      • 5.8Solução dos desafios 2 e 3
      • 5.9Teste seus conhecimentos
    • 6Criando, ocupando e desocupando recursos
      • 6.1Criando
      • 6.2Ocupando
      • 6.3Desocupando
      • 6.4Status do recurso
      • 6.5Conceitos desta seção
    • 7Juntando tudo em um exemplo: a fila M/M/1
      • 7.1Geração de chegadas de entidades
      • 7.2Realizando o atendimento no servidor
      • 7.3Uma representação alternativa para a ocupação e desocupação de recursos
      • 7.4Conceitos desta seção
      • 7.5Desafios
      • 7.6Solução dos desafios 4, 5 e 6
      • 7.7Teste seus conhecimentos
    • 8Atributos e variáveis: diferenças em SimPy
      • 8.1Atributos em modelos orientados ao objeto
      • 8.2Conceitos desta seção
      • 8.3Desafios
      • 8.4Solução dos desafios 7 e 8
      • 8.5Teste seus conhecimentos
    • 9Environments: controlando a simulação
      • 9.1Controle de execução com env.run(until=fim_da_simulação)
      • 9.2Parada por execução de todos os processos programados
      • 9.3Parada por fim de execução de processo específico por env.run(until=processo)
      • 9.4Simulação passo a passo: peek & step
      • 9.5Conceitos desta seção
      • 9.6Desafios
      • 9.7Solução dos desafios 9 e 10
    • 10Outros tipos de recursos: com prioridade e preemptivos
      • 10.1Recursos com prioridade: PriorityResource
      • 10.2Recursos que podem ser interrompidos: PreemptiveResource
      • 10.3Conceitos desta seção
      • 10.4Desafios
      • 10.5Solução dos desafios 11 e 12
    • 11Interrupções de processos: simpy.Interrupt
      • 11.1Criando quebras de equipamento
      • 11.2Interrompendo um processo sem captura por try…except
      • 11.3Conceitos desta seção
      • 11.4Desafios
      • 11.5Solução dos desafios 13 e 14
      • 11.6Teste seus conhecimentos
    • 12Armazenagem e seleção de objetos específicos com Store, FilterStore e PriorityStore
      • 12.1Construindo um conjunto de objetos com Store
      • 12.2Selecionando um objeto específico com FilterStore()
      • 12.3Criando um Store com prioridade: PriorityStore
      • 12.4Conceitos desta seção
      • 12.5Desafios
      • 12.6Solução dos desafios 15 e 16
      • 12.7Teste seus conhecimentos
    • 13Enchendo ou esvaziando caixas, tanques, estoques ou objetos com Container()
      • 13.1Enchendo o meu container yield meuContainer.put(quantidade)
      • 13.2Esvaziando o meu container: yield meuContainer.get(quantidade)
      • 13.3Criando um sensor para o nível atual do container
      • 13.4Conceitos desta seção
      • 13.5Desafios
      • 13.6Solução dos desafios 17 e 18
      • 13.7Teste seus conhecimentos
    • 14Criando lotes (ou agrupando) entidades durante a simulação
      • 14.1Uma tática para agrupamento de lotes utilizando o Container
      • 14.2Agrupando lotes por atributo da entidade utilizando o FilterStore
      • 14.3Desafios
      • 14.4Solução dos desafios 19 e 20
      • 14.5Teste seus conhecimentos
    • 15Criando, manipulando e disparando eventos com event()
      • 15.1Criando um evento isolado com event()
      • 15.2Conceitos desta seção
      • 15.3Desafios
      • 15.4Solução dos desafios 21 e 22
      • 15.5Teste seus conhecimentos
    • 16Aguardando múltiplos eventos ao mesmo tempo com AnyOf e AllOf
      • 16.1Aguardando até que, ao menos, um evento termine com AnyOf
      • 16.2Aguardando todos os eventos com AllOf
      • 16.3Comprendendo melhor as saídas dos comandos AllOf e AnyOf
      • 16.4Conceitos desta seção
      • 16.5Desafios
      • 16.6Solução dos desafios 23 e 24
      • 16.7Teste seus conhecimentos
    • 17Propriedades úteis dos eventos
      • 17.1Conceitos desta seção
      • 17.2Desafios
      • 17.3Solução do desafio 25
      • 17.4Teste seus conhecimentos
    • 18Adicionando callbacks aos eventos
      • 18.1Todo processo é um evento
      • 18.2Conceitos desta seção
      • 18.3Desafios
      • 18.4Solução do desafio 26
      • 18.5Teste seus conhecimentos
    • 19Interrupções de eventos
      • 19.1Interrompendo um evento com o método interrupt
      • 19.2Interrompendo um evento com o método fail
    • 20O que são funções geradoras? (ou como funciona o SimPy) - Parte I
      • 20.1Iterador
      • 20.2Funções geradoras
    • 21O que são funções geradoras? (ou como funciona o SimPy?) - Parte II
      • 21.1SimPy vs. funções geradoras
    • 22Simulação Baseada em Agentes usando o SimPy
      • 22.1Como construir um modelo de simulação de agentes: passos básicos
      • 22.2Modelo epidêmico baseado em agentes: o modelo SIR
      • 22.3Modelagem do problema no SimPy
      • 22.4Melhorando o desempenho do código de simulação
      • 22.5Como seguir a partir daqui
      • 22.6Conceitos desta seção
      • 22.7Desafios
      • 22.8Solução dos Desafios 27 e 28
      • 22.9Teste seus conhecimentos

Garantia de 60 Dias de 100% de Satisfação da Leanpub

Em até 60 dias após a compra, você pode obter um reembolso de 100% em qualquer compra da Leanpub com apenas dois cliques.

Tecnicamente, isso é arriscado para nós, já que você terá os arquivos do livro ou curso de qualquer maneira. Mas estamos tão confiantes em nossos produtos e serviços, e em nossos autores e leitores, que oferecemos com satisfação uma garantia de devolução total do dinheiro para tudo o que vendemos.

Você só pode descobrir o quanto algo é bom experimentando, e por causa da nossa garantia de 100% de devolução do dinheiro, literalmente não há risco em tentar!

Então, não há motivo para não clicar no botão Adicionar ao Carrinho, certo?

Ver termos completos...

Ganhe $8 em uma compra de $10, e $16 em uma compra de $20

Pagamos 80% de royalties em compras de $7,99 ou mais, e 80% de royalties menos uma taxa fixa de 50 centavos em compras entre $0,99 e $7,98. Você ganha $8 em uma venda de $10, e $16 em uma venda de $20. Então, se vendermos 5000 cópias não reembolsadas do seu livro por $20, você ganhará $80.000.

(Sim, alguns autores já ganharam muito mais que isso na Leanpub.)

Na verdade, os autores já ganharammais de $14 milhões escrevendo, publicando e vendendo na Leanpub.

Saiba mais sobre como escrever na Leanpub

Atualizações Gratuitas. Livre de DRM.

Ao comprar um livro da Leanpub, você recebe atualizações gratuitas enquanto o autor continuar atualizando o livro! Muitos autores usam o Leanpub para publicar seus livros em desenvolvimento, enquanto ainda estão escrevendo. Todos os leitores recebem atualizações gratuitas, independentemente de quando compraram o livro ou quanto pagaram (incluindo gratuitos).

A maioria dos livros da Leanpub está disponível em PDF (para computadores) e EPUB (para celulares, tablets e Kindle). Os formatos incluídos em um livro são mostrados no canto superior direito desta página.

Por fim, os livros da Leanpub não possuem nenhuma proteção DRM sem sentido, então você pode lê-los facilmente em qualquer dispositivo compatível.

Saiba mais sobre os formatos de ebook da Leanpub e onde lê-los

Escreva e Publique na Leanpub

Você pode usar a Leanpub para escrever, publicar e vender ebooks e cursos online em andamento e concluídos com facilidade!

A Leanpub é uma plataforma poderosa para autores sérios, combinando um fluxo de trabalho de escrita e publicação simples e elegante com uma loja focada na venda de ebooks em desenvolvimento.

A Leanpub é uma máquina de escrever mágica para autores: basta escrever em texto simples e, para publicar seu ebook, basta clicar em um botão. (Ou, se você está produzindo seu ebook do seu próprio jeito, pode até fazer upload de seus próprios arquivos PDF e/ou EPUB e depois publicar com um clique!) É realmente assim tão fácil.

Saiba mais sobre como escrever na Leanpub