DOI QR코드

DOI QR Code

Stock Efficiency Algorithm for Lot Sizing Problem

로트 크기 문제의 비축 효율성 알고리즘

  • Lee, Sang-Un (Dept. of Multimedia Eng., Gangneung-Wonju National University)
  • 이상운 (강릉원주대학교 과학기술대학 멀티미디어공학과)
  • Received : 2021.01.09
  • Accepted : 2021.04.09
  • Published : 2021.04.30

Abstract

The lot sizing problem(LSP) is a hard problem that classified as non-deterministic(NP)-complete because of the polynomial-time optimal solution algorithm is unknown yet. The well-known W-W algorithm can be obtain the solution within polynomial-time, but this algorithm is a very complex, therefore the heuristic approximated S-M algorithm is suggested. This paper suggests O(n) linear-time complexity algorithm that can be find not the approximated but optimal solution. This algorithm determines the lot size Xt∗ in period t to the sum of the demands of interval [t,t+k], the period t+k is determined by the holding cost will not exceed setup cost of t+k period. As a result of various experimental data, this algorithm finds the optimal solution about whole data.

로트 크기 문제(LSP)는 다항시간으로 최적 해를 찾을 수 있는 알고리즘이 알려져 있지 않은 NP-완전의 난제이다. LSP에 대해 다항시간으로 해를 구할 수 있는 W-W 알고리즘이 알려져 있지만, 이 알고리즘은 너무나 복잡하여 이해와 적용에 어려움이 있어 S-M의 휴리스틱 근사 알고리즘이 제안되었다. 본 논문에서는 LSP의 근사 해가 아닌 최적 해를 찾을 수 있는 간단한 공식을 가진 O(n)의 선형 복잡도 알고리즘을 제안하였다. 제안된 알고리즘은 t시점에서의 로트 크기(생산량) Xt∗은 비축 비가 절차 비를 초과하지 않는 t+k 시점을 결정하여 [t,t+k] 구간의 요구량 합으로 단순히 결정하였다. 제안된 알고리즘을 다양한 실험 데이터에 적용한 결과 모든 데이터에 대해 최적 해를 찾았다.

Keywords

Ⅰ. 서론

로트 크기 문제(lot sizing problem, LSP)는 각 기간 t = 1, 2, …, n에 판매 예상량(또는 요구량)에 맞도록 생산 하지 않고, 특정 기간에 과다 생산하여 비축된 량을 이후 기간에 생산하지 않고 판매하는 방식으로 소요비용을 최소로 하여 이득을 최대화시키는 경제적 생산 수량 조절 방식을 말한다.[1]

LSP는 다항시간으로 최적 해를 찾는 알고리즘이 알려져 있지 않은 NP-완전(complete)로 분류된 난제이다.[14]

이에 따라 지금까지 수많은 연구가 진행되고 있으며 [1, 3-5], 다항시간으로 근사 해를 구하는 탐욕 알고리즘들이 제안되었으며, 대표적인 방법으로는 L4L(Lot-for-lot), EOQ (Economic order quantity), POQ(Period order quantity), LUC (Least unit cost), LTC(Least total cost), LPC(Least period cost), Wagner-Whitin(W-W)[6], Silver-Meal(S-M)[7] 등이 있다.

Wagner-Whitin(W-W)[6] 알고리즘은 동적계획법 (dynamic programming)을 적용하여 절차비와 비축 비를 최소화시키도록 현재 기간 t의 생산량을 결정하는 방법으로 매우 복잡하여 Silver-Meal(S-M)[7]의 휴리스틱 기법이 제안되었으며, 또한, Sadjadi et al.[8]은 W-W 알고리즘을 보다 간단히 수행하는 개선된 알고리즘을 제안하였으며, Wagelmans과 Hoesel[9]는 W-W를 (nlogn) 수행 복잡도로 계산하는 선형시간 알고리즘을 제안하였다. 이외에도 Gaafar와 Choueiki[10]은 다항시간 알고리즘이 존재하지 않는다고 가정하고, 메타휴리스틱 기법의 일종인 신경망(neural network, NN)을 적용하여 근사 해를 구하기도 하였다.

본 논문에서는 가장 쉽게 기간 t의 생산량인 로트 크기를 경제적으로 결정하는 공식을 제안한다. 2장에서는 LSP의 정의와 예제 데이터를 통해 LSP의 로트 크기를 결정하는 방법을 이해한다. 3장에서는 비축 효율성 알고리즘을 제안하고, 4장에서는 실험 데이터를 대상으로 본 논문에서 제안된 경제적 생산 알고리즘의 적합성을 검증하여 본다.

