Best schedule for the example.

## Abstract

This chapter discusses an integrated model of batch production and machine maintenance scheduling on a single deteriorating machine and flow shop with a deteriorating machine that produces an item to be delivered at a common due date. The model describes the trade-off between production costs and maintenance costs as the increase of production run length. The objective function of the model is to minimize total cost consisting of in-process and complete inventory holding costs, setup cost, preventive and corrective maintenance costs, and rework cost. The problem is to determine the best production run length and maintenance actions that minimize the total cost.

### Keywords

- batch production
- maintenance scheduling
- single item
- deteriorated machine

## 1. Introduction

The development of today’s manufacturing systems leads to a shorter product life cycle, increasing product varieties and customer demand on the higher quality and timeliness of delivery. Thus, the accuracy and speed of decision-making in the manufacturing system become important.

A machining process industry gets many machining orders from its strategic partner industries in large quantities. The manufacturer processes the order in constant batch size that is set by production section. Meanwhile, Maintenance Section performs machine maintenance only in case of machine failures (reactive maintenance). Delay delivery order to consumers cannot be avoided if the maintenance machine takes a long time and disrupts production activities, and this often happens.

Some root of the problem can be drawn from this description: first, the maintenance has not implemented preventive maintenance system although the machine failure data, the time interval between failures, and the cost of each failure are well recorded. Second, the production section schedules batches in a constant size, whereas according to [1, 2, 3, 4, 5, 6], discussions about nonconstant batch sizes will provide a better shop time. Third, the machine failure occurs when production is in progress, so the machine failure interferes with the productivity of the shop floor. These three issues indicate the independence between production scheduling, and maintenance scheduling may result in the following conditions:

Production scheduling that does not take into consideration the maintenance aspect will cause a machine to be continually operated even though the machine should be maintained. If the maintenance is not conducted, it can result in a breakdown machine during production activities that will certainly interfere with productivity.

Maintenance schedule that does not take into account the production schedule will cause a busy machine to be stopped for maintenance. This also disrupts the pre-arranged production schedule.

## 2. Model construction

This section discusses how the model is constructed. The linkage between the uncontrollable parameter and the model decision variable in achieving the best total cost is discussed in the influence diagram for integrated batch production scheduling and maintenance scheduling, input-output diagram for the models of batch production and maintenance scheduling, construction of objective function, system constraint, model and algorithm, and then a numerical experience to show how an algorithm works to solve a problem.

### 2.1 *Influence diagram* for the model batch production and maintenance scheduling

The integrated batch production and maintenance scheduling developed in this chapter have total cost minimization criteria consisting of inventory holding cost, setup cost, PM cost, CM cost, and rework cost for nonconforming part. In the influence diagram Figure 1, the problem of integrated batch production and maintenance scheduling can be explained as follows. Demand, due date, and machine performances are uncontrollable parameters. Demand and due date will affect batch size (production schedule).

The machine performance will affect the estimated number of PM and number of CM. In the model system, the number of PM and number of CM will affect each other with the production schedule. The number of PM will affect each other with the number of CM, where the increasing number of PM will cause the number of CM to decrease and vice versa. The number of PM and CM also influences each other for the number of nonconforming parts.

### 2.2 Input-output diagram for the models of batch production and maintenance scheduling

The total cost consists of inventory holding costs, setup cost, PM cost, CM cost and rework cost. The cost of inventory holding costs consists of the work in process (wip) and the finished part of inventory holding costs. In-process inventory holding cost is the cost of inventory for parts in batches during processing are calculated by multiplying the number of parts in the batch by the waiting time for the batch to be processed. The cost of the finished part is the inventory holding cost for parts in the finished batch, calculated by multiplying the number of parts in the batch by unit inventory holding cost for finished part as long as the time of waiting for the batch until the deadline *d*. The setup cost is calculated by multiplying the number of scheduled batches by unit setup cost. The rework cost is calculated by multiplying the number of nonconforming parts by unit rework cost. The PM cost is calculated by multiplying the number of PM by unit PM cost, and the CM cost is calculated by multiplying the number of CM by unit CM cost.

The input-output diagram of the integrated batch production and maintenance scheduling to minimize total cost is shown in Figure 2.

Figure 2 shows the input parameters model: the number of parts scheduled, due date, Weibull distribution function *f(t)*, unit processing time, PM interval length, inventory holding cost, rework cost, setup time between batches, and the probability of nonconforming part on the machine in the status of in-control and out of control. The output of the model are the size of batches and the schedule, PM schedule, number of CM, and number of nonconforming parts.

