Patent Document ID: 9336516
Application ID: 14023951
Patent Flag: 1

Claim One:
1. A computer readable device storing a program of instructions executable by a machine to perform a method of assignment scheduling for service projects, comprising: receiving, by at least one processor, a client service request; preparing, by the at least one processor, input parameter data for servicing the client service request; generating, by the at least one processor, a schedule for servicing the client service request by executing an optimization algorithm with the input parameter data; transmitting, by the at least one processor, the schedule to a client; determining, by the at least one processor, whether the schedule is acceptable by the client based on receiving an acceptance or rejection posted on a web by the client; and repeating automatically by the at least one processor, the preparing, the generating, the transmitting and the determining until it is determined that the schedule is acceptable by the client, wherein each iteration prepares different input parameter data for inputting to the optimization algorithm and generates a different schedule based on the different input parameter data, which gradually increases number of assignments from a previous iteration, is prepared automatically by the at least one processor without receiving additional parameter data from the client, wherein the optimization algorithm comprises maximizing a service provider's profit, max ⁢ ∑ i ∈ I , s ∈ S ⁡ ( i ) , t ∈ T ⁢ [ ∑ l ∈ L ⁡ ( i ) ⁢ p ⁡ ( s ) ⁢ d ⁡ ( i , s , l ) ⁢ y ⁡ ( i , t , l ) - ∑ r ∈ R ⁡ ( s ) ⁢ c ⁡ ( r ) ⁢ z ⁡ ( i , s , t , r ) ] , wherein p(s) represents price of task s and c(r) represent cost of r, d(i, s, l) represents demand of skill s at time l of task i, y(i, t, l) represents auxiliary variable that maps local time l to global time t, z(i, s, t, r) represents decision variables that represent amount of worker r assigned to task l to satisfy demand of skill s at time t, S(i) represents a set of skills required by task i, R(s) represents a set of workers that possess skill s, and L(i), represents duration to task i.