Simulation d’événements discrets en Python
Dr Diogo Costa
Adjunct Professor, University of Saskatchewan, Canada & CEO of ImpactBLUE-Scientific
Comprendre le système dynamique
Définir l’objectif/les objectifs du modèle à évènements discrets
Identifier les processus :
Identifier les ressources SimPy adaptées (resource, container, store)
Définir l’architecture du modèle :
Comprendre le système dynamique
Objectifs du modèle
Quels aspects souhaitez-vous optimiser ?
Variables d’état pour suivre ces objectifs
Ressources partagées
simpy.Resource(env, capacity=4)
Exemples
Conteneurs
simpy.Container(env, capacity,
init=initial_capacity)
Ressource se comportant comme un réservoir ou un panier
Ajouter/retirer une quantité :
.put() et .get()
Exemples
Store
simpy.Store(env, capacity=4)
Ressource type magasin avec plusieurs articles
Capacité illimitée (par défaut)
Emplacements pour stocker des objets arbitraires
Ajouter/retirer des articles :
.put() et .get()
Exemples
SimPy utilise des opérateurs bit à bit pour concaténer deux évènements
Types d’opérateurs en Python
Opérateurs bit à bit
a & b, a >> b, a ^ bDans SimPy
Opérateurs bit à bit utiles pour SimPy
__and__() ou &__or__() ou |Simulation d’événements discrets en Python