The model will address trade-off issues on production costs and maintenance costs, where production costs will consist of inventory holding costs (in-process and finished part of inventory holding costs), setup cost, and rework cost for nonconforming parts, while the maintenance cost consists of PM cost and CM cost. The model will answer how the batch production and maintenance scheduled minimize the total cost. Drawing influence diagram follows [7].

## 3. Integrated batch production and maintenance scheduling for single item processed on a deteriorating machine with a due date

The modeling starts with an inventory holding cost for in-process and completed batches, modeling of system constraints of the problem, model of the problem, algorithm, and an example to show how the algorithm works to solve the model.

### 3.1 Inventory holding costs for in-process batch and completed batch

Holding cost concept is developed from [3]. Let *q* parts of an item be scheduled by a minimization of total actual flow time criterion. The *q* parts are divided into *N* batches *L[i]* (*i = 1, 2, …, N*) where the sizes of each batch are *Q[i]*(*i = 1, 2, …, N*). If all parts in a batch have been processed completely, then the batch is called as completed batch. If a batch is still containing any part not yet or being processed, it is called as in-process batch.

In an assumption raw materials arrive just in the time when they are required, i.e., in the beginning of a batch processing, the holding cost is only for in-processed batch and completed batch. The formulation of holding cost is conducted for in-process batch firstly and then for completed batch. The position of *batch L[i]* in a single machine manufacturing system by a backward approach during a planning horizon is shown in Figure 3.

An assumption for in-process batch is that parts in a batch shall wait in the batch until all parts in the batch have already been processed. Therefore, in the interval (*0,t*) in the in-process batch *L[i]*, there are *Q[i]* work-in-process parts (parts not yet or being processed). In interval (*t,2 t*) there are (*Q[i]-1*) work-in-process parts and l finished part, until in interval ((*Q[i]–1*)*t,Q[i]t*), there are I work-in-process parts and (*Q[i]–1*) finished parts.

The amount of holding cost for the finished part, designated *f1*, is as follows:

The amount of holding cost for the in-process part, designated *f1*, is as follows:

By summation *f1* and *f1, f2* and *f2* in a reverse order, a simpler result is found, i.e.:

Then, the holding cost of *ith* in-process batch is the addition of *f1* and *f2,* that is:

Based on Eq. (1), the total holding cost of the in-process batch of all batches may be written as follows:

The holding cost of completed batch may be formulated as follows:

Next, total holding cost (*TolC*) is computed by adding up the holding cost of in-process batch in Eq. (2) and completed batch in Eq. (3) to yield Eq. (4).

The first term of Eq. (4) is total holding cost in completed batch, and the second and third terms are the total holding cost, while the part is being processed in batch (in-process batch) in one production run.

Eq. (4) and Figure 3 are to be developed into a formulation of holding cost for *g* production run and PM interval inserted sequentially as shown in Figure 4.

By considering any changes taking place in each production run and total PM for *g* production runs and *g* PM intervals, total holding cost will become Eq. (5).

### 3.2 ROCOF function

*Rate of occurrence of failures* (ROCOF) is a concept that is useful in the modeling of failures over time and the effect of PM (and CM) actions [8]. The ROCOF characterizes the probability that a failure occurs in the interval [*t,t + δt*]. The ROCOF is given by an intensity function

where N(t) is the number of failures in the interval [0,t). Since the probability of two or more failures in the interval [t,t + *δt*] is zero as *δt–›*0, we have the intensity function equal to the derivative of the conditional expected number of failures, so that

When the failures are minimally repaired and the time to repair is negligible, then ROCOF function

A ROCOF function that has been used extensively is the Weibull ROCOF. The cumulative ROCOF (or the expected total number of failures) is given by the function

with scale parameter

Let a system (machine) with a Weibull failure time distribution have a shape parameter of β = 1.69 and a scale parameter *α* = 2,857.14, then, based on ROCOF cumulative function, the first, the second, and so on estimated failure times that could be written as follows can be found:

If *t* = 2857.14. If *t* = 4305.82. If *t* = 5473.33. If *t* = 6489.03.

From the calculation above, the time interval between machine failure times can be estimated, where the time between failures of a machine is diminishing over time. It indicates that the machine has increasing failure rate distribution.

### 3.3 Estimation of nonconforming parts

