1. A method for 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; 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.