| Procedure: the modified WCSA for the parallel machine scheduling problem |
| Inputs: , , , , for ,…, |
| Output: the near optimal scheme S_opt and the associated total completion time TC |
| Begin |
| let be the sequence that sorts all the jobs by ascending order of their |
| normal time , |
| set TC = infinity, and for % initialize the and |
| set % initialize the ranges of and |
| for (; ++) |
| |
| for (++) |
| |
| |
| set |
| set for % initialize the scheme |
| set , for % initialize the completion |
| time of all machines |
| set , for % initialize the completion |
| time of all jobs |
| for (; ; ++) |
| select the machine that has the least completion time in all machines |
| select the job that has the least normal time from |
| |
| |
| |
| delete job from |
| end for |
| for (; ; ++) |
| select the machine that has the least completion time in all machines |
| if % tardy jobs are sequenced in the |
| nondecreasing order of |
| select the job with the smallest from |
| |
| |
| |
| delete job from |
| else % arrange the jobs in a ascending |
| order of the weight of combination |
| set |
| select job with the smallest |
| |
| |
| |
| delete job from |
| end if |
| end for |
| , for |
| if % update the scheme and the |
| assisted completion time |
| |
| |
| end if |
| end for |
| end for |
| End |