# A Proposal of Production Scheduling Method Considering Users' Demand for Mass Customized Production

Toshiya Kaihara, Daisuke Kokuryo, Nobutada Fujii, Kodai Hirai

► To cite this version:

Toshiya Kaihara, Daisuke Kokuryo, Nobutada Fujii, Kodai Hirai. A Proposal of Production Scheduling Method Considering Users' Demand for Mass Customized Production. IFIP International Conference on Advances in Production Management Systems (APMS), Sep 2017, Hamburg, Germany. pp.492-500, 10.1007/978-3-319-66923-6_58. hal-01666202

HAL Id: hal-01666202

https://inria.hal.science/hal-01666202

Submitted on 18 Dec 2017

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_1.png" /></figure>

Distributed under a Creative Commons Attribution 4.0 International License
# A proposal of production scheduling method considering users' demand for mass customized production

Toshiya Kaihara, Daisuke Kokuryo, Nobutada Fujii and Kodai Hirai

Graduate School of System Informatics, Kobe University,
1-1 Rokkodai-cho, Nada, Kobe, Hyogo 657-8501, Japan
kaihara@kobe-u.ac.jp, kokuryo@port.kobe-u.ac.jp,
nfujii@phoenix.kobe-u.ac.jp, hirai@kaede.cs.kobe-u.ac.jp

**Abstract.** The main goal of this study is to make a production schedule considering users' demand about due date and price in mass customization. For minimizing the total tardiness, a proposed method using Combinatorial Auction is applied to develop an optimal plan in planning phase. In operational phase, a technique for inserting additional orders at idle time is proposed using Single Auction approach. To evaluate effectiveness of the proposed approaches, computer experiments are conducted.

**Keywords:** Production Scheduling, Combinatorial Auction, Single Auction, Mass customization

## 1 Introduction

The aim of this paper to propose a production scheduling method considering user needs to realize mass customization. Mass customized system can respond variety of users' demands, and achieve high production efficiency with low cost [1]. To implement a mass customized system, manufacturers are required to achieve an optimal production scheduling, inventory planning and so on. Among them, focusing on the production scheduling, we have proposed a method applying Combinatorial Auction [2] to planning phase for making the production schedule over multiple periods, and Single Auction [3] to operational phase for updating the production schedule quickly in response to new additional orders such as received orders [4].

In this study, “users’ demand” is defined as the users’ demand about due date and price, and we propose a method of making the production schedule considering the users’ demand by weighted tardiness according to the price paid by users.

## 2 Model

In this study, we focus on mass customization of the sole part of running shoes [5]. The shoes are composed of a sole part and an upper part. The sole part consists of three parts: inner sole, mid sole, and outer sole. The upper part is supposed to have sufficient inventory anytime and is not subject to planning in this study. The user can select each sole part from either standard parts or tailor-made parts. Standard parts are parts with shape and material standardized, and tailor-made parts are parts considering user needs manufactured by tailor-made machine (3D printer). Each part for inner, mid, outer is manufactured by the standard machines and/or tailor-made machines. Then, the parts
are assembled by assembly machine, and the shoes are completed. In each machine (excluding assembly machine), a setup time occurs when the type of parts is changed.

# 3 Proposed scheduling method

## 3.1 Notation

The notations used in this model are shown as follows:

$i$: Order number ($i=1, \dots, I$)

$j$: Work number ($\{j=1, \dots, J \mid j \in \text{standard, tailor, assembly}\}$)

$k$: Bid number of bidder ($k=1, \dots, K$)

$t$: Time slot number ($t=1, \dots, T$)

$te$: Manufacturing term number ($te=1, \dots, TE$)

$RT_i$: Arrival time of order $i$

$MT_{i,j}$: Production time of work $j$ of order $i$

$AT_i$: Assembly time of order $i$

$PS_{i,j,k}$: Starting time of processing of bid $k$ of work $j$ of order $i$

$MN_{i,j,k}$: Machine number of bid $k$ of work $j$ of order $i$

$DP_i$: Number of time slot of the tardiness of order $i$

$AP_i$: Amount of additional price of order $i$

$w_i$: Weight factor of order $i$ for the tardiness with additional price ($AP_i$)

$\lambda_{te}$: Constraint violation penalty per term $te$

$\alpha$: Weight factor for constraint violation penalty per term $te$ ($\lambda_{te}$)

$U_{i,j,k,t}$: A dependent variable that is 1 if the bid $k$ of work $j$ of order $i$ is being manufactured at time slot $t$, and otherwise 0

