Adaptive Waste Collection Routing in Smart Cities Using Multi-agent Systems