SimPy

SimPy
Surgido em 2002
Última versão 3.0.9 (12 de junho de 2016; há 8 anos)
Criado por Klaus G. Müller, Tony Vignaux
Licença MIT
Página oficial simpy.readthedocs.org

SimPy ("Simulation in Python") é um ambiente para a simulação de eventos discretos baseado no Python. Seu despachador de eventos é baseado em funções geradoras e também pode ser usado para redes assíncronas ou para implementar sistemas de multiagentes (tanto com comunicação simulada, quando real).

Processos em SimPy são meras funções geradoras em Python e são utilizadas para modelar entidades, tais como: clientes, veículos ou agentes. SimPy também fornece vários tipos de recursos compartilhados para modelar sistemas com capacidade limitada (como servidores, guichês de atendimento, estações de trabalho etc.). A partir da versão 3.1, serão disponibilizados recursos de monitoramento, que permitirão extrair diversas estatísticas sobre recursos e processos existentes em um modelo.

As simulações podem ser realizadas "o mais rápido quanto possível", avançando o tempo de simulação ou manualmente, eventos a evento.

Embora seja teoricamente possível fazer simulações de processos contínuos com o SimPy, ele não nenhum recursos específico para realizar isso. No entanto, SimPy é excelente para as simulações com um tamanho fixo de passo, onde os processos não interagem um com os outros ou com recursos partilhados — um simples loop while é suficiente neste caso.

A distribuição do SimPy contém tutoriais, documentação detalhada e um grande número de exemplos.

SimPy é um software open source sob a Licença MIT. A sua primeira versão foi lançada em Dezembro de 2002.

Exemplo: relógio

Um dos objetivos principais do SimPy é sua facilidade de uso. A seguir apresenta-se um exemplo de simulação em SimPy: um relógio imprime na tela o tempo corrente de simulação a cada passo:

 >>> import simpy
 >>>
 >>> def clock(env, name, tick):
 ...     while True:
 ...         print(name, env.now)
 ...         yield env.timeout(tick)
 ...
 >>> env = simpy.Environment()
 >>> env.process(clock(env, 'fast', 0.5))
 <Process(clock) object at 0x...>
 >>> env.process(clock(env, 'slow', 1))
 <Process(clock) object at 0x...>
 >>> env.run(until=2)
 fast 0

Exemplo: fila M/M/1

Uma possível modelagem para um sistema de fila M/M/1 é dada no código a seguir[1]:

"""
Fila M/M/1
"""
import random
import simpy

qtdClientes = 10
taxaChegada = 1.0 / 6.0        #Inverso do intervalo médio entre chegadas em minutos
taxaAtendimento = 1.0 / 5.0    #Inverso do tempo de médio de atendimento em minutos

def chegadas(env):
    """ Gera as chegadas dos clientes no sistema """
    for i in range(qtdClientes):
        yield env.timeout(random.expovariate(taxaChegada))
        name = 'Cliente %d' % (i+1)
        env.process(atendimento(env, name))

def atendimento(env, name):
    """ Simula atendimento dos clientes no servidor 1 """
    print('%7.2f\t Chegada\t %s' % (env.now, name))
    atendReq = Servidor1.request()
    yield atendReq
    print('%7.2f\t Atendimento\t %s' % (env.now, name))
    yield env.timeout(random.expovariate(taxaAtendimento))
    Servidor1.release(atendReq)
    print('%7.2f\t Partida\t %s' % (env.now, name))
 
""" Bloco principal """
print('\nM/M/1\n')
print('Tempo\t', 'Evento\t\t', 'Cliente\n')

random.seed(10)
env = simpy.Environment()
Servidor1 = simpy.Resource(env, capacity=1)
env.process(chegadas(env))
env.run()

Note-se, no exemplo anterior, a função geradora "chegada" que cria clientes no sistema com intervalos de tempo exponencialmente distribuídos entre si. A função ainda faz uma chamada à outra função geradora, "atendimento", responsável por atender o cliente e manter aqueles clientes que encontram o servidor ocupado em fila.

Ver também

Referências

  1. CHWIF, Leonardo; MEDINA, Afonso C. Modelagem e Simulação de Eventos Discretos: Teoria e Aplicações. 4ª edição. São Paulo: Elsevier Brasil, 2014. 320 p. ISBN 978-8535279320.

Ligações externas

Read other articles:

Untuk tempat lain yang bernama sama, lihat Karangtengah. KarangtengahDesaNegara IndonesiaProvinsiJawa TengahKabupatenBanyumasKecamatanCilongokKode pos53162Kode Kemendagri33.02.17.2015 Luas9.3427 km²Jumlah penduduk9375 jiwaKepadatan1003 jiwa/km² Karangtengah adalah desa di kecamatan Cilongok, Banyumas, Jawa Tengah, Indonesia, yang terletak kurang lebuh 15 kilometer ke arah barat dari ibu kota kabupaten banyumas yaitu Purwokerto. memiliki 7 dusun atau RW, yaitu; 1. Karangtengah (RW I) 2....

 

