Skip to main content
Log in

Energetic reasoning for energy-constrained scheduling with a continuous resource

  • Published:
Journal of Scheduling Aims and scope Submit manuscript

Abstract

This paper addresses a scheduling problem with continuous resources and energy constraints. Given a set of non-preemptive activities, each activity requires a continuously divisible resource whose instantaneous usage is limited in maximum and minimum, its processing satisfying a time window and a total energy (time \(\times \) resource-usage) requirement. The goal consists of getting a schedule satisfying all the constraints. The problem, which we refer to as the Energy-Constrained Scheduling Problem with Continuous Resources (CECSP), is a generalization of the well-known cumulative scheduling problem for which the “energetic reasoning” or “left-shift/right-shift” necessary feasibility condition yielded a popular polynomially computable satisfiability test. The paper presents a generalization of the energetic reasoning for the CECSP, defining precisely the activity minimum consumptions and exhibiting a polynomial number of relevant time intervals on which it is sufficient to apply the satisfiability tests. A strongly polynomial energetic reasoning satisfiability test can be derived for the considered generalization, which also yields a short proof for the complexity of the original algorithm. Some limits of the approach, as well as an approximation framework for more general resource consumption functions, are also addressed.

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
Fig. 7

Similar content being viewed by others

References

  • Artigues, C., Lopez, P., & Haït, A. (2013). The energy scheduling problem: Industrial case study and constraint propagation techniques. International Journal of Production Economics, 143(1), 13–23.

    Article  Google Scholar 

  • Baptiste, P., Le Pape, C., & Nuijten, W. (1999). Satisfiability tests and time-bound adjustments for cumulative scheduling problems. Annals of Operations research, 92, 305–333.

    Article  Google Scholar 

  • Baptiste, P., Le Pape, C., & Nuijten, W. (2001). Constraint-based scheduling. Boston, MA: Kluwer Academic Publishers.

    Book  Google Scholar 

  • Barketau, M. S., Kovalyov, M. Y., Machowiak, M., & Wȩglarz, J. (2014). Scheduling arbitrary number of malleable tasks on multiprocessor systems. Bulletin of the Polish Academy of Sciences: Technical Sciences, 62(2), 255–261.

    Google Scholar 

  • Beldiceanu, N., & Poder, E. (2007). A continuous multi-resources cumulative constraint with positive-negative resource consumption-production. In P. Van Hentenryck & L. Wolsey (Eds.), CPAIOR 2007 LNCS (Vol. 4510, pp. 214–228). Berlin: Springer.

    Google Scholar 

  • Berthold, T., Heinz, S., & Schulz, J. (2011). An approximative criterion for the potential of energetic reasoning. In A. Marchetti-Spaccamela & M. Segal (Eds.), TAPAS 2011 LNCS (Vol. 6595, pp. 229–239). Berlin: Springer.

    Google Scholar 

  • Błażewicz, J., Ecker, K. H., Pesch, E., Schmidt, G., & Wȩglarz, J. (1996). Scheduling computer and manufacturing processes. Berlin: Springer.

    Google Scholar 

  • Błażewicz, J., Kovalyov, M. Y., Machowiak, M., Trystram, D., & Wȩglarz, J. (2006). Preemptable malleable task scheduling problem. IEEE Transactions on Computers, 55(4), 486–490.

    Article  Google Scholar 

  • Coelho, J., & Vanhoucke, M. (2011). Multi-mode resource-constrained project scheduling using RCPSP and SAT solvers. European Journal of Operational Research, 213(1), 73–82.

    Article  Google Scholar 

  • Erschler, J., Lopez, P. (1990). Energy-based approach for task scheduling under time and resources constraints. In 2nd International Workshop on Project Management and Scheduling (pp. 115–121). France: Compiègne.

  • Fündeling, C.-U., & Trautmann, N. (2010). A priority-rule method for project scheduling with work-content constraints. European Journal of Operational Research, 203(3), 568–574.

    Article  Google Scholar 

  • Gaoua, Y., Caux, S., Lopez, P. (2013). Energy management for an electric vehicle based on combinatorial modeling. In 5th International Conference on Industrial Engineering and Systems Management (IESM 2013). Morocco: Rabat.

  • Horbach, A. (2010). A Boolean satisfiability approach to the resource-constrained project scheduling problem. Annals of Operations Research, 181, 89–107.

    Article  Google Scholar 

  • Irani, S., & Pruhs, K. (2005). Algorithmic problems in power management. SIGACT News, 36(2), 63–76.

    Article  Google Scholar 

  • Jacomino, M., & Le, M.-H. (2012). Robust energy planning in buildings with energy and comfort costs. 4OR, 10(1), 81–103.

    Article  Google Scholar 

  • Lizarralde, I., Esquirol, P., & Rivière, A. (2011). A decision support system to schedule design activities with interdependency and resource constraints. Projectics / Proyéctica / Projectique, 1(7), 89–103.

    Article  Google Scholar 

  • Lopez, P., Esquirol, P. (1996). Consistency enforcing in scheduling: A general formulation based on energetic reasoning. In 5th International Workshop on Project Management and Scheduling (pp. 155–158). Poland: Poznań.

  • Mercier, L., & Van Hentenryck, P. (2007). Strong polynomiality of resource constraint propagation. Discrete Optimization, 4, 288–314.

  • Nolde, K., & Morari, M. (2010). Electrical load tracking scheduling of a steel plant. Computers and Operations Research, 34(11), 1899–1903.

  • Ranjbar, M., De Reyck, B., & Kianfar, F. (2009). A hybrid scatter search for the discrete time/resource trade-off problem in project scheduling. European Journal of Operational Research, 193(1), 35–48.

    Article  Google Scholar 

  • Schutt, A., Feydy, T., Stuckey, P. J., & Wallace, M. (2011). Explaining the cumulative propagator. Constraints, 16(3), 173–194.

  • Schutt, A., Feydy, T., Stuckey, P. J., & Wallace, M. (2013). Solving RCPSP/max by lazy clause generation. Journal of Scheduling, 16(3), 273–289.

    Article  Google Scholar 

  • van den Akker, J. M., Diepen, G., & Hoogeveen, J. A. (2007). A column generation based destructive lower bound for resource constrained project scheduling problems. In P. Van Hentenryck & L. Wolsey (Eds.), CPAIOR 2007 LNCS (Vol. 4510, pp. 376–390). Berlin: Springer.

    Google Scholar 

  • Vilím, P. (2009). Max energy filtering algorithm for discrete cumulative resources. In W.-J. Van Hoeve & J. N. Hooker (Eds.), CPAIOR 2009 LNCS (Vol. 5547, pp. 294–308). Berlin: Springer.

    Google Scholar 

  • Waligóra, G. (2011). Heuristic approaches to discrete-continuous project scheduling problems to minimize the makespan. Computational Optimization and Applications, 48(2), 399–421.

    Article  Google Scholar 

  • Wȩglarz, J. (1981). Project scheduling with continuously-divisible, doubly constrained resources. Management Science, 27(9), 1040–1053.

