Ⅰ. 서론
m개 성분에 대한 함유량을 갖고 있는 단가 ci,(i=1,2,3,...,n)인 Si개의 원자재들 (raw materials) 이있다. 이 원자재들을 혼합하여 m개 성분의 제약조건을 충족하는 제품을 최소비용 \(z=\min \sum_{i=1}^{n} c_{i} x_{i}\)로 생산하고자 한다. 이 경우 xi의 배정량을 구하는 문제를 혼합 최적화 문제 (mixture optimization problem, MOP)라 한다.[1]
MOP에 대해 Sutton과 Coates[2]은 스테인리스 생산공정의 혼합비율을 계산하는 방법을 제안하였으며, 강판에 대한 합금 원자재 혼합비율에 대해서는 Guéret et al.[3], Edvall[4]과 Hawley[5]가 있으며, 동물사료 혼합비율에 대해서는 Jensen과 Bard[1]가 있다. 이들 연구 결과 모두 선형계획법 (linear programming, LP)과 CPLEX 를 적용하고 있다. LP중 하나인 Ellipsoid 알고리즘의 수행 복잡도는 O(m4)로 알려져 있다.[6]
본 논문에서는 MOP에 대해 O(nlogn)의 다항시간 알고리즘을 제안한다. 2장에서는 Guéret et al.[3]이 제시한 MOP 사례를 고찰해본다. 3장에서는 MOP에 대해 O(nlogn)복잡도로 최적 해를 구할 수 있는 규칙을 제시한 휴리스틱 알고리즘을 제안한다. 4장에서는 제안된 알고리즘을 실제 데이터에 적용하여 알고리즘 적합성을 평가해 본다.
Ⅱ. 합금강판 생산 문제의 혼합 최적화
Guéret et al.[3]은 표 1과 같이 선박건조에 사용되는 500톤의 철강 강판을 주문받은 철강회사의 예를 제시하였다. 이 회사는 주문된 철강을 생산하기 위해 필요한 표 2의 7가지 종류의 원자재를 확보하고 있다. 이 회사는 500톤에 대한 성분 함유량을 충족시키면서, 최소의 비용으로 철강을 생산하고자 한다. 이 경우 어떤 원자재를 얼마나 사용해야 하는가가 문제이다.
표 1. P1 문제의 주문된 철강의 특성
Table 1. Characteristics of steel ordered of P1 problem
표 2. 원자재 등급, 가용량과 가격
Table 2. Raw material grades, availabilities, and prices
이 문제는 그림 1과 같이 표현할 수 있으며, 합금 강판생산 문제 (alloyed steel plate production problem, ASPPP)라 하며, 혼합 최적화 문제 (MOP)의 일종이다. Guéret et al.[3]은 표 1과 2의 데이터에 대해 선형계획법 패키지를 활용하여 표 3과 같이 €98, 121.5900을, Edvall[4]은 CPLEX를 MATLAB 프로그램으로 작성하여 €98, 121.6370의 결과를 얻었다.
표 3. P1 문제에 대한 LP와 CPLEX의 결과
Table 3. Results of LP and CPLEX for P1 problem
그림 1. 합금 강판 생산 공정
Fig. 1. Production process of alloyed steel plate
3장에서는 O(nlogn)의 복잡도로 MOP의 최적 해를 얻을 수 있는 규칙을 제시한 휴리스틱 알고리즘을 제안한다.
Ⅲ. 성분 함량 조절 알고리즘
본 장에서는 합금 강판에서 요구하는 성분들 (탄소, 구리, 망간 등)의 함유량 범위를 충족시키면서 최소의 원자재비용을 얻기 위해, 원자재의 단가 오름차순으로 정렬하고, 성분 함유량을 조절하는 단순한 방법을 제안한다.
제안된 알고리즘을 성분 함량 조절 알고리즘 (grade adjust algorithm, GAA)이라 하며 다음과 같이 수행된다.
Step 1. 원자재들을 단가 (unit cost) 오름차순으로 정렬한다.
/* 수행 복잡도 : O(nlogn) */
Step 2. 해당 성분들을 함유하고 있는 원자재들 개수를 파악한다. /* 수행 복잡도 : O(n) */
최소 개수를 가진 성분부터 오름차순으로 해당 원자재의 실제 투입량을 결정한다. 이 경우, 최종 합금 강판의 성분 함유량 범위를 충족시켜야 하며, 원자재 투입량은 단가 오름차순으로 조절한다.
Step 3. 총 비용 최소화를 위한 원자재 량 조절 /* 수행 복잡도 : O(n) */
성분 함유량 범위를 만족시키면서 최소 비용원자재를 보다 많이 사용할 수 있는 경우 원자재 투입량 조절
Guéret et al.[3]은 MOP를 최적화 문제로 보아 O(n4) 수행 복잡도를 갖는 선형계획법의 최적화 문제를 풀고자 한 반면 제안된 알고리즘은 결정 문제로 보고 O(nlogn)복잡도로 해를 구할 수 있었다.
Ⅳ. 실험 및 결과 분석
본 장에서는 첫 번째로, Guéret et al.[3]이 제시한 표 1과 2의 문제에 대해 GAA를 적용하여 본다. 표 1과 2의 문제에 대해 GAA를 수행한 결과는 표 4에 제시되어 있다.
표 4. P1 문제에 대한 GAA의 결과
Table 4. Results of GAA for P1 problem
첫 번째 표는 단가 오름차순으로 정렬하고 각 성분의 함유량을 , C는 2개, Cu는 5개, Mn은 4개의 원자재가 함유하고 있다. 따라서 첫 번째로, C를 포함한 Iron alloy #1과 Iron alloy #2 중에서 최소의 비용이 소요되는 Iron alloy #1을 선택하였다. Iron alloy #1은 C(2.5%)인 400톤을 사용할 수 있으며, 500톤에 대한 함유량은 400/500* 2.5%=2.0%로 2.0%≤C≤3.0%의 요구조건을 충족시킨다. 두 번째 표는 Aluminum alloy #1과 Copper alloy #2로 Mn 함유량을 조절하고, 나머지는 Cu의 함유량을 충족시키기 위해 최소 단가인 Iron alloy #3을 배정한 결과이다. 세 번째 표는 Cu와 Mn 함유량을 충족시키면서 총 비용을 최소화시키도록 Iron alloy#3, Aluminum alloy#1과 Copper alloy#2로 조절한 결과이다.
다음으로, Hawley[5]에서 인용된 표 5의 P2 문제에 대해 제안된 알고리즘을 적용하여 보자. 이 문제는 4가지 종류의 원자재의 밀도, 탄소와 형광물질 함유량을 나타내고 있으며, 생산되는 제품의 탄소와 형광물질에 대한함유량 제약조건 범위가 주어졌다. 만약, 1 kg을 기준으로 최소의 비용으로 제품을 생산한다면 어떤 원자재를 얼마의 양으로 혼합해야 하는가가 문제이다. 이 문제에 대해 Hawley[5]는 LP를 적용하여 표 6과 같이 $1.845000/kg의 결과를 얻었다. 표 5에 대해 GAA를적용한 결과는 표 7에 제시되어 있으며, Hawley[3]와 동일하게 $1.845000 /kg의 결과를 얻었다. 표 5에 대한 GAA는 비용 오름차순은 원자재 C, A, D, B 순이며, C의 배정량을 결정한 결과 원자재 A는 밀도 (density)의 상한값을 초과하여 배정되지 않는다. 따라서 원자재 D, B 로 성분 C와 P의 함유량을 조절하도록 배정량을 결정한 초기치를 얻었다. 이 초기치에 대해 최소 비용이 되도록 원자재 C, D, B의 양을 조절하여 최종 결과를 얻었다.
표 5. P2 문제의 철강 특성
Table 5. Characteristics of steel for P2 problem
표 6. P2 문제에 대한 LP의 결과
Table 6. Results of LP for P2 problem
표 7. P2 문제에 대한 GAA의 결과
Table 7. Results of GAA for P2 problem
마지막으로, Jensen과 Bard[5]에서 인용된 표 8의 P3 문제에 대해 제안된 알고리즘을 적용하여 보자.
표 8. 동물사료 P3 문제의 특성
Table 8. Characteristics of animal feed P3 problem
이 문제는 3가지 종류의 원자재로 동물사료를 생산하는 경우이다. 만약, 1 kg을 기준으로 최소의 비용으로 동물사료를 생산한다면 어떤 원자재를 얼마의 양으로 혼합해야 하는가가 문제이다. 이 문제에 대해 Jensen과 Bard[5]는 LP를 적용하는 수식만을 제시하였고, 해는 구하지 않았다. 표 8에 대해 GAA를 적용한 결과는 표 9에 제시되어 있으며, ¢49.2040/kg의 결과를 얻었다.
표 9. P3 문제에 대한 GAA의 결과
Table 9. Results of GAA for P3 problem
P3에 대한 GAA는 Limestone, Corn과 Soybean meal의 초기치를 결정하고, Corn과 Soybean meal의 양을 조절하여 최적 해를 얻었다.
제안된 GAA를 LP, CPLEX와 성능을 비교한 결과는 표 10에 제시하였다. GAA는 P1에 대해서는 최적의 값을 나타내었으며, P2에 대해서는 LP와 동일한 값을, P3 에 대해서는 새로운 해를 구하였다.
표 10. 알고리즘 성능 비교
Table 10. Compare with algorithm performance
결론적으로, 제안된 알고리즘은 LP의 O(n4)의 최적화 과정을 O(nlogn)배정 과정으로 수행 복잡도를 단순화 시킬 수 있었다.
제안된 알고리즘은 MOP 알고리즘들 중에서 가장 간단히 해를 구할 수 있는 관계로, MOP 문제에 직면한 경우 선형계획법 전문가의 도움 없이도 Excel을 활용해 자체적으로 해결할 수 있는 방법을 제공하였다.
References
- P. A. Jensen and J. F. Bard, "Operations Research Models and Methods: Blending or Mixing Problem", http://www.me.utexas.edu/~jensen/or_site/models/unit/lp_model/blending/blend1.html, Feb. 2000.
- D. W. Sutton and P. A. Coates, "On-line Mixture Calculation System for Stainless Steel Production by BSC Stainless: the Least Through Cost Mix System (LTCM)", Journal of the Operational Research Society, Vol. 32, No. 3, pp. 165-169, Mar. 1981, https://doi.org/10.2307/2581058
- C. Gueret, X. Prins, and M. Sevaux, "Applications of Optimization with Xpress-MP: 6.1 Production of Alloys", Dash Optimization Ltd., pp. 62-65, Feb. 2005.
- M. Edvall, "Production of Alloys", Tomlab Optimization Inc, http://tomsym.com/examples/tomsym_productionofalloys.html, Apr. 2009.
- D. E. Hawley, "Excel Hacks: 100 Industrial- Strength Tips and Tools, Alloy Mixture Optimization (Minimize Expenses)", http://www.ozgrid.com/Services/linear-alloy-mixture.htm, O'Reilly Media, Mar. 2004.
- D. Alevras and M. W. Padberg, "Linear Optimization and Extensions: Problems and Extensions", Universitext, Springer-Verlag, 2001.