This research developed a policy in that PM is carried out before an expected first failure time based on cumulative ROCOF function. An example of a condition for a case of two production runs and two PMs is shown in Figure 5. In the second production run, there is no nonconforming part, because the out-of-control state takes place in the first production run, so that the number of nonconforming parts for *k = 2* may be written as follows:

In the same way for *g* production runs and *g* PMs, the number of nonconforming parts will always be of the same form, except if applied to *k = 1, 2, …, g*, so that

Under an assumption that the probability that the nonconforming part processed under in-control state is *p1 = 0,* then the expected number of nonconforming parts may be written as

so that the expected network cost may be computed by

### 3.4 Model formulation

In order to formulate the integrating batch production and maintenance scheduling into a mathematical model, we use following notations.

**Parameters**

*t*: unit processing time for a part

*s*: setup time required for any batch processed

*c1*: unit inventory holding cost for finished part per unit per time unit

*c2*: unit inventory holding cost for the work in process part per unit per time unit

*cs*: unit setup cost

*cPM*: unit preventive maintenance cost

*cr*: unit restoration cost (corrective cost)

*cw*: unit rework cost per part for nonconforming part

*tPM*: time interval for preventive maintenance (in constant assumption)

*β*: shape parameter for the Weibull distribution

*α*: scale parameter for the Weibull distribution

*p1*: probability of defect part on in-control state

*p2*: probability of defect part on out-of-control state

*q*: number of parts to be processed

*d*: an order delivery time (a common due date)

**Decision variables**

*g*: number of production run in model [SISM]

R: number of production run in algorithm [SISM]

*i* in the *kth* production run from due date direction (backward approach), for *ik =* 1, 2*, …, Nk*, *k =* 1, 2*, …, g*

*N*: possible total number of batch in a planning horizon

*Nk*: number of batch in *kth* production run, *k =* 1, 2*, …, g*

*L[ik]*

*L[ik]*

*BPM[k]*: beginning time for *kth* PM

*CPM[k]*: completion time for *kth* PM

*, i =* 1, 2*, …, Nk, k =* 1, 2*, …, g*

*nCM*: number of CM minimal repair (restoration)

*R*: total cost of CM (restoration)

*M*: number of nonconforming parts

Objective function *TC*: the total cost consisting of inventory cost in process and complete inventory costs, setup cost, preventive and corrective maintenance cost, and rework cost

The model has some assumptions in formulating the model, as follows:

This integrating model for single item processed on a single deteriorating machine.

Setup time is not depending on the size of batches.

Batch position number and PM are counted from due date direction (backward approach).

The same load force for machine in setup time and in processing time.

The machine cannot be interrupted as long as production runs.

Batch size value is in real positive.

Using those defined notations and based on those assumptions, the integrating batch production and maintenance scheduling to minimize production and maintenance costs on a deteriorating machine in just in time environment (model [SISM]) can be expressed as mixed-integer nonlinear programming as follows:

Model [SISM]

subject to

Eq. (14) declares an objective function to minimize total costs consisting of inventory costs, setup cost, preventive maintenance cost, corrective maintenance cost, and rework cost. Eq. (15) states the balance of the material in the shop, where the number of parts in all batches must be equal to the number of parts that will be scheduled. Eqs. (16) and (17) state the beginning time of each batch on the first run and the next runs, respectively. All batches are scheduled tight to a common due date *d* sequentially. Eqs. (18) and (19) state the length of first run and the next runs, respectively. Eq. (20) states the estimation of nonconforming parts for each run. Eqs. (21) and (22) state the estimation of total nonconforming parts and total rework cost for nonconforming parts, respectively. Eqs. (23) and (24) state the possible number of CM action with cumulative Weibull ROCOF and the expected cost of CM action, respectively. Eq. (25) represents a set of constraints for the beginning and the next of the PM times, with the assumption that first PM in schedule or the last PM in processing (backward approach) after all batches has been completed at a common due date d to ensure the machine in as good as new condition for the next order. Eq. (26) states the possible number of batches in a planning horizon. Eq. (27) states the possible number of production runs in a planning horizon. Equation (28) states a binary constraint that each batch will have:

### 3.5 Algorithm

