2. Problem Descriptions, The Related Literature and Closed Results
There is given a set of jobs to be processed on a single machine. The duration of the job can take any real value from the given segment , where the inequalities hold. The exact value of the job duration remains unknown until the completion time of the job .
Let
denote a set of all non-negative
n-dimensional real vectors,
, where
is space of
n-dimensional real vectors. The set of all vectors
of the feasible durations is presented as the Cartesian product of the segments
:
A vector of the job durations is called a scenario. Let denote a set of all permutations of the given 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 following sum of the completion times:
where the permutation
is optimal. From the equality (
1), it follows that only semi-active schedule [
11] may be optimal. Each permutation
determines exactly one semi-active schedule.
The above uncertain scheduling problem is denoted as
using the three-field notation
[
12], where
denotes the processing system,
characterizes conditions for processing the jobs and
determines the criterion.
2.1. The Related Literature
If a scenario
is fixed before scheduling (i.e., the equality
holds for each job
), then the uncertain problem
is turned into the deterministic one
. In what follows, we use the notation
to indicate an instance of the deterministic problem
with scenario
. Any instance
is solvable in
time [
13] due to the following necessary and sufficient condition for the optimality of the job permutation
.
Theorem 1. The job permutation is optimal for the instance if and only if the following inequalities hold: If the strict inequality holds, then the job precedes the job in any optimal job permutation .
Since the scenario is not fixed in the uncertain problem , the completion time of the job cannot be determined for the permutation before completing the job . Thus, the value of the objective function for the permutation remains uncertain until all jobs have been completed. Since for the uncertain problem , there does not usually exist an optimal schedule for all feasible scenarios p from the set T, an additional objective or some agreements are used in the literature.
A robust schedule minimizing the worst-case regret has been developed in [
3,
8,
14,
15,
16,
17,
18]. For any permutation
and any feasible scenario
, the difference
is called the regret for the permutation
. In the above notation
, the objective function
is equal to
for the permutation
under scenario
p and the optimal value of the objective function
is equal to
for the optimal permutation
under scenario
p. The value of
is called the worst-case absolute regret. The value of
is called the worst-case relative regret.
While the deterministic problem
is polynomially solvable [
13], finding a permutation
minimizing the worst-case absolute regret
or the relative regret
for the problem
are binary NP-hard even for two possible scenarios
[
3,
17,
19]. Discrete sets
of the uncertain scenarios have been investigated in [
3,
17,
19].
The complexity of minimizing the total flow time with continues data
T is characterized in [
20], where it is proven that finding a permutation
minimizing the worst-case absolute regret
for the problem
is binary NP-hard. For a special case of this problem, where all intervals of uncertainty have the same center, it is shown that this problem can be solved in
time if the number of jobs is even, and remains NP-hard if the number of jobs is odd [
20]. In [
6], a branch-and-bound algorithm was developed for finding a permutation
minimizing the absolute regret for the problem
, where the jobs
have different 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,
21] 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 [
22], several heuristics were developed for the problem
. The computational experiments including different probability distributions of the job durations showed that there was at least one heuristic among all performing heuristics with the error
of the optimal objective function value
obtained after completing the given jobs when their factual durations became known.
2.2. The Stability Approach to Single-Machine Scheduling Problems
Let
M denote a subset of the set
. In [
23,
24], an optimality box for the job permutation
for the uncertain problem
is defined as follows.
Definition 1. The maximal rectangular box is called an optimality box for the permutation (with respect to T), 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 , it is assumed that .
In
Section 3, we use the following remark for the definition of the optimality segment for the job
in the permutation
.
Remark 1. Any variation of the duration of the job within the maximal segment indicated in Definition 1 cannot violate the optimality of the permutation provided that the inclusion holds. The non-empty maximal segment indicated in Definition 1 with the inequality and the length is called an optimality segment for the job in the permutation . We denote the optimality segment as follows: .
If the maximal segment
indicated in Definition 1 is empty for the job
, we say that this job has no optimality segment in the permutation
. It is clear that if the job
has no optimality segment in the permutation
, then the strict inequality
holds. In [
23,
24], it is shown that for calculating the optimality box
, one can calculate the optimality box for the modified instance
, where the segments
for the possible job durations
are reduced,
, based on the following formulas:
The following theorem has been proven in [
24].
Theorem 2. The optimality box for the permutation for the problem is equal to the optimality box for the same permutation for the problem with the feasible segments , , determined in (3). In [
23], it is shown that Theorem 2 remains correct for the problem
with the different weights
prescribed to the jobs
.
Following [
23,
24], the notion of a block for the jobs
is determined for the problem
as follows.
Definition 2. A maximal subset of the set , for which the inequality holds, is called a lock. The segment , where equalities and hold, is called a core of the block .
The following claim was proven in [
23].
Lemma 1. For the problem , the set of all blocks can be uniquely determined in time.
If the job belongs to a single block, we say that the job is fixed in this block. We say that the block is virtual, if there is no fixed job in this block. We say that the job is non-fixed, if the job belongs to two or more blocks and at least one of these blocks is not virtual.
Remark 2. Any permutation determines a distribution of all non-fixed jobs to the blocks. Due to such fixings of the positions of the non-fixed jobs, some virtual blocks from the set B may be destroyed for the fixed permutation . Furthermore, the cores of some non-virtual blocks may be increased in the permutation .
Each block in the set
B has the following properties proven in [
23].
Lemma 2. At most two jobs in the block may have optimality segments in the permutation .
Lemma 3. If , then any two jobs and , which are fixed in different blocks, , must be ordered in the permutation with decreasing left bounds (and right bounds as well) of the cores of their blocks, i.e., the permutation looks as follows: , where the inequality holds.
In what follows, we assume that all blocks in the set are numbered according to decreasing left bounds of their cores, i.e., the strict inequality implies the strict inequality . Due to Definition 2, each block may include jobs of the four types as follows.
If and , we say that job is a core job 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 denote the set of all core jobs. The set (the set ) is the set of all left (right) jobs in the block . Some jobs may be left-right jobs in the block , since it is possible that condition holds.
The jobs
and
are identical if both equalities
and
hold. If the set
is a singleton,
, then the equality
holds. The following theorem was proven in [
24].
Theorem 3. For the problem , any permutation has an empty optimality box, , if and only if for each block , either condition holds or condition holds and all jobs in the set (in the set ) are identical and both inequalities and hold.
The following criterion was proven in [
23].
Theorem 4. Let all jobs from the set be fixed in their blocks from the set B. Then the permutation with the largest optimality box may be constructed in time.
The rest of this paper is devoted to an optimality set (it is called an optimality region), which is a superset of the optimality box for the same permutation .
3. The Optimality Region
For the permutation , we formally define the optimality region such that the inclusion holds.
Definition 3. The maximal closed subset of the set is called the optimality region for the permutation (with respect to T) if the permutation is optimal for the instance with any scenario . If there does not exist a scenario such that the permutation is optimal for the instance , it is assumed that .
We demonstrate the above definitions and notions on the instance of the problem
with
jobs. The segments
defining all possible durations of the jobs
are given in
Table 1. The segments
of the job durations are also represented in a coordinate system in
Figure 1 for the permutation
. The abscissa axis indicates the segments
determining durations of the jobs. The ordinate axis indicates all jobs
. There are three blocks in this instance. The jobs
,
,
,
,
and
belong to the block
. The segment
is a core of the block
. The jobs
,
,
,
,
and
belong to the block
. The one-point segment
is a core of the block
. The jobs
,
,
,
and
belong to the block
. The segment
is a core of the block
. The jobs
,
,
,
,
and
are non-fixed jobs. The jobs
and
are fixed in their blocks.
Due to the optimality criterion (
2) for the permutation
given in Theorem 1, one can distinguish three types of segments for each job
, which characterize a possibility for the permutation
to be optimal, namely:
the segment of optimality ;
the segment of conditional optimality ;
and the segment of non-optimality .
The segment of optimality for the job in the permutation is formally determined in Definition 1 and Remark 1.
The segment of non-optimality for the job
in the permutation
is a maximal (with respect to the inclusion) segment
such that for any point
, the permutation
cannot be optimal for an instance
with any scenario
. Thus, due to the necessary and sufficient condition (
2) for the permutation
to be optimal for the instance
, we conclude that either there exists a job
such that the inequality
holds along with the following condition:
or there exists a job
such that
and the following condition holds:
Furthermore, due to Definition 1, the segment
of non-optimality for the job
in the permutation
has no common point with the open interval
of optimality for the job
:
In
Figure 1, the segments of non-optimality for all jobs
in the permutation
are double-shaded.
The segment of conditional optimality for the job in the permutation is a maximal (with respect to the inclusion) segment such that each point does not belong to the open interval of non-optimality, , and there exists a job , , with the following inclusion: . Thus, one can conclude that for some points , the permutation is optimal for the instance , where , while for other points , the permutation cannot be optimal for the instance , where .
The segment
of conditional optimality for the job
in the permutation
has no common point with the open interval of optimality
and no common point with the open interval of non-optimality
:
If the segment of conditional optimality is empty for the job , we say that this job has no conditional optimality in the permutation .
In
Figure 1, all segments of conditional optimality for the jobs
in the permutation
are shaded.
Remark 3. Due to Theorem 1, for each job in the permutation , there may exist at most one segment of optimality, at most two segments of conditional optimality and at most two segments of non-optimality.
In
Figure 1, job
has one segment
of non-optimality and one segment of conditional optimality
. Job
has two segments of non-optimality
and
and one segment of conditional optimality
.
The following claim is based on Remark 3 and the above definitions of the segments of optimality, non-optimality and conditional optimality.
Lemma 4. Each segment of possible durations of the job is the union of the segments of optimality, non-optimality and conditional optimality for the job in the permutation .
We next show that for constructing the optimality region
for the permutation
, it is sufficient to construct the optimality region for the instance
with the reduced segments of job durations:
. To construct the reduced segments for the permutation
, we use the equalities (
9) for all jobs
:
We denote
One can prove the following claim similarly to the proof of Theorem 2 proven in [
24].
Theorem 5. The optimality region for the permutation for the instance is equal to the optimality region for the same permutation for the instance with the reduced segments of the possible durations of jobs determined in (9). Figure 2 represents the segments of non-optimality and conditional optimality for jobs
in the permutation
for the instance
with the input data
T given in
Table 1.
From Definition 3 and Theorem 5, one can directly derive the following claim.
Lemma 5. For the instance with the reduced segments , , of the job durations determined in (9), the open interval of optimality for the job in the permutation has no common point with the segment of possible durations of any job , , i.e., the following equality holds: We next prove a criterion for the extreme case when the equality holds.
Theorem 6. The optimality region for the permutation is empty, if and only if there exists at least one job with the inequality in the permutation , which has no segment of optimality and no conditional optimality.
Proof. Sufficiency. Let there exist a job
in the permutation
, which has no segment of optimality and no conditional optimality. Due to the inequality
and Lemma 4, the relations
hold, and either there exists a job
such that
and the condition (
4) holds or there exists a job
such that
and the condition (
5) holds.
In the former case, the inequality holds for each duration of the job and for each duration of the job . In the latter case, the inequality holds for each duration of the job and for each duration of the job .
Due to Theorem 1, in both cases the permutation cannot be optimal for the instance with any scenario . Hence, the optimality region for the permutation is empty: . Sufficiency is proven.
Necessity. We prove necessity by a contradiction. Let the equality hold. However, we assume that there is no job with the inequality in the permutation , which has no segment of optimality and no conditional optimality.
Due to Definition 3, the equality means that there is no scenario such that the permutation is optimal for the instance with the scenario p.
However, we show next how to construct a scenario with the inclusion . If the segment of optimality of the job in the permutation is not empty, then there exists a point . We choose the value of as the duration of the job .
If the segment
of optimality of the job
in the permutation
is empty, then due to the above assumption, the segment
of conditional optimality for the job
in the permutation
is not empty. We choose the value of
as the duration of the job
, i.e.,
. Thus, we determine the scenario
. From the equalities (
7) and (
8) and Lemma 5 with the equality (
10), it follows that the permutation
is optimal for the instance
with the scenario
. Thus,
and the relations
hold contradicting to our assumption that
. The proof of Theorem 6 is completed. □
From Theorem 6, one can directly derive the following claim.
Corollary 1. If the condition holds, then the dimension of the optimality region is equal to n.
In
Figure 1, there is no job
in the permutation
, which has no segment of optimality and no conditional optimality. Thus, due to Theorem 6, the optimality region for the permutation
is not empty, i.e.,
.
In
Figure 2, for the segment
of non-optimality for the job
in the permutation
, the following equalities
hold. Thus, there exists a job
in the permutation
, which has no segment of optimality and no conditional optimality. Due to Theorem 6, one can conclude that the optimality region for the permutation
is empty, i.e.,
.
We next prove a criterion for another extreme case for the optimality region , namely, we prove the necessary and sufficient condition for the equality when the optimality region is maximally possible.
Theorem 7. The optimality region for the permutation is maximally possible (i.e., the equality holds), if and only if for each job in the permutation the following equality holds: Proof. Sufficiency. Let the equality (
11) hold for each job
in the permutation
.
Due to Definition 1 and Remark 1, the following equalities hold: where . From Definition 1, it follows that the permutation is optimal for the instance with any scenario . Thus, due to Definition 3, we obtain the desired equality . Sufficiency is proven.
Necessity. Let the equality
hold. However, we assume that there is a job
in the permutation
such that the equality (
11) does not hold.
Due to Lemma 4, either there exists a segment of non-optimality
or a segment of conditional optimality
for job
in the permutation
In the former case, the equality (
6) holds. In the latter case, the equality (
8) holds.
Thus, in both cases, there exists a scenario , where , such that the permutation is not optimal for the instance with the scenario . Hence, due to Definition 3 we obtain a contradiction with the above assumption. This contradiction completes the proof of Theorem 7. □
In the rest of this paper, we show how to use the above results for solving the uncertain scheduling problem approximately.
5. The Largest Quasi-Perimeter of the Optimality Region for the Problem
We call the permutation an effective permutation, if this permutation has the largest quasi-perimeter of the optimality region among all permutations in the set S. The following claim follows directly from Theorem 8.
Corollary 3. If the following equality holds:for the permutation , then this permutation is effective. Since the equality (
24) holds for the permutation
, one can conclude that this permutation is effective due to Corollary 3.
We next show how to find an effective permutation
in the general case of the problem
. Similarly to the proof of Theorem 4 given in [
23], we can prove the following claim.
Theorem 9. Let all jobs from the set be fixed in their blocks from the set B. Then the effective permutation may be constructed in time.
Thus, due to Theorem 9, the main problem, which must be solved for the construction of the effective permutation , is the optimal distribution of all non-fixed jobs between the effective sub-permutations of the jobs fixed in the block , those fixed in the block , and so on, those fixed in the block . Let denote a set of all non-fixed jobs of the set . The following lemma shows that we also need to find optimal positions for some fixed jobs of the set in the desired effective permutation .
Theorem 10. An effective sub-permutation of all jobs, which are fixed in the block , exists if and only if there is no job such that the following conditions hold simultaneously: Proof. Sufficiency. Let there be no job
such that conditions (
25) and (
26) hold.
Hence, there exist at least two different jobs and such that the inequalities and hold. The effective sub-permutation of all jobs, which are fixed in the block looks as follows , where all jobs from the set are located between jobs and and their order may be arbitrary.
Necessity. Let there exist a job
such that both conditions (
25) and (
26) hold.
Hence, an optimal position of the job is either the first position or the last position in the effective sub-permutation of all jobs, which are fixed in the block . This choice for the job depends from the positions of other such jobs in the blocks in the effective permutation and from the positions of jobs from the set in the effective permutation . □
The following Algorithm 2 is based on Theorem 10.
Algorithm 2: Construction of the effective permutation of the jobs fixed in the block |
Input: The segments for all jobs from the set , which are fixed in the block , . Output: The effective sub-permutation of the subset of the set , , which are fixed in the block .
- Step 1:
Find a job such that ; - Step 2:
Find a job such that ; - Step 3:
IFTHEN where jobs from the set are ordered arbitrarily, set , GOTO step 11; - Step 4:
Find a job such that ; - Step 5:
IFTHEN, where jobs from the set are ordered arbitrarily, set , GOTO step 11; - Step 6:
Find a job such that ; - Step 7:
IFTHEN where jobs are ordered arbitrarily, set , GOTO step 11; - Step 8:
Find a job such that ; - Step 9:
IFTHEN, where jobs from the set are ordered arbitrarily, set , GOTO step 11; - Step 10:
, where jobs from the set are ordered arbitrarily, set ; - Step 11:
The obtained sub-permutation is effective STOP.
|
The asymptotic complexity of Algorithm 2 is equal to
. The set
is either empty or contains a single job
for which both conditions (
25) and (
26) hold. The set
is either empty or contains a single job
for which both conditions
and
hold.
Let
denote a set of all jobs
, which are fixed in their blocks
and both conditions (
25) and (
26) hold. The following Algorithm 3 constructs an effective permutation
for the general case of the problem
.
Algorithm 3: Construction of the effective permutation |
Input: The segments for all jobs ; the effective sub-permutations , sets and sets for all blocks . Output: The effective job permutation .
- Step 1:
Construct a sub-permutation ; - Step 1:
FORtoDO IF THEN , ELSE , , ; END FOR - Step 2:
Construct sets of jobs , , sort jobs of the set by increasing of the mid-points of the segments , obtain set ; - Step 3:
Construct set , sort set D by increasing , , construct intervals , ; - Step 4:
, , , , , ; - Step 5:
IFTHEN, , , , ELSE GOTO step 10; - Step 6:
FORtoDO IF AND THEN ; IF THEN ; IF AND THEN , ; END FOR - Step 7:
, ; FORtoDO FOR to DO , , ; END FOR END FOR - Step 8:
, , ; WHILEDO; WHILE DO IF AND AND THEN , ; ; END ; END, ; - Step 9:
, , , GOTO step 5; - Step 10:
; FORtoDO; FOR EACHINDOEND FOR; IFTHEN, END FOR - Step 11:
FORtoDOEND FOR FORtoDO, ; END FOR - Step 12:
; FORtoDO sort jobs of the set by increasing of the mid-points of the segments and obtain sub-permutation ; END FOR - Step 1:
FORtomDO IF THEN ELSE IF THEN ELSE ; END FOR STOP.
|
6. Computational Results
In the computational experiments, we tested six classes of hard instances
. Algorithms 1–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
{50, 100, 500, 1000, 5000, 10,000}.
The segments of possible durations have been randomly generated as follows. An integer center C of the segment was generated using a uniform distribution in the range . The lower bound of the possible duration was determined using the equality where denotes the maximal relative error of the durations due to the given segments . The upper bound was determined using the equality For each job , the point was generated using a uniform distribution in the range . In order to generate instances, where all jobs belonged to a single block, the segments of the possible durations were modified as follows: , where
Since the inclusion holds, each constructed instance contained a single block, . The maximum absolute error of the uncertain durations , , is equal to , and the maximum relative error of the uncertain durations , , is not greater than . We say that these instances belong to class 1.
Three distribution laws were used in our computational experiments to determine the factual durations of the jobs. If inequality holds, then the factual duration of the job becomes known only 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 durations 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 contained 10 instances with the same combination of n and .
In the computational experiments, we answered the question of how large the obtained relative error of the value of the objective function was for the effective permutation with respect to the actually optimal objective function value calculated for the factual durations , which were known after completing all the jobs.
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 durations (in percentage) is given in column 2. Column 3 gives the average error
for the effective permutation
. Column 4 presents the average CPU-time in seconds. 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 computational experiments, Algorithms 1–3 were applied to randomly generated instances from other classes 2–6 of the problem . We randomly generated non-fixed jobs , which belong to blocks , , …, of the randomly generated fixed jobs. The lower bound and the upper bound on the feasible values of of the durations 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 durations of jobs from all blocks , , .
Each instance in class 2 or in class 3 had a single non-fixed job , whose bounds were determined as follows: . Classes 2 and 3 of the solved instances differed one from another by the numbers of non-fixed jobs and the distribution laws used for choosing the factual durations of the jobs .
Each instance from classes 4 and 5 had two non-fixed jobs. In each instance from classes 2, 4, 5 and 6, for generating the factual durations for the jobs
, the numbers of the distribution laws were randomly chosen from the set
, and they were indicated in column 4 in
Table 3. In the instances of class 6, 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
.
The 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 durations of the jobs are indicated in column 4 in
Table 3. Column 6 presents average numbers
of the maximal number of the variants of the non-dominated distributions of the jobs
in the effective permutation
while it was constructed on the iterations of Algorithm 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
for each series of the tested instances are presented in column 5 in
Table 3 at the end of series.