Ⅱ. 로트 크기 문제

경제적이고 효율적으로 생산 활동을 수행하기 위하여 그룹화 된 제품, 부품 또는 원재료 등이 하나로 통합된 것을 로트(lot)라고 하며, 로트 크기(lot size)는 단위로 트의 수량을 뜻한다. 로트 크기 문제(lot sizing problem, LSP)의 최대 수익을 얻기 위한 공식은 식 (1)로, 최소 소요비용 공식은 식 (2)로 정의된다.[1] 즉, 매출 액-(절차비+생산비+비축비)로 총 매출액에서 생산준비와 마무리에 소요되는 간접비용, 생산에 소요되는 직접 비용과 잉여물품 저장비용을 뺀 순수익으로 정의된다.[1, 11, 12]

• T: 총 기간(period) 수

• st: 기간 t에서 연속 생산하는 경우 준비 및 마무리에 소요되는 비용인 생산 또는 구매 절차비용(고 정비)

• pt: 기간 t에서 단가(단위 판매비용)

• ct: 기간 t에서 단위 생산(구매)비용(변동비)

• ht: 기간 t에서 단위 재고비용(t 종료시점에서 부과)

• dt: 기간 t에서 요구량

• Xt: 기간 t에서 생산(구매) 수량

• It: 기간 t 종료시점의 재고수준

• Lt: 기간 t에서의 부족량

• yt: 기간 t에서 생산(구매) 활동의 지시 변수

\(\begin{aligned} \text { max. } \Pi &=\sum_{t=1}^{T} p_{t}\left(d_{t}-L_{t}\right)-\sum_{t=1}^{T}\left(s_{t} y_{t}+c_{t} X_{t}+h_{t} I_{t}\right) \\ &=\sum_{t=1}^{T} p_{t} d_{t}-\sum_{t=1}^{T}\left(s_{t} y_{t}+c_{t} X_{t}+h_{t} I_{t}+p_{t} L_{t}\right) \end{aligned}\)       (1)

\(\begin{array}{l} \text { min. } \Pi^{\prime}=\sum_{t=1}^{T}\left(s_{t} y_{t}+c_{t} X_{t}+h_{t} I_{t}+p_{t} L_{t}\right) \\ \text { s.t } \quad I_{t-1}+X_{t}-\left(d_{t}-L_{t}\right)=I_{t}: i=1,2, \cdots, T \\ l_{t} \leq d_{t}: i=1,2, \cdots, T \\ y_{t}=\left\{\begin{array}{l} 1 \text { if } X_{t}>0 \\ 0 \text { otheruise } \end{array}: t=1,2, \cdots, T\right. \\ I_{0}=0 \\ X_{t} \geq 0, I_{t} \geq 0, L_{t} \geq 0: t=1,2, \cdots, T \\ \left.y_{t} I N e f t 0,1\right\}: t=1,2, \cdots, T \end{array}\)       (2)

표 1의 예제 데이터 (a)는 특정 회사의 X년 4분기를 기준으로 제시된 데이터이다. 이에 대한 생산, 비축과 판매에 대한 최적 해는 (b)에 제시되어 있다.[1] , 1/4분기 에는 생산과 판매도 하지 않으며, 2/4분기에 2/4분기와 4/4분기 판매량을 생산하여, 2/4분기에 판매하고 남은 수량을 3/4분기를 거쳐 4/4분기까지 비축하였다가 4/4 분기에 판매하는 경우 순익은 $112,250이 됨을 알 수 있다.

표 1. lsp-1 예제 데이터

Table 1. Example data of lsp-1

OTNBBE_2021_v21n2_169_t0001.png 이미지

LSP를 풀기 위해 다음과 같이 다양한 방법들이 제안되고 있다.

• L4L : 매 기간에서 요구하는 수량만큼 생산.

• EOQ : 고정된 생산량 법칙.

• POQ : EOQ/기간 당 평균 요구량.

• LUC : 단위당 평균비용을 최소화시키는 이후의 ‘n’ 기간 요구량을 충족하는 생산량 결정.

• LTC : 운송과 생산비용이 가장 가까운 이후의 ‘n’ 기간 요구량을 충족하는 생산량 결정.

• LPC : 단위 시간 당 평균비용을 최소화시키는 이후의 ‘n’ 기간 요구량을 충족하는 생산량 결정.

