1 Introduction

Optimal control of complex manufacturing systems is still a quite challenging research objective. In fact, several authors (Buzacott and Shantikumar 1993; Gershwin 1994; Sethi and Zhang 1994; Yao 1994) have developed comprehensive approaches for the control of manufacturing systems. Nevertheless, most of such approaches make use of continuous-valued variables to represent the system dynamics and, thus, are not suitable when it is necessary to represent the intrinsic discrete event nature of manufacturing systems. On the other hand, the control of discrete event systems has received increasing attention by researchers (Ramadge and Wonham 1987, 1989; Cassandras and Lafortune 1999) for some years, even though the obtained results mainly refer to the so-called “logical” or “structural” control problems, i.e., to problems where the timing aspects are not considered. However, stating and solving significant control problems in a manufacturing environment cannot neglect timing aspects. In this respect, it must be noted that the results concerning optimal control of timed discrete event systems have not yet reached a satisfying level, as concerns their generality and practical applicability. Actually, this is not very surprising, since most control problems for timed discrete event models are equivalent to NP-hard scheduling problems.

As a matter of fact, in the literature concerning machine scheduling, many contributions may be found, as regards models with controllable (i.e., variable) processing times, starting from Vickson’s work (Vickson 1980). In Ng et al. (2003), a single machine problem in which processing times are linear functions of the amount of resource assigned to each job is stated and solved. Optimal sequencing, together with the determination of the optimal processing times and of an optimal common due date, is considered in Panwalkar and Rajagopalan (1992) where the cost to be minimized is composed of earliness and tardiness costs and the total processing cost. In Aicardi et al. (2008) a scheduling problem for a single machine serving a set of jobs within a generalized due dates scheme and again with controllable execution times is considered. Variable processing times in production schemes with multiple machines are, instead, addressed in Alidaee and Ahmadian (1993) and Trick (1994).

Scheduling models with controllable processing times have also been considered in control-related literature. The first results appeared in the literature (Cassandras et al. 1998; Gazarik and Wardi 1998; Pepyne and Cassandras 1998) concern optimal control of production processes over a single machine. Such contributions refer to the optimal timing of the execution of a given set of jobs on a single machine, when the service sequence is a-priori fixed. In Pepyne and Cassandras (1998) the machine speed is the only control variable, and variational techniques are used to determine optimal control policies aiming at optimizing quadratic cost functions weighting the control effort and the job completion times. In Gazarik and Wardi (1998), instead, the job release times are the control variables, and the objective is to optimize a generic function of the deviations between the completion times of jobs and the corresponding due dates. The same model adopted in Pepyne and Cassandras (1998) is considered in Cassandras et al. (1998), with reference to a more general objective function. It is worth noting that in all cases, but in the model treated in Gazarik and Wardi (1998), the application of optimal control techniques does not lead to closed-loop policies but to a set of necessary conditions for optimality. A more general (hybrid) model is considered in Cassandras et al. (2001), in which a continuous-time dynamics is explicitly modelled.

Similar problems are considered in Miao and Cassandras (2005, 2007) and in Mao and Cassandras (2007, 2009). In particular, Miao and Cassandras (2005) introduce two ways to classify optimal control problems concerning the service of a (given) sequence of jobs by one or more resources. The first classification distinguishes between off-line schemes, where the sequence of job arrival times is known in advance, and on-line schemes, where this a priori information is not available. The second classification distinguishes between dynamic control schemes, where the control variable (coinciding with the service speed) can vary during the service of a job, and static control schemes, where such a variation is not admitted (i.e., the service speed is a decision variable that can be chosen at the beginning of the service of a job, but has to remain unchanged till the end of that service). An important result in Miao and Cassandras (2005) is that, under certain hypotheses about the cost function, in the off-line case there is a static control scheme that is optimal, even when the use of dynamic control schemes is allowed. Both Miao and Cassandras (2005, 2007) and Mao and Cassandras (2007, 2009) deal with problems with a cost function depending only on the job service process, and they consider also hard (real-time) constraints by introducing deadlines for the various jobs. Miao and Cassandras (2007) analyze the properties of receding horizon control schemes, whose application seems suitable when only some future information is available within a certain time window. Mao and Cassandras (2007) consider two-stage discrete event systems and derive interesting optimality properties that allow a (partial) decoupling of the stages, so that efficient solutions for the single-stage problems can be used. Finally, Gokbayrak and Selvi (2007) consider a similar optimal control problem on a flow-shop, determine some important properties of the optimal solution, and introduce a two-level decomposition technique to solve the problem.

Following the same research stream, in Di Febbraro et al. (2002) a problem is considered that still regards a single machine, where the decision variables are relevant to timing of jobs, job execution speeds and lot-sizes of the jobs. The job service sequence is fixed. Each job consists of a certain number of identical operations on identical parts. Also in this case the obtained results concern necessary conditions for optimality; nevertheless, in the particular case in which the execution speeds are fixed, it is possible to determine the sequence of optimal closed-loop control policies, by applying dynamic programming techniques.

In this paper, another single machine problem is considered, in which the sizes of the jobs are fixed, as well as the service sequence, but the service times are controllable. The decision variables of such a problem are the service times of the jobs and the possible idle times inserted before the execution of the first job, or between two subsequent jobs. First, a quite general expression of the cost function is considered, consisting in a strictly convex function of the job completion and unitary processing times. In such a case, only some general properties of an optimal solution are derived. Then, a special case of this general problem is considered, where the cost function is composed of the weighted sum of the quadratic earliness and tardiness of jobs, and of the quadratic deviations of the actual unitary processing times from the nominal ones. In this case, the single machine problem turns out to be a quadratic optimization problem and may be solved by mathematical programming techniques leading to numerical solutions depending on the system initial state. However, following an approach similar to the one adopted in Di Febbraro et al. (2002), the single machine problem is solved as an optimal control problem, that is, a closed-loop solution is derived (as function of the system state).

Further, a more complex production process is considered, in which several parallel machines can be used to serve incoming jobs. The jobs are assumed to be decomposable into sub-jobs (each sub-job is assigned to one of the machines). The job splitting into sub-jobs (each one characterized by a lot-size) is the major degree-of-freedom considered in this model. In particular, it is assumed that the decision concerning the splitting of a new job cannot modify the splitting decisions relevant to the previously arrived jobs. However, it is admitted the possibility of re-optimizing the timing of the sequence of the sub-jobs assigned to a machine, for each of the parallel machines. It is important to note that no information about new jobs arriving after the present one is assumed to be available. Then, the results obtained in the first part of the paper, concerning the single machine optimization problem, can be exploited to determine the sensitivity coefficients of the optimal single machine costs with respect to the splitting parameters (i.e., the lot-sizes of the sub-jobs of the newly arrived job). On the basis of the evaluation of such sensitivity coefficients, necessary conditions for optimal splitting are derived, and a procedure to determine, at least approximately, such a splitting is presented.

The paper is organized as follows. The single machine optimization problem is introduced in Section 2, where the closed-loop solution of the problem is also determined. In Section 3, the parallel machine problem is dealt with, and in Section 4 some conclusions are drawn.

2 The single machine optimization problem

In this section, an optimization problem relevant to a single machine is stated and solved. The considered machine performs the operations required by a set of jobs J i , i = 1, ..., N. Job J i requires a number L i − 1, i = 1, ..., N, of identical operations (the index lag between J i and L i − 1 is introduced to simplify the writing of the system state equation in the following). In the considered model, it is assumed that the service for any job is non-preemptive, that no setup is required between the executions of any pair of jobs on the machine, and that all jobs are available at the initial time instant (time zero), i.e., release times are all equal to 0. Moreover, the service sequence for the machine is supposed to be fixed. The following notation will be used:

  • d i , i = 1,...,N, is the completion time of job J i ;

  • p i , i = 0,...,N − 1, is the unitary processing time for operations required by job J i + 1 (p i is assumed to be constrained within a lower and an upper bound, namely \(p_i^{\textsc{min}}\) and \(p_i^{\textsc{max}}\), due to technological constraints); it is supposed that p i cannot be changed after the service of job J i + 1 has begun;

  • \(p_i^*, \, i=0,\ldots,N-1\), is the nominal unitary processing time for operations required by job J i + 1 (obviously, \(p_i^{\textsc{min}} \leq p_i^* \leq p_i^{\textsc{max}}\));

  • w i , i = 1,...,N − 1, is a machine idle time between the completion of job J i and the activation of job J i + 1 (w i  ≥ 0); w 0 is the idle time before the activation of J 1 (w 0 ≥ 0);

  • L i , i = 0,...,N − 1, is the lot-size of job J i + 1;

  • dd i , i = 1,...,N, is the due date for job J i .