يفتقر محتوى هذه المقالة إلى الاستشهاد بمصادر. فضلاً، ساهم في تطوير هذه المقالة من خلال إضافة مصادر موثوق بها. أي معلومات غير موثقة يمكن التشكيك بها وإزالتها. (نوفمبر 2019) الدوري السويدي الممتاز 1965 تفاصيل الموسم الدوري السويدي الممتاز  النسخة 41  البلد السويد  التاريخ �...

 

Sheffield WednesdayNama lengkapSheffield Wednesday Football ClubJulukanThe Owls The WednesdayBerdiri1867 (145 years ago) as The WednesdayStadionHillsborough(Kapasitas: 39,732[1])KetuaMilan MandarićManajerDave Jones[2]LigaLiga Championship Inggris2014–15ke-13, Liga Championship InggrisSitus webSitus web resmi klub Kostum kandang Kostum tandang Musim ini Sheffield Wednesday Football Club adalah nama tim sepak bola asal Inggris yang bermarkas di Sheffield, Yorkshire Selat...

American chemistry laboratory Seeley G. Mudd Chemistry BuildingMudd Chemistry Building in 2008General informationStatusDemolishedTypeClassroom, laboratoryArchitectural stylePostmodernismTown or cityPoughkeepsie, New YorkCountryUnited StatesCoordinates41°41′08″N 73°53′41″W / 41.685484°N 73.894722°W / 41.685484; -73.894722[1]Current tenantsVassar CollegeGroundbreakingOctober 8, 1982DemolishedSpring 2016Cost$7.2 million (1984)OwnerVassar CollegeTechnic...

 

Argentine field hockey player You can help expand this article with text translated from the corresponding article in Spanish. (October 2018) Click [show] for important translation instructions. Machine translation, like DeepL or Google Translate, is a useful starting point for translations, but translators must revise errors as necessary and confirm that the translation is accurate, rather than simply copy-pasting machine-translated text into the English Wikipedia. Consider adding a top...

 

بيير شودرلو دي لاكلو (بالفرنسية: Pierre Choderlos de Laclos)‏  Portrait of Choderlos de Laclos attributed to Alexander Kucharsky معلومات شخصية اسم الولادة بيير أمبرواز فرانسوا شودرلو دي لاكلو الميلاد 18 أكتوبر 1741(1741-10-18)أميان، بيكاردي، مملكة فرنسا الوفاة 5 سبتمبر 1803 (61 سنة)تارانتو، مملكة الصقليتين سبب الوفاة زحار...

BBC World NewsCaractéristiquesCréation 11 mars 1991Propriétaire BBCSlogan Live the storyFormat d'image 576i (SDTV), 1080i (HDTV)Langue AnglaisPays Royaume-Uni, mondial (d)Siège social Broadcasting HouseAncien nom BBC World (1995-2008)Site web www.bbc.com/news/world_radio_and_tvDiffusionDiffusion Numérique terrestre, Satellite, Câble et IPTVChronologieBBC World Service Televisionmodifier - modifier le code - modifier Wikidata BBC World News est la chaîne d’information internationale ...

 

Painting by Johann Georg Melchior Schmidtner Mary, Untier of KnotsArtistJohann Georg SchmidtnerYearc. 1700TypeOil on poplarDimensions182 cm × 110 cm (72 in × 43 in)LocationSt. Peter am Perlach, Augsburg, Germany Mary, Untier of Knots or Mary, Undoer of Knots is the name of both a Marian devotion and a Baroque painting (German: Wallfahrtsbild or Gnadenbild) which represents that devotion. The painting by Johann Georg Melchior Schmidtner, of around...

 

Questa voce o sezione sull'argomento guerra è priva o carente di note e riferimenti bibliografici puntuali. Commento: diverse note non sono affidabili: la 5 e la 6, la numero 3 non funziona più, la 11. Sebbene vi siano una bibliografia e/o dei collegamenti esterni, manca la contestualizzazione delle fonti con note a piè di pagina o altri riferimenti precisi che indichino puntualmente la provenienza delle informazioni. Puoi migliorare questa voce citando le fonti più precisamente. Se...

Short quotation or saying at the beginning of a book or chapter Not to be confused with epitaph, epigram, epithet, or epigraph (mathematics). Facsimile of the original title page for William Congreve's The Way of the World published in 1700, on which the epigraph from Horace's Satires can be seen in the bottom quarter. In literature, an epigraph is a phrase, quotation, or poem that is set at the beginning of a document, monograph or section or chapter thereof.[1] The epigraph may serv...

 