$UA_{i,j,k,t}$: A dependent variable that is 1 if the bid $k$ of work $j$ of order $i$ is being assembled at time slot $t$, and otherwise 0

$C_j$: Setup time of work $j$ ($C_j = \text{Co} (j \in \text{standard})$, $C_j = \text{CoT} (j \in \text{tailor})$)

$TS_{te}$: All time slots included in term $te$

$OR^t$: Target machine operating rate

$term$: Number of time slots per a term

$T_{i,j,k,te}$: A dependent variable that is 1 if the starting time of processing of bid $k$ of work $j$ of order $i$ ($PS_{i,j,k}$) is included in term $te$, and otherwise 0

$rand$: A random variables following the uniform random number

$direct$: The threshold for neighborhood search operation

## 3.2 Planning phase

### 3.2.1 Proposed method based on Combinatorial Auction

A Combinatorial Auction (CA) [2] is known as social contract based optimization approach and used to develop optimal scheduling and stock allocation planning. CA first shows the information of goods to the bidders, and the bidders make bids (Bid determination problem). Then the auctioneer decides winner bids which make objective function maximum or minimum (Winner determination problem).

In this study, manufacturer hosts auction and the bidder is the order requested by the
user and goods included in the bid are the right to use the machine (machine number to be manufactured ($MN_{i,j,k}$), starting time of processing ($PS_{i,j,k}$)).

### 3.2.2 Bid determination problem

#### 3.2.2.1 Bid value

Equation (1) expresses bid value $B_{i,j,k}$ of bid $k$ by bidder $(i,j)$. Parameter $w_i$ is a weight factor for the tardiness determined by the additional price paid by the user ($AP_i$), and the relationship between weight factor and price is shown in Fig.1. By increasing $w_i$ of the user who pays the high additional price ($AP_i$), the order ordered by the user is preferentially manufactured.

$$B_{i,j,k} = \begin{cases} \max\{0, (PS_{i,j,k} + AT_i - DP_i) \times w_i\} & (\text{if } j \in \text{assembly}) \\ 0 & (\text{otherwise}) \end{cases} \quad (1)$$

<figure><img src="image_2.png" /><figcaption>Fig. 1. Relationship between weight factor and price</figcaption></figure>

#### 3.2.2.2 Bid constraints

Each bidder avoids to make the bid including infeasible combination. Then bidding rules in conjunction with the bid are set as shown in equations (2), (3).

$$PS_{i,j,k} \geq RT_i \quad (\forall k) \quad (2)$$

$$PS_{i,j,k} \geq \max(PS_{i,j,k} + MT_{i,j}) \quad (3)$$