On this basis, it is possible to write the state equation for the single machine, which is given by

$$d_{i+1}=d_i+w_i+L_i p_i \qquad i=0,\ldots,N-1$$
(1)

Assuming a control-theoretic point of view, it is possible to consider the pair {w i , p i } as the control action to be taken at the i-th decision stage, i = 0, ..., N − 1. In Eq. 1, d 0 will be considered as equal to 0 and it corresponds to the initial instant at which all jobs are already processable.

The cost function to be minimized is:

$$\widetilde{\mathcal{C}} = \sum\limits_{i=1}^N c_i(d_i, p_{i-1})$$
(2)

where c i (d i , p i − 1), i = 1, ..., N, are strictly convex functions having their minimum values in \((dd_i, \, p_{i-1}^*)\), i = 1, ..., N.

The general structure of the cost function in Eq. 2 allows to penalize (in general, not in a symmetric way) both tardiness and earliness of jobs. It allows also to penalize a longer, as well as a shorter, unitary processing time, with respect to the nominal one (again, in general, without a symmetry). The choice of penalizing shorter processing times, with respect to the nominal ones, may be justified by several considerations (for instance, the necessity of using extra energy or additional resources, or a fault probability depending on the execution speed of the operation). Instead, the penalization of a longer processing time may seem more questionable. However, this conceptual difficulty is only apparent, as it will be shown that in the optimal solution no unitary processing time may be longer than its nominal value.

Note that cost given by Eq. 2 is not a regular performance measure (French 1982) since functions c i (d i , p i − 1), i = 1, ..., N, are not non-decreasing functions of the job completion times. This implies that it is not always possible to find optimal solutions of the problem in the form of semi-active solutions (in which no idle time is inserted between the execution of subsequent jobs or prior to the first job). In fact, the idle times w i , i = 0, ..., N − 1, correspond to one class of decision variables in the present model.

The single machine optimization problem can be stated as follows

Problem 1

$$\min\limits_{p_{i}, \, w_{i}, \, i=0,\ldots,N-1} \widetilde{\mathcal{C}}$$
(3)

where \(\widetilde{\mathcal{C}}\) is given by Eq. 2, subject to

$$d_{i+1} = d_i + w_i + L_i p_i \qquad i=0,\ldots,N-1$$
(4)
$$w_i\geq 0 \qquad i=0,\ldots,N-1$$
(5)
$$d_i\geq 0 \qquad i=1,\ldots,N$$
(6)
$$p_i^{\textsc{min}} \leq p_i \leq p_i^{\textsc{max}} \qquad i=0,\ldots,N-1$$
(7)

Problem 1 has the structure of a mathematical programming problem with strictly convex objective function and linear constraints.

It is worth noting that, analogously to what noticed in Pepyne and Cassandras (1998) and in Di Febbraro et al. (2002), the condition w i  > 0 (i.e., a nonzero idle time interval after the completion of job J i ) decomposes Problem 1 into two non-interacting sub-problems: the first one from J 1 to J i and the second one from J i + 1 to J N .

In general, the sequence of idle times induces a partition of the job sequence into sub-sequences \((J_1,\ldots,J_{\nu_1})\), \((J_{\nu_1+1},\ldots, J_{\nu_2}), \ldots, (J_{\nu_s+1},\ldots,J_N)\), being \(\mathcal{D} =\{\nu_j, j=1,\ldots,s\}\) the set of nonnegative indices for which \(w_{\nu_j} > 0\). Moreover, let ν 0 = 0 and ν s + 1 = N. Note that, when s = 0 (i.e., there is a unique busy block) it turns out \(\mathcal{D} = \emptyset\), ν 0 = 0, and ν 1 = N. In the following, adopting the terminology introduced in Gazarik and Wardi (1998) and Pepyne and Cassandras (1998), each sub-sequence will be called busy block, and each situation in which it is found that w i  > 0 will be indicated as a decoupling condition. The busy block structure is shown in Fig. 1.

Fig. 1
figure 1

The busy block structure

On this basis, it is possible to state the following propositions.

Proposition 1

In an optimal solution of Problem 1, for every busy block, the last job is tardy or just-in-time. Similarly, for every busy block, but the first one, the first job is early or just-in-time.

Proof

Consider the first statement. Then, suppose that it is violated, in an optimal solution, for a certain busy block, i.e., the last job of such busy block is early. This is clearly incompatible with optimality, since the execution of this job could be delayed (without modifying its unitary processing time), thus obtaining an improvement in the cost value. Similar considerations may be used to justify the second statement (note that the first busy block may have or not a preceding idle time, and that J 1 may be tardy; in the latter case, it must be w 0 = 0). □

Proposition 2

The choice of a strictly convex function ensures that, in an optimal solution, \(p_i \leq p_i^*, \, i=0,\ldots,N-1\).

Proof

Assume ab absurdo that, for a certain job J i , it turns out \(p_{i} > p^{*}_{i}\) in an optimal solution. Then, either this job is tardy or it is in time (i.e., early or just-in-time). In the first case, a reduction in the job unitary processing time would be convenient, since it would reduce (or eliminate) the tardiness of the job, and would also reduce the extra cost paid for the deviation from the nominal processing time. In the second case, a reduction of the job unitary processing time would be convenient to reduce the extra cost paid for its deviation from the nominal one, whereas the (possible) cost paid for the job earliness could be reduced or left unaltered by the insertion of an idle time, leaving unaltered the timing of the other jobs. This proves that the considered solution cannot be optimal. □

Note that, as in an optimal solution \(p_i^{\textsc{max}} \ge p_i^*\), in the statement of Problem 1 the inequality \(p_i^{\textsc{max}} \geq p_i\) can be dropped. Moreover, taking into account the structure of the state equation, the non-negativity constraints on variables d i , i = 1,...,N, are automatically satisfied and they can be neglected, too.

In order to solve Problem 1, it is of course necessary to specify the cost functions c i (d i , p i − 1), i = 1, ..., N. For a generic set of strictly convex functions c i (d i , p i − 1) the optimal solution can be found by applying mathematical programming techniques. In this way, the numerical values of the decision variables p i , w i , i = 0,...,N − 1, can be determined. However, our objective is to derive not only such numerical values but also the optimal control strategies {w i , p i } at stage i, i = 0, ..., N − 1, as functions of the system state. Then, in the remaining of this section, we consider the problem of finding closed-loop control strategies for a specific version of Problem 1 in which the following cost function is considered:

$$\begin{array}{lll} {\mathcal{C}} &=&\alpha_{N}L_{N-1}(d_N-dd_N)^2+\sum\limits_{i=1}^{N-1} \Big[ \alpha_{i}L_{i-1}(d_i-dd_i)^2+\gamma_{i}L_i(p_i^*-p_i)^2 \Big]+ \\&&+\,\gamma_{0}L_0(p_0^*-p_0)^2 \end{array}$$
(8)

where α i , i = 1, ..., N, and γ i , i = 0, ..., N − 1, are weighting coefficients which are assumed to be positive. Note that in Eq. 8 the use of a unitary processing time higher or lower than the nominal value is penalized in the same way. However, it has already been noted that in an optimal solution of Problem 1 it turns out necessarily \(p_i \leq p_i^*, \, i=0, \ldots, N-1\). Then, the considered symmetric cost function penalizing the quadratic deviation of the unitary processing time from the nominal one is equivalent to any strictly convex (even asymmetric) one, coinciding with the selected function for \( p_i \leq p_i^* \). Nevertheless, the symmetric expression of Eq. 8 is useful for deriving the closed-loop control actions, as it will be clear in the following. Moreover, the choice of quadratically penalizing the deviations from the nominal processing times may be justified by assuming, for instance, that the fault probability in the operation execution depends quadratically on the difference between the actual unitary processing times and the nominal ones. Actually, a quadratic dependence is in such cases more suitable than other ones (as instance, the linear one). Similar considerations may be made about the choice of a quadratic penalization of the tardiness and of the earliness. The symmetry of tardiness and earliness costs is assumed to obtain a simpler version of the problem.

