1 Introduction

This research is motivated by a case study conducted at a Central European axle manufacturer. Forging was identified to be a bottleneck of the production process. However, increasing the output rate of the forging stage requires huge investments. Optimizing the production schedule can improve the efficiency without investing in new equipment. It can also support decision-making before an investment, by estimating the increased efficiency resulting from a capacity increase.

Equipment deterioration is an interesting scheduling challenge, which was discovered while studying the operations of the forging process. The so-called dies, used as templates for forming the axles into the desired shapes, are deteriorating not only when they are being used but also with each changeover. Each die has a durability, measured in the number of axles it can process before needing a restoration. This lifespan can only be fully utilized, if the die is used continuously. If the die is switched for another one, the remaining number of uses will decrease. This is due to the calibration process required on each setup of the die, and the physical deterioration from heating and cooling of the die. Even though it seems wasteful to suspense the production of an axle type until its die is completely deteriorated, sometimes it is necessary in order to meet deadlines, or it may simply be advantageous in reducing storage costs. There is a trade-off between minimizing the number of changeovers to decrease restoration costs, and minimizing the inventory levels, storage costs and production delays.

Numerous different approaches were presented in the literature for solving industrial scheduling problems. Harjunkoski et al. (2014) made a comprehensive state-of-the art review of the various methods. They compared the advantages and shortcomings of different solution techniques, modeling paradigms and their related issues, and provided guidelines for industrial applications.

Although the issue of equipment durability deterioration is present in other heavy industry production systems, approaches in scheduling literature have not integrated it into their models. Gascon and Leachman (1988) proposed a dynamic programming approach for minimizing changeover and storage costs under deterministic demands. Despite the similar trade-off in their objective, the method can only be used for unit-sized batches and equal processing times. These assumptions do not hold for the forge scheduling problem, and the approach provides no way to model equipment deterioration.

Deterioration of production equipment was addressed in various papers in the literature (Tang and Liu 2009; Zhao and Tang 2010) but this deterioration, also called aging, had different effects. In the investigated problems, the production speed of the equipment was decreasing with usage, not their remaining number of uses as in the case of forging dies. Zhao and Tang (2010) presented an approach that also addressed the scheduling of restoration jobs reverting the aging of equipment. Their method only considers a single machine, while in our problem, multiple dies must be scheduled.

The lack of research dealing with scheduling the operation and restoration of equipment whose durability deteriorates with usage and setup motivated this work. We propose a general MILP model for optimizing the production schedules of systems with these characteristics. While the investigated problem deals with a specific forge used for axle production, the model is general enough to provide means for modeling other systems with similar issues.

The rest of the paper is structured as follows. Section 2 contains a detailed description of the investigated scheduling problem. A discrete time grid based MILP model is proposed in Sect. 3 to solve the presented problem. In Sect. 4, an example problem is presented, and the solution efficiency of the proposed approach is measured for randomly generated instances as well. The results are summarized in Sect. 5.

2 Problem description

The examined process transforms bare steel rods into axles of many different type, whose set is denoted by \({\mathbf {A}}\) in the formal definitions. Each axle has to be manufactured from a single steel rod from a specific type (size). Different axle types, however, can share the same rod type. \({\mathbf {R}}\) is the set of all different rod types, and for each axle type \(a\in {\mathbf {A}}\), its required rod type is denoted by \(r_a\).

The steel rods are supplied by other companies, and the shipments are ordered based on a long-term stock management plan, which is outside of the scope of the present work. Thus, the planned shipments are known and their set is denoted by \({\mathbf {S}}\). Each shipment \(s\in {\mathbf {S}}\) arriving at \(T^{S}_s\) may contain different rod types. The number of rods of type \(r\in {\mathbf {R}}\) delivered by shipment \(s\in {\mathbf {S}}\) is denoted by \(Q^{S}_{s,r}\).

On the other end of the process, all orders \(o\in {\mathbf {O}}\) must be satisfied by their delivery date \(T^{O}_o\). Early shipment is not possible, as transportation is managed by the clients, and any delay would impose a serious risk of losing future contracts. An order may contain different axle types, and the required quantity is denoted by \(Q^{O}_{o,a}\) for each axle type \(a\in {\mathbf {A}}\) in order \(o\in {\mathbf {O}}\).