$$(j \in \text{standard, tailor, } j' \in \text{assembly, } \forall k)$$

Equation (2) expresses that the order $i$ is manufactured after the arrival time of order $i$ ($RT_i$). Equation (3) expresses that assembly work is started after completion of all parts is determined.

### 3.2.3 Winner determination problem

Objective function and constraints are formulated as follows:

$$\min \sum_{i=1}^{I} \sum_{k=1}^{K} (B_{i,j,k} \times x_{i,j,k}) + \sum_{te=1}^{TE} \lambda_{te} \quad (j \in \text{assembly}) \quad (4)$$
$$ \text{s.t.} \quad \sum_{k=1}^{K} x_{i,j,k} = 1 \quad (\forall i, \forall j) \qquad (5) $$

$$ \sum_{i=1}^{I} \sum_{j=1}^{J} U_{i,j,k,t} \times x_{i,j,k} \le 1 \quad (\forall k, \forall t, j \in \text{standard, tailor}) \qquad (6) \\ U_{i,j,k,t} = \begin{cases} 1 & (\text{if } PS_{i,j,k} \le t \land t \le PS_{i,j,k} + MT_{i,j}) \\ 0 & (\text{otherwise}) \end{cases} $$

$$ \sum_{i=1}^{I} \sum_{j=1}^{J} UA_{i,j,k,t} \times x_{i,j,k} \le 1 \quad (\forall k, \forall t, j \in \text{assembly}) \qquad (7) $$

$$ UA_{i,j,k,t} = \begin{cases} 1 & (\text{if } PS_{i,j,k} \le t \land t \le PS_{i,j,k} + AT_i) \\ 0 & (\text{otherwise}) \end{cases} $$

$$ x_{i,j,k} + x_{i',j,k'} \le 1 \qquad (8) $$

$$ (\{\forall i, \forall i', \forall j, \forall k, \forall k' \mid i \neq i' \land j \notin \text{assembly} \land PS_{i,j,k} + MT_{i,j} \le PS_{i',j,k'} \land PS_{i',j,k'} \le PS_{i,j,k} + MT_{i,j} + C_j\}) $$

$$ PS_{i,j,k} \times x_{i,j,k} + MT_{i,j} \le PS_{i',j,k'} \times x_{i',j,k'} \qquad (9) $$

$$ (\{\forall i, \forall j \mid j \in \text{standard, tailor}, j' \in \text{assembly}\}) $$

$$ \lambda_{te} = \max\{0, (\sum_{i=1}^{I} \sum_{j=1}^{J} \sum_{k=1}^{K} (MT_{i,j,k} \times x_{i,j,k} \times T_{i,j,k,te}) - TS_{te} \times OR') \times \alpha\} \quad (10) $$

$$ T_{i,j,k,te} = \begin{cases} 1 & (\text{if term} \times (te - 1) \le PS_{i,j,k} \land PS_{i,j,k} \le term \times te) \\ 0 & (\text{otherwise}) \end{cases} \quad (\forall te) $$

$$ x_{i,j,k} \in \{0,1\} \qquad (11) $$

The decision variable is $x_{i,j,k}$, expressed by equation (11). When this value is 1, the bid bearing bidding number $k$ of work $j$ of order $i$ becomes the winner. When this value is 0, the bid becomes the loser.

Objective function is expressed by equation (4), which is intended for minimizing the total tardiness and constraint violation penalty per term ($\lambda_{te}$).

Equation (5) guarantees that only a bid per bidder becomes winner. Equation (6) is constraint equation related to the rights on standard and tailor machine at a time slot. Equation (7) is constraint equation related to the rights on assembly machine at a time slot. Equation (8) is constraint equation related to the rights on processing machine under considering setup time at a time slot. Equation (9) guarantees that a product can be assembled after the completion of parts. Equation (10) is constraint on the level of the machine operating rate, which means that if the machine operating rate in each term exceeds the value of the target machine operating rate (OR'), a constraint violation penalty ($\lambda_{te}$) will occur for each term.

### 3.2.4 Bidding rule

#### 3.2.4.1 Initial bid

When auctioneer establishes an upper bound of the number of bids per bidder to obtain the solution in a short time, sometimes feasible solution of winner determination problem is not obtained. Therefore, all bidders make an initial bid in accordance with the dispatching rules for getting the practicable solution.
### 3.2.4.2 Bidding by neighborhood search operation

Except for initial bid, bidders make the bid that won the last auction and its nearby value. By the neighborhood search operation, all bidders always get the practicable solution and prevent from worsening of the objective function value. The detail of the bidding by neighborhood search operation is as follows:

**STEP1** Make a bid of the same goods combination as the bid of the winner of the last auction.

**STEP2** Other bids are made by shifting the starting time of processing ($PS_{i,j,k}$) of the bid that was the winner of the last auction. Equation (13) determines the direction of shift. Parameter $\epsilon$ is a random variable following the uniform distribution.

$$PS_{i,j,k} := \begin{cases} PS_{i,j,k} + \epsilon & (\text{if } rand < direct) \\ PS_{i,j,k} - \epsilon & (\text{otherwise}) \end{cases} \qquad (13)$$

**STEP3** If the bid made in **STEP2** overlaps $PS_{i,j,k}$ of another bid, the process returns to **STEP2**. Otherwise, the process ends.

## 3.3 Operational phase

### 3.3.1 Proposed method based on Single Auction

A Single Auction [3] is an auction that can make an efficient schedule in a short time. In the Single Auction used for this study, the bidder is tailor-made machine and bidding goods are received orders. The bid value is the residence time of received order $i'$ expressed by the equation (14). Bidding with the minimum the residence time ($ReT_{i'}$) is the winner and the order is assigned to the machine.

$$ReT_{i'} = PS_{i',j,k} + AT_{i'} - RT_{i'} \qquad (14)$$

### 3.3.2 Flow of received order assignment

At operational phase, the received order is allocated to the machine for each term and the schedule is updated. The flow of received order assignment is as follows:

**STEP1** The orders included in the term $te$ of the production schedule made in planning phase are left-aligned in consideration of setup time.

**STEP2** Using the Single Auction shown in Section 3.3.1, received orders are allocated to machine in order of early due date. If due delay occurs, go to **STEP3**. Otherwise go to **STEP 4**.

**STEP3** Perform the received order inserting operation. The received order inserting operation is to reinsert the received so that the total tardiness becomes minimum. The time slot to be reinserted is decided by considering $w_i$ shown in Section 3.2.2.1.

**STEP4** If $te = TE$, then finish. Otherwise, $te = te + 1$ and return to **STEP1**.
# 4 Computational experiments

In order to evaluate the proposed method, the computational experiments were performed. The evaluation criteria are as follows:

* DD [TS] : Total tardiness ($DP_i$)

* NOD : The number of order that delays due date

* NOD_A : The number of order with additional price ($AP_i$) that delays due date

* NOD_N : The number of order with no additional price that delays due date

* OR [%] : Overall machine operating rate

* OR$_{1,2,3}$ [%] : 1st, 2nd, 3rd term machine operating rate

* CT [sec] : Calculation times

## 4.1 Experimental conditions

The experiments are performed with the following conditions:

* The number of order (Order set 1) : 45 (Additional price payment : 22, No : 23)

* The number of order (Order set 2) : 35 (Additional price payment : 17, No : 18)

* The number of received order : 10 (Additional price payment : 5, No : 5)

* Arrival time of orders ($RT_i$) : 0[TS]

* The number of standard parts varieties : 3

* The number of tailor-made parts varieties : 7

* The number of standard machine : 3 (1 inner sole, 1 mid sole, 1 outer sole)

* The number of tailor-made machine : 5

* The number of assembly machine : 1

* Production time of standard machine ($\{MT_{i,j} | j \in standard\}$) : 1[TS]

* Production time of tailor-made machine ($\{MT_{i,j} | j \in tailor\}$) : 10~20[TS]

* Assembly time ($AT_i$) : 1[TS]

* Setup time of standard machine (Co) : 3[TS]

* Setup time of tailor-made machine (CoT) : 4[TS]

* The number of time slots per term (term) : 50[TS]

* The number of term (TE) : 3[term]

* Weight factor for the tardiness ($w_i$) : $w_i = 1 + AP_i \times 1000$

* Weight factor for constraint violation penalty ($\alpha$) : 10

* Target machine operating rate (OR') : 61 (order set 1), 77 (order set 2)

* Threshold for neighborhood search operation direct : 0.5

* The number of bid per bidder (K) : 10

* The number of iteration (Ite) : 500

* The number of trial : 50

This study uses CPLEX 12.6 [6] and Inter(R) Xeon(R) CPU E5 1650 3.50GHz 16.0GB memory computer to solve bid determination problem.
## 4.2 Experiment 1: Evaluation at planning phase

Computer experiments at planning phase were conducted to evaluate the constraints on the level of machine operating rate (OR₁, OR₂, OR₃) and the weight by price (wᵢ). The results are shown in Table 1, 2. Order set 1 was used for the experiments.

Considering the results in Table 1, the average values of the difference between OR and (OR₁ or OR₂ or OR₃) are smaller with the proposed method (with constraints), and machine operating rates are about the same. DD of the proposed method (61.28) was reduced by 1% compared with DD of No-Constraint (61.74). CT increased in proposed method with the introduction of the constraint. From these results, it was confirmed that it is possible to level the machine operating rate of each term without a large change in the total tardiness by introducing the constraint, and that the constraint is effective for leveling the machine operating rate.

Considering the results in Table 2, NODA of the proposed method was 0, which was greatly improved compared to No-Weight. On the other hand, DD of the proposed method (99.5) was increased by 56% compared with DD of No-Weight (63.74). NODN of the proposed method (6.12) was increased by 82% compared with NODN of No-Weight (3.36). From these results, it was confirmed that it is possible to make a schedule considering the price by weighting on the tardiness by the price, but the tardiness of the user who does not pay the additional price (NODN) is increasing.

<table><caption>**Table 1.** Results of experiment 1 (for evaluating the constraint)</caption><thead><tr><th rowspan="2"></th><th colspan="2">Proposed</th><th colspan="2">No-Constraint</th></tr><tr><th>Avg.</th><th>S.D.</th><th>Avg.</th><th>S.D.</th></tr></thead><tbody><tr><th>OR</th><td>77.6</td><td>0</td><td>77.6</td><td>0</td></tr><tr><th>OR<sub>1</sub></th><td>77.82</td><td>0.834</td><td>81.44</td><td>0.999</td></tr><tr><th>OR<sub>2</sub></th><td>77.34</td><td>0.405</td><td>78.0</td><td>1.31</td></tr><tr><th>OR<sub>3</sub></th><td>77.26</td><td>0.751</td><td>73.3</td><td>1.26</td></tr><tr><th>DD</th><td>61.28</td><td>6.30</td><td>61.74</td><td>6.51</td></tr><tr><th>CT</th><td>119.04</td><td>2.94</td><td>106.61</td><td>2.81</td></tr></tbody></table>

<table><caption>**Table 2.** Results of experiment 1 (for evaluating the weight by price)</caption><thead><tr><th rowspan="2"></th><th colspan="2">Proposed</th><th colspan="2">No-Weight</th></tr><tr><th>Avg.</th><th>S.D.</th><th>Avg.</th><th>S.D.</th></tr></thead><tbody><tr><th>DD</th><td>99.5</td><td>18.81</td><td>63.14</td><td>6.43</td></tr><tr><th>NOD</th><td>6.12</td><td>0.84</td><td>7.8</td><td>0.693</td></tr><tr><th>NOD<sub>A</sub></th><td>0</td><td>0</td><td>4.44</td><td>0.983</td></tr><tr><th>NOD<sub>N</sub></th><td>6.12</td><td>0.84</td><td>3.36</td><td>0.768</td></tr><tr><th>CT</th><td>112.91</td><td>3.46</td><td>120.04</td><td>2.89</td></tr></tbody></table>

## 4.3 Experiment 2: Evaluation at operational phase

Computer experiments were conducted to evaluate the effectiveness of the received order inserting operation considering price at operational phase. The results are shown in Table 3. Order set 2 was used for the experiment.
Considering the results in Table 3, DD of the proposed method (with Insert) was greatly improved to 17.3% of DD without inserting operation. Furthermore, NOD of proposed method became smaller than NOD of No-Weight. Therefore, by using inserting operation, it was found that it is possible to insert received order without increasing the tardiness. In addition, the ratio of NODA (2.6) to NOD (6.75) was 38.5% in the case of No-Insert, while the ratio of NODA (0.9) to NOD (4.2) was 21.4% in the proposed method, and the number of order with additional price that delays due date was decreasing. From these results, it was suggested that the schedule acquired by using the proposed method is able to be updated with priority given to users who paid the high price, and it is confirmed that insertion of received order considering price is effective.

<table><caption>**Table 3.** Results of experiment 2 (for evaluating the received order inserting operation)</caption><thead><tr><th rowspan="2"></th><th colspan="2">Proposed</th><th colspan="2">No-Insert</th></tr><tr><th>Avg.</th><th>S.D.</th><th>Avg.</th><th>S.D.</th></tr></thead><tbody><tr><th>DD</th><td>27.45</td><td>16.81</td><td>158.75</td><td>32.38</td></tr><tr><th>NOD</th><td>4.2</td><td>0.98</td><td>6.75</td><td>2.12</td></tr><tr><th>NODA</th><td>0.9</td><td>0.83</td><td>2.6</td><td>1.11</td></tr><tr><th>NODN</th><td>3.3</td><td>1.05</td><td>4.15</td><td>1.35</td></tr><tr><th>CT</th><td>78.51</td><td>2.95</td><td>83.43</td><td>1.82</td></tr></tbody></table>

# 5 Conclusion

In this study, the production scheduling method considering user needs with auction methods – CA and Single Auction, for mass customization was proposed, and we evaluated its effectiveness by computer experiments. From the obtained results, it was found that by using the proposed method, it is possible to greatly improve the tardiness and the value of NODA. Therefore, it was confirmed that it is possible to make a schedule considering the users' demand about due date and price by using the proposed production schedule method.

# References

[1] B. Joseph Pine II. Mass Customization. Harvard Business School Press. 1992.

[2] Sven de Cries and Rakesh V. Vohra. Combinatorial auctions: A Survey. INFORMS Journal on Computing. 2003.

[3] Makoto Yokoo. Foundation of auction theory. Tokyo Denki University Press. 2006.

[4] Kodai Hirai, et al. A proposal of production scheduling method for the realization of mass customization. The 59th Japan Joint Automatic Control Conference. 2016.

[5] Toshiya Kaihara, et al. Research on Innovative Design/Manufacturing Methodology of Tailor-made Rubber Products and Socio-Economic Value Co-Creation with Reactive 3D printer FY2014 Annual Report. 2014.

[6] IBM Web page. http://www-01.ibm.com/software/commerce/optimization/cplex-optimizer