The Dynamic Dial-a-Ride Problem with Time Windows in a Competitive Multi-Company Environment