By taking into account all the previous considerations and by adopting the performance index in Eq. 8, the new single machine optimization problem is

Problem 2

$$\min\limits_{p_{i}, \, w_{i}, \, i=0,\ldots,N-1} {\mathcal{C}}$$
(9)

where \({\mathcal{C}}\) is given by Eq. 8, subject to

$$d_{i+1} = d_i + w_i + L_i p_i \qquad i=0,\ldots,N-1$$
(10)
$$w_i\geq 0 \qquad i=0,\ldots,N-1$$
(11)
$$p_i \geq p_i^{\textsc{min}} \qquad i=0,\ldots,N-1$$
(12)

It is now possible to provide a preliminary result which yields the structure of optimal strategies for all the decision stages in case the optimal solution is characterized by a unique busy block without any preceding idle interval.

Theorem 1

Concerning the determination of the optimal solution \(\{w_i^\circ, p_i^\circ, i = 0, \ldots , N-1\}\) of Problem 2, condition

$$\textit{a)} \quad w_i^\circ= 0 \qquad i=0,\ldots,N-1$$
(13)

implies condition

$$\textit{b)} \quad p_i^\circ=\max \Bigg\{ p_i^{\textsc{min}}, \frac{-\beta_{1,2}^i d_i-\beta_{1,0}^i}{2\beta_{1,1}^i} \Bigg\} \qquad i=0,\ldots,N-1$$
(14)

where

$$\left\{ \begin{array}{l} \beta_{1,1}^i=\alpha_{i+1}L_i^3+\gamma_{i}L_i+\tilde{\beta}_1^{i+1}L_i^2\\ \beta_{2,2}^i=\alpha_{i+1}L_i+\tilde{\beta}_1^{i+1}\\ \beta_{1,2}^i=2\alpha_{i+1}L_i^2+2\tilde{\beta}_1^{i+1}L_i\\ \beta_{1,0}^i=-2\alpha_{i+1}L_i^2 dd_{i+1}-2\gamma_{i} L_i p_i^*+\tilde{\beta}_2^{i+1}L_i\\ \beta_{2,0}^i=-2\alpha_{i+1}L_idd_{i+1}+\tilde{\beta}_2^{i+1}\\ \beta_{0,0}^i=\alpha_{i+1}L_idd_{i+1}^2+\gamma_{i}L_i \big( p_i^* \big)^2+\tilde{\beta}_3^{i+1}\\ \end{array}\right. \qquad i=0, \ldots, N-1 $$
(15)

where \(\tilde{\beta}_1^{i+1}\) , \(\tilde{\beta}_2^{i+1}\) , and \(\tilde{\beta}_3^{i+1}\) are obtained through

$$\left\{ \begin{array}{l} \displaystyle{\tilde{\beta}_1^{i} = \beta_{2,2}^{i} - \frac{\big( \beta_{1,2}^{i} \big)^2}{4 \beta_{1,1}^{i}}}\\ \displaystyle{\tilde{\beta}_2^{i} = \beta_{2,0}^{i} - \frac{\beta_{1,2}^{i} \beta_{1,0}^{i}}{2 \beta_{1,1}^{i}}}\\ \displaystyle{\tilde{\beta}_3^{i} = \beta_{0,0}^{i} - \frac{\big( \beta_{1,0}^{i} \big)^2}{4 \beta_{1,1}^{i}}}\\ \end{array}\right.$$
(16)

for any i = 0,...,N − 1 such that \(p_{i}^{\circ} > p_{i}^{\textsc{min}}\) , and

$$\left\{ \begin{array}{l} \displaystyle{\tilde{\beta}_1^{i} = \beta_{2,2}^{i}}\\ \displaystyle{\tilde{\beta}_2^{i} = \beta_{1,2}^{i} p_{i}^{\textsc{min}} + \beta_{2,0}^{i}}\\ \displaystyle{\tilde{\beta}_3^{i}= \beta_{1,1}^{i} \big( p_{i}^{\textsc{min}} \big)^2 + \beta_{1,0}^{i} p_{i}^{\textsc{min}} + \beta_{0,0}^{i}}\\ \end{array}\right.$$
(17)

for any i = 0,...,N − 1 such that \(p_{i}^{\circ} = p_{i}^{\textsc{min}}\) , and

$$\tilde{\beta}_1^N=\tilde{\beta}_2^N=\tilde{\beta}_3^N=0$$
(18)

Moreover, in case condition a) holds, the optimal value of the cost function is

$${\mathcal{C}}^\circ= \tilde{\beta}_3^0$$
(19)

Proof

The optimal control strategies are determined by applying dynamic programming. Consider the minimization of the cost relevant to the last decision stage, i.e.,

$$\begin{array}{lll}{\mathcal{C}}_{N-1} ( d_{N-1}, p_{N-1} ) &=& \alpha_{N} L_{N-1} ( d_{N-1} + L_{N-1} p_{N-1} - dd_N )^2 + \\ &&+\, \gamma_{N-1} L_{N-1} ( p_{N-1}^* - p_{N-1} )^2 \end{array}$$
(20)

which has to be minimized only with respect to p N − 1, owing to condition a). The optimization problem to be solved at stage N − 1 is

$$\min\limits_{p_{N-1}} {\mathcal{C}}_{N-1} ( d_{N-1}, p_{N-1} )$$
(21)

subject to

$$\lefteqn {p_{N-1} \ge p_{N-1}^{\textsc{min}}}$$
(22)

Eq. 20 can be rewritten as

$$\begin{array}{lll}&& {\mathcal C}_{N-1} ( d_{N-1}, p_{N-1} )=\nonumber\\ &&{\kern12pt}= \big( \alpha_{N} L_{N-1}^3 \!+\! \gamma_{N-1}L_{N-1} \big) p_{N-1}^2 \!+\!\alpha_{N}L_{N-1}d_{N-1}^2+\nonumber\\ &&{\kern24pt} \;\;+\, 2 \alpha_{N}L_{N-1}^2 d_{N-1} p_{N-1}{\kern-2.5pt}+{\kern-2.5pt} \big(\!\! -\!2\alpha_{N}L_{N-1}^2 dd_N \!-\!2\gamma_{N-1} L_{N-1} p_{N-1}^* \big){\kern-1pt} p_{N-1}+\nonumber\\ &&{\kern24pt}\;\;+ \big(\!\!-\!2 \alpha_{N}L_{N-1}dd_N \big) d_{N-1}\!+\!\gamma_{N-1}L_{N-1} \big(p_{N-1}^* \big)^2 \!+\! \alpha_{N}L_{N-1}dd_{N}^2 \end{array}$$
(23)

or even

$$\begin{array}{lll} {\mathcal C}_{N-1} (d_{N-1}, p_{N-1} ) &=& \beta_{1,1}^{N-1} p_{N-1}^2 + \beta_{2,2}^{N-1}d_{N-1}^2 + \beta_{1,2}^{N-1}p_{N-1}d_{N-1}+ \nonumber\\ &&+\, \beta_{1,0}^{N-1}p_{N-1} + \beta_{2,0}^{N-1}d_{N-1} + \beta_{0,0}^{N-1} \end{array}$$
(24)

where

$$\left\{ \begin{array}{l} \beta_{1,1}^{N-1}=\alpha_{N}L_{N-1}^3+\gamma_{N-1}L_{N-1}\\ \beta_{2,2}^{N-1}=\alpha_{N}L_{N-1}\\ \beta_{1,2}^{N-1}=2\alpha_{N}L_{N-1}^2\\ \beta_{1,0}^{N-1}=-2\alpha_{N}L_{N-1}^2dd_{N}-2\gamma_{N-1}L_{N-1}p_{N-1}^*\\ \beta_{2,0}^{N-1}=-2\alpha_{N}L_{N-1}dd_{N}\\ \beta_{0,0}^{N-1}=\alpha_{N}L_{N-1}dd_{N}^2+\gamma_{N-1}L_{N-1}\left(p_{N-1}^*\right)^2\\ \end{array}\right.$$
(25)

which, taking into account Eq. 18, coincides with Eq. 15 written for i = N − 1.

Then, from Eq. 24, one has

$$\frac{\partial {\mathcal C}_{N-1}}{\partial p_{N-1}} = 2 \beta_{1,1}^{N-1} p_{N-1} + \beta_{1,2}^{N-1} d_{N-1} + \beta_{1,0}^{N-1}$$
(26)

Thus, the value of p N − 1 which minimizes \({\mathcal C}_{N-1}\) is given by

$$p_{N-1}^\circ=\max \Bigg\{ p_{N-1}^{\textsc{min}},\frac{-\beta_{1,2}^{N-1}d_{N-1}-\beta_{1,0}^{N-1}}{2\beta_{1,1}^{N-1}} \Bigg\}$$
(27)

Let us consider separately the two cases that may arise from Eq. 27, considered in the following as Case 1) and Case 2), respectively.