Download references

Acknowledgments

This research was part of OCrE project supported by CNRS/INSIS (Centre National de la Recherche Scientifique/Institut des Sciences de l’Ingénierie et des Systèmes). The authors are indebted to David Rivreau for enlightening discussions. A preliminary version of this work was presented as a “Late breaking abstract” at CPAIOR 2011, Berlin, and we thank an anonymous referee for pointing out to us the interest of studying the fixed start time case. Finally, the authors warmly thank Margaux Nattaf for her help on improving the revised version of the paper.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Christian Artigues.

Appendix—Proof of theorem 3

Appendix—Proof of theorem 3

Proof

We enumerate all possible configurations concerning the parameters of an activity, starting with the minimum requirement \(b_i^{\min }\).

1.1 Case \(b_i^{\min }=0\)

We now focus on the case where \(b_i^{\min }=0\) (corresponding to the continuous variant of fully elastic problem (Baptiste et al. 1999)). The break line segments of the minimum energy consumption piecewise linear function of such an activity are displayed in Fig. 2, and obtained as follows.

In this case, for any interval \([t_1,t_2]\) strictly included in \([r_i,d_i]\), the minimum required energy consumption in \([t_1,t_2]\) is attained by scheduling as much energy as possible before \(t_1\) and after \(t_2\). Hence, the energy is clearly equal to \(\max (0,W_i-(t_1-r_i)b_i^{\max }-(d_i-t_2)b_i^{\max })\). This yields