The manufacturing process consists of four main consecutive stages with different characteristics and challenges:

  1. 1.

    Die forging (df)

  2. 2.

    Heat treatment (ht)

  3. 3.

    Preparation (p)

  4. 4.

    Machining (m).

2.1 Forging

The steel rods first go through the forging stage one by one: they are heated up, placed into a forging die and a hammering machine is forming them into the desired shape. Due to the very high price of such equipments, there is only one available, becoming the bottleneck of the whole process. The scheduling planner has to decide when to switch from the forging of one axle type to another.

Each axle type has its dedicated die that has to be used on the appropriate rods. The dies do not deteriorate while they are not in use, but they do degrade when used, and after a certain level of distortion, they require restoration, which takes \(t^{re}_a\) hours and costs \(C^{re}\) units.

The durability of a recently restored die can be measured by the number of steel rods that can be shaped with it. This number, \(Q^{D,max}_a\) can vary between different axle types \(a\in {\mathbf {A}}\), and is well known from historical data. The number of die-forged axles produced with a die between two restorations is, however, always lower, as each setup of a die requires heating and producing some trial-axles. These operations decrease the durability of the die by \(Q^{D,su}_a\) every time it is installed after another into the forge. The setup of a die also takes \(t^{su}\) hours, and costs \(C^{su}\) cost units regardless of the selected die. In the beginning of the time horizon, it is assumed, that each die for axle type \(a\in {\mathbf {A}}\) has a deteriorated durability of \(Q^{D,0}_a\), and none of them is currently installed in the forge.

After the setup, the time it takes to process each single steel rod is \(t^{df}_a\), depending on the axle type \(a\in {\mathbf {A}}\).

2.2 Heat treatment

A die-forged axle needs to cool down and get some grinding before it can undergo the heat treatment process. Since grinding does not need scarce resources, and can be done anytime after the cooldown and before the next stage, the time required for these two steps are merged into a single parameter, \(t^{cd}_a\) that depends on the axle type \(a\in {\mathbf {A}}\).

The heat treatment furnace is regularly shut down for two reasons:

  • Regardless of their type, the number of axles that can be treated in an hour, \(q^{ht}\), is significantly higher than the best hourly throughput of the die forge, and keeping the furnace at high temperature requires a lot of energy, thus it is an unnecessary cost.

  • Regular maintenance is mandatory for the furnace.