Case 1)

$$p_{N-1}^\circ= \frac{-\beta_{1,2}^{N-1}d_{N-1}-\beta_{1,0}^{N-1}}{2\beta_{1,1}^{N-1}} >p_{N-1}^{\textsc{min}}$$
(28)

which, taking into account Eq. 25, corresponds to

$$p_{N-1}^\circ=\frac{-\alpha_{N}L_{N-1}d_{N-1}+\alpha_{N}L_{N-1}dd_{N}+\gamma_{N-1}p_{N-1}^*}{\alpha_{N}L_{N-1}^2+\gamma_{N-1}} $$
(29)

By substituting p N − 1°, provided by Eq. 28, in Eq. 24, the following cost is derived

$$\begin{array}{lll} {\mathcal C}_{N-1}^\circ \big( d_{N-1} \big) &=& {\mathcal C}_{N-1} \big( d_{N-1}, p_{N-1}^\circ \big) = d_{N-1}^2 \left[\beta_{2,2}^{N-1}-\frac{\big(\beta_{1,2}^{N-1} \big)^2}{4\beta_{1,1}^{N-1}}\right]+ \nonumber\\ &&+\, d_{N-1} \left[\beta_{2,0}^{N-1}-\frac{\beta_{1,2}^{N-1} \beta_{1,0}^{N-1}}{2\beta_{1,1}^{N-1}}\right]+ \beta_{0,0}^{N-1}-\frac{\big(\beta_{1,0}^{N-1} \big)^2}{4\beta_{1,1}^{N-1}} \end{array}$$
(30)

that can be rewritten as

$${\mathcal C}_{N-1}^\circ \big(d_{N-1} \big)=\tilde{\beta}_1^{N-1} d_{N-1}^2 +\tilde{\beta}_2^{N-1}d_{N-1}+\tilde{\beta}_3^{N-1}$$
(31)

where

$$\left\{ \begin{array}{l} \displaystyle{\tilde{\beta}_1^{N-1}=\beta_{2,2}^{N-1}-\frac{\big(\beta_{1,2}^{N-1}\big)^2 }{4 \beta_{1,1}^{N-1}}}\\ \displaystyle{\tilde{\beta}_2^{N-1}=\beta_{2,0}^{N-1}-\frac{\beta_{1,2}^{N-1}\beta_{1,0}^{N-1}}{2 \beta_{1,1}^{N-1}}}\\ \displaystyle{\tilde{\beta}_3^{N-1}=\beta_{0,0}^{N-1}-\frac{\big(\beta_{1,0}^{N-1}\big)^2 }{4 \beta_{1,1}^{N-1}}}\\ \end{array}\right.$$
(32)

which coincides with Eq. 16 written for i = N − 1. Thus, at stage N − 2, the cost to be minimized is

$$\begin{array}{lll} &&{\mathcal C}_{N-2} \big( d_{N-2}, p_{N-2} \big) =\nonumber\\ &&{\kern12pt} =\alpha_{N-1}L_{N-2}\big(d_{N-1}-dd_{N-1} \big)^2 + \gamma_{N-2}L_{N-2}\big(p_{N-2}^*-p_{N-2} \big)^2+{\mathcal C}_{N-1}^\circ\big(d_{N-1} \big)=\nonumber\\ &&{\kern12pt}=\beta_{1,1}^{N-2} p_{N-2}^2 +\beta_{2,2}^{N-2}d_{N-2}^2 + \beta_{1,2}^{N-2}p_{N-2}d_{N-2}+ \beta_{1,0}^{N-2}p_{N-2} + \beta_{2,0}^{N-2}d_{N-2}+\beta_{0,0}^{N-2}\nonumber\\ \end{array}$$
(33)

where

$$\left\{ \begin{array}{l} \beta_{1,1}^{N-2}=\alpha_{N-1}L_{N-2}^3+\gamma_{N-2}L_{N-2}+\tilde{\beta}_1^{N-1}L_{N-2}^2\\ \beta_{2,2}^{N-2}=\alpha_{N-1}L_{N-2}+\tilde{\beta}_1^{N-1}\\ \beta_{1,2}^{N-2}=2\alpha_{N-1}L_{N-2}^2+2\tilde{\beta}_1^{N-1}L_{N-2}\\ \beta_{1,0}^{N-2}=-2\alpha_{N-1}L_{N-2}^2dd_{N-1}-2\gamma_{N-2}L_{N-2}p_{N-2}^*+\tilde{\beta}_2^{N-1}L_{N-2}\\ \beta_{2,0}^{N-2}=-2\alpha_{N-1}L_{N-2}dd_{N-1}+\tilde{\beta}_2^{N-1}\\ \beta_{0,0}^{N-2}=\alpha_{N-1}L_{N-2}dd_{N-1}^2+\gamma_{N-2}L_{N-2}\left(p_{N-2}^*\right)^2+\tilde{\beta}_3^{N-1}\\ \end{array}\right.$$
(34)

which coincides with Eq. 15 written for i = N − 2.

The optimal solution at stage N − 2 can be found analogously to the one at stage N − 1, and is given by

$$p_{N-2}^\circ=\max \Bigg\{p_{N-2}^{\textsc{min}},\frac{-\beta_{1,2}^{N-2}d_{N-2}-\beta_{1,0}^{N-2}}{2\beta_{1,1}^{N-2}} \Bigg\}$$
(35)

Case 2)

$$p_{N-1}^\circ= p_{N-1}^{\textsc{min}}$$
(36)

In this case

$$\begin{array}{lll} {\mathcal C}_{N-1}^\circ \big(d_{N-1} \big) &=& \beta_{1,1}^{N-1} \big(p_{N-1}^{\textsc{min}} \big)^2 + \beta_{2,2}^{N-1}d_{N-1}^2 + \beta_{1,2}^{N-1}d_{N-1}p_{N-1}^{\textsc{min}}+\nonumber\\ &&+\, \beta_{1,0}^{N-1}p_{N-1}^{\textsc{min}} + \beta_{2,0}^{N-1}d_{N-1}+\beta_{0,0}^{N-1} \end{array}$$
(37)

which can be written again as Eq. 31, where now

$$ \left\{ \begin{array}{l} \displaystyle{\tilde{\beta}_1^{N-1}=\beta_{2,2}^{N-1}}\\ \displaystyle{\tilde{\beta}_2^{N-1}=\beta_{1,2}^{N-1}p_{N-1}^{\textsc{min}}+ \beta_{2,0}^{N-1}}\\ \displaystyle{\tilde{\beta}_3^{N-1}=\beta_{1,1}^{N-1} \big(p_{N-1}^{\textsc{min}} \big)^2+\beta_{1,0}^{N-1}p_{N-1}^{\textsc{min}}+\beta_{0,0}^{N-1}}\\ \end{array}\right.$$
(38)

which coincides with Eq. 17 for i = N − 1. Then, the same reasoning line followed in Case 1) can be adopted, leading to the same result as in Eq. 35. The only difference between Case 1) and Case 2) is the way to compute coefficients \(\tilde{\beta}_1^{N-1}\), \(\tilde{\beta}_2^{N-1}\), and \(\tilde{\beta}_3^{N-1}\).

