Patent ID: 8799046

Claim:
A system comprising: at least one database configured to store job data and resource data, wherein said job data comprises data for a plurality of jobs including a priority level, skills required and a job location for each of said plurality of jobs, and wherein said resource data comprises data for a plurality of workers including skills and a resource location for each of said plurality of workers, a maximum number of locations that each worker of said plurality of workers can visit within a predefined period of time, and a number of available workers of said plurality of workers; and an optimization engine configured to: select jobs having a first priority level and determine a first maximum number of jobs that can be filled by said plurality of workers at said first priority level, wherein the first maximum number of jobs is determined based at least in part on minimizing: in which t is a set of available workers, j is a set of the plurality of jobs of the first priority level, and x tj is a decision variable that is assigned a value of 1 if job j is assigned to worker t and is 0 otherwise; optimize assignment of one or more of said plurality of workers to specific ones of said first priority jobs, said specific first priority jobs totaling said first maximum number of jobs, and concurrently with said optimized assignment, perform at least one of: minimizing total travel time between respective resource locations of said one or more workers and job locations associated with said specific first priority jobs; or ensuring that each of said one or more assigned workers is assigned approximately the same amount of work.