Patent ID: 8370053

Claim:
A device for assigning routes for a plurality of users allocated to different classes, the system comprising: a computer-readable medium having computer-readable instructions stored therein, the instructions comprising identifying a first group of users based on a user classification, wherein each user of the first group of users has a first user classification; identifying a second group of users based on the user classification, wherein each user of the second group of users has a second user classification, wherein the first user classification is different from the second user classification; calculating a disutility value for each user of the first group of users and for each user of the second group of users using a travel disutility function based on an origin and a destination of each user of the first group of users and each user of the second group of users; executing a bi-level problem solver to optimize the disutility value based on the user classification; and recommending a route to each user of the first group of users and to each user of the second group of users based on the bi-level problem execution; a communication interface, the communication interface sending the recommended route to each user of the first group of users and to each user of the second group of users; and a processor, the processor coupled to the communication interface and to the computer-readable medium and configured to execute the instructions.