Patent ID: 8730503

Claim:
A method of balancing job assignments to a plurality of machines in a production environment, the method comprising: receiving, by a computing device, a plurality of jobs, wherein each job comprises a job size; determining, by the computing device, a job order for the plurality of jobs based on the job size for each job; determining an opportunity cost associated with each of a plurality of machines by, for each machine, multiplying a setup time for the machine by a processing rate for the machine; determining, by the computing device, a machine order for a plurality of machines based on the opportunity cost associated with each of the plurality of machines; and assigning, by the computing device, one or more jobs of the plurality of jobs to each of the plurality of machines such that a maximum total processing time for the plurality of machines is minimized, wherein a total processing time for a machine is determined based on the number of jobs assigned to the machine, the setup time associated with the machine, the processing rate associated with the machine and the cumulative job size of the jobs assigned to the machine, wherein the maximum total processing time for the plurality of machines is the largest of the total processing times for each of the plurality of machines, wherein the jobs are assigned to each of the plurality of machines based on the job order and the machine order.