A Dynamic Taxi Ride Sharing System Using Particle Swarm Optimization