Abstract
This paper deals with optimizing the cost of set up, transportation and inventory of a multi-stage production system in presence of bottleneck. The considered optimization model is a mixed integer nonlinear program. We propose two methods based on DC (Difference of Convex) programming and DCA (DC Algorithm)—an innovative approach in nonconvex programming framework. The mixed integer nonlinear problem is first reformulated as a DC program and then DCA is developed to solve the resulting problem. In order to globally solve the problem, we combine DCA with a Branch and Bound algorithm (BB-DCA). A convex minorant of the objective function is introduced. DCA is used to compute upper bounds while lower bounds are calculated from a convex relaxation problem. The numerical results compared with those of COUENNE (http://www.coin-or.org/download/binary/Couenne/), a solver for mixed integer nonconvex programming, show the rapidity and the ϵ-globality of DCA in almost cases, as well as the efficiency of the combined DCA-Branch and Bound algorithm. We also propose a simple heuristic algorithm which is proved by experimental results to be better than an existing heuristic in the literature for this problem.
Similar content being viewed by others
References
Bogaschewsky, R.W., Buscher, U.D., Lindner, G.: Optimizing multi-stage production with constant lot size and varying number of unequal sized batches. Omega 29, 183–191 (2001)
Burer, S., Letchford, A.N.: Non-convex mixed-integer nonlinear programming: a survey. Surv. Oper. Res. Manag. Sci. 17, 97–106 (2012)
Couenne 3.2. http://www.coin-or.org/download/binary/Couenne/
Goldratt, E.: Computerized shop floor scheduling. Int. J. Prod. Res. 26, 443–455 (1988)
Goyal, S.K.: Determination of optimum production quantity for two-stage production system. Oper. Res. Q. 28(4), 865–870 (1977)
Goyal, S.K., Szendrovits, A.Z.: A constant lot size model with equal and unequal sized batch shipments between production stages. Eng. Costs Prod. Econ. 10, 203–210 (1986)
Grant, M., Boyd, S.: CVX: Matlab software for disciplined convex programming, version 1.21 (2010). http://cvxr.com/cvx
Hemmecke, R., Koppe, M., Lee, J., Weismantel, R.: Nonlinear integer programming. In: Jünger, M., et al. (eds.) 50 Years of Integer Programming 1958–2008, pp. 561–618. Springer, Berlin (2010)
Hsiao, Y.C.: Optimal single-cycle polices for the one-warehouse multi-retailer inventory/distribution system. Int. J. Prod. Econ. 114, 219–229 (2008)
Hsiao, Y.C., Lin, Y., Huang, Y.K.: Optimal multi-stage logistic and inventory policies with production bottleneck in a serial supply chain. Int. J. Prod. Econ. 124, 408–413 (2010)
Jeroslow, R.: There cannot be any algorithm for integer programming with quadratic constraints. Oper. Res. 21(1), 221–224 (1973)
Koppe, M.: On the complexity of nonlinear mixed-integer optimization. In: Lee, J., Leyffer, S. (eds.) Mixed-Integer Nonlinear Programming. IMA Volumes in Mathematics and Its Applications, vol. 154, pp. C533–C558. Springer, Berlin (2011)
Le Thi, H.A.: Contribution à l’optimisation non convex et l’optimisation globale: Théorie, Algorithmes et Applications, Habilitation à Diriger des recherches. Université de Rouen (1997)
Le Thi, H.A., Pham Dinh, T.: A branch and bound method via d.c. optimization algorithms and ellipsoidal technique for box constrained nonconvex quadratic problems. J. Glob. Optim. 13, 171–206 (1998)
Le Thi, H.A., Pham Dinh, T.: The DC (difference of convex functions) programming and DCA revisited with DC models of real world non convex optimization problems. Ann. Oper. Res. 133, 23–46 (2005)
Luenberger, D.G.: Linear and Nonlinear Programming, 2nd edn. Springer, Berlin (2004)
Pham Dinh, T., Le Thi, H.A.: Convex analysis approach to d.c programming: theory, algorithms and applications. Acta Math. Vietnam. 22, 289–355 (1997). Dedicated to Professor Hoang Tuy on the occasion of his 70th birthday
Pham Dinh, T., Le Thi, H.A.: DC optimization algorithms for solving the trust region subproblem. SIAM J. Optim. 8, 476–505 (1998)
Pham Dinh, T., Le Thi, H.A.: Recent advances in DC programming and DCA. Trans. Comput. Collec. Intell. (2013, to appear)
Szendrovits, A.Z.: Manufacturing cycle time determination for a multi-stage economic production quantity model. Manag. Sci. 22, 298–308 (1975)
Szendrovits, A.Z., Drezner, Z.: Optimizing multi-stage production with constant lot size and varying numbers of batches. Omega 8, 623–629 (1980)
Tuy, H.: Convex Analysis and Global Optimization, 1st edn. Kluwer Academic, Norwell (1997)
Acknowledgements
We are very grateful to the anonymous referees and the associate editor for their really helpful and constructive comments that helped us to improve our paper.
Author information
Authors and Affiliations
Corresponding author
Appendix
Appendix
In this section we present the heuristic algorithm proposed by Hisao to solve problem (P u ). The reader could refer [9] and [10] for more detail. The following notions are used
-
\(Q^{s}_{i,m_{i}}\) is the critical order value of Q,
-
m i (max) is the maximal value of m i ,
-
RG k =[r k−1,r k ] is the kth critical interval of Q,
-
Nc is the critical value number, \(Nc\leq\sum_{i=1}^{N} m_{i}(\max)\),
-
NumRg is the number of critical intervals,
-
List is the set of index k such that the interval RG k can be used to find the optimal solution.
Algorithm
Step 1 For i=1,2,…,N
Set m i =1
(a) Compute the critical value
(b) If \(Q_{i,m_{i}}^{s}<P_{r}\) then set m i =m i +1 and return (a) else set m i (max)=m i .
Step 2 Merge all the critical values and order them to establish a critical vector S=(s 1,s 2,…,s Nc ) where s 1≤s 2≤⋯≤s Nc ,s Nc−1<P r ,s Nc >P r .
Construct vector B=(b j ) such that b j =i if s j is the critical value being given when computing m i (max)
Step 3 Set m 1=(1,1,…,1),M′=0,k=1,r 1=s 1,RG 1=(0,r 1].
Step 4 For j=2,3,…,Nc
Set M′′=(0,..,0,1,0,..,0), the only non zero element of M′′ is in the (b j−1)th position.
If s j−1<s j then set r k+1=s j ,RG k+1=[r k ,r k+1],m k+1=m k+M′+M ′′′′,k=k+1,M′=0 else set M′=M′+M′′
Step 5 Set NumRg=k, List=∅
Compute
If Q k∈RG k then List=List∪{k}
Step 6 If List=∅ then STOP without solution else Find f(Q opt ,m opt )=min{f(Q k,m k),k∈List}, STOP with the optimal solution (Q opt ,m opt ) and the optimal value f(Q opt ,m opt ).
Rights and permissions
About this article
Cite this article
Le Thi, H.A., Tran, D.Q. Optimizing a multi-stage production/inventory system by DC programming based approaches. Comput Optim Appl 57, 441–468 (2014). https://doi.org/10.1007/s10589-013-9600-5
Received:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10589-013-9600-5