The time intervals when the furnace is heated up and is operational are provided by the long-term plan of the factory, which is based on historical data and industrial best practices. These intervals are given by \(\mathbf {T}^F\subseteq [0,\infty [\).

Axles enter the furnace in batches, go through a corridor, then leave after a given time. There can be multiple batches inside the furnace up to its maximum capacity, therefore, heat treatment is considered as a continuous operation with a maximum flow-rate of \(q^{ht}\) pieces per hour.

2.3 Preparation and machining

During the preparation stage, a hydraulic press forms the product into its final geometry. Both this and the next, machining stage have high capacity and flexible flow-rate, thus, their resource needs are discarded, and only the time needed for the two steps for a single heat-treated axle is given by \(t^{pm}_a\) for each axle type \(a\in {\mathbf {A}}\).

2.4 Flexibility, objective and cost evaluation

The mid-range planner can make two types of decisions:

  • when and how long will a die be used in the forge

  • when should the die-forged axles go to heat treatment.

The planned schedule must meet the following set of constraints:

  • a step can only be carried out if the inputs (rods for forging, forged axles for heat treatment) are available in the necessary quantity

  • a die can not be used without restoration after its durability is depleted

  • the orders have to be fulfilled without error.

The goal is to minimize the cost over the planning period, that constitutes of:

  • Production costs

  • Die setup costs

  • Die restoration costs

  • Storage costs.

Production costs are relative to the quantity, that is fixed by the orders, thus these costs are independent of the schedule. The hourly cost of forging is denoted by \(c^{df}\). Setup and restoration costs are already discussed, these are axle-independent fixed costs that occur upon each setup or restoration of a die, and has the magnitudes of \(C^{su}\) and \(C^{re}\), respectively.

While storage is practically free, a time- and piece-proportional storage cost is provided by the company for each rod and axle, that represent the loss in capital by the hidden cost of unused assets. The parameters \(c^{st,r}_r\), \(c^{st,df}_a\), \(c^{st,ht}_a\), and \(c^{st,pm}_a\) denote these cost for the rods, die forged axles, heat treated axles, and delivery-ready axles, respectively. The storage capacity can be considered as unlimited, and the intermediates, products do not deteriorate over time. There is a trade-off between storage and restoration costs, as discussed in Sect. 1.

3 Mathematical model

This work proposes a MILP model with a global discrete uniform time grid to solve the scheduling problem described above. This time representation has some advantages compared to continuous time models in handling the types of constraints present in this problem (Floudas and Lin 2004; Harjunkoski et al. 2014). One challenge is that it is not known in advance how many times a die will be changed before its restoration, and in what ratios will its lifespan be subdivided. This would make it very difficult to determine the number of time points in a continuous time formulation. Inventory costs, resource demands and arrivals are also easier to model in discrete time models.

Resources are modeled according to the Resource Task Network (RTN) formulation, which was proposed by Pantelides (1994). It provides a general representation of materials and production equipment, and it is suitable for modeling the durability of the dies and its associated constraints. This modeling method will be discussed in Sect. 3.3 in more detail.

3.1 Defining the discrete uniform time grid

To use a discrete uniform time grid, its resolution must be determined. The planning horizon is partitioned into equal-length time slots, indexed by \(\tau \). The length of each time slot, \(t^\tau \) should be chosen based on the values of other timing parameters. In an ideal case, each parameter associated with a time is a multiple of \(t^\tau \). Otherwise, the solution space of the model may not include the optimal schedule. In the following, \(\tilde{t}\) denotes the number of time slots a time parameter t is stretched over: \(\tilde{t} = \lceil \frac{t}{t^\tau }\rceil \).

While shorter time slots can guarantee more precise solutions, having more time slots lead to more variables and hence more complex models. The end of the planning horizon is the latest delivery date among the orders, therefore, the number of required time slots is \(n = \max _{o\in {\mathbf {O}}}\left\{ \tilde{T}^{O}_o\right\} \).

The steel rods arriving in shipments are available at the end of the respective time slot. To simplify the formulation, a computed parameter \(Q^{S}_{\tau ,r}\) is defined for the quantity of steel rod r available from the end of time slot \(\tau \), and at the beginning in the case \(\tau =0\).

$$\begin{aligned} Q^{S}_{\tau ,r} = \sum _{s\in {\mathbf {S}}: (\tau -1) t^\tau < T^S_s \le \tau \cdot t^\tau } Q^{S}_{s,r} \quad \forall r\in {\mathbf {R}}, \tau = 0,\ldots ,n. \end{aligned}$$

Because of the flexibility of the preparation and machining steps, these operations do not need to be scheduled. Instead, the heat treated axles must be delivered before the delivery dates with leaving enough time for the last stages. A computed parameter \(Q^{O}_{\tau ,a}\) is introduced to represent the quantity of heat treated axles required by the end of time slot \(\tau \) from axle type a.

$$\begin{aligned} Q^{O}_{\tau ,a} = \sum _{o\in {\mathbf {O}}: (\tau -1) t^\tau < T^O_o - t^{pm}_a \cdot Q^{O}_{o,a} \le \tau \cdot t^\tau } Q^{O}_{o,a} \quad \forall a\in {\mathbf {A}}, \tau = 0,\ldots ,n. \end{aligned}$$

For the same reasons, storage costs of prepared and machined axles are omitted from the cost function, as the last stages should be executed as late as possible, assuming the storage costs of finished products are higher (otherwise, as early as possible).

3.2 Forging and heat treatment processes

The operations of the forge are modeled with 2 binary variables per pairs of time slot and die type. \(x_{\tau ,a}\) denotes whether die for axle type a is being used in time slot \(\tau \), and \(x^{su}_{\tau ,a}\) whether it is being setup. Constraint (1) ensures that the forge cannot work on more than one die at a time.

$$\begin{aligned} \sum _{a\in {\mathbf {A}}}\left( x_{\tau ,a} + x^{su}_{\tau ,a}\right) \le 1 \quad \forall \tau = 1,\ldots ,n. \end{aligned}$$
(1)

The necessary setup time is enforced by (2). A die can only be used in time slot \(\tau \) if it was being setup in the previous required number of time slots, or if it was already in use. Consequently, the die cannot be in use in the first time slot (3).

$$\begin{aligned}&\tilde{t}^{su} \cdot x_{\tau ,a} \le \tilde{t}^{su} \cdot x_{\tau -1,a} + \sum _{\tau '=\max \{1,\tau -\tilde{t}^{su}\}}^{\tau -1} x^{su}_{\tau ',a} \quad \forall a\in {\mathbf {A}}, \tau = 2,\ldots ,n \end{aligned}$$
(2)
$$\begin{aligned}&x_{1,a} = 0 \quad \forall a\in {\mathbf {A}}. \end{aligned}$$
(3)

Heat treatment is modeled with a continuous variable \(y_{\tau ,a}\), which denotes the number of die-forged axles of type a heat treated during time slot \(\tau \).

$$\begin{aligned} y_{\tau ,a} \ge 0 \quad \forall a\in {\mathbf {A}}, \tau = 1,\ldots ,n. \end{aligned}$$
(4)

Multiple types of axles can be processed in the same time slot, only their total quantity is constrained by \(q^{ht}\), the throughput ratio of the furnace. Constraint (5) shows how the furnace capacity can be calculated from its set of active time periods, \(\mathbf {T}^F\). It is assumed that \(\mathbf {T}^F\) is a union of continuous time intervals.

$$\begin{aligned} \sum _{a\in {\mathbf {A}}}y_{\tau ,a} \le \int _{\left[ (\tau -1) t^\tau , \tau \cdot t^\tau \right] \cap \mathbf {T}^F} q^{ht} \quad \forall \tau = 1,\ldots ,n. \end{aligned}$$
(5)

Die-forged intermediates require \(t^{cd}_a\) hours for cooling and grinding before their heat treatment. Constraints (6)–(7) ensure that the axles going into the furnace in time slot \(\tau \) were forged long enough ago. Variable \(r_{\tau ,a}\) will be described in Sect. 3.3.

$$\begin{aligned} y_{\tau ,a}\le & {} r_{\tau -\tilde{t}^{cd}_a,a} \quad \forall a\in {\mathbf {A}}, \tau = \tilde{t}^{cd}_a + 1,\ldots ,n \end{aligned}$$
(6)
$$\begin{aligned} y_{\tau ,a}= & {} 0 \quad \forall a\in {\mathbf {A}}, \tau = 1,\ldots ,\tilde{t}^{cd}_a. \end{aligned}$$
(7)

3.3 Material balance

In an RTN representation, both materials and available equipment are treated equally as resources that can be consumed and produced by the processes. The resource levels at the end of each time slot are represented by nonnegative continuous variables. \(r^R_{\tau ,r}, r^{df}_{\tau ,a}\), and \(r^{ht}_{\tau ,a}\) denote the resource levels of steel rods, die-forged, and heat treated axles, respectively. The durabilities of dies are represented similarly by variables \(r^D_{\tau ,a}\).

Starting resource levels are set by the shipments arriving at 0 time unit, and by \(Q^{D,0}_a\) for die durabilities.

$$\begin{aligned} r^R_{0,r}&= Q^{S}_{0,r} \quad \forall r\in {\mathbf {R}}\end{aligned}$$
(8)
$$\begin{aligned} r^{df}_{0,a}&= 0 \quad \forall a\in {\mathbf {A}}\end{aligned}$$
(9)
$$\begin{aligned} r^D_{0,a}&= Q^{D,0}_a \quad \forall a\in {\mathbf {A}}. \end{aligned}$$
(10)

Material levels at the end of time slots are calculated from the previous levels and the changes caused by production processes (11) and (12).

$$\begin{aligned} r^R_{\tau ,r}= & {} r^R_{\tau -1,r} + Q^{S}_{\tau ,r} - \sum _{a\in {\mathbf {A}}:r_a=r} \left( \frac{Q^{D,su}_a}{\tilde{t}^{su}} x^{su}_{\tau ,a} + \frac{t^\tau }{t^{df}_a} x_{\tau ,a} \right) \quad \forall r\in {\mathbf {R}}, \tau = 1,\ldots ,n \nonumber \\ \end{aligned}$$
(11)
$$\begin{aligned} r^{df}_{\tau ,a}= & {} r^{df}_{\tau -1,a} - Q^{O}_{\tau ,a} - \frac{Q^{D,su}_a}{\tilde{t}^{su}} x^{su}_{\tau ,a} - \frac{t^\tau }{t^{df}_a} x_{\tau ,a} \quad \forall a\in {\mathbf {A}}, \tau = 1,\ldots ,n. \end{aligned}$$
(12)

Die durabilities are calculated similarly but restorations make it more complex, as the regained amount of durability depends on the current durability, which would introduce a non-linear term into the equation, as shown in (13). Restoration of die for axle a is represented by the binary variable \(w_{\tau ,a}\), which equals to 1 if the restoration is finished upon the end of time slot \(\tau \).

$$\begin{aligned} r^D_{\tau ,a} = r^D_{\tau -1,a} - \left( 1-w_{\tau ,a}\right) \left( \frac{Q^{D,su}_a}{\tilde{t}^{su}} x^{su}_{\tau ,a} +\frac{t^\tau }{t^{df}_a} x_{\tau ,a} \right) + w_{\tau ,a} \cdot Q^{D,max}_a \quad \forall a\in {\mathbf {A}}, \tau = 1,\ldots ,n. \end{aligned}$$
(13)

This constraint is linearized with the following inequalities (14)–(16), replacing (13) in the model. The lower bound (14) is similar to the material balance equations. The upper bound (15) includes the restored durability as a big-M term, and a constant upper bound (16) limits the durability to its maximum to prevent exceeding it with an early restoration.

$$\begin{aligned} r^D_{\tau ,a}\ge & {} r^D_{\tau -1,a} - \frac{Q^{D,su}_a}{\tilde{t}^{su}} x^{su}_{\tau ,a} - \frac{t^\tau }{t^{df}_a} x_{\tau ,a} \quad \forall a\in {\mathbf {A}}, \tau = 1,\ldots ,n \end{aligned}$$
(14)
$$\begin{aligned} r^D_{\tau ,a}\le & {} r^D_{\tau -1,a} - \frac{Q^{D,su}_a}{\tilde{t}^{su}} x^{su}_{\tau ,a} - \frac{t^\tau }{t^{df}_a} x_{\tau ,a} + w_{\tau ,a} \cdot Q^{D,max}_a \quad \forall a\in {\mathbf {A}}, \tau = 1,\ldots ,n \end{aligned}$$
(15)
$$\begin{aligned} r^D_{\tau ,a}\le & {} Q^{D,max}_a \quad \forall a\in {\mathbf {A}}, \tau = 1,\ldots ,n. \end{aligned}$$
(16)

The restoration time is enforced in Constraint (17) similarly as the setup time in (2). While a die is being restored, it cannot be in use, therefore, a restoration can finish only after enough idle time of the die.

$$\begin{aligned} w_{\tau ,a} \cdot \tilde{t}^{re}_a\le & {} \tilde{t}^{re}_a - \sum _{\tau '=\tau -\tilde{t}^{re}_a+1}^{\tau } \left( x_{\tau ',a} + x^{su}_{\tau ',a} \right) \quad \forall a\in {\mathbf {A}}, \tau = \tilde{t}^{re}_a+2,\ldots ,n \end{aligned}$$
(17)
$$\begin{aligned} w_{\tau ,a}= & {} 0 \quad \forall a\in {\mathbf {A}}, \tau = 1,\ldots ,\tilde{t}^{re}_a. \end{aligned}$$
(18)

3.4 Objective

The goal is to minimize the total cost of the production. As (19) shows, with the discrete time grid, costs can be calculated easily by multiplying the cost factors with their associated variables, and summing the costs imposed in each time slot.

$$\begin{aligned} \min z = \sum _{\tau =1}^{n}\left( \sum _{r\in {\mathbf {R}}} c^{st,r}_r \cdot r^R_{\tau ,r} + \sum _{a\in {\mathbf {A}}} \left( \begin{array}{rll} &{}c^{st,df}_a &{}\cdot r^{df}_{\tau ,a} \\ + &{}c^{st,ht}_a &{}\cdot r^{ht}_{\tau ,a} \\ + &{}c^{df} \cdot t^\tau &{}\cdot x_{\tau ,a} \\ + &{}\frac{C^{su}}{\tilde{t}^{su}} &{}\cdot x^{su}_{\tau ,a} \\ + &{}C^{re} &{}\cdot w_{\tau ,a} \end{array} \right) \right) . \end{aligned}$$
(19)

3.5 Model improvements

The previous constraints are enough to model the scheduling problem and obtain the optimal schedule. However, there is room to improve solution quality and performance.

Floudas and Lin (2005) summarized the possible techniques for accelerating the solution process of MILP models. Here, improvement of the model is attempted by adding tightening constraints to decrease the search space.

The inequalities introduced in (14)–(16) to model the durability changes of dies allow solutions where a die is not fully restored to \(Q^{D,max}_a\). There is no benefit in partially restoring a die, unless it has less cost or time requirement, which would require a different model. Apart from the practical reasons, this may also make it more difficult to solve the model. To enforce that dies are always fully restored, Constraint (20) is added to the model.

$$\begin{aligned} r^D_{\tau ,a} \ge w_{\tau ,a} \cdot Q^{D,max}_a \quad \forall a\in {\mathbf {A}}, \tau = 1,\ldots ,n. \end{aligned}$$
(20)

Another simplification can be made for scheduling die restoration. It can be observed that the restoration can be carried out anytime between two uses of a die with the timing having no effect on the objective value. Therefore, forcing the restoration to end directly before it is used again with Constraint (21) will tighten the solution space without loss of optimality.

$$\begin{aligned} w_{\tau -1,a} \le x^{su}_{\tau ,a} \quad \forall a\in {\mathbf {A}}, \tau = 2,\ldots ,n. \end{aligned}$$
(21)

Further practical considerations can be made about allowing a die to be restored even if it still has enough durability to be used further. The unused durabilities are wasted, which could be handled by introducing a cost parameter for it, or a constraint like (22) can be added to the model that prevents restoration if the remaining durability is over a given minimum. In (22), the minimum is computed to be the durability used up during a whole time slot.

$$\begin{aligned} w_{\tau ,a} \le 1 + \frac{\frac{t^\tau }{t^{df}_a} - r^D_{\tau -1,a}}{Q^{D,max}_a - \frac{t^\tau }{t^{df}_a}} \quad \forall a\in {\mathbf {A}}, \tau = 2,\ldots ,n. \end{aligned}$$
(22)

Adding this constraint may remove the optimal solution of the original model from the solution space. However, it eliminates the waste caused by not utilizing the full durabilities of dies. A better solution would be to add the associated costs of this wasted capacity to the objective function, but determining the cost factor is difficult, and it would make the model more complex.

The original model also allows to start setting up a die but not using it after setup. Solutions like this would be suboptimal because of the added costs of the unnecessary setup, so they can be eliminated from the search space without loss of optimality. Constraint (23) solves this by ensuring that if a setup is started in time slot \(\tau \), it is continued until setup is finished, then forging must be started.

$$\begin{aligned} (x^{su}_{\tau ,a} - x^{su}_{\tau -1,a}) (\tilde{t}^{su}+1) \le x_{\tau +\tilde{t}^{su},a} + \sum _{\tau '=\tau }^{\tau +\tilde{t}^{su}-1} x^{su}_{\tau ',a} \quad \forall a\in {\mathbf {A}}, \tau = 2,\ldots ,n-\tilde{t}^{su}. \end{aligned}$$
(23)

4 Computational results

The proposed approach was tested on several test cases. The parameters were chosen based on real data provided by the industrial partner.

First, a detailed example is shown with all input parameters and the obtained optimal solution. Then, the results of further empirical analysis are presented based on randomly generated instances.

For MILP optimization, Gurobi 8.0 was used on a computer with a dual-core Intel i5-660 (3.33 GHz) CPU and 8 GB RAM. A time limit of 1000 s was set for the solver.

The basic model consists of (1)–(12), and (14)–(19). This can be extended with any combination of (20)–(23).

4.1 Illustrative example

In this example problem, 3 weeks need to be scheduled. The length of the time slots is chosen to be 8 h. There are 4 axle types to be produced (\({\mathbf {A}}=\{a1,a2,a3,a4\}\)), and they are forged from 3 rod types (\({\mathbf {R}}=\{r1=r_{a1}, r2=r_{a2}, r3=r_{a3}=r_{a4}\}\)). Most supplies are available from the start, and 1 shipment is arriving later (Table 1).

There are product orders to be satisfied at the end of each week (Table 2). Other input parameters are shown in Tables 3, 4 and 5.

Table 1 Supply shipments
Table 2 Product orders
Table 3 Cost parameters
Table 4 Axle-dependent parameters
Table 5 Other parameters

The example was solved with the basic model and with each possible combination of the last 4 constraints. Each variant obtained the same optimal solution with objective value 8080.432048 cost units in less than 5 min.

Figure 1 shows the Gantt chart of the forge, displaying when the dies are being used, setup, or restored. It can be seen that dies are switched out several times in order to meet the delivery dates. The resource levels are displayed in Fig. 2, where order deliveries (of heat treated intermediates), the supply shipment, and die durabilities can be seen.

Fig. 1
figure 1

Optimal schedule of the forging dies

Fig. 2
figure 2

Resource levels of the optimal schedule

4.2 Performance analysis

To gain more insight about the effects of the 4 optional constraints on the performance, they were tested on randomly generated instances.

20 instances were generated, each contains 4 products with a different raw used for each. Raw materials are all present at the start. The planning horizon is 3 weeks, with product orders due by the end of each week. Tables 6 and 7 show the intervals, from which the parameter values were chosen randomly with uniform distribution. Values associated with timing or quantity were chosen from integer intervals.

Table 6 Parameters for orders and starting supplies
Table 7 Intervals of other parameters

From the 20 instances 11 were infeasible, which was reported by the solver in under 15 s on each such instance. 1 instance was significantly more difficult to solve than others, with no optimal solutions found by any variants of the model in the 1000 s time limit, and a best gap of 20%.

The solution times of the remaining 8 instances are shown in Table 8. The 4 bits in the first column represents whether each of the last 4 constraints are included in that model variant. The rows are ordered first by the number of instances solved to optimality (Opt), then by their average solution times (Avg). The best solution time for each instance is highlighted in bold.

Table 8 Solution times (CPU s) of different model variants

From the 4 constraints, (22) had the largest impact on solution time. Adding this constraint to the model resulted in higher solution times. It also increased the objective values by 10–15%, as this constraint does not allow restoration of a die that still has durability for more forging.

The other 3 constraints do not affect the optimal objective value, their purpose is to reduce the solution space by eliminating suboptimal and redundant solutions. There is a high variance in the effects of using them but adding any of them to the model was better than using none of them. The impacts of individual constraints also varies among the instances, neither constraint dominates the others in performance.

5 Conclusions

In this work, a new scheduling problem was presented, which originates from an axle manufacturing process. The dies used for forging have a durability, which gets damaged with changeovers. This special problem characteristic had not been addressed before in scheduling literature.

Here, an MILP model was presented for scheduling the forging and heat treatment processes. Different approaches were attempted to improve the solution performance of the model by introducing tightening constraints. The performance was tested and compared on randomly generated test cases involving 4 product types, and a 3-week long planning horizon. The proposed approach performed well on the problem, with varying success of the tightening constraints.

Based on the test results, the developed model is a successful first attempt in solving the newly described problem. To solve larger, more complex examples efficiently, new improvement methods or heuristic approaches need to be developed, which opens potential for future research on the topic.