simpy
Diskrete-Ereignissimulationen mit SimPy erstellen
Également disponible depuis: davila7
Mit SimPy können Sie komplexe Systeme mit Prozessen, Warteschlangen und gemeinsam genutzten Ressourcen modellieren. Simulieren Sie Fertigungslinien, Serviceabläufe, Netzwerkverkehr und Logistik, um die Leistung vor der Implementierung zu optimieren.
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:
- Simulationsergebnisse: 8-stündiger Bankbetrieb
- Bediente Kunden insgesamt: 147
- Durchschnittliche Wartezeit: 4,2 Minuten
- Maximale Wartezeit: 18,7 Minuten
- Schalterauslastung: 87%
- Warteschlangenlänge erreichte maximum 12 Kunden etwa zur Stunde 6
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:
- Analyseergebnisse der Fertigungslinie:
- Fertiggestellte Teile: 23 über 8-Stunden-Schicht
- Stationsauslastung: Schneiden 96%, Montage 72%, Inspektion 36%
- Engpass identifiziert: Schneidestation
- Durchschnittliche Zykluszeit pro Teil: 32 Minuten
- Vorschlag: Zweite Schneidemaschine hinzufügen, um Durchsatz um 35% zu steigern
Utilisation de "simpy". Model a cloud data center with 10 servers handling 3 types of jobs.
Résultat attendu:
- Ergebnisse der Ressourcenzuweisung:
- Kurze Jobs: 450 abgeschlossen, durchschnittl. Wartezeit 0,3 Min., Auslastung 45%
- Mittlere Jobs: 180 abgeschlossen, durchschnittl. Wartezeit 2,1 Min., Auslastung 78%
- Lange Jobs: 45 abgeschlossen, durchschnittl. Wartezeit 8,4 Min., Auslastung 92%
- Optimale Zuweisung: 3 Server kurze, 4 mittlere, 3 lange Jobs
- Aktuelle Überbereitstellung: 2 Server
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
Fertigungslinien optimieren
Produktionsworkflows modellieren, um Engpässe zu identifizieren, die Kapazität auszugleichen und Durchlaufzeiten zu minimieren.
Netzwerkverkehr simulieren
Paketweiterleitung, Bandbreitenzuweisung und Latenz unter verschiedenen Lastbedingungen analysieren.
Warteschlangensysteme entwerfen
Kundenfluss in Banken, Krankenhäusern oder Einzelhandel simulieren, um optimale Personalbesetzungsstufen zu ermitteln.
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
- Verwenden Sie immer Context-Manager (with-Anweisung) bei der Anforderung von Ressourcen, um ordnungsgemäße Bereinigung zu gewährleisten und Deadlocks zu verhindern
- Setzen Sie random.seed() für reproduzierbare Ergebnisse beim Vergleich verschiedener Simulationsszenarien
- Überwachen und sammeln Sie Daten während der gesamten Simulation, nicht nur am Ende, um transientem Verhalten zu erfassen
Éviter
- Das Vergessen von yield-Anweisungen in Prozessfunktionen führt dazu, dass Prozesse sofort ohne ordnungsgemäße Zeitsteuerung ausgeführt werden
- Das Wiederverwenden von Ereignissen, die bereits ausgelöst wurden, führt zu Simulationsfehlern oder unerwartetem Verhalten
- Die Verwendung blockierender Python-Operationen wie time.sleep() anstelle von env.timeout() unterbricht das Simulationszeitmodell