Skip to main content
Log in

Processing time generation schemes for parallel machine scheduling problems with various correlation structures

  • Published:
Journal of Scheduling Aims and scope Submit manuscript

Abstract

This research considers the generation of random processing times for parallel machine scheduling problems. We present several processing time generation schemes that consider different levels and combinations of machine correlation and job correlation. Also, metrics to evaluate the amounts of machine relatedness and job uniformity for the randomly generated processing times of a given problem instance are presented. The proposed schemes generate desirable problem instances that can be used to test different solution approaches (such as heuristics, dynamic programming, and branch-and-bound). Computational results indicate that the schemes provide problem instances with many desirable properties.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6

Similar content being viewed by others

References

  • Banks, J., Carson II, J. S., Nelson, B. L., & Nicol, D. M. 2009. Discrete-event system simulation (5th ed.). Upper Saddle River, NJ: Prentice Hall.

  • Gordon, G. (1975). The application of GPSSV to discrete system simulation. Upper Saddle River, NJ: Prentice Hall.

    Google Scholar 

  • Hall, N. G., & Posner, M. E. (2001). Generating experimental data for computational testing with machine scheduling applications. Operations Research, 49, 854–865.

    Article  Google Scholar 

  • Hariri, A. M. A., & Potts, C. N. (1991). Heuristics for scheduling unrelated parallel machines. Computers and Operations Research, 18, 323–331.

    Google Scholar 

  • Panwalkar, S. S., Dudek, R. A., & Smith, M. L. (1973). Sequencing research and the industrial scheduling problem. In S. E. Elmaghraby (Ed.), Proceedings of Symposium on Theory of Scheduling and its Applications (pp. 29–38). New York: Springer.

  • Pinedo, M. (2012). Scheduling theory, algorithms, and systems (4th ed.). Upper Saddle River, NJ: Prentice Hall.

    Google Scholar 

  • Vredeveld, T., & Hurkens, C. (2002). Experimental comparison of approximation algorithms for scheduling unrelated parallel machines. INFORMS Journal on Computing Linthicum, 14, 175–190.

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Yang -Kuei Lin.

Appendix

Appendix

1.1 A derivation for generating start points \(x\)

Here we show the derivation of generating start points \(x\). In Fig. 7, the Cumulative Distribution Function (CDF) of processing time F(\(u)\) for \(u \in [b/q,b]\), given F(\(b\)/\(q)\) is

$$\begin{aligned} F( u)=F\left( \frac{b}{q}\right) +\mathrm{{Prob}}_p \left( \frac{b}{q}\le p\le u\right) \end{aligned}$$