The algorithm developed begins with problem solving without involving restoration cost (CM) and rework cost for nonconforming parts or without the constraints of Eqs. (20)–(24). It begins with one batch in one production run with one PM. After having obtained a production schedule, estimate the number of nonconforming parts by Eq. (20) and the number of restoration (CM) by Eq. (23). Next, compute estimated rework cost by Eq. (22) and estimated restoration cost by Eq. (24), and then compute total cost. This step is done for two batches until an increased total cost is found. Write the best total cost for one production run and one PM. This process is carried out for two production runs with two PMs until the best total cost is found for two production runs with two PMs. Continue the process up to *g* production runs with *g* PMs. The best algorithm solution is the minimization of all the best total costs for k = 1, 2, …, g. Then, write all decision variables of single item single machine integration problem. Single item single machine integration problem algorithm fully is as SISM algorithm.

**Algorithm [SISM]**

Step-1. Set the length of the first failure time interval after PM as *α*. Go to Step -2.

Step-2. A problem is said as feasible if and only if the total time of process with one setup doesn’t exceed the due date of delivering *d*, otherwise the problem is unfeasible for a model or if s + tq ≤ d then the problem is feasible; continue to Step-3. If s + tq> d, the problem is unfeasible, stop.

Step-3. Compute *g* by Eq. (27), and set *Nk =**k = 1, 2,…, g*. Go to Step-4.

Step-4. For R = 1, 2, …, g. Go to Step-5.

Step-5. Set R = *1*. Go to Step-6.

Step-6. Set *g* = R. Go to Step-7.

Step-7. Substitute the values of *g, Nk, p, q, t, s, d,* *= 1* for *=1* and *k=1* dan set *= 0* for other

Step-8. Solve SISM Model without the constraint of Eqs. (20)–(24). Compute estimated rework cost by Eq. (22) and estimated restoration cost by Eq. (24), and compute a total cost to find TC, write *TC.* Go to Step-9.

Step-9. Set *k = 1*. Go to Step-10.

Step-10. Set *= 2*. Go to Step-11.

Step-11. Set *= 1* for *=1,2,…,**l = 1,2,…,k,* and *= 0* otherwise. Go to Step-12.

Step-12. Solve SISM Model without the constraint of Eqs. (20)–(24). Compute estimated rework cost by Eq. (22) and estimated restoration cost by Eq. (24), and compute a total cost to find TC, write *= TC.* Go to Step-13.

Step-13. Observe whether *<*

- If *<**ik=Nk*,

- If *ik=Nk*, go to Step -14.

- If *ik ≠ Nk*, set *ik = ik + 1*, go back to Step-11.

- If *≥* *TC[k]*=*

and writeall of *TC[k]* -related decision*

*variables,* go to Step-15.

Step-14. Write *TC[k]*=* *TC*-related*

*decisionvariables,* go to Step-15.

Step-15. Observe whether *k = g,*

- if *k = g*, go to Step-21.

- if *k ≠ g*, go to Step-16.

Step-16. Set k = k + 1, go to Step-17.

Step-17. Set

Step-18. Set *= 1* for *= 1,2, …,* *l = 1,2,…,k+1*, and set *= 0* for other *, l*. Go to Step-19.

Step-19. Solve SISM Model without the constraint of Eqs. (20)–(24). Compute estimated rework cost by Eq. (22) and estimated restoration cost by Eq. (24), and compute a total cost to find *TC*, write *TC[i(k+1)]* = *TC.* Go to Step-20.

Step-20. Observe whether *<TC[k]*,*

- If *< TC[k]*,* Set *i = i + 1*, go back to Step-11.

- If *≥ TC[k]*,* observe whether *k = g*,

- If *k = g*, go to Step-21.

- If *k ≠ g*,, Set *k = k + 1*, go back to Step-10.

Step-21. Write *TC*_{[R]} *= TC[k]**, R = *1, 2, …, g.* Go to Step 22.

Step 22. Observe whether R *= g*

- If R *= g*. Go to Step 23.

- If R *≠ g*., Set R *=* R *+1*, go back to Step-6.

Step 23. Write {*TC*_{[R]}, R = 1, 2, …, g}.

Step-24. The minimal solution is

Min {*TC*_{[R]}, R = 1, 2, …, g}. Go to Step-25.

Step-25. Write all values of decision variables.

### 3.6 Numerical experience

