- 30 déc., 2025 3 validations
-
-
Hamadou Ba a écrit
Implement event-driven discrete simulation for queueing networks Core Components: - events.py: Event and EventType for discrete event simulation - Priority queue ordering by time - ARRIVAL and SERVICE_END event types - request.py: Request entity with full visit tracking - QueueVisit records for each queue visited - Automatic calculation of wait/service/system times - Journey tracking through network - random_utils.py: Random number generation - Exponential distribution (inverse transform method) - Probabilistic choice for routing decisions - Seed control for reproducibility - queues.py: M/M/1 Queue implementation - FIFO discipline with single server - Complete statistics collection (utilization, avg times) - Exponential service times - router.py: Probabilistic routing logic - Route from coordinator: exit (p) or server (qi) - Route from server: always return to coordinator - Probability conservation validation - simulation.py: Main event-driven simulator - Priority queue (heapq) for event scheduling - Warmup period to reach steady state - Complete statistics generation - Support for multiple servers Testing: - test_random_utils.py: Validate exponential distribution (mean, reproducibility) - test_simulation.py: End-to-end simulation tests - Stable and unstable systems - Multiple servers - Reproducibility with seeds Demo: - demo_simulation.py: Scenario 1 demonstration (1 fast server) - Theoretical vs simulation comparison - All 14 tests passing ✓ Phase 2 Complete ✓ Next: Phase 3 - Statistics collection and multi-server scenarios
-
Hamadou Ba a écrit
Initialize Turborepo monorepo with Python backend and React frontend - Setup Turborepo configuration with workspaces - Configure Python FastAPI backend - Create project structure (core, analytics, api, models) - Add requirements.txt with FastAPI, Uvicorn, Pydantic, etc. - Basic FastAPI app with health endpoints - CORS middleware for frontend integration - Configure React + TypeScript + Vite frontend - Install dependencies (Chart.js, D3.js, Zustand, Axios) - Setup Tailwind CSS with PostCSS - Create component directory structure - Basic landing page with Tailwind styling - Add comprehensive README files - Configure .gitignore for Python and Node.js Phase 1 Complete ✓ Next: Phase 2 - Core simulation engine implementation
-
Hamadou Ba a écrit
-