where, \(b\) is the maximum value of generating processing time (\(p_{ij}~\)= UNIF(1,\(b)\), and \(q = (3-S)/(1 + S)\), assume \(S~\)\(\varGamma \),

$$\begin{aligned}&\mathrm{{Prob}}_p \left( \frac{b}{q}\le p\le u\right) =\int \limits _{1}^{b} {g( x)}\\&\quad \times {\mathrm{{Prob}}_p \left( \frac{b}{q}\le p\le u\vert \text{ start } \text{ point }=x\right) dx} \end{aligned}$$

From Fig. 7, the conditional probability of processing time \(p\in [b/q,u]\) given that \(x\in [1,b]\) is

$$\begin{aligned}&\mathrm{{Prob}}_p \left( \frac{b}{q}\le p\le u\vert \text{ start } \text{ point }=x\right) \\&\quad =\left\{ {{\begin{array}{ll} 0 &{} {x<\frac{b}{q^2}} \\ {p_1 (x,u)} &{} {\frac{b}{q^2}\le x<\frac{u}{q}} \\ {p_2 (x,u)} &{} {\frac{u}{q}\le x<\frac{b}{q}} \\ {p_3 (x,u)} &{} {\frac{b}{q}\le x\le u} \\ 0 &{} {u<x} \\ \end{array} }} \right. \end{aligned}$$

Here, we define \(h_{x}(u)\) as a probability density function of processing time on the interval [\(x\),  qx], support \(h_{x}(u)\in [x, qx]\) or \(h_{x}(u)\in [x,b]\).

Fig. 7
figure 7

A derivation for generating start points

For \(x\in [1,b/q], h_{x}(u)\) is uniform,

$$\begin{aligned} h_x (u)=\left\{ {{\begin{array}{ll} {\frac{1}{(q-1)x}} &{} {u \in [x,qx]} \\ 0 &{} {\text{ otherwise }} \\ \end{array} }} \right. \end{aligned}$$

and for \(x\in [b/q,b], h_{x}(u)\) is uniform with changed support,

$$\begin{aligned} h_x ( u)=\left\{ {{\begin{array}{ll} {\frac{1}{b-x}} &{} {u\in [x,b]} \\ 0 &{} {\text{ otherwise }} \\ \end{array} }} \right. \end{aligned}$$

The probability of processing time \(p_{1 }\) given that \(x\in [b/q^{2},u/q]\) is

$$\begin{aligned}&{p_1}\left( {x,u} \right) = \int \limits _{\frac{b}{q}}^u \mathrm{{ }}{h_x}(p)dp\\&\mathop = \limits _{x \le \frac{u}{q}\mathrm{{support }}{h_x}(p) = [x,qx]} \int \limits _{\frac{b}{q}}^{qx} \mathrm{{ }}{h_x}(p)dp\\&\mathop = \limits _{{h_x}(p)\mathrm{{ uniform,}}p \in [\frac{b}{q},qx] \subset [x,qx] = \mathrm{{support }}{h_x}(p) \Rightarrow {h_x}(p) \ne 0\mathrm{{ on }}[b/q, qx]} \frac{{qx - \frac{b}{q}}}{{(q - 1)x}} \end{aligned}$$

The probability of processing time \(p_{2 }\) given that \(x\in [u/q,b/q]\) is

$$\begin{aligned}&{p_\mathrm{{2}}}\left( {x,u} \right) = \int \limits _{\frac{b}{q}}^u \mathrm{{ }}{h_x}(p)dp\\&\mathop = \limits _{{h_x}\mathrm{{(}}p\mathrm{{) uniform,}}p \in \mathrm{{[}}\frac{b}{q}\mathrm{{,}}u\mathrm{{]}} \subset \mathrm{{[}}x\mathrm{{,}}qx\mathrm{{]}} = \mathrm{{support }}{h_x}\mathrm{{(}}p\mathrm{{)}} \Rightarrow {h_x}\mathrm{{(}}p\mathrm{{)}} \ne \mathrm{{0 on [}}b/q, u\mathrm{{]}}} \frac{{u - \frac{b}{q}}}{{(q - 1)x}} \end{aligned}$$

and the probability of processing time \(p_{3 }\) given that \(x\in [b/q,u]\) is

$$\begin{aligned}&p_{3} (x,u) = \int \limits _{{{\text { }}\frac{b}{q}}}^{{{\text { }}u}} {{\text { }}h_{x} (p)dp} \\&\mathop = \limits _{{\frac{b}{q} \le x{\text {, support }}h_{x} {\text {(}}p{\text {)}} = {\text {[}}x{\text {,}}b{\text {]}}}} \int _{{{\text { }}x}}^{{{\text { }}u}} {h_{x} {\text {(}}p{\text {)}}dp{\text { }}} \\&\mathop = \limits _{{h_{x} {\text {(}}p{\text {) uniform,}}p \in {\text {[}}x,{\text {u]}} \subset {\text {[}}x{\text {,}}b{\text {]}} = {\text {support }}h_{x} {\text {(}}p{\text {)}} \Rightarrow h_{x} {\text {(}}p{\text {)}} \ne {\text {0 on [}}x, u{\text {]}}}} \frac{{u{\text { }} - {\text { }}x}}{{b{\text { }} - {\text { }}x}} \end{aligned}$$
$$\begin{aligned} \mathrm{{Prob}}{_p}\left( \frac{b}{q} \!\le \! p \le u|\mathrm{{start \, point}} \!=\! x\right) \!=\! \left\{ {\begin{array}{ll} 0&{}{x < \frac{b}{{{q^2}}}}\\ {\frac{{qx - \frac{b}{q}}}{{(q - 1)x}}}&{}{\frac{b}{{{q^2}}} \le x < \frac{u}{q}}\\ {\frac{{u - \frac{b}{q}}}{{(q - 1)x}}}&{}{\frac{u}{q} \le x < \frac{b}{q}}\\ {\frac{{u - x}}{{b - x}}}&{}{\frac{b}{q} \le x \le u}\\ 0&{}{u < x} \end{array}} \right. \end{aligned}$$

We define \(g(x)\) is a probability density function of start point and assume \(g(x)\) is uniform,

$$\begin{aligned} g( x)=\left\{ { {\begin{array}{ll} {\frac{1}{b-1}} &{} {1\le x\le b} \\ 0 &{} {\text{ otherwise }} \\ \end{array} }} \right. \end{aligned}$$

In Fig. 7, \(F(u)\) is calculated as follows:

For \(\frac{b}{q}\le u\le b\),

$$\begin{aligned} F\left( u \right) =&\mathrm{{F}}\left( \frac{b}{q}\right) + \int \limits _1^{\frac{b}{{{q^2}}}} {g\mathrm{{(}}x\mathrm{{)0}}dx} + \int \limits _{\frac{b}{{{q^2}}}}^{\frac{u}{q}} g(x)\frac{{qx - \frac{b}{q}}}{{(q - 1)x}}dx \\&+ \mathrm{{ }}\int \limits _{\frac{u}{q}}^{\frac{b}{q}} g(x)\frac{{u - \frac{b}{q}}}{{(q - 1)x}}dx + \int \limits _{\frac{b}{q}}^u g(x)\frac{{u - x}}{{b - x}}dx + \int \limits _u^b g(x)0dx \end{aligned}$$

for \(x\in [1,\frac{b}{q}]\), these are unrestricted intervals, so the density of points inside these intervals is uniform,

$$\begin{aligned} g( x)=\frac{c}{b-1} \end{aligned}$$

for \(x\in [b/q,b]\), we cut off the interval at \(b\), so the density of points inside that interval is higher than in the unrestricted intervals. We need to change the density of the start points that generate those intervals. From \(F(u)\), we know that the density of points inside those intervals will be uniform if

$$\begin{aligned} \int \limits _{\frac{b}{q}}^u g(x)\frac{{u - x}}{{b - x}}dx\mathop = \limits ^! \int \limits _{\frac{b}{q}}^u \frac{c}{{b - 1}}\frac{{u - x}}{{(q - 1)x}}dx \end{aligned}$$
$$\begin{aligned} g( x)=\frac{c}{(b-1)(q-1)}\left( \frac{b}{x}-1\right) \end{aligned}$$

The density function of start point \(g(x)\) is:

$$\begin{aligned} g( x)=\left\{ {{\begin{array}{ll} {\frac{c}{b-1}} &{} {1\le x<\frac{b}{q}} \\ {\frac{c}{(b-1)(q-1)}(\frac{b}{x}-1)} &{} {\frac{b}{q}\le x\le b} \\ \text{0 } &{} {\text{ otherwise }} \\ \end{array} }} \right. \end{aligned}$$

\(c\) value ensures that \(\int \limits _{-\infty }^{\infty } g(x)\) dx = 1, so

$$\begin{aligned} \int \limits _1^b g\left( x \right) dx&= \int \limits _1^{\frac{b}{q}} \frac{c}{{b - 1}}dx \!+\! \int \limits _{\frac{b}{q}}^b \frac{c}{{(b - 1)(q - 1)}}\left( \frac{b}{x} \!-\! 1\right) dx\\&= \frac{c(\frac{b}{q}-1)}{(b-1)}+\frac{c}{(b-1)(q-1)}[b\ln x-x]_{\frac{b}{q}}^b \\&= \frac{c(\frac{b}{q}-1)}{(b-1)}+\frac{c}{(b-1)(q-1)}\\&\times \left( b\ln b-b-b\ln \frac{b}{q}+\frac{b}{q}\right) \\&= \frac{c(\frac{b}{q}-1)}{(b-1)}\!+\!\frac{c}{(b-1)(q-1)}\left( b\ln q-b\!+\!\frac{b}{q}\right) \\&= \frac{1-q+b\ln q}{(b-1)(q-1)}c\mathop =\limits ^! 1 \\ c&= \frac{(b-1)(q-1)}{1-q+b\ln q} \end{aligned}$$

Here, we write the CDF of \(g(x)\) as follows:

$$\begin{aligned}&G\left( x \right) = \int \limits _1^x g(u)\mathrm{d}u \\&= \left\{ {\begin{array}{ll} 0&{}{x < 1}\\ {\left[ {\frac{c}{{b - 1}}} \right] _1^x = \frac{{cx}}{{b - 1}} - \frac{c}{{b - 1}} = \frac{c}{{b - 1}}(x - 1)}&{}{x \in [1,\frac{b}{q}]}\\ {K + \frac{c}{{(b - 1)(q - 1)}}\left[ {b\ln u - u} \right] _1^x = K + \frac{{c(b\,\mathrm{ln}\, x - x + 1)}}{{(b - 1)(q - 1)}}}&{}{x {\in } [\frac{b}{q},b]}\\ \mathrm{{1}}&{}{x > b} \end{array}} \right. \end{aligned}$$

where,

$$\begin{aligned} 1\mathop =\limits ^! G(b-0)&= K+\frac{c(b\ln b-b+1)}{(b-1)(q-1)}\Rightarrow \\&K=1-\frac{c(b\ln b-b+1)}{(b-1)(q-1)} \end{aligned}$$

Here, we check if \(G(x)\) between \(x\in [1,\frac{b}{q}]\) and \(x\in [\frac{b}{q},b]\) is continuous by plugging in \(x=\frac{b}{q}\) to

$$\begin{aligned}&G\left( x \right) :\left( \frac{b}{q} - 1\right) \frac{c}{{b - 1}}\mathop = \limits ^! 1 - \frac{{c(b\ln b - b + 1)}}{{(b - 1)(q - 1)}} + \frac{{c\left( b\ln \frac{b}{q} - \frac{b}{q} + 1\right) }}{{(b - 1)(q - 1)}}\\&\frac{c}{{(b - 1)(q - 1)}}\left( b - q - \frac{b}{q} + 1\right) \mathop = \limits ^! \frac{c}{{(b - 1)(q - 1)}}\\&\quad \times \left( {\frac{{(b - 1)(q - 1)}}{c} - b\ln b + b - 1 + b\ln \frac{b}{q} - \frac{b}{q} + 1} \right) \\&\frac{c}{{(b - 1)(q - 1)}}\left( b - q - \frac{b}{q} + 1\right) \mathop = \limits ^! \frac{c}{{(b - 1)(q - 1)}}\\&\quad \times \left( {\frac{{(b - 1)(q - 1)}}{c} + b\ln \frac{1}{q} + b - \frac{b}{q}} \right) \\&\frac{c}{{(b - 1)(q - 1)}}\left( b - q - \frac{b}{q} + 1\right) \mathop = \limits ^! \frac{c}{{(b - 1)(q - 1)}}\\&\quad \times \left( {(b - 1)(q - 1)\frac{{1 - q + b\ln q}}{{(b - 1)(q - 1)}} + b\ln \frac{1}{q} + b - \frac{b}{q}} \right) \\&\frac{c}{{(b - 1)(q - 1)}}\left( b - q - \frac{b}{q} + 1\right) \mathop = \limits ^! \frac{c}{{(b - 1)(q - 1)}}\\&\quad \times \left( 1 - q + b\ln q + b\ln \frac{1}{q} + b - \frac{b}{q}\right) \\&\frac{c}{{(b - 1)(q - 1)}}\left( b - q - \frac{b}{q} + 1\right) = \frac{c}{{(b - 1)(q - 1)}}\left( b - q - \frac{b}{q} + 1\right) \end{aligned}$$

So, \(G(x)\) between \(x\in [1,\frac{b}{q}\)] and \(x\in [\frac{b}{q},b\)] is continuous. Plugging in \(c\) value and \(K\) value, we rewrite \(G(x)\) as follows:

$$\begin{aligned} G(x) = \left\{ {\begin{array}{ll} 0&{}{x < 1}\\ {\frac{{q - 1}}{{1 - q + b\,\mathrm{ln}\,q}}(x - 1)}&{}{x \in [1,\frac{b}{q}]}\\ {1 - \frac{{b\, \mathrm{ln}\, b - b + 1}}{{1 - q + b\, \mathrm{ln}\, q}} + \frac{{b\, \mathrm{ln}\, x - x + 1}}{{1 - q + b\, \mathrm{ln}\, q}}}&{}{x \in [\frac{b}{q},b]}\\ \mathrm{{1}}&{}{x > b} \end{array}} \right. \end{aligned}$$

Here, we use an inverse transform technique to generate the start point \(x\) from a random value \(R~\)= UNIF(0,1). Assume \(r = 1- q + b\) ln \(q\), and \(\kappa =1-\frac{b\ln b-b+1}{1-q+b\ln q}\)

For \(x\in [1,\frac{b}{q}\)]

$$\begin{aligned} R=\frac{q-1}{r}(x-1) \end{aligned}$$

and for \(x\in [\frac{b}{q},b\)]

$$\begin{aligned} R=\kappa +1/r( {b\ln x-x+1}) \end{aligned}$$

Thus start point \(x\) is generated by

$$\begin{aligned} \left\{ {{\begin{array}{ll} {x=1+\frac{rR}{q-1}} &{} {0\le R<\frac{q-1}{r}(\frac{b}{q}-1)} \\ {rR-r\kappa -1=b\ln x-x} &{} {\frac{q-1}{r}(\frac{b}{q}-1)\le R<1} \\ \end{array} }} \right. \end{aligned}$$

For \(0\le R < (q-1/r)(b/q-1)\), we generate the start point \(x\) from \(x = 1+ rR/(q-1)\), and for \((q-1/r)(b/q-1)\le R < 1\), we set \(x~\)= 100, and then use a do-loop to look for \(x\). We decrease \(x\) by setting \(x = x-1\) in each loop until we find an \(x\) that satisfies the equation \( rR - r\kappa -1\le b\) ln \(x-x\).

1.2 Pseudo-code for Cases 1–9

figure a

Rights and permissions

Reprints and permissions

About this article

Cite this article

Lin, Y.K., Pfund, M.E. & Fowler, J.W. Processing time generation schemes for parallel machine scheduling problems with various correlation structures. J Sched 17, 569–586 (2014). https://doi.org/10.1007/s10951-013-0347-8

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10951-013-0347-8

Keywords

Navigation