The optimal value \({\mathcal C}_{N-2}^\circ(d_{N-2})\) can be determined analogously to \({\mathcal C}_{N-1}^\circ(d_{N-1})\). The same argument can be repeated backward up to stage 0.

Finally, Eq. 19 is a direct consequence of the possibility of expressing the optimal value of the cost in Eq. 8 to be optimized in a way analogous to Eq. 31, that is

$${\mathcal C}^\circ={\mathcal C}_{0}^\circ\left (d_{0} \right)=\tilde{\beta}_1^{0} d_{0}^2 +\tilde{\beta}_2^{0}d_{0} +\tilde{\beta}_3^{0}=\tilde{\beta}_3^{0}$$
(39)

being d 0 = 0. □

Theorem 1 provides the optimal control laws, in the form of Eq. 14, when the optimal solution is characterized by the complete absence of idle times, which implies that the optimal solution gives rise to a unique busy block. The following remark provides the structure of the optimal control law under general conditions.

Remark 1

Consider the i-th decisional stage and assume that condition a) of Theorem 1 holds for decisional stages i + 1,...,N − 1. Under this assumption, using the notation introduced in the statement of Theorem 1, and following the reasoning line adopted in its proof, it turns out that the problem to be solved at stage i is

$$\begin{array}{lll} \min\limits_{p_{i}, w_{i}} {\mathcal{C}}_i &=& \alpha_{i+1} L_i ( d_{i} + w_{i} + L_{i} p_{i} - dd_{i+1} )^2 + \gamma_{i} L_i ( p_{i}^* - p_{i} )^2+ \nonumber\\ &&+\, \tilde{\beta}_1^{i+1} ( d_{i} + w_{i} + L_{i} p_{i} )^2 + \tilde{\beta}_2^{i+1} ( d_{i} + w_{i} + L_{i} p_{i} ) + \tilde{\beta}_3^{i+1} \end{array}$$
(40)

subject to

$$g_{i,1} = w_{i} \geq 0$$
(41)
$$g_{i,2} = p_{i} - p_i^{\textsc{min}} \geq 0$$
(42)

Let us apply the first-order Kuhn–Tucker necessary conditions (Luenberger 1973), as follows

$$\begin{array}{lll} \frac{\partial {\mathcal{C}}_i}{\partial p_i} - \sum\limits_{l=1}^2 \mu_{i,l} \frac{\partial g_{i,l}}{\partial p_i} &=& 2 \alpha_{i+1} L_i^2 ( d_{i} + w_{i} + L_{i} p_{i} - dd_{i+1} ) - 2 \gamma_{i} L_i ( p_{i}^* - p_{i} )+ \nonumber\\ && +\,\tilde{\beta}_1^{i+1} L_i ( d_{i} + w_{i} + L_{i} p_{i} ) + \tilde{\beta}_2^{i+1} L_{i} - \mu_{i,2} = 0 \end{array}$$
(43)
$$\begin{array}{lll} \frac{\partial {\mathcal{C}}_i}{\partial w_i} - \sum\limits_{l=1}^2 \mu_{i,l} \frac{\partial g_{i,l}}{\partial w_i} &=& 2 \alpha_{i+1} L_i ( d_{i} + w_{i} + L_{i} p_{i} - dd_{i+1} )+ \nonumber\\ &&+\,\tilde{\beta}_1^{i+1} ( d_{i} + w_{i} + L_{i} p_{i} ) + \tilde{\beta}_2^{i+1} - \mu_{i,1} = 0 \end{array}$$
(44)

where multipliers μ i,1, μ i,2 satisfy

$$\left\{ \begin{array}{l} \mu_{i,1} w_{i} = 0\\ \mu_{i,1} \geq 0\\ \mu_{i,2} ( p_i - p_i^{\textsc{min}} ) = 0\\ \mu_{i,2} \geq 0 \end{array} \right.$$
(45)

Then, four different situations may arise:

  1. i)

    \(w_i^{\circ} = 0\) and \(p_i^{\circ}>p_i^{\textsc{min}}\) (hence μ i,2 = 0);

  2. ii)

    \(w_i^{\circ} = 0\) and \(p_i^{\circ}=p_i^{\textsc{min}}\);

  3. iii)

    \(w_i^{\circ} > 0\) and \(p_i^{\circ}>p_i^{\textsc{min}}\) (hence μ i,1 = μ i,2 = 0);

  4. iv)

    \(w_i^{\circ} > 0\) and \(p_i^{\circ}=p_i^{\textsc{min}}\) (hence μ i,1 = 0).

In case i), the optimal value of p i can be found by Eq. 43, with μ i,2 = 0. Then, taking into account Eq. 15, one can combine cases i) and ii), thus obtaining Eq. 14. Instead, in case iii), the optimal values of the decision variables are found by solving the linear system provided by Eqs. 43 and 44 with μ i,1 = μ i,2 = 0, which provides

$$ p^{\circ}_{i} = p_i^* $$
(46)
$$ w^{\circ}_{i} = -d_i - L_{i} p_i^{\circ} + \frac{2 \alpha_{i+1} L_i dd_{i+1} - \tilde{\beta}_2^{i+1}}{2 \alpha_{i+1} L_i + 2 \tilde{\beta}_1^{i+1}}$$
(47)

Finally, it is immediate to understand that case iv) cannot actually take place, as it requires the execution speed for job J i + 1 to be as high as possible (hence paying a cost), whereas, at the same time, an idle time is inserted before the service of J i + 1.

Then, in analogy with the expressions of the optimal cost-to-go, like Eq. 31, found in the proof of Theorem 1, in cases i) and ii), the optimal value of the cost to be minimized in Eq. 40 may be written as

$$ {\mathcal C}_i^{\circ}(d_i) = \tilde{\beta}_1^{i} d_i^2 + \tilde{\beta}_2^{i} d_i + \tilde{\beta}_3^{i}$$
(48)

where coefficients \(\tilde{\beta}_1^{i}\), \(\tilde{\beta}_2^{i}\), and \(\tilde{\beta}_3^{i}\) are obtained by using Eqs. 15 and 16, or Eqs. 15 and 17. Instead, in case iii), i.e., when a decoupling condition \((w_i^{\circ} > 0)\) arises, the optimal value \({\mathcal C}_i^{\circ}(d_i)\) can be obtained by substituting the optimal values of the decisional variables provided by Eqs. 46 and 47 in the cost to be optimized in Eq. 40, obtaining, after some manipulations, the following expression

$$ {\mathcal C}_i^{\circ}(d_i) = -\frac{1}{4} \cdot \frac{\big( 2 \alpha_{i+1} L_i dd_{i+1} - \tilde{\beta}_2^{i+1} \big)^2} {\alpha_{i+1} L_i + \tilde{\beta}_1^{i+1}} + \alpha_{i+1} L_i dd_{i+1}^2 + \tilde{\beta}_3^{i+1}$$
(49)

It is worth noting that, in case iii), the optimal value \({\mathcal C}_i^{\circ}(d_i)\) does not actually depend on d i . This is consistent with the fact that the presence of a nonzero idle time \(w_i^{\circ}\) decouples the optimization problem concerning decisional stages \(\left \{i, \ldots, N-1\right \}\) from the optimization problem concerning decisional stages \(\left \{0,\ldots, i-1\right \}\).

It is now possible to provide the main result as concerns the solution of Problem 2.

Theorem 2

