simpy
Construire des simulations à événements discrets avec SimPy
Également disponible depuis: davila7
SimPy vous permet de modéliser des systèmes complexes avec des processus, des files d’attente et des ressources partagées. Simulez des lignes de production, des opérations de service, du trafic réseau et de la logistique pour optimiser les performances avant la mise en œuvre.
Télécharger le ZIP du skill
Importer dans Claude
Allez dans Paramètres → Capacités → Skills → Importer un skill
Activez et commencez à utiliser
Tester
Utilisation de "simpy". Create a SimPy simulation of customers arriving at a bank with 2 tellers. Customers arrive every 3-5 minutes and service takes 5-8 minutes. Run for 8 hours and show average wait time.
Résultat attendu:
- Résultats de la simulation : fonctionnement bancaire sur 8 heures
- Nombre total de clients servis : 147
- Temps d’attente moyen : 4,2 minutes
- Temps d’attente maximal : 18,7 minutes
- Utilisation des guichets : 87 %
- La longueur de la file a culminé à 12 clients vers la 6e heure
Utilisation de "simpy". Build a SimPy model of a 3-stage manufacturing line where parts go through cutting (10 min), assembly (15 min), and inspection (5 min). Each stage has 1 machine. Analyze throughput.
Résultat attendu:
- Résultats d’analyse de la ligne de production :
- Pièces terminées : 23 sur un poste de 8 heures
- Utilisation des étapes : Découpe 96 %, Assemblage 72 %, Inspection 36 %
- Goulot d’étranglement identifié : Poste de découpe
- Temps de cycle moyen par pièce : 32 minutes
- Suggestion : ajouter une deuxième machine de découpe pour augmenter le débit de 35 %
Utilisation de "simpy". Model a cloud data center with 10 servers handling 3 types of jobs.
Résultat attendu:
- Résultats d’allocation des ressources :
- Tâches courtes : 450 terminées, attente moy 0,3 min, utilisation 45 %
- Tâches moyennes : 180 terminées, attente moy 2,1 min, utilisation 78 %
- Tâches longues : 45 terminées, attente moy 8,4 min, utilisation 92 %
- Allocation optimale : 3 serveurs pour les tâches courtes, 4 moyennes, 3 longues
- Sur‑dimensionnement actuel : 2 serveurs
Audit de sécurité
SûrStatic analysis flagged 260 potential security issues, but evaluation confirms all are false positives. The 'external_commands' findings are markdown backticks used for code formatting, not shell execution. The 'weak cryptographic algorithm' flags refer to random.seed() for simulation reproducibility. No actual security risks exist in this legitimate SimPy discrete-event simulation skill.
Facteurs de risque
⚙️ Commandes externes (6)
🌐 Accès réseau (3)
📁 Accès au système de fichiers (2)
Score de qualité
Ce que vous pouvez construire
Optimiser des lignes de production
Modéliser les flux de production pour identifier les goulots d’étranglement, équilibrer la capacité et réduire les temps de cycle.
Simuler le trafic réseau
Analyser le routage des paquets, l’allocation de bande passante et la latence sous diverses conditions de charge.
Concevoir des systèmes de files d’attente
Simuler le flux de clients dans les banques, les hôpitaux ou le commerce de détail pour déterminer les niveaux de personnel optimaux.
Essayez ces prompts
Create a SimPy simulation of customers arriving at a bank with 2 tellers. Customers arrive every 3-5 minutes and service takes 5-8 minutes. Run for 8 hours and show average wait time.
Build a SimPy model of a 3-stage manufacturing line where parts go through cutting (10 min), assembly (15 min), and inspection (5 min). Each stage has 1 machine. Analyze throughput.
Simulate packets arriving at a router with 100 Mbps bandwidth. Packets are 1-5 KB and arrive at 50 packets per second. Show queue length and packet loss under peak load.
Model a cloud data center with 10 servers handling 3 types of jobs: short (1-5 min), medium (10-20 min), long (30-60 min). Jobs arrive randomly. Find optimal server allocation per job type.
Bonnes pratiques
- Toujours utiliser des context managers (with statement) lors de la demande de ressources pour garantir un nettoyage correct et éviter les interblocages
- Définir random.seed() pour des résultats reproductibles lors de la comparaison de différents scénarios de simulation
- Surveiller et collecter les données tout au long de la simulation, pas seulement à la fin, afin de capturer le comportement transitoire
Éviter
- Oublier les instructions yield dans les fonctions de processus entraînera l’exécution instantanée des processus sans temporisation appropriée
- Réutiliser des événements déjà déclenchés provoquera des erreurs de simulation ou des comportements inattendus
- Utiliser des opérations Python bloquantes comme time.sleep() au lieu de env.timeout() casse le modèle de temporisation de la simulation