1957 popular song Le jour où la pluie viendraSongLanguageFrench, English, German, ItalianEnglish titleThe Day the Rains CameWritten1957Composer(s)Gilbert BécaudLyricist(s)Pierre Delanoë (French), Carl Sigman (English), Ernst Bader (German), Mario Panzeri (Italian) The Day the Rains Came or Am Tag als der Regen kam or La pioggia cadrà is an adaptation of the French song Le jour où la pluie viendra. The latter is a popular song released in 1957, composed and written by Gilbert Bécaud and ...

 

ZwingerLocalizzazioneStato Germania LandSassonia LocalitàDresda IndirizzoSophienstraße, 01067 Dresden Coordinate51°03′11″N 13°44′02″E / 51.053056°N 13.733889°E51.053056; 13.733889Coordinate: 51°03′11″N 13°44′02″E / 51.053056°N 13.733889°E51.053056; 13.733889 Informazioni generaliCondizioniIn uso Costruzione1710-1728 StileBarocco, neorinascimentale RealizzazioneArchitettoMatthäus Daniel Pöppelmann ProprietarioAugusto II di Poloni...

Hiking trail in Spain GR 92GR 92 waymark on tree between Tamariu and FornellsLocationMediterranean coast of SpainDesignationGR footpathTrailheadsPortbou, TarifaUseHiking Stage 6 of the GR 92 long-distance path in Catalonia crosses the col on the right-hand side of the picture, then climbs the cliff beyond to arrive at Montgrí castle. The GR 92 is part of the extensive GR footpath network of paths, tracks and trails in Spain. It will eventually run the length of the Mediterranean coast of Spa...

 

1923 film by Robert Zigler Leonard JazzmaniaFilm posterDirected byRobert Z. LeonardWritten byAlfred A. Cohn (titles)Screenplay byEdmund GouldingStory byEdmund GouldingStarringMae MurrayRod La RocqueJean HersholtLionel BelmoreCinematographyOliver T. MarshProductioncompanyTiffany PicturesDistributed byMetro PicturesRelease date February 12, 1923 (1923-02-12) Running time80 mins.CountryUnited StatesLanguageSilent (English intertitles) Jazzmania is a 1923 American silent drama film...

 

  هذه المقالة عن حركة النهضة التونسية. لمعانٍ أخرى، طالع حركة النهضة (توضيح). حركة النهضة البلد تونس  التأسيس تاريخ التأسيس 1972 (النشاط)6 يونيو 1981 (التأسيس)1 مارس 2011 (الاعتراف الرسمي) المؤسسون راشد الغنوشي،  وأحميدة النيفر،  وعبد الفتاح مورو  الجماعة الإسلاميةحر...

World expo held in Osaka, Japan 2025 OsakaLogoOverviewBIE-classUniversal expositionCategoryInternational Registered ExhibitionNameEXPO 2025MottoDesigning Future Society for Our LivesArea155 hectares (383 acres)[1]Visitors28 million (projected)Organized byHiroyuki Ishige (secretary general)LocationCountryJapanCityOsakaVenueYumeshima Island, Konohana-kuCoordinates34°39′12.7″N 135°23′11.1″E / 34.653528°N 135.386417°E / 34.653528; 135.386417TimelineBidd...

 

Archaeological site in Macedonia, ancient town of Paeonia StobiΣτόβοιAerial view of main excavation areaShown within North MacedoniaAlternative nameStoboiLocationGradsko, Vardar Statistical Region, Republic of North MacedoniaRegionPaeoniaCoordinates41°33′06″N 21°58′30″E / 41.55167°N 21.97500°E / 41.55167; 21.97500TypeSettlement Map of the site Stobi or Stoboi (Ancient Greek: Στόβοι, romanized: Stóboi; Latin: Stobi; Macedonian: Сто�...

 

لبنان اللقب الأرز Les Cèdres أرز لبناني الاتحاد الإتحاد اللبناني لكرة القدم كونفدرالية الاتحاد الآسيوي لكرة القدم واتحاد غرب آسيا لكرة القدم المدرب شهاب الدين سوفالمانش القائد قاسم كوسان بلد الرياضة لبنان  رمز الفيفا LIB تصنيف الفيفا 39 (5 أغسطس 2018)[1] الطقم الأساسي الطقم �...

Postal Corporation of KenyaCompany typePrivately held companyWebsiteposta.co.ke The Postal Corporation of Kenya is the company responsible for postal service in Kenya.[1] It is also known as Posta Kenya. Kenyan post system was formerly part of the Kenya Post & Telecommunication Corporation (KP&TC), which was split into Posta, the Communication Commission of Kenya (CCK) and Telkom Kenya in 1999.[2] See also List of national postal services#Africa References ^ S31 Issuer...

 

This template does not require a rating on Wikipedia's content assessment scale.It is of interest to the following WikiProjects:Israel Israel portalThis template is within the scope of WikiProject Israel, a collaborative effort to improve the coverage of Israel on Wikipedia. If you would like to participate, please visit the project page, where you can join the discussion and see a list of open tasks.IsraelWikipedia:WikiProject IsraelTemplate:WikiProject IsraelIsrael-related articlesProject I...