The optimal strategies for Problem 2 can be obtained through a three-step procedure.

  1. 1.

    Apply a quadratic mathematical programming technique (hence determining the optimal solution of the problem in a parametric but not in a functional form) and find, in this way, the set \(\mathcal{D} = \big\{ \nu_j, j=1, \ldots , s \big\}\) , which identifies the decoupling conditions between two subsequent busy blocks. Besides, the set \({\mathcal{I}}_{\textsc{g}}\) (resp., \({\mathcal{I}}_{\textsc{e}}\) ) of indices of jobs for which \(p_{i}^{\circ} > p_{i}^{\textsc{min}}\) (resp., \(p_{i}^{\circ} = p_{i}^{\textsc{min}}\) ), i ∈ { 0, ..., N − 1 } is determined.

  2. 2.

    Determine, for each j = 0, ..., s, coefficients \(\tilde{\beta}^{i+1}_{1}\) , \(\tilde{\beta}^{i+1}_{2}\) , and \(\tilde{\beta}^{i+1}_{3}\) , for any i ∈ [ ν j , ν j + 1 − 1 ], through the backward recursive procedure corresponding to

    $$ \left\{ \begin{array}{l} \beta_{1,1}^i=\alpha_{i+1}L_i^3+\gamma_{i}L_i+\tilde{\beta}_1^{i+1}L_i^2\\ \beta_{2,2}^i=\alpha_{i+1}L_i+\tilde{\beta}_1^{i+1}\\ \beta_{1,2}^i=2\alpha_{i+1}L_i^2+2\tilde{\beta}_1^{i+1}L_i\\ \beta_{1,0}^i=-2\alpha_{i+1}L_i^2 dd_{i+1}-2\gamma_{i} L_i p_i^*+\tilde{\beta}_2^{i+1}L_i\\ \beta_{2,0}^i=-2\alpha_{i+1}L_idd_{i+1}+\tilde{\beta}_2^{i+1}\\ \beta_{0,0}^i=\alpha_{i+1}L_idd_{i+1}^2+\gamma_{i}L_i \big( p_i^* \big)^2+\tilde{\beta}_3^{i+1}\\ \end{array}\right. \qquad i = \nu_{j}, \ldots, \nu_{j+1} - 1$$
    (50)
    $$ \left\{ \begin{array}{l} \displaystyle{\tilde{\beta}_1^{i} = \beta_{2,2}^{i} - \frac{\big( \beta_{1,2}^{i} \big)^2}{4 \beta_{1,1}^{i}}}\\ \displaystyle{\tilde{\beta}_2^{i} = \beta_{2,0}^{i} - \frac{\beta_{1,2}^{i} \beta_{1,0}^{i}}{2 \beta_{1,1}^{i}}}\\ \displaystyle{\tilde{\beta}_3^{i} = \beta_{0,0}^{i} - \frac{\big( \beta_{1,0}^{i} \big)^2}{4 \beta_{1,1}^{i}}}\\ \end{array}\right. \qquad i = \nu_{j}, \ldots, \nu_{j+1} - 1 \, , \ i \in {\mathcal{I}}_{\textsc{g}}$$
    (51)
    $$ \left\{ \begin{array}{l} \displaystyle{\tilde{\beta}_1^{i} = \beta_{2,2}^{i}}\\ \displaystyle{\tilde{\beta}_2^{i} = \beta_{1,2}^{i} p_{i}^{\textsc{min}} + \beta_{2,0}^{i}}\\ \displaystyle{\tilde{\beta}_3^{i}= \beta_{1,1}^{i} \big( p_{i}^{\textsc{min}} \big)^2 + \beta_{1,0}^{i} p_{i}^{\textsc{min}} + \beta_{0,0}^{i}}\\ \end{array}\right. \qquad i = \nu_{j}, \ldots, \nu_{j+1} - 1 \, , \ i \in {\mathcal{I}}_{\textsc{e}}$$
    (52)
    $$ \left\{ \begin{array}{l} \displaystyle{\tilde{\beta}_1^{\nu_{j+1}} = 0}\\ \displaystyle{\tilde{\beta}_2^{\nu_{j+1}} = 0}\\ \displaystyle{\tilde{\beta}_3^{\nu_{j+1}} = 0}\\ \end{array}\right.$$
    (53)
  3. 3.

    The optimal strategies:

    • for \(i \in \mathcal{D}\) and for i = 0 if \(w_0^{\circ} > 0\) , correspond to Eqs.  46 and 47 ;

    • for \(i \notin \mathcal{D}\) (that is, i ∈ [ ν j  + 1, ν j + 1 − 1 ], j = 1,...,s) and for i = 0 if \(w_0^{\circ} = 0\) , are given by

      $$w^{\circ}_{i}=0 \label{wott-i-2}$$
      (54)
      $$p^{\circ}_{i}=\max \Bigg\{ p_i^{\textsc{min}}, \frac{-2 \big( \alpha_{i+1}L_i +\tilde{\beta}_1^{i+1} \big) d_i+2\alpha_{i+1}L_i dd_{i+1}+2\gamma_{i}p_i^*-\tilde{\beta}_2^{i+1}}{2\alpha_{i+1}L_i^2+2\tilde{\beta}_1^{i+1}L_i+2\gamma_{i}} \Bigg\} $$
      (55)

    The optimal value of the cost function in Eq.  8 is

    $$ {\mathcal C}^{\circ}=\sum\limits_{j=0}^s \Bigg[-\frac{1}{4} \cdot \frac{\big( 2\alpha_{\nu_j+1}L_{\nu_j}dd_{\nu_j+1}-\tilde{\beta}_2^{\nu_j+1} \big)^2} {\alpha_{\nu_j+1}L_{\nu_j}+\tilde{\beta}_1^{\nu_j+1}}+\alpha_{\nu_j+1}L_{\nu_j}dd_{\nu_j+1}^2+\tilde{\beta}_3^{\nu_j+1} \Bigg] $$
    (56)

    when \(w_0^{\circ} > 0\) and

    $$ {\mathcal C}^{\circ}=\sum\limits_{j=1}^s \Bigg[-\frac{1}{4} \cdot \frac{\big( 2\alpha_{\nu_j+1}L_{\nu_j} dd_{\nu_j+1}-\tilde{\beta}_2^{\nu_j+1} \big)^2} {\alpha_{\nu_j+1}L_{\nu_j}+\tilde{\beta}_1^{\nu_j+1}}+\alpha_{\nu_j+1}L_{\nu_j} dd_{\nu_j+1}^2+\tilde{\beta}_3^{\nu_j+1} \Bigg] +\tilde{\beta}_3^{0} $$
    (57)

    when \(w_0^{\circ} = 0\).

Proof

The proof is immediate, owing to Remark 1. In fact, note that Eqs. 54 and 55 result from the cases i), ii) discussed in Remark 1. Moreover, expressions 56 and 57 arise from the decoupling of the optimization problems relevant to the various busy blocks, and from the fact that, when \(w_0^{\circ} = 0\), the optimal cost relevant to the first busy block is simply \(\tilde{\beta}_3^{0}\). □

Theorem 2 allows to determine the optimal strategies in functional form. Such a result can be exploited in order to develop a real-time control strategy, in the same fashion as in Di Febbraro et al. (2002), or may be useful to analyze the parametric sensitivity of the optimal cost value with respect to variations of data characterizing the statement of the single machine problem. This last issue is considered in this paper with the aim of applying the results provided by Theorems 1 and 2 to a production system more complex than a single machine. This will be the subject of the next section, whereas the determination of sensitivity coefficients of the optimal single machine cost is provided in the Appendix.

3 Optimization in production systems with parallel machines

In this section, a more complex production system, with respect to the single machine case, is considered. Such a system consists of a set of parallel machines, namely M 1, ..., M K , and can be represented as in Fig. 2. The machines are assumed to be functionally equivalent, i.e., every machine can perform (although at different speeds, in general) every operation required by the various jobs. A set of independent jobs Υ i , i = 1,...,N, has to be executed over such machines.

Fig. 2
figure 2

The system structure for the job-splitting problem

Each job Υ i , i = 1, ..., N, is assumed to be composed of a number O i − 1 of identical operations to be executed on identical parts. For the sake of simplicity, as O i − 1 is assumed to be generally a large number, it will be considered as a real number. It is possible to split the execution of each job Υ i into the execution of K sub-jobs J i,k , k = 1,...,K, being J i,k assigned to a machine M k . Let L i − 1,k be the number of operations which belong to J i,k (i.e., the lot-size of J i,k ). Obviously, it must be L i,k  ≥ 0, i = 0,...,N − 1, k = 1,...,K, and

$$ \sum\limits_{k=1}^{K} L_{i,k} = O_i \qquad i=0,\ldots,N-1$$
(58)

Moreover, it will be assumed that the service sequence for every machine is fixed and that it is the same for the different machines (provided that, in the service sequences, also sub-jobs having zero lot-sizes are taken into account). Then, it is possible to use the same index for the job and every sub-job. The above scheme can be viewed as consistent with a wide class of manufacturing systems in which production is organized in order to follow a pre-specified set of operations, and the plant layout is defined in order to make the material flow in the system as easy as possible. In addition, if one supposes that the physical size of parts to be manufactured is so relevant to make their manipulation difficult, it is reasonable to assume that the material handling system and the input buffer organization are designed in a way that discourages the “overtaking” of a part over another one waiting for service. These considerations justify the assumption that the (same) service sequence of the various jobs is fixed at any machine.

Also the possibility of splitting the execution of jobs over a set of parallel machines is consistent with a variety of practical situations in which there is more than one single (mono-server) resource for the execution of operations relevant to a certain job. This multiplicity can be justified by several practical reasons: the possibility of increasing the flexibility of the manufacturing system, the possibility of facing machine failures or unfair operating conditions, the necessity of increasing the efficiency as regards the execution of a certain operation whose unitary execution time may be particularly high with respect to the others appearing in the production process, and so on.

The assumptions made for the single machine case still hold for any parallel machine. In considering the production scheme with parallel machines, the notation adopted for the single machine case is extended. In particular, let:

  • d i,k , i = 1,...,N, k = 1,...,K, be the completion time of sub-job J i,k ;

  • p i,k , i = 0,...,N − 1, k = 1,...,K, be the unitary processing time of sub-job J i + 1,k (constrained in interval \([p_{i,k}^{\textsc{min}} , p_{i,k}^{\textsc{max}}]\));

  • \(p_{i,k}^*\), i = 0,...,N − 1, k = 1,...,K, be the nominal unitary processing time of sub-job J i + 1,k (obviously \(p_{i,k}^{\textsc{min}} \leq p_{i,k}^* \leq p_{i,k}^{\textsc{max}}\));

  • w i,k , i = 1,...,N − 1, k = 1,...,K, be the machine idle time between the completion of sub-job J i,k and the activation of sub-job J i + 1,k ; w 0,k , k = 1,...,K, is the idle time before the activation of sub-job J 1,k ;

  • dd i , i = 1,...,N, be the due date of job Υ i (hence also of every sub-job J i,k , k = 1,...,K).

Moreover, let sc i,k be the nonnegative unitary processing cost for operations required by sub-job J i + 1,k , i = 0,...,N − 1, k = 1,...,K.

The overall cost \(\widehat{\mathcal{C}}\) to be minimized is a weighted sum of processing costs and of costs relevant to deviations from due dates and from nominal processing times. Such a cost can be written as

$$\widehat{\mathcal{C}} = \sum\limits_{k=1}^{K} \mathcal{S}_k$$
(59)

where \(\mathcal{S}_k\) is the cost of the single machine k that can be expressed as

$$ \mathcal{S}_k = \sum\limits_{i=1}^{N} \left[ \alpha_{i,k} L_{i-1,k} ( d_{i,k} - dd_i )^2 \right] + \sum\limits_{i=0}^{N-1} \left[ \gamma_{i,k} L_{i,k} ( p_{i,k} - p_{i,k}^* )^2 + L_{i,k} sc_{i,k} \right] $$
(60)

The only difference between the single machine cost adopted in Section 2 (Eq. 8) and Eq. 60 is the term \(\sum_{i=0}^{N-1} L_{i,k} sc_{i,k}\) which refers to the processing cost of the various sub-jobs on machine M k .

A crucial issue in the management of the above described production system concerns the splitting of jobs Υ i , i = 1, ..., N, among the different machines M k , k = 1, ..., K. In this section, a particular framework is considered as concerns the optimization of cost in Eq. 59, and hence the definition of the optimal splitting problem. In fact, the splitting problem is considered for one job at a time, in coincidence of its arrival instant, assuming that the jobs arrive at the system at different times. More specifically, it is assumed that only the splitting of job Υ N is a matter of decision, since the other jobs, Υ1, ..., Υ N − 1, are assumed to have already arrived and been split. However, in the splitting of job Υ N , it is assumed to have the possibility of re-optimizing (only as concerns timing decisions) the K subsequences of services, as regards the first (N − 1) sub-jobs. In other words, the splitting of the N-th job is carried out by analyzing its influence over K single machine problems having the same features as the problem solved in Section 2 (apart from the already mentioned additional term). Then, one can think of exploiting the analytic procedure described in Theorem 2, which provides the optimal value of the generic k-th single machine cost, given the value of the lot-size L N − 1,k of the sub-job J N,k .

It is important to note that the problem of splitting Υ N is considered within the assumption that no sub-job J 1,k has been completely served by any machine (or, equivalently, that there is a nonzero lot of each sub-job still to be served). If it were not so, this would mean only that simplified single machine subproblems should be considered, leaving unaltered the sense of what follows. Besides, in splitting the N-th job, no knowledge is assumed to be available as concerns the arrival times, or other information, regarding possible subsequent jobs, i.e., Υ N + 1, Υ N + 2, ...

The way to exploit the results obtained in the previous section is the following. Let \(\overline{L}_{N-1,k}\), k = 1, ..., K, be a set of feasible lot-sizes (i.e., satisfying Eq. 58) in which job Υ N can be split. Then, a single machine optimization problem can be defined for each machine M k , k = 1, ..., K, on the basis of the already fixed lot-size values L 0,k , ..., L N − 2,k and of the value \(\overline{L}_{N-1,k}\). Remind that the lot-size values of the former jobs are fixed, but the timing of their processing is in general to be re-optimized taking into account the newly arrived job. Then, as it is shown in the Appendix, an analytical procedure may be applied to evaluate the sensitivity of the single machine optimal costs with respect to the choice of the lot-sizes of the sub-jobs L N − 1,k , k = 1, ..., K, evaluated in correspondence of \(\overline{L}_{N-1,k}\), k = 1, ..., K. On this basis, it is possible to check whether necessary conditions (to be introduced below) for the optimality of the spitting of job Υ N , i.e., of the set of values \(\overline{L}_{N-1,k}\), k = 1, ..., K, are satisfied.

Let us denote by \({\mathcal{C}}_k^{\circ}(L_{N-1,k})\) the optimal value of the cost corresponding to the solution of Problem 2 for machine M k , stated on the basis of a value L N − 1,k of the lot-size of sub-job J N − 1,k , and of course of the values L 0,k , ..., L N − 2,k of the already split jobs.

The optimal value \(\mathcal{S}_k^{\circ}\) of the single machine cost can be expressed as a function of the size of the lot assigned to M k , that is

$$ \mathcal{S}_k^{\circ}(L_{N-1,k})={\mathcal C}_k^{\circ}(L_{N-1,k})+sc_{N-1,k}L_{N-1,k} $$
(61)

for k = 1,...,K. From Eq. 61 it turns out

$$ \displaystyle {\left. \frac{\partial \mathcal{S}_k^{\circ}}{\partial L_{N-1,k}} \right |_{\overline{L}_{N-1,k}} =\left . \frac{\partial {\mathcal C}_k^{\circ}}{\partial L_{N-1,k}}\right |_{\overline{L}_{N-1,k}}+sc_{N-1,k}} $$
(62)

The first term of the l.h.s. of Eq. 62 represents the sensitivity coefficient of the cost of the single machine M k with respect to L N − 1,k (at value \(\overline{L}_{N-1,k}\)), assuming that the single machine problem (Problem 2) relevant to M k is optimally solved. Note that, owing to the assignment of a new sub-job to any machine M k , to evaluate such a coefficient the single machine problem has to be entirely solved again, unless the lot-size \(\overline{L}_{N-1,k}\) is zero. Obviously, in Eq. 62, it may happen that some of the derivatives, i.e., those corresponding to values \(\overline{L}_{N-1,k}=0\) are to be intended as right derivatives. Note also that any derivative value given by Eq. 62 is certainly nonnegative. The procedure by which the sensitivity coefficients \( \displaystyle{\left.\frac{\partial \mathcal{C}_k^{\circ}}{\partial L_{N-1,k}}\right |_{\overline{L}_{N-1,k}}} \) can be analytically determined is reported in the Appendix.

Then, the following result holds as regards the optimal splitting of job Υ N .

Theorem 3

Let \(\overline{L}_{N-1,k}\) , k = 1, ..., K, be the lot-sizes corresponding to a certain (feasible) splitting of job Υ N . Necessary conditions for the optimality of such a splitting, with respect to the minimization of cost in Eq.  59 , are:

  1. a)

    for any pair \(\overline{L}_{N-1,k} > 0\) , \(\overline{L}_{N-1,m} > 0\) , k,m ∈ { 1, ..., K }, k ≠ m, the following equality holds

    $$ \displaystyle {\left. \frac{\partial \mathcal{S}_k^{\circ}}{\partial L_{N-1,k}} \right |_{\overline{L}_{N-1,k}} =\left. \frac{\partial \mathcal{S}_m^{\circ}}{\partial L_{N-1,m}} \right |_{\overline{L}_{N-1,m}}} $$
    (63)
  2. b)

    for any pair \(\overline{L}_{N-1,k}, \overline{L}_{N-1,m} \) , such that \(\overline{L}_{N-1,k}> 0\) and \(\overline{L}_{N-1,m} = 0\) , k,m ∈ { 1, ..., K }, k ≠ m, the following inequality holds

    $$ \displaystyle {\left. \frac{\partial \mathcal{S}_k^{\circ}}{\partial L_{N-1,k}} \right |_{\overline{L}_{N-1,k}} \le \left. \frac{\partial \mathcal{S}_m^{\circ}}{\partial L_{N-1,m}} \right |_{\overline{L}_{N-1,m}}} $$
    (64)

