Loading supply_chain_sim/research_logging.py +6 −6 Original line number Diff line number Diff line Loading @@ -150,7 +150,7 @@ class ResearchLogging: # Latest KPIs if self.kpi_history: latest = self.kpi_history[-1] print("\n📊 FINAL KPIs:") print("\n FINAL KPIs:") print(f" GMROI: {latest['gmroi']:.3f}") print(f" Fill Rate: {latest['fill_rate']:.2%}") print(f" Forecast Accuracy: {latest['forecast_accuracy']:.2%}") Loading @@ -162,7 +162,7 @@ class ResearchLogging: # Summary statistics summary = self.get_summary_statistics() if summary: print("\n📈 AVERAGE PERFORMANCE:") print("\n AVERAGE PERFORMANCE:") print(f" Avg GMROI: {summary.get('avg_gmroi', 0):.3f}") print(f" Avg Revenue: ${summary.get('avg_total_revenue', 0):,.0f}") print(f" Avg Fill Rate: {summary.get('avg_fill_rate', 0):.2%}") Loading @@ -171,7 +171,7 @@ class ResearchLogging: def _print_product_performance(self, sim_data): """Print detailed product performance metrics.""" print("\n🏷️ PRODUCT PERFORMANCE (Predicted vs Actual Sales):") print("\n️ PRODUCT PERFORMANCE (Predicted vs Actual Sales):") print("-" * 50) # Aggregate forecasts and sales by watch Loading Loading @@ -224,7 +224,7 @@ class ResearchLogging: def _print_supply_chain_summary(self, sim_data): """Print supply chain metrics.""" print("\n📦 SUPPLY CHAIN SUMMARY:") print("\n SUPPLY CHAIN SUMMARY:") print("-" * 50) # Component orders Loading Loading @@ -259,7 +259,7 @@ class ResearchLogging: def _print_customer_summary(self, sim_data): """Print customer behavior summary.""" print("\n👥 CUSTOMER BEHAVIOR:") print("\n CUSTOMER BEHAVIOR:") print("-" * 50) customers = sim_data.get('customers', []) Loading Loading @@ -296,7 +296,7 @@ class ResearchLogging: def _print_inventory_summary(self, sim_data): """Print inventory status.""" print("\n📊 INVENTORY STATUS:") print("\n INVENTORY STATUS:") print("-" * 50) warehouse_inv = sim_data.get('warehouse_inventories', []) Loading supply_chain_sim/simple_run.py +3 −3 Original line number Diff line number Diff line Loading @@ -25,9 +25,9 @@ def main(): 'timestep_days': 1 # Days per timestep } print("\n" + "🏭 WATCH INDUSTRY SUPPLY CHAIN SIMULATION 🏭".center(60)) print("\n" + " WATCH INDUSTRY SUPPLY CHAIN SIMULATION ".center(60)) print("=" * 60) print("\n📋 Configuration:") print("\n Configuration:") print(f" • {config['n_watches']} watch models") print(f" • {config['n_customers']} customers") print(f" • {config['n_retailers']} retailers") Loading @@ -35,7 +35,7 @@ def main(): print("=" * 60) # Run the simulation print("\n🚀 Starting simulation...\n") print("\n Starting simulation...\n") simulation = run_oneshot_simulation(config) print("\n" + "✨ SIMULATION COMPLETE! ✨".center(60)) Loading Loading
supply_chain_sim/research_logging.py +6 −6 Original line number Diff line number Diff line Loading @@ -150,7 +150,7 @@ class ResearchLogging: # Latest KPIs if self.kpi_history: latest = self.kpi_history[-1] print("\n📊 FINAL KPIs:") print("\n FINAL KPIs:") print(f" GMROI: {latest['gmroi']:.3f}") print(f" Fill Rate: {latest['fill_rate']:.2%}") print(f" Forecast Accuracy: {latest['forecast_accuracy']:.2%}") Loading @@ -162,7 +162,7 @@ class ResearchLogging: # Summary statistics summary = self.get_summary_statistics() if summary: print("\n📈 AVERAGE PERFORMANCE:") print("\n AVERAGE PERFORMANCE:") print(f" Avg GMROI: {summary.get('avg_gmroi', 0):.3f}") print(f" Avg Revenue: ${summary.get('avg_total_revenue', 0):,.0f}") print(f" Avg Fill Rate: {summary.get('avg_fill_rate', 0):.2%}") Loading @@ -171,7 +171,7 @@ class ResearchLogging: def _print_product_performance(self, sim_data): """Print detailed product performance metrics.""" print("\n🏷️ PRODUCT PERFORMANCE (Predicted vs Actual Sales):") print("\n️ PRODUCT PERFORMANCE (Predicted vs Actual Sales):") print("-" * 50) # Aggregate forecasts and sales by watch Loading Loading @@ -224,7 +224,7 @@ class ResearchLogging: def _print_supply_chain_summary(self, sim_data): """Print supply chain metrics.""" print("\n📦 SUPPLY CHAIN SUMMARY:") print("\n SUPPLY CHAIN SUMMARY:") print("-" * 50) # Component orders Loading Loading @@ -259,7 +259,7 @@ class ResearchLogging: def _print_customer_summary(self, sim_data): """Print customer behavior summary.""" print("\n👥 CUSTOMER BEHAVIOR:") print("\n CUSTOMER BEHAVIOR:") print("-" * 50) customers = sim_data.get('customers', []) Loading Loading @@ -296,7 +296,7 @@ class ResearchLogging: def _print_inventory_summary(self, sim_data): """Print inventory status.""" print("\n📊 INVENTORY STATUS:") print("\n INVENTORY STATUS:") print("-" * 50) warehouse_inv = sim_data.get('warehouse_inventories', []) Loading
supply_chain_sim/simple_run.py +3 −3 Original line number Diff line number Diff line Loading @@ -25,9 +25,9 @@ def main(): 'timestep_days': 1 # Days per timestep } print("\n" + "🏭 WATCH INDUSTRY SUPPLY CHAIN SIMULATION 🏭".center(60)) print("\n" + " WATCH INDUSTRY SUPPLY CHAIN SIMULATION ".center(60)) print("=" * 60) print("\n📋 Configuration:") print("\n Configuration:") print(f" • {config['n_watches']} watch models") print(f" • {config['n_customers']} customers") print(f" • {config['n_retailers']} retailers") Loading @@ -35,7 +35,7 @@ def main(): print("=" * 60) # Run the simulation print("\n🚀 Starting simulation...\n") print("\n Starting simulation...\n") simulation = run_oneshot_simulation(config) print("\n" + "✨ SIMULATION COMPLETE! ✨".center(60)) Loading