DataSprint / test_fleet.py
sujana05's picture
Upload folder using huggingface_hub
b4ce589 verified
#!/usr/bin/env python3
"""
Test script for Fleet Resource Optimization Simulator
"""
from fleet_optimizer import FleetOptimizer
import time
import json
def test_fleet_optimizer():
"""Test the fleet optimizer functionality"""
print("πŸš— Testing Fleet Resource Optimization Simulator")
print("=" * 50)
# Create optimizer
optimizer = FleetOptimizer()
print(f"βœ… Initialized {optimizer.config.num_vehicles} vehicles")
print(f"βœ… Vehicle capacity: {optimizer.config.vehicle_capacity} passengers")
print(f"βœ… Base cost: ${optimizer.config.base_cost_per_km}/km")
# Test initial state
initial_stats = optimizer.get_simulation_stats()
print(f"\nπŸ“Š Initial Statistics:")
print(f" Available vehicles: {initial_stats['available_vehicles']}")
print(f" Total demands: {initial_stats['total_demands']}")
print(f" Total earnings: ${initial_stats['total_earnings']:.2f}")
# Run simulation for a few steps
print(f"\nπŸ”„ Running simulation for 10 steps...")
for i in range(10):
optimizer.run_simulation_step()
time.sleep(0.1) # Small delay to see progress
if i % 2 == 0: # Print stats every 2 steps
stats = optimizer.get_simulation_stats()
print(f" Step {i+1}: {stats['available_vehicles']} available, "
f"{stats['pending_demands']} pending demands, "
f"${stats['total_earnings']:.2f} earnings")
# Final statistics
final_stats = optimizer.get_simulation_stats()
print(f"\nπŸ“ˆ Final Statistics:")
print(json.dumps(final_stats, indent=2))
# Test dashboard creation
print(f"\nπŸ—ΊοΈ Creating dashboard...")
try:
fig = optimizer.create_dashboard()
print("βœ… Dashboard created successfully")
except Exception as e:
print(f"❌ Dashboard creation failed: {e}")
print(f"\nπŸŽ‰ Fleet optimization test completed successfully!")
print(f" - Total vehicles: {len(optimizer.vehicles)}")
print(f" - Total demands generated: {len(optimizer.demands)}")
print(f" - Total earnings: ${final_stats['total_earnings']:.2f}")
print(f" - Total distance: {final_stats['total_distance']:.1f} km")
if __name__ == "__main__":
test_fleet_optimizer()