Proof

The necessity of condition a) turns out from simple considerations. Namely, if one assumes, for instance, that the r.h.s. is lower than the l.h.s., this implies that a (infinitesimal) decrease of \(\overline{L}_{N-1,k}\), and a corresponding (infinitesimal) increase in \(\overline{L}_{N-1,m}\) would provide a smaller value of the overall cost in Eq. 59. This prevents the corresponding job splitting from being optimal. Similar considerations may be repeated to justify the necessity of condition b). □

The practical application of the results provided by Theorem 3 requires the development of a procedure to “adjust” iteratively the splitting (i.e., the lot-sizes) of Υ N , in order to obtain a splitting which (at least, approximately) satisfies the necessary conditions a) and b). Such a procedure can be structured as follows.

Procedure 1

  1. 1.

    Initialize the values of the lot-sizes \(\overline{L}_{N-1,k}\) , k = 1, ..., K, in some feasible way (i.e., fulfilling constraint in Eq.  58 ).

  2. 2.

    Determine the optimal strategies for each of the single machine problems conditioned by values \(\overline{L}_{N-1,k}\) , k = 1, ..., K, according to Theorem 2.

  3. 3.

    Compute the sensitivity coefficients \(\displaystyle \left. \frac{\partial \mathcal{S}_k^{\circ}}{\partial L_{N-1,k}} \right|_{\overline{L}_{N-1,k}}\) , k = 1, ..., K, according to Eq.  62 and to the procedure described in the Appendix.

  4. 4.

    Check whether conditions a) and b) of Theorem 3 are satisfied, within a certain tolerance degree ϵ, i.e.,

    1. a)

      for any pair \(\overline{L}_{N-1,k} > 0\) , \(\overline{L}_{N-1,m} > 0\) , k,m ∈ { 1, ..., K }, k ≠ m,

      $$ \left| \left. \frac{\partial \mathcal{S}_k^{\circ}}{\partial L_{N-1,k}} \right |_{\overline{L}_{N-1,k}} - \left. \frac{\partial \mathcal{S}_m^{\circ}}{\partial L_{N-1,m}} \right |_{\overline{L}_{N-1,m}} \right| < \epsilon $$
      (65)
    2. b)

      for any pair \(\overline{L}_{N-1,k}, \overline{L}_{N-1,m} \) , such that \(\overline{L}_{N-1,k}> 0\) and \(\overline{L}_{N-1,m} = 0\) , k,m ∈ { 1, ..., K }, k ≠ m,

      $$ \left. \frac{\partial \mathcal{S}_k^{\circ}}{\partial L_{N-1,k}} \right |_{\overline{L}_{N-1,k}} \le \left. \frac{\partial \mathcal{S}_m^{\circ}}{\partial L_{N-1,m}} \right |_{\overline{L}_{N-1,m}} $$
      (66)

    If such conditions are both satisfied, then stop and apply the splitting of Υ N corresponding to the current values of the lot-sizes \(\overline{L}_{N-1,k}\) , k = 1, ..., K.

  5. 5.

    Make a list of machine indices ordered by nondecreasing values of the sensitivity coefficients; in this connection, let h(l) be a mapping function which provides the index k , k ∈ { 1, ..., K }, of machine having position l in the list.

  6. 6.

    Change the lot-size values according to the following rules:

    • set l 1 = K/2 and l 2 = K/2 + 1 if K is even, l 1 = l 2 = ⌈K/2⌉ otherwise;

    • the lot-sizes on machines with positions l 1 and l 2 in the list are not varied;

    • determine the new lot-sizes of machines with position l 2 + i, i = 1, ..., l 1 − 1, in the list as

      $$\overline{L}^{\textsc{new}}_{N-1,h(l_{2}+i)} = \max \Big\{ \overline{L}_{N-1,h(l_{2}+i)} - \Delta L , 0 \Big\} $$
      (67)

      where ΔL is the lot-size variation coefficient;

    • determine the new lot-sizes of machine with position l 1 − i, i = 1, ..., l 1 − 1, in the list as

      $$\overline{L}^{\textsc{new}}_{N-1,h(l_{1}-i)} = \overline{L}_{N-1,h(l_{1}-i)} - \overline{L}^{\textsc{new}}_{N-1,h(l_{2}+i)} + \overline{L}_{N-1,h(l_{2}+i)}$$
      (68)
  7. 7.

    Set \(\overline{L}_{N-1,k} = \overline{L}^{\textsc{new}}_{N-1,k}\) , k = 1, ..., K, and go to step 2.

