4. The Modified Parallel Insertion Algorithms
4.1 Parallel Insertion Algorithms
Potvin and Rousseau (1993) proposed parallel insertion algorithm (PIA) for solving parallel machines problem to minimize total workload. They set the conditions for rescheduling to order unprocessed jobs including jobs without scheduling yet and ones scheduled but not processed. The concepts of PIA are looking for a position with the minimum insertion cost and apply the notion of regret to decide the job first to process. The PIA computes the insertion costs of every job for any permitted inserted position of all machines and chooses the minimal value as C1. The regret value, C2, indicates the loss and affections in the future if the job is not processed immediately, and therefore the job with maximal value of C2 will be
processed first. The permitted inserted position means that jobs just allow inserting into the positions of the jobs which are not to be processed and will not violate the constraints of due date and capacity of machines.
The insertion cost function of the job ji on position p of machine mk, C1ipk, can be
The equation (31) indicates the additional setup time of the job ji for inserting the
pth position in the original schedule of machine mk. Compute the insertion cost of
The equation (14) is the minimum insertion cost of job ji among all positions of all machines. The regret value of job ji is defined as
=
The regret value is used to measure the degree of influence for the objective function in the future, if a given job is not immediately inserted within its best place. A large regret value indicates that there is a big gap between the best insertion place for a job and its best insertion places in other schedules. Hence, unscheduled jobs with large regret value should be considered in high priority.
When the number of arriving jobs achieve to the condition of rescheduling, the PIA will compute the C1i and C2i of all unprocessed jobs. In each rescheduling, it will select the job with max C2i to schedule first till all unprocessed jobs are made the sequence. Repeat the above operations until all jobs are scheduled and then generate the complete jobs processed sequence. The procedure of the PIA is described as below.
Step 1. Initialize the schedule on each machine by selecting K jobs with first K largest initial setup time.
Step 2. If the number of arriving jobs achieve to the condition of rescheduling, then go to Step 3.
Step 3. For each unscheduled job, find its best allowable insertion position by computing C1i as the number of arriving jobs achieve the rescheduling condition.
Step 4. Calculate the regret value C2i for each unscheduled job. Select the job with max C2i and insert it to the pth position of machine mk got by C1i without violating the machine capacity and its due date restriction.
Step 5 Repeat Step 3 and Step 4 until all unprocessed jobs are scheduled.
Step 6. If all jobs are scheduled, then stop. Otherwise, go to Step 2.
Hsiao (2003) proposed three kinds of improving heuristic algorithms for the PIA to generate solutions with better performance. He considered the different initial scheduling step and the different cost functions of C1 and C2 with taking the latest starting time and standard deviation of C1, respectively into account. We introduce the three improving heuristic algorithm as following.
Parallel Insertion with New Initial Criteria (PIA-I)
The PIA selects the initial processed jobs with the largest initial setup time.
However, it may result in that the first jobs of several machines are the same and not minimize the total workload minimum. Comparing to the PIA, this modified algorithm, PIA-I, create a new criteria to select the initial jobs on the machines.
Because the setup time between two jobs with the same product type is zero, the PIA-I selects the product type containing maximal number of jobs and picks the job with minimal latest starting time of this type to be initial job processed on each machine. Once the job ji of product type F(i) is selected for a specific machine, other jobs of product type F(i)can not be selected as the initial job processed on other machines. After initializing K jobs, the following steps of PIA-I are the same as PIA.
Parallel Insertion with Slackness (PIA-II)
To consider the impact of job due date, PIA-II modifies the insertion cost function given by equation (12) with adding the slackness of jobs. It adds the
slackness of job ji, SLi, which is formulated as (di − pi −t) into the equation (12) slackness of job ji and t is the time whenever one machine becomes free. The insertion procedure is the same as PIA.
Parallel Insertion with the Standard Deviation of Regret Value (PIA-III)
The original PIA does not consider the influence of variance between the best insertion positions on all machines. Hsiao (2003) modified the regret value measure with adding the variance of minimal insertion costs of all machines. However, in order to prevent the larger impacts for the new regret value from changing the variance item slightly, we adopt the standard deviation of minimal insertion costs of all machines to replace the variance considered by Hsiao and define as equation (17).
) parallel machines. We can determine the job priorities by adjusting parameter .
Parallel Insertion with New Initial Criteria and Slackness (PIA-IV)
Tsai (2004) proposed this modified algorithm with combining PIA-I and PIA-II because both two algorithms have the advantage of reducing total machine setup time.
For the initial step, the algorithm selects the product type containing the maximal number of jobs and chooses the job with the smallest the latest starting time ei as the first job processed on each machine. Once the job ji of product type R(i) is selected for a specific machine, other jobs of product type R(i) can not be selected as the initial job processed on other machines. The insertion cost function is the same as the equation (16) and other steps in this modified algorithm are identical to PIA-II.