• W-W : 동적계획법(회귀 절차)으로 해를 구하는 법.

• S-M : 동적계획법으로 해를 구하는 법.

표 2의 lsp-2 예제 데이터에 W-W 알고리즘을 적용하여 해를 구하면 X= 200, X= 172, X= 196을 생산하여 ∏′ = $344를 얻는다.

표 2. lsp-2 예제 데이터

Table 2. Example data of lsp-2

OTNBBE_2021_v21n2_169_t0002.png 이미지

\(\begin{array}{l} n=6(\mathrm{M} 6)\\ Q_{t}=110\\ \end{array}\\ \underline{f_{6}(110)=70}\\ \begin{array}{l} n=5(\mathrm{M} 5 / \mathrm{M} 6\\ Q_{5}=86,(86+110)=196\\ f_{5(86)=70+70=140}\\ \underline{f_{5}(196)=70+0.5(110)=125}\\ n=4(\mathrm{M} 4 / \mathrm{M} 5 / \mathrm{N}\\ Q_{4}=78,(78+86)=164,(78+86+110)=274\\ f_{4}(78)=70+125=195\\ \underline{f_{A}(164)=70+0.5(86)+70=183}\\ f_{4}(274)=70+0.5(86)+1.00(110)=223\\ n=3(\mathrm{M} 3 / \mathrm{M} 4 / \mathrm{M} 5 / \mathrm{M} G)\\ Q_{3}=94,(94+78)=172,(94+78+86)=278\\ (94+78+86+110)=368\\ f_{3}(94)=70+183=253 \end{array}\\ \underline{f_{3}(172)=70+0.5(78)+125=234}\\ \begin{array}{l} f_{3}(278)=70+0.5(78)+1.00(86)+70=265 \\ f_{3}(368)=70+0.5(78)+1.00(86)+1.5(110)=360 \\ n=2(\mathrm{M} 2 / \mathrm{M} 3 / \mathrm{M} 4 / \mathrm{M} 5 / \mathrm{M} G) \\ Q_{2}=80,(80+94)=174,(80+94+78)=252 . \\ (80+94+78+86)=338 . \\ (80+94+78+86+110)=448 \\ f_{2}(80)=70+234=304 \\ \underline{f_{2}(174)=70+0.5(94)+183=300}\\ \end{array}\\ \begin{array}{l} f_{2}(252)=70+0.5(94)+1.00(78)+125=320 \\ f_{2}(338)=70+0.5(94)+1.00(78)+1.5(86)+70=394 \\ f_{2}(448)= \\ 70+0.5(94)+1.00(78)+1.5(86)+2.0(110)=544 \\ n=1(\mathrm{M} 1 / \mathrm{M} 2 / \mathrm{M} 3 / \mathrm{M} 4 / \mathrm{M5} / \mathrm{M} 6) \\ Q_{1}=120,(120+80)=200 .(120+80+94)=294 \\ (120+80+94+78)=372 . \\ (120+80+94+78+86)=458 . \\ (120+80+94+78+86+110)=568\\ \end{array}\\ \begin{array}{l} f_{1}(120)=70+300=370 \\ \underline{f_{1}(200)=70+0.5(80)+234=344}\\ \end{array}\\ \begin{array}{l} f_{1}(294)=70+0.5(80)+1.00(94)+183=387 \\ f_{1}(372)=70+0.5(80)+1.00(94)+1.5(78)+125=446 \\ f_{1}(458)= \\ 70+0.5(80)+1.00(94)+1.5(78)+2.0(86)+70=563 \\ f_{1}(568)= \\ \underline{70+0.5(80)+1.00(94)+1.5(78)+2.0(86)+2.5(110)=768}\\ \end{array}\\ \begin{aligned} f_{1}(200)=& \underline{70+0.5(80)+234}=344 \\ f_{3}(172)=& \underline{70+0.5(78)}+125=234 \\ f_{5}(196)=& \underline{70+0.5(110)}=125 \\ Q_{1}=200, Q_{3}=172, Q_{5}=196, \mathrm{II}^{\prime}=344 \end{aligned}\)

Ⅲ. 비축 효율성 알고리즘

본 장에서는 st, pt, ct, ht를 고려하는 문제와, 단지 st, ht 만 고려하는 문제에 대해 최소 투자-최대 수익을 얻는 비축 효율성 알고리즘(stock efficiency algorithm, SEA) 을 제안한다.

(1)st, pt, ct, ht 문제 : 다음의 3가지 판단 기준을 적용하여 생산량, 판매량, 비축량을 결정한다.

• 생산 기준 : \(\left(p_{t}-c_{t}\right) d_{t}-s_{t}>h_{t-1} d_{t}\)

• 판매 기준 : \(\left(p_{t}-c_{t}\right)>\left|\left(p_{t+1}-c_{t+1}-h_{t}\right)\right|\)

• 비축 기준 : \(h_{t} d_{t+1}<\left(c_{t+1} d_{t+1}\right)+s_{t+1}\)

(2) st, ht =불변(동일) 문제 : t에서 신규 생산하여 t + k기간까지 비축비가 신규 생산에 소요되는 절차 비 st+k를 초과하지 않는 \(d_{t+k} \sum_{i=1}^{k} h_{t+i}-s_{t+k}>0\)가 되는 k를 결정하여, [t, t+k-1]기간 동안의 요구량 총합을 t에서 생산하는 로트 크기 Xt*로 결정한다.

(3) st, ht =변동(상이) 문제 : \(d_{t+k} \sum_{i=1}^{k} h_{t+i}-s_{t+k}>0\)가 되는 k를 결정하고, st> st+i, i

st, pt, ct, ht 문제인 lsp-1에 L4L과 제안된 SEA를 적용한 결과는 그림 1에 제시되어 있다. L4L은 Xt = dt, t = 1, 2, 3, 4를 생산하여 각 기간에 모두 판매한 경우로 ∏=80,250의 수익을 얻는다. 반면에, SEA는 X1 = 0, X2 = 16,769, X3 = 0을 생산하여 t=2, t=4에서 d2,d4를 판매하여 ∏=112,250인 표 1에 제시된 최적 해를 얻을 수 있었다.

OTNBBE_2021_v21n2_169_f0001.png 이미지

그림 1. lsp-1 데이터의 로트 크기 Xt 결정

Fig. 1. Lot size Xt decision for lsp-1

Ⅳ. 알고리즘 적용 및 결과 분석

본 장에서는 st, ht 문제인 표 3의 5개 데이터에 대해 본 논문에서 제안된 SEA를 적용하여 알고리즘 적합성을 검증하여 본다.

표 3. 실험 데이터

Table 3. Experimental data

OTNBBE_2021_v21n2_169_t0003.png 이미지

표 2와 표 3의 6개 데이터에 대해 SEA를 적용하여 얻은 Xt와 ∏′은 표 4에 제시하였다.

표 4. 실험 데이터에 대한 SEA의 해

Table 4. Solution of SEA for experimental data

OTNBBE_2021_v21n2_169_t0004.png 이미지

표 5에는 실험 데이터에 대해 적용된 알고리즘들의 Xt와 ∏′를 비교하여 제시하였다. W-W 결과를 알 수 없는 lsp-3과 lsp-4에 대해서는 SEA가 최적 해를 구할 수 있음을 보였다. lsp-4에서 S-M은 W-W를 개선한 방식임에도 불구하고 최적 해를 구하지 못하였는데 반해, SEA는 단순한 공식으로 최적 해를 구할 수 있었다.

표 5. 실험 데이터에 대한 알고리즘 성능 비교

Table 5. Compare with algorithm performance for experimental data

OTNBBE_2021_v21n2_169_t0005.png 이미지

W-W 결과가 알려진 lsp-2, lsp-5, lsp-6과 lsp-7에 대해, lsp-2, lsp-5, lsp-7은 SEA와 W-W가 동일한 최적 해를 얻었지만, lsp-6에 대해서는 SEA가 W-W 보다 개선된 최적 해를 얻었음을 알 수 있다.

Ⅴ. 결론

본 논문에서는 t = 1, 2, …, n기간 각각에서 판매(또는 요구)량 dt를 충족시키기 위해 특정 시점 t에서 dt를 초과하여 생산하고, 잉여량을 차기 기간에 판매하는 경우 소요되는 비축 비가 추가 생산 준비에 소요되는 절차 비에 비해 절약할 수 있다면 특정 시점 t의 생산량 Xt>dt 로 결정하는 로트 크기 문제(LSP)를 다루었다.

LSP를 푸는 다양한 방법들이 제안되었지만 그 중에서도 가장 정확한 방법이 W-W 알고리즘으로 알려져 있다. 그러나 이 방법은 계산 과정이 복잡하여 이해하기 힘들어 적용에 어려움이 있어 보다 간단한 S-M 알고리즘이 제안되기도 하였다.

본 논문에서는 특정 시점 t를 기준으로 t + k시점의 요구량 dt+k를 비축하는데 소요되는 비용이 신규로 생산하는데 소요되는 절차 비 st+k를 초과하지 않는 비축 효율성을 계산하여 t 시점에서의 생산량인 로트 크기 Xt*를 [t, t+k] 구간의 요구량 합으로 단순히 결정하는 알고리즘을 제안하였다.

제안된 알고리즘은 W-W나 S-M에 비해 단순한 공식임에도 불구하고 다양한 실험 데이터에 적용한 결과 모든 데이터에 대해 최소 투자-최대 수익을 얻는 가장 경제적인 생산량(로트 크기)을 결정할 수 있음을 보였다.

References

  1. C. H. Glock, E. H. Grosse, and J. M. Ries, "The Lot Sizing Problem: A Tertiary Study", International Journal of Production Economics, Vol. 155, pp. 39-51, Sep. 2014, https://doi.org/10.1016/j.ijpe.2013.12.009
  2. A. Akbalik and C. Rapine, "The Single Item Uncapacitated Lot-Sizing Problem with Time-Dependent Batch Sizes: NP-hard and Polynomial Cases", European Journal of Operational Research, Vol. 229, No. 2, pp. 353-363, Sep. 2013, https://doi.org/10.1016/j.ejor.2013.02.052
  3. B. Karimi, S. M. T. F. Gihomi, and J. M. Wilson, "The Capacitated Lot Sizing Problem: A Review of Models and Algorithms", Omega, Vol. 31, No. 5, pp. 365-378, Oct. 2003, https://doi.org/10.1016/s0305-0483(03)00059-8
  4. R. Jans and Z. Degraeve, "Modeling Industrial Lot Sizing Problems: A Review", International Journal of Production Research, Vol. 46, No. 6, pp. 1619-1643, Nov. 2007, https://doi.org/10.1080/00207540600902262
  5. N. Brahimi, N. Absi, S. Dauzere-Peres, and A. Nordli, "Single-Item Dynamic Lot-Sizing Problems: An Updated Survey", European Journal of Operational Research, Vol. 263, No. 3, pp. 838-863, Dec. 2017, https://doi.org/10.1016/j.ejor.2017.05.008
  6. H. M. Wagner and T. M. Whitin, "Dynamic Version of the Economic Lot Size Model", Management Science, Vol. 5, No. 1, pp. 89-96, Oct. 1958, https://doi.org/10.1287/mnsc.5.1.89
  7. E. A. Silver and H. C. Meal, "A Heuristic for Selecting Lot Size Quantities for the Case of a Deterministic Time-Varying Demand Rate and Discrete Opportunities for Replenishment", Production and Inventory Management: Journal of the American Production and Inventory Control Society, Vol. 14, No. 1, pp. 64-74, Feb. 1973.
  8. S. J. Sadjadi, M. B. G. Aryanczhad, and H. A. Sadeghi, "An Improved Wagner-Whitin Algorithm", International Journal of Industrial Engineering & Production Research, Vol. 20, No. 3, pp. 117-123, Dec. 2009.
  9. A. Wagelmans and S. V. Hoesel, "Economic Lot Sizing: An O(n log n) Algorithm that Runs in Linear Time in the Wagner-Whitin Case", Oprtations Research, Vol. 40, No. 1, pp. S145-S156, Feb. 1992, https://doi.org/10.1287/opre.40.1.S145
  10. L. K. Gaafar and M. H. Choueiki, "A Neural Network Model for Solving the Lot-Sizing Problem", Omega, Vol. 28, No. 2, pp. 175-184, Apr. 2000, https://doi.org/10.1016/S0305-0483(99)00035-3
  11. J. C. Lang and W. Domschke, "Efficient Reformulations for Dynamic Lot-Sizing Problems with Product Substitution", OR Spectrum, Vol. 32, No. 2, pp. 263-291, Apr. 2010, https://doi.org/10.1007/s00291-008-0148-1
  12. N. Brahimi, N. Absi, S. Dauzere-Peres, N. M. Najid, and A. Nordli, "Single-Item Lot-Sizing Problems", European Journal of Operational Research, Vol. 168, No. 1, pp. 1-16, Jan. 2006, https://doi.org/10.1016/j.ejor.2004.01.054