The proposed procedure is a heuristic method aimed at defining a good splitting of jobs over parallel machines. The convergence of Procedure 1 obviously depends on the choice of coefficients ϵ and ΔL. However, it is guaranteed that the set of lot-size values iteratively provided by the procedure are always feasible.

4 Conclusions and future developments

Production systems serving a set of independent jobs with variable execution times have been considered in the paper. The case of single production facilities has been first considered stating and solving a single machine optimization problem. Such a problem, relevant to the timing of jobs, has been faced as an optimal control problem for which optimal control strategies are found by applying dynamic programming. Such strategies have been derived in a closed-loop form, as the optimal control actions are functions of the system state.

Then, a second model is considered in which jobs sequentially arrive to be processed on a set of parallel machines. Such machines are functionally equivalent, but may have different speeds. Here again, the unitary processing times are assumed to be controllable and hence are decision variables. In the considered decisional framework it is supposed that an incoming job (composed by a large number of identical operations) can be split into sub-jobs, whose parallel execution can then be carried out over the parallel machines. The splitting of a job is accomplished by assuming that all previously arrived jobs have already been split and that such previous decisions are no further matter of discussion. However, it is assumed that, after the assignment of a sub-job to a machine, a re-optimization of the timing of the execution of the whole set of sub-jobs (all those previously assigned and the one presently assigned) can take place. Thus, it is quite natural to search for necessary conditions for the optimality of the splitting and a simple procedure to iteratively adjust such splitting decisions until the above necessary conditions are (at least, approximately) satisfied. Such conditions may be determined on the basis of sensitivity coefficients of the optimal single machine costs with respect to the lot-sizes of the sub-jobs in which the newly arrived job is decomposed. Such coefficients, in turn, may be determined through an analytical procedure which exploits the result concerning the determination of the optimal control strategies for the single machine problem.

The proposed approach for optimally splitting jobs over the different machines represents an effort towards the development of a decentralized control scheme in a manufacturing environment in which single decision makers, each one corresponding to a single machine, interact with each other with the common objective of optimizing the system performance. Actually, the single machine optimization framework, yielding the single machine optimal control laws, defines the local operating rule of each decision maker, whereas the necessary conditions for optimal splitting can be used to define a coordination scheme among decision makers. The development of more complex decentralized control schemes is matter of current research.