$$\begin{aligned}&\!\!\!\!\underline{w}(i, t_1, t_2)\\&=\!\left\{ \!\begin{array}{ll} 0&{}\ \text{ if } W_i\!-\!(t_1\!-\!r_i)b_i^{\max }\!-\!(d_i\!-\!t_2)b_i^{\max }\!\le \! 0\\ W_i\!-\!(t_1\!-\!r_i)b_i^{\max }\\ -(d_i\!-\!t_2)b_i^{\max }&{}\ \text{ otherwise } \end{array}\right. \end{aligned}$$

In the triangle defined by inequalities \(t_1\ge r_i\), \(t_1+t_2\le r_i+d_i\) and \(t_2\ge t_1\), the points for which the minimum required energy is non-zero are precisely such that \(t_2-t_1\ge d_i-r_i -W_i/b_i^{\max }\).

The line \(t_2-t_1 = d_i-r_i -W_i/b_i^{\max }\) is parallel to line \(t_2=t_1\). It intersects line \(t_1=r_i\) at point \(D=(r_i,s_i^{\max })\) and line \(t_1+t_2=r_i+d_i\) at point \(E=(r_i+W_i/2b_i^{\max },d_i-W_i/2b_i^{\max })\), respectively. From this analysis, it follows that we have inside the triangle two regions separated by the segment joining this two points on which the energy is linear.

By applying the symmetry property, we obtain the full description of the minimum energy consumption in the case \(b_i^{\min }=0\) as depicted in Fig. 2. Points indicated with a prime (i.e., \(D'\) and \(C'\)) have been obtained by symmetry. The function is linear inside three polygons (that can de decomposed in seven convex polygons). In the polygon hatched with horizontal lines, we have \(\underline{w}(i, t_1, t_2)=W_i\). In the polygon(s) hatched with vertical lines, we have \(\underline{w}(i, t_1, t_2)=W_i-(t_1-r_i+d_i-t_2)b_i^{\max }\). In the gray polygon(s), we have \(\underline{w}(i, t_1, t_2)=0\). Nodes indicated with a square are the intersection points of break line segments. Circle points correspond to intersections of a break line of \(\underline{w}(i, t_1, t_2)\) with boundary \(t_1=d^{\max }\) and \(t_2=r^{\min }\), which are break line segments of the mandatory consumption of activities \(\arg \!\min _{j\in {\mathcal {A}}}r_j=r^{\min }\) and \(\arg \!\max _{j\in {\mathcal {A}}}d_j=d^{\max }\). Hence for slack computation one has to consider the five break line segments involving at least one square point.

1.2 Case \(b_i^{\min }>0\)

We now assume that there is a non-zero lower bound for the activity requirement. We first characterize the subregions on which the mandatory consumption is minimal and the ones on which it is maximal, which yields two configurations displayed in Fig. 8 and obtained as follows.

Fig. 8
figure 8

Minimal and maximal consumption regions (\(r_i=3,d_i=10,b_i^{\max }=5\)). a \(e_i^{\min }\!\le \! s_i^{\max } (W_i\!=\!10)\). b \(e_i^{\min }\!\ge \! s_i^{\max } (W_i\!=\!20)\)

We reason only on triangle \((A,B,C)\) as the expression on the rest of the polygon \(P\) can be obtained by applying the properties established in Lemmas 1 and 2. Note that the minimum required energy is \(0\) in the triangle \((A,B,C)\) as this value reached by setting \(t_2=t_1\) and the maximum required energy is \(W_i\) is attained in \(A\) (and only in \(A\)) as already observed.

Looking at the geometry of the subregions in triangle \((A,B,C)\), the line \(t_2=d_i-W_i/b_i^{\max }\) (below which the required energy is \(0\) as expressed in configuration (a)) crosses line \(t_1=r_i\) at the already defined point \(D=(r_i,s_i^{\max })\) (which belongs to segment \(\overline{AC}\)), line \(t_1+t_2=r_i+d_i\) at point \(F=(e_i^{\min },s_i^{\max })\) and line \(t_2=t_1\) at point \(G=(s_i^{\max },s_i^{\max })\).

\(F\) belongs to the triangle \((A,B,C)\) if and only if \(F\) is located on segment \(\overline{AB}\). For this, the four following inequalities must be satisfied:

$$\begin{aligned} \begin{array}{l} e_i^{\min }\ge r_i \\ e_i^{\min }\le (r_i+d_i)/2 \\ s_i^{\max }\le d_i \\ s_i^{\max }\ge (r_i+d_i)/2 \end{array} \end{aligned}$$

The first and third inequalities are always satisfied. The second and fourth inequalities are equivalent to inequality

$$\begin{aligned} r_i+W_i/b_i^{\max }\le d_i-W_i/b_i^{\max } \end{aligned}$$
(19)

\(G\) is located on segment \(\overline{BC}\) if the reverse inequality holds.

Focusing now on line \(t_1=r_i+W_i/b_i^{\max }\) (to the right of which the minimum required energy is 0 as stated by condition (c)), a similar reasoning shows that it intersects line \(t_1+t_2=r_i+d_i\) also at point \(F\) and line \(t_2=t_1\) at point \(G'=(r_i+W_i/b_i^{\max },r_i+W_i/b_i^{\max })\). Point \(G'\), as the symmetric point of \(G\) with respect to axis \(t_1+t_2=r_i+d_i\), belongs to \(\overline{BC}\) if (19) holds.

The regions on which the energy is maximal (\(W_i\)) are displayed in horizontal lines and the regions on which the energy is minimal (\(0\)) are displayed in gray. Hence we have now two cases to consider to establish the expression of the minimum required energy when it is neither minimal nor maximal (except at the boundaries). If \(r_i+W_i/b_i^{\max }\le d_i-W_i/b_i^{\max }\), we have to establish the expression of the energy consumption in triangle \((A,D,F)\). If \(r_i+W_i/b_i^{\max }\ge d_i-W_i/b_i^{\max }\) the expression must be established in polygon \((A,B,G,D)\).

1.3 Case \(b_i^{\min }=b_i^{\max }=b_i\)

Let us first establish the minimum energy consumption expression in the particular case where \(b_i^{\min }=b_i^{\max }\), i.e., the standard cumulative case, as considered in Baptiste et al. (1999). We obtain as follows two possible configurations of the break line segments (Fig. 3).

Consider the case where \(r_i+W_i/b_i\le d_i-W_i/b_i\) (see Fig. 8a). Any point \((t_1,t_2)\) located in triangle \((A,D,F)\) verifies \(t_2\ge d_i-W_i/b_i\). Since we have also \(t_1+t_2\le r_i+d_i\), we have by subtracting the inequalities, \(t_1\le r_i+W_i/b_i\), which means that globally

$$\begin{aligned} r_i\le t_1\le r_i+W_i/b_i \le d_i-W_i/b_i \le t_2\le d_i \end{aligned}$$

As \(b_i^{\min }=b_i^{\max }=b_i\), left shifting the activity before \(t_1\) yields a consumption inside the interval of \((r_i+W_i/b_i-t_1)b_i=W_i-(t_1-r_i)b_i\). Right shifting the activity after \(t_2\) yields a consumption inside the interval of \((t_2-d_i+W_i/b_i)b_i=W_i-(d_i-t_2)b_i\). As \(d_i-t_2\ge t_1-r_i\), the minimal consumption inside \((A,D,F)\) is equal to \(W_i-(d_i-t_2)b_i\). The geometry of the subregion is displayed in Fig. 3a. By symmetry, the minimal consumption inside triangle \((A,D',F)\) is equal to \(W_i-(t_1-r_i))b_i\). To sum up, in the polygon hatched with horizontal lines the energy is maximal (\(W_i\)), in the gray polygons the energy is minimal (0), in the polygon hatched with descending diagonal lines the energy is equal to \(W_i-(d_i-t_2)b_i\), while in the polygon hatched with ascending diagonal lines the energy is equal to \(W_i-(t_1-r_i))b_i\). There are five break line segments to consider for slack computation.

Consider now the case where \(r_i+W_i/b_i\ge d_i-W_i/b_i\) (see Fig. 8b). We consider two subcases. If \(t_1\ge d_i-W_i/b_i\), as we have also \(t_1+t_2\le r_i+d_i\), this yields \(t_2\le r_i + W_i/b_i\). Because \(r_i+W_i/b_i\ge d_i-W_i/b_i\) and \(b_i^{\min }=b_i^{\max }=b_i\), the minimum consumption is equal to \(b_i(t_2-t_1)\). Oppositely, if \(t_1\le d_i-W_i/b_i\), right shifting \(i\) after \(t_2\), while considering that \(b_i^{\min }=b_i^{\max }=b_i\) yields a consumption of \((t_2-d_i+W_i/b_i)b_i=W_i-(d_i-t_2)b_i\). With similar argument as Fig. 8a case, it can be shown that this value is larger than the one obtained by left shifting the activity before \(t_1\). Clearly for this case, we obtain two subregions of \((A,B,G,D)\) on which the minimum consumption is linear, separated by line \(t_1= d_i-W_i/b_i\). This lines starts at \(G\) and crosses segment \(\overline{AB}\) at point \(H=(d_i-W_i/b_i,r_i+W_i/b_i)\). This is illustrated in Fig. 3b. By symmetry, we also obtain two subregions of \((A,D',G',H)\) on which the energy consumption is linear. Overall, we have six convex polygons defining the piecewise linear function. In the polygon hatched with horizontal lines, the consumption is maximal (\(W_i\)). On the gray polygons, the consumption is minimal (\(0\)). In the polygon hatched with descending diagonal lines, the energy consumption is equal to \(W_i-(d_i-t_2)b_i\). In the polygon hatched with ascending diagonal lines, the energy is equal to \(W_i-(t_1-r_i)b_i\). In the crosshatched polygon, it is equal to \((t_2-t_1)b_i\). There are seven break line segments to consider for slack computation.

1.4 Case \(0<b_i^{\min }<b_i^{\max }\)

In this case we have four configurations for the break line segments that are displayed in Figs. 4 and 5. We obtain these configurations as follows.

We have identified two subcases depending on the relative ordering of the earliest end time \(r_i+W_i/b_i^{\max }\) and the latest start time \(d_i-W_i/b_i^{\max }\). If \(r_i+W_i/b_i^{\max }\le d_i-W_i/b_i^{\max }\) we have to establish the expression of the minimum consumption inside triangle \((A,D,F)\) (see Fig. 8a). If, oppositely, \(r_i+W_i/b_i^{\max }\ge d_i-W_i/b_i^{\max }\), we have to establish the expression of the minimum consumption inside polygon \((A,B,G,D)\) (see Fig. 8b). In both cases, we have \(r_i\le t_1\le r_i+W_i/b_i^{\max }\) and \(d_i-W_i/b_i^{\max }\le t_2\le d_i\). Before \(t_1\), a maximal consumption of \((t_1-r_i)b_i^{\max }\) can be scheduled. After \(t_2\), a maximal consumption of \((d_i-t_2)b_i^{\max }\) can be scheduled. As \(t_1+t_2\le r_i + d_i\Leftrightarrow t_1-r_i\le d_i-t_2\), the minimal consumption inside \([t_1,t_2]\) can always be attained by right shifting the activity in its time window. Hence there remains \(W_i-(d_i-t_2)b_i^{\max }\) units to schedule before \(t_2\). Can we have a minimal energy larger than \((t_2-t_1)b_i^{\min }\) inside \([t_1,t_2]\) ? This can only happen if \(W_i-(d_i-t_2)b_i^{\max }-(t_1-r_i)b_i^{\max }\ge (t_2-t_1)b_i^{\min }\), which can be written \(t_2-t_1\ge \frac{b_i^{\max }(d_i-r_i)-W_i}{b_i^{\max }-b_i^{\min }}\). In both polygons \((A,D,F)\) and \((A,B,G,D)\) point \(A=(r_i,d_i)\) maximizes \(t_2-t_1\). For \(A\) to satisfy the inequality, we must have \(d_i-r_i\ge \frac{b_i^{\max }(d_i-r_i)-W_i}{b_i^{\max }-b_i^{\min }}\implies b_i^{\min }(d_i-r_i)\le W_i\)

  1. 1.

    We first consider the case where \(b_i^{\min }(d_i-r_i)\ge W_i\), i.e., the activity can be scheduled at the minimum requirement during all its processing. Hence, both in \((A,D,F)\) and in \((A,B,G,D)\), we have a minimum energy consumption lower than or equal to \((t_2-t_1)b_i^{\min }\). This leads, for the break line segments, to the two configurations displayed in Fig. 4. Note that the two configurations for activities with \(b_i^{\min }=b_i^{\max }\) displayed in Fig. 3 are particular cases of configurations presented here. To have the minimum energy precisely equal to \((t_2-t_1)b_i^{\min }\), we must have \(W_i-(d_i-t_2)b_i^{\max }\ge (t_2-t_1)b_i^{\min }\), which can be written \(b_i^{\min }t_1+(b_i^{\max }-b_i^{\min })t_2\ge d_i b_i^{\max } - W_i\). We can check under which conditions the inequality is verified for each of the extreme points of \((A,D,F)\) and \((A,B,G,D)\).

    1. (a)

      Let us focus first on \((A,D,F)\) for the case \(r_i+W_i/b_i^{\max }\le d_i-W_i/b_i^{\max }\). For \(A=(r_i,d_i)\), we get \((d_i-r_i)b_i^{\min }\le W_i\), which is never satisfied under our set of hypothesis. For \(D=(r_i,d_i-W_i/b_i^{\max })\), we have a smaller l.h.s. and, consequently the inequality is never satisfied. For \(F=(r_i+W_i/b_i^{\max },d_i-W_i/b_i^{\max })\), we obtain \(r_i+W_i/b_i^{\max }\ge d_i-W_i/b_i^{\max }\), which is in contradiction with our hypothesis. Consequently, in \((A,D,F)\) the minimum energy consumption is equal to \(W_i-(d_i-t_2)b_i^{\max }\).

    2. (b)

      Consider now \((A,B,G,D)\) for the case \(r_i+W_i/b_i^{\max }\ge d_i-W_i/b_i^{\max }\). For \(G=(d_i-W_i/b_i^{\max },d_i-W_i/b_i^{\max }\)), the condition is always satisfied as \(G\) actually belongs to line \(b_i^{\min }t_1+(b_i^{\max }-b_i^{\min })t_2= d_i b_i^{\max } - W_i\). For \(B=(\frac{r_i+d_i}{2},\frac{r_i+d_i}{2})\), the condition becomes \(r_i+W_i/b_i^{\max }\ge d_i-W_i/b_i^{\max }\), which is also always satisfied in the considered case. It follows that, from a geometrical point of view, line \(b_i^{\min }t_1+(b_i^{\max }-b_i^{\min })t_2= d_i b_i^{\max } - W_i\) crosses the polygon at \(G\) and intersects segment \(\overline{AB}\) at point \(H=\left( \frac{r_i(b_i^{\max }-b_i^{\min })-d_ib_i^{\min }+W_i}{b_i^{\max }-2 b_i^{\min }},\frac{d_i(b_i^{\max }-b_i^{\min })-r_ib_i^{\min }-W_i}{b_i^{\max }-2b_i^{\min }}\right) \).

    The two subcases are illustrated in Fig. 4 for an activity with \(r_i=3\), \(d_i=10\), and \(b_i^{\max }=5\). Fig. 4a corresponds to the case where \(W_i=10\) and \(b_i^{\min }=2\). We see that in this configuration, for which \(b_i^{\min }(d_i-r_i)\ge W_i\) and \(r_i+W_i/b_i^{\max }\le d_i-W_i/b_i^{\max }\) hold, the minimum required energy is maximal in the polygon hatched with horizontal lines, equal to \(W_i-(d_i-t_2)b_i^{\max }\) in the polygon hatched with descending diagonal lines and equal to \(W_i-(t_1-r_i)b_i^{\max }\) in the polygon hatched with ascending diagonal lines. Elsewhere, the minimum required energy is equal to 0. There are five break line segments to consider for minimum slack computation. Figure 4b illustrates the case where \(W_i=20\) and \(b_i^{\min }=4\), which belongs to the configuration where \(b_i^{\min }(d_i-r_i)\ge W_i\) and \(r_i+W_i/b_i^{\max }\ge d_i-W_i/b_i^{\max }\) hold. We observe the additional case where the minimum required energy is equal to \(b_i^{\min }(t_2-t_1)\), inside the crosshatched polygon \((H,G,G')\). This gives seven break line segments to consider.

  2. 2.

    We now consider the complementary case where \(b_i^{\min }(d_i-r_i)\le W_i\), i.e., the activity cannot be scheduled at its minimal requirement during all its processing. This leads, for the break line segments, to the two configurations displayed in Fig. 5. We know that in both polygons \((A,D,F)\) and \((A,B,G,D)\) point \(A=(r_i,d_i)\) verifies inequality \(t_2-t_1\ge \frac{b_i^{\max }(d_i-r_i)-W_i}{b_i^{\max }-b_i^{\min }}\). We also see that for point \(D=(r_i,d_i-W_i/b_i^{\max })\), \(t_2-t_1\le \frac{b_i^{\max }(d_i-r_i)-W_i}{b_i^{\max }-b_i^{\min }}\) is always satisfied. Hence line \(t_2-t_1= \frac{b_i^{\max }(d_i-r_i)-W_i}{b_i^{\max }-b_i^{\min }}\) crosses segment \(\overline{AD}\) at point \(I=(r_i,\frac{d_ib_i^{\max }-r_ib_i^{\min }-W_i}{b_i^{\max }-b_i^{\min }})\) and line \(t_1+t_2=r_i+d_i\) at point

    $$\begin{aligned} J&= \left( \frac{2b_i^{\max }r_i-b_i^{\min }(r_i+d_i)+W_i}{2(b_i^{\max }-b_i^{\min })},\right. \\&\left. \frac{2b_i^{\max }d_i-b_i^{\min }(d_i+r_i)-W_i}{2(b_i^{\max }-b_i^{\min })}\right) . \end{aligned}$$

    All points located in triangle \((A,I,J)\) consequently verify \(\underline{w}(i,t_1,t_2)=W_i-b_i^{\max }(t_1-r_i)-b_i^{\max }(d_i-t_2)\), while all points located in polygons \((I,J,D,F)\) or \((I,J,B,G,D)\) have a minimal consumption not larger than \(b_i^{\min }(t_2-t_1)\). We want to characterize the subregions of these polygons for which the minimal consumption is precisely equal to \(b_i^{\min }(t_2-t_1)\). For each such point \((t_1,t_2)\), we must have \(W_i-(d_i-t_2)b_i^{\max }\ge (t_2-t_1)b_i^{\min }\), which can be written as \(b_i^{\min }t_1+(b_i^{\max }-b_i^{\min })t_2\ge d_i b_i^{\max } - W_i\). We can check under which conditions the inequality is verified for each of the extreme points of \((I,J,D,F)\) and \((I,J,B,G,D)\). \(I\) is precisely the intersection point of segment \(\overline{AD}\) and line \(b_i^{\min }t_1+(b_i^{\max }-b_i^{\min })t_2= d_i b_i^{\max } - W_i\). As this line has a negative slope of \(-b_i^{\min }/(b_i^{\max }-b_i^{\min })\), it defines a non-empty region in the considered polygons. We can easily notice that the line crosses line \(t_2=d_i-W_i/b_i^{\max }\) at point \(G\). This leads us to consider two subcases.

    1. (a)

      For polygon \((A,D,F)\), which corresponds to the case where \(r_i+W_i/b_i^{\max }\le d_i-W_i/b_i^{\max }\), \(G\) is after \(F\) on line \(t_2=d_i-W_i/b_i^{\max }\). Hence line \(b_i^{\min }t_1+(b_i^{\max }-b_i^{\min })t_2= d_i b_i^{\max } - W_i\) crosses segment \(\overline{AF}\) at point \(H = (\frac{r_i(b_i^{\max }-b_i^{\min })-d_ib_i^{\min }+W_i}{b_i^{\max }-2 b_i^{\min }},\frac{d_i(b_i^{\max }-b_i^{\min })-r_ib_i^{\min }-W_i}{b_i^{\max }-2b_i^{\min }})\), already considered for a previous configuration. To summarize there are three regions to consider inside polygon \((A,D,F)\): triangle \((A,I,J)\) on which the minimum energy consumption is equal to \(W_i-b_i^{\max }(t_1-r_i)-b_i^{\max }(d_i-t_2)\), triangle \((I,J,H)\) inside which the minimum energy consumption is equal to \(b_i^{\min }(t_2-t_1)\), and polygon \((I,H,D,F)\) inside which the minimum energy consumption is equal to \(W_i-(d_i-t_2)b_i^{\max }\).

    2. (b)

      For polygon \((A,B,G,D)\), which corresponds to the case where \(r_i+W_i/b_i^{\max }\le d_i-W_i/b_i^{\max }\), we directly obtain a decomposition in three subregions: triangle \((A,I,J)\) inside which the minimum energy consumption is equal to \(W_i-b_i^{\max }(t_1-r_i)-b_i^{\max }(d_i-t_2)\), polygon \((I,J,B,G)\) inside which the minimum energy consumption is equal to \(b_i^{\min }(t_2-t_1)\), and triangle \((I,D,G)\) inside which the minimum energy consumption is equal to \(W_i-(d_i-t_2)b_i^{\max }\).

    The two configurations corresponding to the case \((d_i-r_i)b_i^{\min }\le W_i\), are illustrated in Fig. 5. Using the symmetry of the minimum consumption, we obtain the displayed polygons in which the minimum consumption is linear. The polygon hatched with horizontal lines corresponds to \(\underline{w}(i,t_1,t_2)=W_i\), the white polygon corresponds to the case where \(\underline{w}(i,t_1,t_2)=W_i-b_i^{\max }(t_1-r_i)-b_i^{\max }(d_i-t_2)\), the crosshatched polygon corresponds to the case where \(\underline{w}(i,t_1,t_2)=b_i^{\min }(t_2-t_1)\), the polygons hatched with descending diagonal lines correspond to the case where \(\underline{w}(i,t_1,t_2)=W_i-(d_i-t_2)b_i^{\max }\), the polygons hatched with ascending diagonal lines correspond to the case where \(\underline{w}(i,t_1,t_2)=W_i-(t_1-r_i)b_i^{\max }\). For Fig. 5a configuration, one has ten break line segments to consider, whereas for Fig. 5b configuration, we obtain nine break line segments. Note that the continuous fully elastic case (Fig. 2) is particular case of both the cases of Fig. 5 where the areas hatched by diagonal lines or crosshatched do not appear.\(\square \)

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Artigues, C., Lopez, P. Energetic reasoning for energy-constrained scheduling with a continuous resource. J Sched 18, 225–241 (2015). https://doi.org/10.1007/s10951-014-0404-y

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10951-014-0404-y

Keywords

Navigation