Abstract
We consider a single machine scheduling problem with uncertain durations of the given jobs. The objective function is minimizing the sum of the job completion times. We apply the stability approach to the considered uncertain scheduling problem using a relative perimeter of the optimality box as a stability measure of the optimal job permutation. We investigated properties of the optimality box and developed algorithms for constructing job permutations that have the largest relative perimeters of the optimality box. Computational results for constructing such permutations showed that they provided the average error less than for the solved uncertain problems.
1. Introduction
Since real-life scheduling problems involve different forms of uncertainties, several approaches have been developed in the literature for dealing with uncertain scheduling problems. In a stochastic approach, job processing times are assumed to be random variables with the known probability distributions [1,2]. If one has no sufficient information to characterize the probability distribution of all random processing times, other approaches are needed [3,4,5]. In the approach of seeking a robust schedule [3,6], the decision-maker prefers a schedule that hedges against the worst-case scenario. A fuzzy approach [7,8,9] allows a scheduler to determine best schedules with respect to fuzzy processing times. A stability approach [10,11,12] is based on the stability analysis of the optimal schedules to possible variations of the numerical parameters. In this paper, we apply the stability approach to a single machine scheduling problem with uncertain processing times of the given jobs. In Section 2, we present the setting of the problem and the related results. In Section 3, we investigate properties of an optimality box of the permutation used for processing the given jobs. Efficient algorithms are derived for finding a job permutation with the largest relative perimeter of the optimality box. In Section 5, we develop an algorithm for finding an approximate solution for the uncertain scheduling problem. In Section 6, we report on the computational results for finding the approximate solutions for the tested instances. Section 7 includes the concluding remarks.
2. Problem Setting and the Related Results
There are given n jobs to be processed on a single machine. The processing time of the job can take any real value from the given segment , where . The exact value of the job processing time remains unknown until completing the job . Let denote a set of all non-negative n-dimensional real vectors. The set of all possible vectors of the job processing times is presented as the Cartesian product of the segments : . Each vector is called a scenario.
Let be a set of all permutations of the jobs . Given a scenario and a permutation , let denote the completion time of the job in the schedule determined by the permutation . The criterion denotes the minimization of the sum of job completion times: where the permutation is optimal for the criterion . This problem is denoted as using the three-field notation [13], where denotes the objective function. If scenario is fixed before scheduling, i.e., for each job , then the uncertain problem is turned into the deterministic one . We use the notation to indicate an instance of the problem with the fixed scenario . Any instance is solvable in time [14] since the following claim has been proven.
Theorem 1.
The job permutation is optimal for the instance if and only if the following inequalities hold: . If , then job precedes job in any optimal permutation .
Since a scenario is not fixed for the uncertain problem , the completion time of the job cannot be exactly determined for the permutation before the completion of the job . Therefore, the value of the objective function for the permutation remains uncertain until jobs have been completed.
Definition 1.
Job dominates job (with respect to T) if there is no optimal permutation for the instance , , such that job precedes job .
The following criterion for the domination was proven in [15].
Theorem 2.
Job dominates job if and only if .
Since for the problem , there does not usually exist a permutation of the jobs being optimal for all scenarios T, additional objectives or agreements are often used in the literature. In particular, a robust schedule minimizing the worst-case regret to hedge against data uncertainty has been developed in [3,8,16,17,18,19,20]. For any permutation and any scenario , the difference is called the regret for permutation with the objective function equal to under scenario p. The value is called the worst-case absolute regret. The value is called the worst-case relative regret. While the deterministic problem is polynomially solvable [14], finding a permutation minimizing the worst-case absolute regret or the relative regret for the problem are binary NP-hard even for two scenarios [19,21]. In [6], a branch-and-bound algorithm was developed to find a permutation minimizing the absolute regret for the problem , where jobs have weights . The computational experiments showed that the developed algorithm is able to find such a permutation for the instances with up to 40 jobs. The fuzzy scheduling technique was used in [7,8,9,22] to develop a fuzzy analogue of dispatching rules or to solve mathematical programming problems to determine a schedule that minimizes a fuzzy-valued objective function.
In [23], several heuristics were developed for the problem . The computational experiments including different probability distributions of the processing times showed that the error of the best performing heuristic was about of the optimal objective function value obtained after completing the jobs when their factual processing times became known.
The stability approach [5,11,12] was applied to the problem in [15], where hard instances were generated and solved by the developed Algorithm MAX-OPTBOX with the average error equal to . Algorithm MAX-OPTBOX constructs a job permutation with the optimality box having the largest perimeter.
In Section 3, Section 4, Section 5 and Section 6, we continue the investigation of the optimality box for the problem . The proven properties of the optimality box allows us to develop Algorithm 2 for constructing a job permutation with the optimality box having the largest relative perimeter and Algorithm 3, which outperforms Algorithm MAX-OPTBOX for solving hard instances of the problem . Algorithm 3 constructs a job permutation , whose optimality box provides the minimal value of the error function introduced in Section 5. Randomly generated instances of the problem were solved by Algorithm 3 with the average error equal to .
3. The Optimality Box
Let M denote a subset of the set . We define an optimality box for the job permutation for the problem as follows.
Definition 2.
The maximal (with respect to the inclusion) rectangular box is called the optimality box for the permutation with respect to if the permutation being optimal for the instance with the scenario remains optimal for the instance with any scenario . If there does not exist a scenario such that the permutation is optimal for the instance , then .
Any variation of the processing time , , within the maximal segment indicated in Definition 2 cannot violate the optimality of the permutation provided that the inclusion holds. The non-empty maximal segment with the inequality and the length indicated in Definition 2 is called an optimality segment for the job in the permutation . If the maximal segment is empty for job , we say that job has no optimality segment in the permutation . It is clear that if job has no optimality segment in the permutation , then the inequality holds.
3.1. An Example of the Problem
Following to [15], the notion of a block for the jobs may be introduced for the problem as follows.
Definition 3.
A maximal set of the jobs, for which the inequality holds, is called ablock. The segment with and is called acoreof the block .
If job belongs to only one block, we say that job is fixed (in this block). If job belongs to two or more blocks, we say that job is non-fixed. We say that the block is virtual, if there is no fixed job in the block .
Remark 1.
Any permutation determines a distribution of all non-fixed jobs to their blocks. Due to the fixings of the positions of the non-fixed jobs, some virtual blocks may be destroyed for the permutation . Furthermore, the cores of some non-virtual blocks may be increased in the permutation .
We demonstrate the above notions on a small example with input data given in Table 1. The segments of the job processing times are presented in a coordinate system in Figure 1, where the abscissa axis is used for indicating the segments given for the job processing times and the ordinate axis for the jobs from the set . The cores of the blocks , , and are dashed in Figure 1.
Table 1.
Input data for the problem .
Figure 1.
The segments given for the feasible processing times of the jobs (the cores of the blocks , , and are dashed).
There are four blocks in this example as follows: . The jobs , , , and belong to the block . The jobs , and are non-fixed. The remaining jobs , , , , , and are fixed in their blocks. The block is virtual. The jobs , and belong to the virtual block . The jobs , , and belong to the block . The jobs , , and belong to the block .
3.2. Properties of a Job Permutation Based on Blocks
The proof of Lemma 1 is based on Procedure 1.
Lemma 1.
For the problem , the set of all blocks can be determined in time.
Proof.
The right bound of the core of the first block is determined as follows: . Then, all jobs included in the block may be determined as follows: . The left bound of the core of the block is determined as follows: . Then, one can determine the second block via applying the above procedure to the subset of set without jobs , for which the equality holds. This process is continued until determining the last block . Thus, one can use the above procedure (we call it Procedure 1) for constructing the set of all blocks for the problem . Obviously, Procedure 1 has the complexity . ☐
Any block from the set B has the following useful property.
Lemma 2.
At most two jobs in the block may have the non-empty optimality segments in any fixed permutation .
Proof.
Due to Definition 3, the inclusion holds for each job . Thus, due to Definition 2, only job , which is the first one in the permutation among the jobs from the block , and only job , which is the last one in the permutation among the jobs from the block , may have the non-empty optimality segments. It is clear that these non-empty segments look as follows: and , where and . ☐
Lemma 3.
If , then any two jobs and , which are fixed in different blocks, , must be ordered in the permutation with the increasing of the left bounds (and the right bounds as well) of the cores of their blocks, i.e., the permutation looks as follows: , where .
Proof.
For any two jobs and , , the condition holds. Therefore, the same permutation is obtained if jobs and are ordered either in the increasing of the left bounds of the cores of their blocks or in the increasing of the right bounds of the cores of their blocks. We prove Lemma 3 by a contradiction. Let the condition hold. However, we assume that there are fixed jobs and , which are located in the permutation in the decreasing order of the left bounds of the cores of their blocks and . Note that blocks and cannot be virtual.
Due to our assumption, the permutation looks as follows: , where . Using Definition 3, one can convince that the cores of any two blocks have no common point. Thus, the inequality implies the inequality . The inequalities hold for any feasible processing time and any feasible processing time , where . Hence, the inequality holds as well, and due to Theorem 1, the permutation cannot be optimal for any fixed scenario . Thus, the equality holds due to Definition 2. This contradiction with our assumption completes the proof. ☐
Next, we assume that blocks in the set are numbered according to the increasing of the left bounds of their cores, i.e., the inequality implies . Due to Definition 3, each block may include jobs of the following four types. If and , we say that job is a core job in the block . Let be a set of all core jobs in the block . If , we say that job is a left job in the block . If , we say that job is a right job in the block . Let () be a set of all left (right) jobs in the block . Note that some job may be left-right job in the block , since it is possible that .
Two jobs and are identical if both equalities and hold. Obviously, if the set is a singleton, , then the equality holds. Furthermore, the latter equality cannot hold for a virtual block since any trivial block must contain at least two non-fixed jobs.
Theorem 3.
For the problem , any permutation has an empty optimality box , if and only if for each block , either condition holds or all jobs in the set (in the set ) are identical and the following inequalities hold: and .
Proof.
Sufficiency. It is easy to prove that there is no virtual block in the considered set B. First, we assume that for each block , the condition holds.
Due to Lemma 3, in the permutation with the non-empty optimality box , all jobs must be located in the increasing order of the left bounds of the cores of their blocks. However, in the permutation , the following two equalities hold for each block : and Since , there is no job , which has an optimality segment in any fixed permutation due to Lemma 2. Hence, the equality must hold, if the condition holds for each block .
We assume that there exists a block such that all jobs are identical in the set with and all jobs are identical in the set with . Thus, for the permutation , the equalities and hold. Since and all jobs are identical in the set , there is no job , which has the optimality segment in any fixed permutation .
Similarly, one can prove that there is no job , which has the optimality segment in any fixed permutation . Thus, we conclude that if the condition of Theorem 3 holds for each block , then each job has no optimality segment in any fixed permutation . Thus, if the condition of Theorem 3 holds, the equality holds for any permutation .
Necessity. We prove the necessity by a contradiction. We assume that any permutation has an empty optimality box . Let the condition do not hold. If , the set is a singleton and so job has the optimality segment with the length in the permutation , where all jobs are ordered according to the increasing of the left bounds of the cores of their blocks. Let the following condition hold:
The condition (1) implies that there exists at least one left job or right job or left-right job . If job is a left job or a left-right job (a right job) in the block , then job must be located on the first place (on the last place, respectively) in the above permutation among all jobs from the block . All jobs from the set must be located between job and job . Therefore, the left job or the left-right job (the right job ) has the following optimality segment (segment , respectively) with the length (the length , respectively) in the permutation . Let the equality do not hold. If there exist a job , this job must be located between the jobs and . It is clear that the job has the optimality segment with the length in the permutation .
Let the following conditions hold: , , . However, we assume that jobs from the set are not identical. Then the job with the largest segment among the jobs from the set must be located in the permutation before other jobs from the set . It is clear that the job has the optimality segment in the permutation .
Similarly, we can construct the permutation with the non-empty optimality box, if the jobs from the set are not identical.
Let the equality hold. Let all jobs in the set (and all jobs in the set ) be identical. However, we assume that the equality holds. The job has the optimality segment in the permutation , if the job is located before other jobs in the set .
Similarly, one can construct the permutation such that job has the optimality segment in the permutation , if the inequality is violated. Thus, we conclude that in all cases of the violating of the condition of Theorem 3, we can construct the permutation with the non-empty optimality box . This conclusion contradicts to our assumption that any permutation has an empty optimality box . ☐
Next, we present Algorithm 1 for constructing the optimality box for the fixed permutation . In steps 1–4 of Algorithm 1, the problem with the reduced segments of the job processing times is constructed. It is clear that the optimality box for the permutation for the problem coincides with the optimality box for the same permutation for the problem , where given segments of the job processing times are reduced. In steps 5 and 6, the optimality box for the permutation for the problem is constructed. It takes time for constructing the optimality box for any fixed permutation using Algorithm 1.
| Algorithm 1 |
| Input: Segments for the jobs . The permutation . |
| Output: The optimality box for the permutation . |
| Step 1: FOR to n DO set , END FOR |
| set , |
| Step 2: FOR to n DO |
| IF THEN set ELSE set END FOR |
| Step 3: FOR to 1 STEP DO |
| IF THEN set ELSE set END FOR |
| Step 4: Set , |
| Step 5: FOR to n DO set , |
| END FOR |
| Step 6: Set STOP. |
3.3. The Largest Relative Perimeter of the Optimality Box
If the permutation has the non-empty optimality box , then one can calculate the length of the relative perimeter of this box as follows:
where denotes the set of all jobs having optimality segments with the positive lengths, , in the permutation . It is clear that the inequality may hold only if the inequality holds. Theorem 3 gives the sufficient and necessary condition for the smallest value of , i.e., the equalities and hold for each permutation . A necessary and sufficient condition for the largest value of is given in Theorem 4. The sufficiency proof of Theorem 4 is based on Procedure 2.
Theorem 4.
For the problem , there exists a permutation , for which the equality holds, if and only if for each block , either or with .
Proof.
Sufficiency. Let the equalities hold for each block . Therefore, both equalities and hold. Due to Theorem 2 and Lemma 3, all jobs must be ordered with the increasing of the left bounds of the cores of their blocks in each permutation such that . Each job in the permutation has the optimality segments with the maximal possible length
Hence, the desired equalities
hold, if the equalities hold for each block .
Let there exist a block such that the equalities and hold. It is clear that the equalities hold as well, and job from the set (from the set ) in the permutation has the optimality segments with the maximal possible length determined in (3). Hence, the equalities (4) hold, if there exist blocks with the equalities and . This sufficiency proof contains the description of Procedure 2 with the complexity .
Necessary. If there exists at least one block such that neither condition nor condition , hold, then the equality (3) is not possible for at least one job . Therefore, the inequality holds for any permutation . ☐
The length of the relative perimeter may be used as a stability measure for the optimal permutation . If the permutation has the non-empty optimality box with a larger length of the relative perimeter than the optimality box has, , then the permutation may provide a smaller value of the objective function than the permutation . One can expect that the inequality holds for more scenarios p from the set T than the opposite inequality . Next, we show how to construct a permutation with the largest value of the relative perimeter . The proof of Theorem 4 is based on Procedure 3.
Theorem 5.
If the equality holds, then it takes time to find the permutation and the optimality box with the largest length of the relative perimeter among all permutations S.
Proof.
Since the equality holds, each permutation looks as follows: , where . Due to Lemma 2, only job may have the optimality segment (this segment looks as follows: ) and only job may have the following optimality segment . The length of the optimality segment for the job is determined by the second job in the permutation . Similarly, the length of the optimality segment for the job is determined by the second-to-last job in the permutation . Hence, to find the optimality box with the largest value of , it is needed to test only four jobs , , and from the block , which provide the largest relative optimality segments for the jobs and .
To this end, we should choose the job such that the following equality holds: Then, if , we should choose the job such that the equality holds. Then, if , we should choose the job such that the equality holds. Then, if , we should choose the job such that the equality holds. Thus, to determine the largest value of , one has either to test a single job or to test two jobs or three jobs or to choose and test four jobs from the block , where , independently of how large the cardinality of the set is. In the worst case, one has to test at most permutations of the jobs chosen from the set . Due to the direct testing of the chosen jobs, one selects a permutation of jobs, which provides the largest length of the relative perimeter for all permutations . If , the above algorithm (we call it Procedure 3) for finding the permutation with the largest value of takes time. Theorem 5 has been proven. ☐
Remark 2.
If , then the job must be located either on the left side from the core of the block or on the right side from this core in any permutation having the largest relative perimeter of the optimality box . Hence, job must precede (or succeed, respectively) each job . The permutation of the jobs from the block obtained using Procedure 3 described in the proof of Theorem 5, where jobs are sequenced, remains the same if job is added to the permutation .
Lemma 4.
Let there exist two adjacent blocks and , such that the equality holds. Then the problem can be decomposed into the subproblem with the set of jobs and the subproblem with the set of jobs . The optimality box with the largest length of the relative perimeter may be obtained as the Cartesian product of the optimality boxes constructed for the subproblems and .
Proof.
Since the blocks and have no common jobs, the inequality holds for each pair of jobs and . Due to Theorem 2, any job dominates any job . Thus, due to Definition 1, there is no optimal permutation for the instance with a scenario such that job precedes job in the permutation . Due to Definition 2, a non-empty optimality box is possible only if job is located before job in the permutation . The optimality box with the largest relative perimeter for the problem may be obtained as the Cartesian product of the optimality boxes with the largest length of the relative perimeters constructed for the subproblems and , where the set of jobs and the set of jobs are considered separately one from another. ☐
Let denote a subset of all blocks of the set B, which contain only fixed jobs. Let denote a set of all non-fixed jobs in the set . Let the set denote a set of all blocks containing the non-fixed job . Theorem 5, Lemma 6 and the constructive proof of the following claim allows us to develop an -algorithm for constructing the permutation with the largest value of for the special case of the problem . The proof of Theorem 6 is based on Procedure 4.
Theorem 6.
Let each block contain at most one non-fixed job. The permutation with the largest value of the relative perimeter is constructed in time.
Proof.
There is no virtual block in the set B, since any virtual block contains at least two non-fixed jobs while each block contains at most one non-fixed job for the considered problem . Using -Procedure 1 described in the proof of Lemma 1, we construct the set of all blocks. Using Lemma 3, we order the jobs in the set according to the increasing of the left bounds of the cores of their blocks. As a result, all jobs are linearly ordered since all jobs are fixed in their blocks. Such an ordering of the jobs takes time due to Lemma 1.
Since each block contain at most one non-fixed job, the equality holds for each pair of jobs and , . Furthermore, the problem may be decomposed into subproblems such that the condition of Lemma 4 holds for each pair and of the adjacent subproblems, where . Using Lemma 4, we decompose the problem into h subproblems . The set is partitioned into two subsets, , where the subset contains all subproblems containing all blocks from the set , where and .
The subset contains all subproblems containing one block from the set , . If subproblem belongs to the set , then using -Procedure 3 described in the proof of Theorem 5, we construct the optimality box with the largest length of the relative perimeter for the subproblem , where denotes the permutation of the jobs and . It takes time to construct a such optimality box .
If subproblem belongs to the set , it is necessary to consider all fixings of the job in the block from the set . Thus, we have to solve subproblems , where job is fixed in the block and job is deleted from all other blocks . We apply Procedure 3 for constructing the optimality box with the largest length of the relative perimeter for each subproblem , where . Then, we have to choose the largest length of the relative perimeter among constructed ones: .
Due to Lemma 4, the optimality box with the largest relative perimeter for the original problem is determined as the Cartesian product of the optimality boxes and constructed for the subproblems and , respectively. The following equality holds: The permutation with the largest length of the relative perimeter of the optimality box for the problem is determined as the concatenation of the corresponding permutations and . Using the complexities of the Procedures 1 and 3, we conclude that the total complexity of the described algorithm (we call it Procedure 4) can be estimated by . ☐
Lemma 5.
Within constructing a permutation with the largest relative perimeter of the optimality box , any job may be moved only within the blocks .
Proof.
Let job be located in the block in the permutation such that . Then, either the inequality or the inequality holds for each job . If , job dominates job (due to Theorem 2). If , job dominates job . Hence, if job is located in the permutation between jobs and , then due to Definition 2. ☐
Due to Lemma 5, if job is fixed in the block (or is non-fixed but distributed to the block ), then job is located within the jobs from the block in any permutation with the largest relative perimeter of the optimality box .
4. An Algorithm for Constructing a Job Permutation with the Largest Relative Perimeter of the Optimality Box
Based on the properties of the optimality box, we next develop Algorithm 2 for constructing the permutation for the problem , whose optimality box has the largest relative perimeter among all permutations in the set S.
| Algorithm 2 |
| Input: Segments for the jobs . |
| Output: The permutation with the largest relative perimeter . |
| Step 1: IF the condition of Theorem 3 holds |
| THEN for any permutation STOP. |
| Step 2: IF the condition of Theorem 4 holds |
| THEN construct the permutation such that |
| using Procedure 2 described in the proof of Theorem 4 STOP. |
| Step 3: ELSE determine the set B of all blocks using the |
| -Procedure 1 described in the proof of Lemma 1 |
| Step 4: Index the blocks according to increasing |
| left bounds of their cores (Lemma 3) |
| Step 5: IF THEN problem is called problem |
| (Theorem 5) set GOTO step 8 ELSE set |
| Step 6: IF there exist two adjacent blocks and such |
| that ; let r denote the minimum of the above index |
| in the set THEN decompose the problem P into |
| subproblem with the set of jobs and subproblem |
| with the set of jobs using Lemma 4; |
| set , , GOTO step 7 ELSE |
| Step 7: IF THEN GOTO step 9 ELSE |
| Step 8: Construct the permutation with the largest relative perimeter |
| using Procedure 3 described in the proof of |
| Theorem 5 IF or GOTO step 12 ELSE |
| Step 9: IF there exists a block in the set B containing more than one |
| non-fixed jobs THEN construct the permutation with the |
| largest relative perimeter for the problem |
| using Procedure 5 described in Section 4.1 GOTO step 11 |
| Step 10: ELSE construct the permutation with the largest relative |
| perimeter for the problem using |
| -Procedure 4 described in the proof of Theorem 6 |
| Step 11: Construct the optimality box for the permutation |
| using Algorithm 1 IF and THEN |
| set , , , |
| GOTO step 6 ELSE IF THEN GOTO step 8 |
| Step 12: IF THEN set , determine the permutation |
| and the optimality box |
| GOTO step 13 |
| ELSE |
| Step 13: The optimality box has the largest value of |
| STOP. |
4.1. Procedure 5 for the Problem with Blocks Including More Than One Non-Fixed Jobs
For solving the problem at step 9 of the Algorithm 2, we use Procedure 5 based on dynamic programming. Procedure 5 allows us to construct the permutation for the problem with the largest value of , where the set B consists of more than one block, , the condition of Lemma 4 does not hold for the jobs , where denotes the following set of blocks: . Moreover, the condition of Theorem 6 does hold for the set of the blocks, i.e., there is a block containing more than one non-fixed jobs. For the problem with , one can calculate the following tight upper bound on the length of the relative perimeter of the optimality box :
where denotes the set of all blocks which are singletons, . The upper bound (5) on the relative perimeter holds, since the relative optimality segment for any job is not greater than one. Thus, the sum of the relative optimality segments for all jobs cannot be greater than .
Instead of describing Procedure 5 in a formal way, we next describe the first two iterations of Procedure 5 along with the application of Procedure 5 to a small example with four blocks and three non-fixed jobs (see Section 4.2). Let denote the solution tree constructed by Procedure 5 at the last iteration, where V is a set of the vertexes presenting states of the solution process and E is a set of the edges presenting transformations of the states to another ones. A subgraph of the solution tree constructed at the iteration h is denoted by . All vertexes of the solution tree have their ranks from the set . The vertex 0 in the solution tree has a zero rank. The vertex 0 is characterized by a partial job permutation , where the non-fixed jobs are not distributed to their blocks.
All vertexes of the solution tree having the first rank are generated at iteration 1 from vertex 0 via distributing the non-fixed jobs of the block , where . Each job must be distributed either to the block or to another block with the inclusion . Let denote a set of all non-fixed jobs , which are not distributed to their blocks at the iterations with the numbers less than t. A partial permutation of the jobs is characterized by the notation , where u denotes the vertex in the constructed solution tree and denotes the non-fixed jobs from the set , which are distributed to the block in the vertex of the solution tree such that the arc belongs to the set .
At the first iteration of Procedure 5, the set of all subsets of the set is constructed and partial permutations are generated for all subsets of the non-fixed jobs . The constructed solution tree consists of the vertexes and arcs connecting vertex 0 with the other vertexes in the tree . For each generated permutation , where , the penalty determined in (6) is calculated, which is equal to the difference between the lengths of the maximal possible relative perimeter of the optimality box and the relative perimeter of the optimality box , which may be constructed for the permutation :
where denotes the maximal length of the relative perimeter of the permutation . The penalty is calculated using -Procedure 3 described in the proof of Theorem 5. The complete permutation with the end is determined based on the permutations , where each vertex s belongs to the chain between vertexes 0 and u in the solution tree and each block belongs to the set . The permutation includes all jobs, which are fixed in the blocks or distributed to their blocks in the optimal order for the penalty .
The aim of Procedure 5 is to construct a complete job permutation such that the penalty is minimal for all job permutations from the set S. At the next iteration, a partial permutation is chosen from the constructed solution tree such that the penalty is minimal among the permutations corresponding to the leafs of the constructed solution tree.
At the second iteration, the set of all subsets of the set is generated and permutations for all subsets of the jobs from the block are constructed. For each generated permutation , where , the penalty is calculated using the equality , where the edge belongs to the solution tree and denotes the penalty reached for the optimal permutation constructed from the permutation using -Procedure 3. For the consideration at the next iteration, one chooses the partial permutation with the minimal value of the penalty for the partial permutations in the leaves of the constructed solution tree.
The whole solution tree is constructed similarly until there is a partial permutation with a smaller value of the penalty in the constructed solution tree.
4.2. The Application of Procedure 5 to the Small Example
Table 1 presents input data for the example of the problem described in Section 3.1. The jobs , and are non-fixed: , , , . The job must be distributed either to the block , , or to the block . The job must be distributed either to the block , or to the block . The job must be distributed either to the block , , or to the block . The relative perimeter of the optimality box for any job permutation cannot be greater than due to the upper bound on the relative perimeter given in (5).
At the first iteration of Procedure 5, the set is constructed and permutations and are generated. For each element of the set , we construct a permutation with the maximal length of the relative perimeter of the optimality box and calculate the penalty. We obtain the following permutations with their penalties: , ; , ; , ; , .
At the second iteration, the block is destroyed, and we construct the permutations and from the permutation . We obtain the permutation with the penalty and the permutation with the penalty . Since all non-fixed jobs are distributed in the permutation , we obtain the complete permutation with the final penalty . From the permutation , we obtain the permutations with their penalties: , and , . We obtain the complete permutation with the penalty .
We obtain the following permutations with their penalties: , and , from the permutation . We obtain the following permutations with their penalties: , , , , , , , from the permutation . We obtain the complete permutation with the final penalty . We obtain the following permutations with their penalties: , , , from the permutation . We obtain the complete permutation with the final penalty .
We obtain the following permutations with their penalties: , , , from the permutation . We obtain the complete permutation with the final penalty .
We obtain the following permutations with their penalties: , , , from the permutation . We obtain the complete permutation with the final penalty .
From the permutation , we obtain the permutation with its penalty as follows: , . We obtain the complete permutation with the final penalty . We obtain the following permutation with their penalties: , from the permutation . We obtain the complete permutation with the final penalty . We obtain the complete permutation , from the permutation . We obtain the complete permutation , from the permutation . We obtain the complete permutation , from the permutation .
Using Procedure 5, we obtain the following permutation with the largest relative perimeter of the optimality box: . The maximal relative perimeter of the optimality box is equal to , where and the minimal penalty obtained for the permutation is equal to .
Since all non-fixed jobs are distributed in the permutation , we obtain the complete permutation with the final penalty equal to .
5. An Approximate Solution to the Problem
The relative perimeter of the optimality box characterizes the probability for the permutation to be optimal for the instances , where . It is clear that this probability may be close to zero for the problem with a high uncertainty of the job processing times (if the set T has a large volume and perimeter).
If the uncertainty of the input data is high for the problem , one can estimate how the value of with a vector may be close to the optimal value of , where the permutation is optimal for the factual scenario of the job processing times. We call the scenario factual, if is equal to the exact time needed for processing the job . The factual processing time becomes known after completing the job .
If the permutation has the non-empty optimality box , then one can calculate the following error function:
A value of the error function characterizes how the objective function value of for the permutation may be close to the objective function value of for the permutation , which is optimal for the factual scenario of the job processing times. The function characterizes the following difference
which has to be minimized for a good approximate solution to the uncertain problem . The better approximate solution to the uncertain problem will have a smaller value of the error function .
The formula (7) is based on the cumulative property of the objective function , namely, each relative error obtained due to the wrong position of the job in the permutation is repeated times for all jobs, which succeed the job in the permutation . Therefore, a value of the error function must be minimized for a good approximation of the value of for the permutation .
If the equality holds, the error function has the maximal possible value determined as follows: The necessary and sufficient condition for the largest value of is given in Theorem 3.
If the equality holds, the error function has the smallest value equal to 0: The necessary and sufficient condition for the smallest value of is given in Theorem 4, where the permutation is optimal for any factual scenario of the job processing times.
Due to evident modifications of the proofs given in Section 3.3, it is easy to prove that Theorems 5 and 6 remain correct in the following forms.
Theorem 7.
If the equality holds, then it takes time to find the permutation and optimality box with the smallest value of the error function among all permutations S.
Theorem 8.
Let each block contain at most one non-fixed job. The permutation with the smallest value of the error function among all permutations S is constructed in time.
Using Theorems 7 and 8, we developed the modifications of Procedures 3 and 4 for the minimization of the values of instead of the maximization of the values of . The derived modifications of Procedures 3 and 4 are called Procedures 3 and 4, respectively. We modify also Procedures 2 and 5 for minimization of the values of instead of the maximization of the values of . The derived modifications of Procedures 2 and 5 are called Procedures 2 and 5, respectively. Based on the proven properties of the optimality box (Section 3), we propose the following Algorithm 3 for constructing the job permutation for the problem , whose optimality box provides the minimal value of the error function among all permutations S.
| Algorithm 3 |
| Input: Segments for the jobs . |
| Output: The permutation and optimality box , which provide |
| the minimal value of the error function . |
| Step 1: IF the condition of Theorem 3 holds |
| THEN for any permutation |
| and the equality holds STOP. |
| Step 2: IF the condition of Theorem 4 holds |
| THEN using Procedure 2 construct |
| the permutation such that both equalities |
| and hold STOP. |
| Step 3: ELSE determine the set B of all blocks using the |
| -Procedure 1 described in the proof of Lemma 1 |
| Step 4: Index the blocks according to increasing |
| left bounds of their cores (Lemma 3) |
| Step 5: IF THEN problem is called problem |
| (Theorem 5) set GOTO step 8 ELSE set |
| Step 6: IF there exist two adjacent blocks and such |
| that ; let r denote the minimum of the above index |
| in the set THEN decompose the problem P into |
| subproblem with the set of jobs and subproblem |
| with the set of jobs using Lemma 4; |
| set , , GOTO step 7 ELSE |
| Step 7: IF THEN GOTO step 9 ELSE |
| Step 8: Construct the permutation with the minimal value of |
| the error function using Procedure 3 |
| IF or GOTO step 12 ELSE |
| Step 9: IF there exists a block in the set B containing more than one |
| non-fixed jobs THEN construct the permutation with |
| the minimal value of the error function for the problem |
| using Procedure 5 GOTO step 11 |
| Step 10: ELSE construct the permutation with the minimal value of the |
| error function for the problem using Procedure 3 |
| Step 11: Construct the optimality box for the permutation |
| using Algorithm 1 IF and THEN |
| set , , , |
| GOTO step 6 ELSE IF THEN GOTO step 8 |
| Step 12: IF THEN set , determine the permutation |
| and the optimality box: |
| GOTO step 13 |
| ELSE |
| Step 13: The optimality box has the minimal value |
| of the error function STOP. |
In Section 6, we describe the results of the computational experiments on applying Algorithm 3 to the randomly generated problems .
6. Computational Results
For the benchmark instances , where there are no properties of the randomly generated jobs , which make the problem harder, the mid-point permutation , where all jobs are ordered according to the increasing of the mid-points of their segments , is often close to the optimal permutation. In our computational experiments, we tested seven classes of harder problems, where the job permutation constructed by Algorithm 3 outperforms the mid-point permutation and the permutation constructed by Algorithm MAX-OPTBOX derived in [15]. Algorithm MAX-OPTBOX and Algorithm 3 were coded in C# and tested on a PC with Intel Core (TM) 2 Quad, 2.5 GHz, 4.00 GB RAM. For all tested instances, inequalities hold for all jobs . Table 2 presents computational results for randomly generated instances of the problem with . The segments of the possible processing times have been randomly generated similar to that in [15].
Table 2.
Computational results for randomly generated instances with a single block (class 1).
An integer center C of the segment was generated using a uniform distribution in the range . The lower bound of the possible processing time was determined using the equality Hereafter, denotes the maximal relative error of the processing times due to the given segments . The upper bound was determined using the equality Then, for each job , the point was generated using a uniform distribution in the range . In order to generate instances, where all jobs belong to a single block, the segments of the possible processing times were modified as follows: , where Since the inclusion holds, each constructed instance contains a single block, . The maximum absolute error of the uncertain processing times , , is equal to , and the maximum relative error of the uncertain processing times , , is not greater than . We say that these instances belong to class 1.
Similarly as in [15], three distribution laws were used in our experiments to determine the factual processing times of the jobs. (We remind that if inequality holds, then the factual processing time of the job becomes known after completing the job .) We call the uniform distribution as the distribution law with number 1, the gamma distribution with the parameters and as the distribution law with number 2 and the gamma distribution with the parameters and as the distribution law with number 3. In each instance of class 1, for generating the factual processing times for different jobs of the set , the number of the distribution law was randomly chosen from the set . We solved 15 series of the randomly generated instances from class 1. Each series contains 10 instances with the same combination of n and .
In the conducted experiments, we answered the question of how large the obtained relative error of the value of the objective function was for the permutation with the minimal value of with respect to the actually optimal objective function value calculated for the factual processing times . We also answered the question of how small the obtained relative error of the value of the objective function was for the permutation with the minimal value of . We compared the relative error with the relative error of the value of the objective function for the permutation obtained for determining the job processing times using the mid-points of the given segments. We compared the relative error with the relative error of the value of the objective function for the permutation constructed by Algorithm MAX-OPTBOX derived in [15].
The number n of jobs in the instance is given in column 1 in Table 2. The half of the maximum possible errors of the random processing times (in percentage) is given in column 2. Column 3 gives the average error for the permutation with the minimal value of . Column 4 presents the average error obtained for the mid-point permutations , where all jobs are ordered according to increasing mid-points of their segments. Column 5 presents the average relative perimeter of the optimality box for the permutation with the minimal value of . Column 6 presents the relation /. Column 7 presents the relation /. Column 8 presents the average CPU-time of Algorithm 3 for the solved instances in seconds.
The computational experiments showed that for all solved examples of class 1, the permutations with the minimal values of for their optimality boxes generated good objective function values , which are smaller than those obtained for the permutations and for the permutations . The smallest errors, average errors, largest errors for the tested series of the instances are presented in the last rows of Table 2.
In the second part of our experiments, Algorithm 3 was applied to the randomly generated instances from other hard classes 2–7 of the problem . We randomly generated non-fixed jobs , which belong to all blocks , , …, of the randomly generated fixed jobs. The lower bound and the upper bound on the feasible values of of the processing times of the fixed jobs, , were generated as follows. We determined a bound of blocks for generating the cores of the blocks and for generating the segments for the processing times of jobs from all blocks , , . Each instance in class 2 has fixed jobs with rather closed centers and large difference between segment lengths .
Each instance in class 3 or in class 4 has a single non-fixed job , whose bounds are determined as follows: . Classes 3 and 4 of the solved instances differ one from another by the numbers of non-fixed jobs and the distribution laws used for choosing the factual processing times of the jobs . Each instance from classes 5 and 6 has two non-fixed jobs. In each instance from classes 2, 3, 5, 6 and 7, for generating the factual processing times for the jobs , the numbers of the distribution law were randomly chosen from the set , and they are indicated in column 4 in Table 3. In the instances of class 7, the cores of the blocks were determined in order to generate different numbers of non-fixed jobs in different instances. The numbers of non-fixed jobs were randomly chosen from the set . Numbers n of the jobs are presented in column 1. In Table 3, column 2 represents the number of blocks in the solved instance and column 3 the number of non-fixed jobs. The distribution laws used for determining the factual job processing times are indicated in column 4 in Table 3. Each solved series contained 10 instances with the same combination of n and the other parameters. The obtained smallest, average and largest values of , , and for each series of the tested instances are presented in columns 5, 6, 8 and 9 in Table 3 at the end of series. Column 7 presents the average relative perimeter of the optimality box for the permutation with the minimal value of . Column 10 presents the average CPU-time of Algorithm 3 for the solved instances in seconds.
Table 3.
Computational results for randomly generated instances from classes 2–7.
7. Concluding Remarks
The uncertain problem continues to attract the attention of the OR researchers since the problem is widely applicable in real-life scheduling and is commonly used in many multiple-resource scheduling systems, where only one of the machines is the bottleneck and uncertain. The right scheduling decisions allow the plant to reduce the costs of productions due to better utilization of the machines. A shorter delivery time is archived with increasing customer satisfaction. In Section 2, Section 3, Section 4, Section 5 and Section 6, we used the notion of an optimality box of a job permutation and proved useful properties of the optimality box . We investigated permutation with the largest relative perimeter of the optimality box. Using these properties, we derived efficient algorithms for constructing the optimality box for a job permutation with the largest relative perimeter of the box .
From the computational experiments, it follows that the permutation with the smallest values of the error function for the optimality box is close to the optimal permutation, which can be determined after completing the jobs when their processing times became known. In our computational experiments, we tested classes 1–7 of hard problems , where the permutation constructed by Algorithm 3 outperforms the mid-point permutation, which is often used in the published algorithms applied to the problem . The minimal, average and maximal errors of the objective function values were , and , respectively, for the permutations with smallest values of the error function for the optimality boxes. The minimal, average and maximal errors of the objective function values were , and , respectively, for the mid-point permutations. The minimal, average and maximal errors of the objective function values were , and , respectively. Thus, Algorithm 3 solved all hard instances with a smaller error than other tested algorithms. The average relation for the obtained errors for all instances of classes 1–7 was equal to . The average relation for the obtained errors for all instances of classes 1–7 was equal to .
Author Contributions
Y.N. proved theoretical results; Y.N. and N.E. jointly conceived and designed the algorithms; N.E. performed the experiments; Y.N. and N.E. analyzed the data; Y.N. wrote the paper.
Conflicts of Interest
The authors declare no conflict of interest.
References
- Davis, W.J.; Jones, A.T. A real-time production scheduler for a stochastic manufacturing environment. Int. J. Prod. Res. 1988, 1, 101–112. [Google Scholar] [CrossRef]
- Pinedo, M. Scheduling: Theory, Algorithms, and Systems; Prentice-Hall: Englewood Cliffs, NJ, USA, 2002. [Google Scholar]
- Daniels, R.L.; Kouvelis, P. Robust scheduling to hedge against processing time uncertainty in single stage production. Manag. Sci. 1995, 41, 363–376. [Google Scholar] [CrossRef]
- Sabuncuoglu, I.; Goren, S. Hedging production schedules against uncertainty in manufacturing environment with a review of robustness and stability research. Int. J. Comput. Integr. Manuf. 2009, 22, 138–157. [Google Scholar] [CrossRef]
- Sotskov, Y.N.; Werner, F. Sequencing and Scheduling with Inaccurate Data; Nova Science Publishers: Hauppauge, NY, USA, 2014. [Google Scholar]
- Pereira, J. The robust (minmax regret) single machine scheduling with interval processing times and total weighted completion time objective. Comput. Oper. Res. 2016, 66, 141–152. [Google Scholar] [CrossRef]
- Grabot, B.; Geneste, L. Dispatching rules in scheduling: A fuzzy approach. Int. J. Prod. Res. 1994, 32, 903–915. [Google Scholar] [CrossRef]
- Kasperski, A.; Zielinski, P. Possibilistic minmax regret sequencing problems with fuzzy parameteres. IEEE Trans. Fuzzy Syst. 2011, 19, 1072–1082. [Google Scholar] [CrossRef]
- Özelkan, E.C.; Duckstein, L. Optimal fuzzy counterparts of scheduling rules. Eur. J. Oper. Res. 1999, 113, 593–609. [Google Scholar] [CrossRef]
- Braun, O.; Lai, T.-C.; Schmidt, G.; Sotskov, Y.N. Stability of Johnson’s schedule with respect to limited machine availability. Int. J. Prod. Res. 2002, 40, 4381–4400. [Google Scholar] [CrossRef]
- Sotskov, Y.N.; Egorova, N.M.; Lai, T.-C. Minimizing total weighted flow time of a set of jobs with interval processing times. Math. Comput. Model. 2009, 50, 556–573. [Google Scholar] [CrossRef]
- Sotskov, Y.N.; Lai, T.-C. Minimizing total weighted flow time under uncertainty using dominance and a stability box. Comput. Oper. Res. 2012, 39, 1271–1289. [Google Scholar] [CrossRef]
- Graham, R.L.; Lawler, E.L.; Lenstra, J.K.; Kan, A.H.G.R. Optimization and Approximation in Deterministic Sequencing and Scheduling. Ann. Discret. Appl. Math. 1979, 5, 287–326. [Google Scholar]
- Smith, W.E. Various optimizers for single-stage production. Nav. Res. Logist. Q. 1956, 3, 59–66. [Google Scholar] [CrossRef]
- Lai, T.-C.; Sotskov, Y.N.; Egorova, N.G.; Werner, F. The optimality box in uncertain data for minimising the sum of the weighted job completion times. Int. J. Prod. Res. 2017. [CrossRef]
- Burdett, R.L.; Kozan, E. Techniques to effectively buffer schedules in the face of uncertainties. Comput. Ind. Eng. 2015, 87, 16–29. [Google Scholar] [CrossRef][Green Version]
- Goren, S.; Sabuncuoglu, I. Robustness and stability measures for scheduling: Single-machine environment. IIE Trans. 2008, 40, 66–83. [Google Scholar] [CrossRef]
- Kasperski, A.; Zielinski, P. A 2-approximation algorithm for interval data minmax regret sequencing problems with total flow time criterion. Oper. Res. Lett. 2008, 36, 343–344. [Google Scholar] [CrossRef]
- Kouvelis, P.; Yu, G. Robust Discrete Optimization and Its Application; Kluwer Academic Publishers: Boston, MA, USA, 1997. [Google Scholar]
- Lu, C.-C.; Lin, S.-W.; Ying, K.-C. Robust scheduling on a single machine total flow time. Comput. Oper. Res. 2012, 39, 1682–1691. [Google Scholar] [CrossRef]
- Yang, J.; Yu, G. On the robust single machine scheduling problem. J. Comb. Optim. 2002, 6, 17–33. [Google Scholar] [CrossRef]
- Harikrishnan, K.K.; Ishii, H. Single machine batch scheduling problem with resource dependent setup and processing time in the presence of fuzzy due date. Fuzzy Optim. Decis. Mak. 2005, 4, 141–147. [Google Scholar] [CrossRef]
- Allahverdi, A.; Aydilek, H.; Aydilek, A. Single machine scheduling problem with interval processing times to minimize mean weighted completion times. Comput. Oper. Res. 2014, 51, 200–207. [Google Scholar] [CrossRef]
© 2018 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).