To clarify how the proposed algorithm works, the following example is given. Consider an integrating problem with parameters as follows: number of parts *q* = 300 units, the setup time between batches *s* = 30 min, unit processing time of part *t* = 20 min, the length of the preventive maintenance time *tPM* = 60 min = *1/μ* (constant), the shape parameter of Weibull distribution *β* = 1.69, and scale parameter *α* = 2857.14, constant repair rate *μ* = 1/60, common due date *d* = 10000.00, the unit inventory holding cost of finished parts *c1* = US$ 0.20 per unit per minute, the unit inventory holding cost of in-process parts *c2* = US$ 0.10 per unit per minute, the unit cost of PM *cPM* = US$ 30.00, unit setup cost *cs* = US$ 3.00, probability of defect part on in-control state p_{1} = 0.00, probability of defect part on out-of-control state p_{2} = 0.30, unit rework cost per unit part for nonconforming parts c_{w} = US$100.00, and unit corrective maintenance cost c_{r} = US$ 120.00.

The computational steps to solve the problem are the followings.

Step-1. Yields *α* = 2,857.14.

Step-2. Yields 30 *+* 20 x 300 = 6,030.00 ≤10,000.00 is met, then the problem is feasible.

Step-3.Yields *g* = 3 and *Nk* = 125, *k* = 1, 2, 3.

Step-4. Yields R = 1, 2, 3.

Step-5 to Step-21, for R = 1, yield the best solution *TC[1]** = 201,313.00.

1st looping

Step-5 to Step-21, for R = 2, yield the best solution *TC[2]** = 201,124.80.

2nd looping

Step-5 to Step-21, for R = 3, yield the best solution *TC[3]** = 201,158.80.

Step-23. Yields a set of the best solutions for R *= 1, 2, 3* as a set of {*TC[1]*,TC[2]*,TC[3]**} *=* {201,313.00, 201,124.80, 201,158.80}.

Step-24. Yields a minimal *TC* = min {201,313.00, 201,124.80, 201,158.80} = 201,124.80 that occurs in two production runs with two PMs.

Step-25. Yield the complete solution as shown in Table 1 and Figure 6.

BPM[k] | CPM[k] | TC[2]* | |||
---|---|---|---|---|---|

42.46 | 9150.77 | BPM[1] = 10000.00 | CPM[1] = 10060.00 | 201124.80 | |

39.46 | 8331.54 | ||||

36.46 | 7572.31 | ||||

33.46 | 6873.08 | ||||

30.46 | 6233.85 | ||||

27.46 | 5654.62 | ||||

24.46 | 5135.39 | ||||

21.46 | 4676.15 | ||||

18.46 | 4276.92 | ||||

15.46 | 3937.69 | BPM[2] = 3847.69 | CPM[2] = 3907.69 | ||

6.46 | 3718.46 | ||||

3.46 | 3619.23 | ||||

0.46 | 3580.00 |

### 3.7 Conclusion

This chapter proposes a model of integrating batch scheduling and maintenance scheduling by criterion of minimization in holding cost, setup cost, PM cost, rework cost, and restoration cost (CM). The criterion of scheduling used is the minimization of the total actual flow time. The first preventive maintenance (PM) scheduling policy (from the direction of due date) is made precisely on due date. The second PM and so on would be done before the time of first deterioration according to Weibull ROCOF cumulative function.

In the model developed, searching for a solution begins with problem resolving without involving restoration cost (CM) and rework cost for nonconforming part. It begins with one batch in one production run and one PM. After finding a production schedule, estimate the number of nonconforming parts and total restoration (CM). Next, compute estimated rework cost and estimated restoration cost, and then compute total cost. This step is done for two batches and so on until an increase on total cost is found. Write the best total cost for one production run and one PM. This process is carried out for two production runs with two PMs until the best total cost is found for two production runs with two PMs. Continue the process until g production runs with g PMs. The best solution of algorithm is a minimization of all of the best total cost for *k = 1, 2, …, g*.

The model makes a trade-off in the following two things. An increase in the number of batch (length of production run) up to a certain limit will minimize the total inventory holding cost. Meanwhile, an increase in the length of production run will imply on an increase in the number of nonconforming parts and in a number of restoration (CM).

For readers who want to learn more about the integration of batch production and machine maintenance scheduling, they can read Zahedi et al. [4, 5, 6].

### 3.8 Exercises

Try the next cases to understand the method that was developed at this chapter.

Let four jobs from single item with job size 25 parts with processing time 500 min. The other parameters of this problem are the same as the problem above. Schedule the jobs with minimization total cost criteria.

Let four jobs from single item consist of Job 1 = 40 parts (800 min), Job 2 = 30 parts (600 min), Job 3 = 20 parts (400 min), Job 4 = 10 parts (200 min), and due date d = 3000, and the other parameters of this problem are the same as the problem above. Schedule the jobs with minimization total cost criteria