Saturday, September 8, 2018

Optimization of Parameters of Abrasive Water Jet Machining Process Using the Mixed-Integer Nonlinear Programming (MINLP) Algorithm of the Present Blog

Jsun Yui Wong

The computer program listed below seeks to solve the following problem of minimizing the surface roughness in Madic and Radovanovic [35, p. 227]:
       
Minimize

  - (5.07976 - .08169 * X(5) - .07912 * X(4) + .34221 * X(2) + .08661 * X(1) + .34866 * X(3) + .00031 * X(5) ^ 2 + .00012 * X(4) ^ 2 - .10575 * X(2) ^ 2 - .00041 * X(1) ^ 2 - .07590 * X(3) ^ 2 + .00008 * X(5) * X(3) + .00009 * X(4) * X(3) - .03089 * X(2) * X(3) - .00513 * X(1) * X(3) )

where 

         60<= X(1) <= 120

         1<= X(2)<= 4

         .5<= X(3) <= 3.5

         125<= X(4) <=250

         50<=X(5) <= 150.


0 DEFDBL A-Z

1 DEFINT K

2 DIM B(99), N(99), A(2002), H(99), L(99), U(99), X(2002), D(111), P(111), PS(33), J44(2002), J(99), AA(99), HR(32), HHR(32), LHS(44), PLHS(44), LB(22), UB(22), PX(22), CC(20), RR(20), WW(20), AL(50), SW(50), SV(50), C2(22), C3(22), C4(22), C5(22)

81 FOR JJJJ = -32000 TO 32000

    89 RANDOMIZE JJJJ

    90 M = -3E+30

    96 A(1) = 60 + (RND * 60)

        98 A(2) = 1 + (RND * 3)

    99 A(3) = .5 + (RND * 3)

    101 A(4) = 125 + (RND * 125)

    111 A(5) = 50 + (RND * 100)

    128 FOR I = 1 TO 2000

        129 FOR KKQQ = 1 TO 5
            130 X(KKQQ) = A(KKQQ)
        131 NEXT KKQQ
        151 FOR IPP = 1 TO FIX(1 + RND * 3)


            153 J = 1 + FIX(RND * 5)


            156 r = (1 - RND * 2) * A(J)
            158 X(J) = A(J) + (RND ^ (RND * 10)) * r
            162 REM IF RND < .5 THEN X(J) = A(J) - 1 ELSE X(J) = A(J) + 1

        169 NEXT IPP


        238 IF X(1) < 60## THEN 1670

        239 IF X(1) > 120## THEN 1670


        248 IF X(2) < 1## THEN 1670

        249 IF X(2) > 4## THEN 1670

        258 IF X(3) < .5## THEN 1670

        259 IF X(3) > 3.5## THEN 1670
        268 IF X(4) < 125## THEN 1670

        269 IF X(4) > 250## THEN 1670
        271 IF X(5) < 50## THEN 1670

        273 IF X(5) > 150## THEN 1670


        457 PDU = 5.07976 - .08169 * X(5) - .07912 * X(4) + .34221 * X(2) + .08661 * X(1) + .34866 * X(3) + .00031 * X(5) ^ 2 + .00012 * X(4) ^ 2 - .10575 * X(2) ^ 2 - .00041 * X(1) ^ 2 - .07590 * X(3) ^ 2 + .00008 * X(5) * X(3) + .00009 * X(4) * X(3) - .03089 * X(2) * X(3) - .00513 * X(1) * X(3)


        466 P = PDU
        1111 IF P <= M THEN 1670
        1452 M = P
        1454 FOR KLX = 1 TO 5

            1455 A(KLX) = X(KLX)
        1456 NEXT KLX

        1557 GOTO 128
    1670 NEXT I
    1889 IF M < -5555555 THEN 1999

    1904 PRINT A(1), A(2), A(3), A(4), A(5), M, JJJJ

1999 NEXT JJJJ


This BASIC computer program was run with QB64v1000-win [53].  The complete output of a single run through JJJJ= -31998 is shown below:

102.493902338367             1.544988191057067         .5000000000000425
125.0000000000041             50.00000000006242       -1.522285953494695
-32000

102.493902737799             1.544988198939195         .5000000000000013
125.0000000000961             50.00000000009448       -1.522285953500821
-31999

102.4939019946796             1.54498818563925            .5000000000008715
125.0000000000046             50.00000000000512          -1.522285953494585
-31998

Above there is no rounding by hand; it is just straight copying by hand from the monitor screen. On a personal computer with a Pentium Dual-Core CPU E5200 @2.50GHz, 2.50 GHz, 960 MB of RAM and QB64v1000-win [53], the wall-clock time (not CPU time) for obtaining the output through JJJJ = -31998 was 1 or 2 seconds, not including the time for “Creating .EXE file" (7 seconds, including the time for “Creating .EXE file").  One can compare the computational results above with those in Madic and Radovanovic [35, p. 227, Table 1].


Acknowledgment

I would like to acknowledge the encouragement of Roberta Clark and Tom Clark.

References

[1] Andre R. S. Amaral (2006), On the Exact Solution of a Facility Layout Problem.  European Journal of Operational Research 173 (2006), pp. 508-518.

[2] Andre R. S. Amaral (2008), An Exact Approach to the One-Dimensional Facility Layout Problem.  Operations Research, Vol. 56, No. 4 (July-August, 2008), pp. 1026-1033.

[3] Andre R. S. Amaral (2011), Optimal Solutions for the Double Row Layout Problem.  Optimization Letters, DOI 10.1007/s11590-011-0426-8, published on line 30 November 2011, Springer-Verlag 2011.

[4] Andre R. S. Amaral (2012), The Corridor Allocation Problem.  Computers and Operations Research 39 (2012), pp. 3325-3330.

[5] Miguel F. Anjos, Anthony Vannelli, Computing Globally Optimal Solutions for Single-Row Layout Problems Using Semidefinite Programming and Cutting Planes.  INFORMS Journal on Computing, Vol. 20, No. 4, Fall 2008, pp. 611-617.

[6] Miguel F. Anjos (2012), FLPLIB--Facility Layout Database.  Retrieved on September 25 2012 from www.gerad.ca/files/Sites/Anjos/indexFR.html

[7] David L. Applegate, Robert E. Bixby, Vasek Chvatal, William J. Cook, The Traveling Salesman Problem: A Computational Study.  Princeton and Oxford: Princeton University Press, 2006.

[8] Jerome Bracken, Garth P. McCormick, Selected Applications of Nonlinear Programming.  New York: John Wiley and Sons, Inc., 1968.

[9] R. C. Carlson and G. L. Nemhauser, Scheduling To Minimize Interaction Cost.  Operations Research, Vol. 14, No. 1 (Jan. - Feb., 1966), pp. 52-58.

[10]  Ta-Cheng Chen (2006).  IAs based approach for reliability redundany allocation problems. Applied Mathematics and Computation 182 (2006) 1556-1567.

[11]  Leandro dos Santos Coelho (2009),  Self-Organizing Migrating Strategies Applied to Reliability-Redundany Optimization of Systems. IEEE Transactions on Reliability, Vol. 58, No. 3, 2009 September, pp. 501-519.

[12]  William Conley (1981).  Optimization:  A Simplified Approach.  Published 1981 by Petrocelli Books in New York.

[13]  Lino Costa, Pedro (2001).  Evolutionary algorithms approach to the solution of mixed integer non-linear programming problems. Computers and Chemical Engineering, Vol. 25, pp. 257-266, 2001.

[14] George B. Dantzig, Discrete-Variable Extremum Problems.  Operations Research, Vol. 5, No. 2 (Apr., 1957), pp. 266-277.

[15]  Kusum Deep, Krishna Pratap Singh, M. L.  Kansal, C. Mohan (2009), A real coded genetic algorithm for solving integer and mixed integer optimization problems.  Applied Mathematics and Computation 212 (2009) 505-518.

[16]  Anoop K. Dhingra (1992).  Optimal apportionment of reliability and redundancy in series systems under multiple objections. IEEE Transactions on Reliability, Vol. 41, No. 4, 1992 December, pp. 576-582.

[17]  C. A. Floudas, A. R. Ciric (1989), Strategies for Overcoming Uncertainties in Heat Exchanger Network Synthesis.  Computers and Chemical Engineering, Vol 13, No. 10, pp. 1133-1152, 1989.

[18] C. A. Floudas, A. Aggarwal, A. R. Ciric (1989), Global Optimum Search for Nonconvex NLP and MINLP Problems.  Computers and Chemical Engineering, Vol 13, No. 10, pp. 1117-1132, 1989.

[19] C. A. Floudas, P. M. Pardalos, A Collection of Test Problems for Constrained Global Optimization Algorithms.  Springer-Verlag, 1990.

[20] Diptesh Ghosh, Ravi Kothari, Population Heuristics for the Corridor Allocation Problem, W.P. No. 2012-09-02, September 2012.  Retrieved on September 14 2012 from Google search.

[21]  Ignacio E. Grossmann.  Overview of Mixed-integer Nonlinear Programming.  https://egon.cheme.cmu.edu/ewo/docs/EWOMINLPGrossmann.pdf

[22]  M. Hashish, M. P. duPlessis (1979).  Prediction equations relating high velocity jet cutting performance to stand-off-distance and multipasses.  Transactions of ASME:  Journal of Engineering for Industry 101 (1979) 311-318.

[23] David M. Himmelblau, Applied Nonlinear Programming.  New York: McGraw-Hill Book Company, 1972.

[24] Willi Hock, Klaus Schittkowski, Test Examples for Nonlinear Programming Codes.  Berlin: Springer-Verlag, 1981.

[25] Philipp Hungerlaender, Miguel F. Anjos (January 2012), A Semidefinite Optimization Approach to Free-Space Multi-Row Facility Layout.  Les Cahiers du GERAD.  Retrieved from www.gerad.ca/fichiers/cahiers/G-2012-03.pdf

[26] Philipp Hungerlaender (April 2012), Single-Row Equidistant Facility Layout as a Special Case of Single-Row Facility Layout.  Retrieved from www.optimization-online.org./DB_HTML/2012/04/3432.html

[27]  N. K. Jain, V. K. Jain, K. Deb (2007).  Optimization of process parameters of mechanical type advanced machining processes using genetic algorithms.  International Journal of Machine Tools and Manufacture 47 (2007), 900-919.

[28] Michael Junger, Thomas M. Liebling, Dennis Naddef, George L. Nemhauser, William R. Pulleybank, Gerhart Reinelt, Giovanni Rinaldi, Lawrence A. Wolsey--Editors, 50 Years of Integer Programming 1958-2008.  Berlin: Springer, 2010.

[29]  Adhe Kania, Kuntjoro Adji Sidarto (2016).  Solving mixed integer  nonlinear programming problems using spiral dynamics optimization algorithm.  AIP Conference Proceedings 1716, 020004 (2016).
https://doi.org/10.1063/1.4942987.  Published by the American Institute of Physics.

[30]  A. H. Land, A. G. Doig, An Automatic Method of Solving Discrete Programming Problems.  Econometrica, Vol. 28, No. 3 (Jul., 1960), pp. 497-520.

[31] E. L. Lawler, M. D. Bell, A Method for Solving Discrete Optimization Problems.  Operations Research, Vol. 14, No. 6 (Nov.-Dec., 1966), pp. 1098-1112.

[32]  Gia-Shi Liu (2006),  A combination method for reliability-redundancy optimization, Engineering Optimization, 38:04, 485-499.

[33]  Yubao Liu, Guihe Qin (2014),  A hybrid TS-DE algorithm for reliability redundancy optimization problem, Journal of Computers, 9, No. 9, September 2014, pp. 2050-2057.

[34]  Rein Luus (1975).  Optimization of System Reliability by a New Nonlinear Integer Programming Procedure. IEEE Transactions on Reliability, Vol. R-24, No. 1, April 1975, pp. 14-16.

[35] Milos Madic, Miroslav  Radovanovic (2014).  Optimization of machining processes using pattern search algorithm.  International Journal of  Industrial Engineering Computations 5 (2014) 223-234.  Homepage: www.GrowingScience.com/ijiec

[36]  F. Masedu, M Angelozzi (2008).  Modelling optimum fraction assignment in the 4X100 m relay race by integer linear programming.   Italian Journal of Sports Sciences, Anno 13, No. 1, 2008, pp. 74-77.

[37]  MathWorks, Mixed Integer Optimization.  https://www.mathworks.com/help/gads;mixed-integer-optimization.html

[38]  Mohamed Arezki Mellal, Enrico Zio (2016).  A Guided Stochastic Fractal Search Approach for System Reliability Optimization.  Reliability Engineering 
and System Safety 152 (2016) 213-227.

[39]  Mohamed Arezki Mellal, Edward J. Williams (2016).  Parameter optimization of advanced machining processes using cuckoo optimization algorithm and hoopla heuristic.  Journal of Intelligent Manufacturing (2016) 27 (5): 927-942. 

[40]  Mohamed Arezki Mellal, Edward J. Williams (2018).  Large-scale reliability-redundancy allocation optimization problem using three soft computing methods.  In Mangey Ram, Editor, in Modeling and simulation based analysis in reliability engineering.  Published July 2018, CRC Press.     

[41] Microsoft Corp., BASIC, Second Edition (May 1982), Version 1.10. Boca Raton, Florida: IBM Corp., Personal Computer, P. O. Box 1328-C, Boca Raton, Florida 33432, 1981.

[42] Yuji Nakagawa, Mitsunori Hikita, Hiroshi Kamada (1984). Surrogate Constraints for Reliability Optimization Problems with Multiple Constraints. IEEE Transactions on Reliability, Vol. R-33, No. 4, October 1984, pp. 301-305.

[43] C. E. Nugent, T. E. Vollmann, J. Ruml (1968), An Experimental Comparison of Techniques for the Assignment of Facilities to Locations, Operations Research 16 (1968), pp. 150-173.

[44] OPTI Toolbox, Mixed Integer Nonlinear Program (MINLP).  https://www.inverseproblem.co.nz/OPTI/index.php/Probs/MINLP

[45] Panos Y. Papalambros,  Douglass J. Wilde, Principles of Optimal Design, Second Edition.  Cambridge University Press, 2000.

[46]  R. V. Rao, P. J. Pawar, J. P. Davim (2010).  Parameter optimization of ultrasonic machining process using nontraditional optimization algorihms.  Materials and Manufacturing Processes, 25 (10),1120-1130.

[47] H. S. Ryoo, N. V. Sahinidis (1995), Global Optimization of Nonconvex NLPs and MINLPs with Applications in Process Design.  Computers and Chemical Engineering, Vol. 19, No. 5, pp. 551-566, 1995.

[48] Donald M. Simmons (1969), One-Dimensional Space Allocation: An Ordering Algorithm.     Operations Research, Vol. 17, No. 5 (Sep. - Oct., 1969), pp. 812-826.

[49] G. Stephanopoulos, A. W. Westerberg, The Use of Hestenes' Method of Multipliers to Resolve
Dual Gaps in Engineering System Optimization.  Journal of Optimization Theory and Applications,  Vol.15, No. 3, pp. 285-309, 1975.

[50]  Frank A. Tillman, Ching-Lai Hwang, Way Kuo (1977).  Determining Component Reliability and Redundancy for  Optimun System Reliability. IEEE Transactions on Reliability, Vol. R-26, No. 3, Augusr 1977, pp. 162-165.

[51]  Hardi Tambunan, Herman Mawengkang (2016).  Solving Mixed Integer Non-Linear Programming Using Active Constraint.  Global Journal of Pure and Applied Mathematics, Volume 12, Number 6 (2016), pp. 5267-5281.  http://www.ripublication.com/gjpam.htm

[52] Tawan Wasanapradit, Nalinee Mukdasanit, Nachol Chaiyaratana, Thongchai Srinophakun (2011).  Solving mixed-integer nonlinear programming problems using improved genetic algorithms.  Korean  Journal of  Chemical Engineering  28 (1):32-40 January 2011.

[53]  Wikipedia, QB64, https://en.wikipedia.org/wiki/QB64.

[54]  Zhongkai Xu, Way Kuo, Hsin-Hui Lin (1990).  Optimization Limits in Improving System Reliability. IEEE Transactions on Reliability, Vol. 39, No. 1, 1990 April, pp. 51-60.

[55]  ZHANG HongQi, HU ZiangTao, SHAO XiaoDong, LI ZiCheng, WANG YuHui  (November 2013).  IPSO-based hybrid approaches for reliability-redundany allocation problems.  SCIENCE CHINA Technologial Sciences, November 2013, Vol. 56, No. 11:  2854-2864

Thursday, August 30, 2018

Parameter Optimization of Ultrasonic Machining Process Using This Blog's Mixed-Integer Nonlinear Programming (MINLP) Algorithm

Jsun Yui Wong

The computer program listed below seeks to solve the following problem of maximizing material removing rate (MRR) in Mellal and Williams [36, p. 939]:
       
Maximize             ((4.963 * 20 ^ .25 * .1 ^ .75) / (6900 * (1 + .246)) ^ .75) * X(4) ^ .75 * X(1) ^ .75 * X(2) ^ .25 * X(3) * X(5)

subject to       1 - ((1154.7) / ((20 * 6900 * (1 + .246)) ^ .5 * .8)) * (X(4) * X(1) * X(3) / X(2)) ^ .5>=0

         .005 <= X(1) <= .1

         .05<= X(2) <= .5

         .007 <=  X(3) <= .15

         4.5 <= X(4) <= 45

         10000 <= X(5) <= 40000.

X(6) below is a slack variable added.

One notes that following Rao, Pawar, and Davim [43, p. 1124], the present paper uses lambda=.246, as shown above.


0 DEFDBL A-Z

1 DEFINT K

2 DIM B(99), N(99), A(2002), H(99), L(99), U(99), X(2002), D(111), P(111), PS(33), J44(2002), J(99), AA(99), HR(32), HHR(32), LHS(44), PLHS(44), LB(22), UB(22), PX(22), CC(20), RR(20), WW(20), AL(50), SW(50), SV(50), C2(22), C3(22), C4(22), C5(22)


81 FOR JJJJ = -32000 TO 32000


    89 RANDOMIZE JJJJ
    90 M = -3E+30
    95 REM FOR J44 = 1 TO 3

    96 A(1) = .005 + (RND * .095)

    97 REM NEXT J44

    98 A(2) = .05 + (RND * .45)

    99 A(3) = .007 + (RND * .143)


    111 A(4) = 4.5 + (RND * 40.5)

    113 A(5) = 10000 + (RND * 30000)




    128 FOR I = 1 TO 20000




        129 FOR KKQQ = 1 TO 5
            130 X(KKQQ) = A(KKQQ)
        131 NEXT KKQQ
        151 FOR IPP = 1 TO FIX(1 + RND * 3)


            153 J = 1 + FIX(RND * 5)

            156 r = (1 - RND * 2) * A(J)
            158 X(J) = A(J) + (RND ^ (RND * 10)) * r


        169 NEXT IPP



        238 IF X(1) < .005 THEN 1670

        239 IF X(1) > .1 THEN 1670


        248 IF X(2) < .05 THEN 1670

        249 IF X(2) > .5 THEN 1670

        258 IF X(3) < .007 THEN 1670

        259 IF X(3) > .15 THEN 1670


        268 IF X(4) < 4.5 THEN 1670

        269 IF X(4) > 45 THEN 1670

        278 IF X(5) < 10000 THEN 1670

        279 IF X(5) > 40000 THEN 1670



        351 X(6) = 1 - ((1154.7) / ((20 * 6900 * (1 + .246)) ^ .5 * .8)) * (X(4) * X(1) * X(3) / X(2)) ^ .5

   


        356 FOR J44 = 6 TO 6


            357 IF X(J44) < 0## THEN X(J44) = X(J44) ELSE X(J44) = 0##

        359 NEXT J44

        443 PDU = ((4.963 * 20 ^ .25 * .1 ^ .75) / (6900 * (1 + .246)) ^ .75) * X(4) ^ .75 * X(1) ^ .75 * X(2) ^ .25 * X(3) * X(5) + 1000000 * X(6)


        466 P = PDU
        1111 IF P <= M THEN 1670
        1452 M = P
        1454 FOR KLX = 1 TO 6

            1455 A(KLX) = X(KLX)
        1456 NEXT KLX


        1557 GOTO 128
    1670 NEXT I
    1889 IF M < -5555555 THEN 1999

    1901 REM GOTO 1950

    1904 PRINT A(1), A(2), A(3), A(4), A(5), A(6), M, JJJJ

1999 NEXT JJJJ


This BASIC computer program was run with QB64v1000-win [50].  The complete output of a single run through JJJJ= -31998 is shown below:

3.084751162323945D-02          .5000000298023223          .149996060749893
8.918848999166832                 39999.99999999987          0           
4.006410889163141         -32000

1.378061629697917D-02          .5000000298023224          .1499992608645183
19.96415999700243        40000        0            4.006432257843513
-31999

3.019017220124635D-02          .5000000298023224          .149999552012945
9.112829591454076        40000        0            4.006434201962423
-31998

Above there is no rounding by hand; it is just straight copying by hand from the monitor screen. On a personal computer with a Pentium Dual-Core CPU E5200 @2.50GHz, 2.50 GHz, 960 MB of RAM and QB64v1000-win [50], the wall-clock time (not CPU time) for obtaining the output through JJJJ = -31998 was 3 seconds, not including the time for “Creating .EXE file" (8 seconds, including the time for “Creating .EXE file").  One can compare the computational results above with those in Mellal and Williams [36, p. 940, Table 12].


Acknowledgment

I would like to acknowledge the encouragement of Roberta Clark and Tom Clark.

References

[1] Andre R. S. Amaral (2006), On the Exact Solution of a Facility Layout Problem.  European Journal of Operational Research 173 (2006), pp. 508-518.

[2] Andre R. S. Amaral (2008), An Exact Approach to the One-Dimensional Facility Layout Problem.  Operations Research, Vol. 56, No. 4 (July-August, 2008), pp. 1026-1033.

[3] Andre R. S. Amaral (2011), Optimal Solutions for the Double Row Layout Problem.  Optimization Letters, DOI 10.1007/s11590-011-0426-8, published on line 30 November 2011, Springer-Verlag 2011.

[4] Andre R. S. Amaral (2012), The Corridor Allocation Problem.  Computers and Operations Research 39 (2012), pp. 3325-3330.

[5] Miguel F. Anjos, Anthony Vannelli, Computing Globally Optimal Solutions for Single-Row Layout Problems Using Semidefinite Programming and Cutting Planes.  INFORMS Journal on Computing, Vol. 20, No. 4, Fall 2008, pp. 611-617.

[6] Miguel F. Anjos (2012), FLPLIB--Facility Layout Database.  Retrieved on September 25 2012 from www.gerad.ca/files/Sites/Anjos/indexFR.html

[7] David L. Applegate, Robert E. Bixby, Vasek Chvatal, William J. Cook, The Traveling Salesman Problem: A Computational Study.  Princeton and Oxford: Princeton University Press, 2006.

[8] Jerome Bracken, Garth P. McCormick, Selected Applications of Nonlinear Programming.  New York: John Wiley and Sons, Inc., 1968.

[9] R. C. Carlson and G. L. Nemhauser, Scheduling To Minimize Interaction Cost.  Operations Research, Vol. 14, No. 1 (Jan. - Feb., 1966), pp. 52-58.

[10]  Ta-Cheng Chen (2006).  IAs based approach for reliability redundany allocation problems. Applied Mathematics and Computation 182 (2006) 1556-1567.

[11]  Leandro dos Santos Coelho (2009),  Self-Organizing Migrating Strategies Applied to Reliability-Redundany Optimization of Systems. IEEE Transactions on Reliability, Vol. 58, No. 3, 2009 September, pp. 501-519.

[12]  William Conley (1981).  Optimization:  A Simplified Approach.  Published 1981 by Petrocelli Books in New York.

[13]  Lino Costa, Pedro (2001).  Evolutionary algorithms approach to the solution of mixed integer non-linear programming problems. Computers and Chemical Engineering, Vol. 25, pp. 257-266, 2001.

[14] George B. Dantzig, Discrete-Variable Extremum Problems.  Operations Research, Vol. 5, No. 2 (Apr., 1957), pp. 266-277.

[15]  Kusum Deep, Krishna Pratap Singh, M. L.  Kansal, C. Mohan (2009), A real coded genetic algorithm for solving integer and mixed integer optimization problems.  Applied Mathematics and Computation 212 (2009) 505-518.

[16]  Anoop K. Dhingra (1992).  Optimal apportionment of reliability and redundancy in series systems under multiple objections. IEEE Transactions on Reliability, Vol. 41, No. 4, 1992 December, pp. 576-582.

[17]  C. A. Floudas, A. R. Ciric (1989), Strategies for Overcoming Uncertainties in Heat Exchanger Network Synthesis.  Computers and Chemical Engineering, Vol 13, No. 10, pp. 1133-1152, 1989.

[18] C. A. Floudas, A. Aggarwal, A. R. Ciric (1989), Global Optimum Search for Nonconvex NLP and MINLP Problems.  Computers and Chemical Engineering, Vol 13, No. 10, pp. 1117-1132, 1989.

[19] C. A. Floudas, P. M. Pardalos, A Collection of Test Problems for Constrained Global Optimization Algorithms.  Springer-Verlag, 1990.

[20] Diptesh Ghosh, Ravi Kothari, Population Heuristics for the Corridor Allocation Problem, W.P. No. 2012-09-02, September 2012.  Retrieved on September 14 2012 from Google search.

[21]  Ignacio E. Grossmann.  Overview of Mixed-integer Nonlinear Programming.  https://egon.cheme.cmu.edu/ewo/docs/EWOMINLPGrossmann.pdf

[22] David M. Himmelblau, Applied Nonlinear Programming.  New York: McGraw-Hill Book Company, 1972.

[23] Willi Hock, Klaus Schittkowski, Test Examples for Nonlinear Programming Codes.  Berlin: Springer-Verlag, 1981.

[24] Philipp Hungerlaender, Miguel F. Anjos (January 2012), A Semidefinite Optimization Approach to Free-Space Multi-Row Facility Layout.  Les Cahiers du GERAD.  Retrieved from www.gerad.ca/fichiers/cahiers/G-2012-03.pdf

[25] Philipp Hungerlaender (April 2012), Single-Row Equidistant Facility Layout as a Special Case of Single-Row Facility Layout.  Retrieved from www.optimization-online.org./DB_HTML/2012/04/3432.html

[26] Michael Junger, Thomas M. Liebling, Dennis Naddef, George L. Nemhauser, William R. Pulleybank, Gerhart Reinelt, Giovanni Rinaldi, Lawrence A. Wolsey--Editors, 50 Years of Integer Programming 1958-2008.  Berlin: Springer, 2010.

[27]  Adhe Kania, Kuntjoro Adji Sidarto (2016).  Solving mixed integer  nonlinear programming problems using spiral dynamics optimization algorithm.  AIP Conference Proceedings 1716, 020004 (2016).
https://doi.org/10.1063/1.4942987.  Published by the American Institute of Physics.

[28]  A. H. Land, A. G. Doig, An Automatic Method of Solving Discrete Programming Problems.  Econometrica, Vol. 28, No. 3 (Jul., 1960), pp. 497-520.

[29] E. L. Lawler, M. D. Bell, A Method for Solving Discrete Optimization Problems.  Operations Research, Vol. 14, No. 6 (Nov.-Dec., 1966), pp. 1098-1112.

[30]  Gia-Shi Liu (2006),  A combination method for reliability-redundancy optimization, Engineering Optimization, 38:04, 485-499.

[31]  Yubao Liu, Guihe Qin (2014),  A hybrid TS-DE algorithm for reliability redundancy optimization problem, Journal of Computers, 9, No. 9, September 2014, pp. 2050-2057.

[32]  Rein Luus (1975).  Optimization of System Reliability by a New Nonlinear Integer Programming Procedure. IEEE Transactions on Reliability, Vol. R-24, No. 1, April 1975, pp. 14-16.

[33]  F. Masedu, M Angelozzi (2008).  Modelling optimum fraction assignment in the 4X100 m relay race by integer linear programming.   Italian Journal of Sports Sciences, Anno 13, No. 1, 2008, pp. 74-77.

[34]  MathWorks, Mixed Integer Optimization.  https://www.mathworks.com/help/gads;mixed-integer-optimization.html

[35]  Mohamed Arezki Mellal, Enrico Zio (2016).  A Guided Stochastic Fractal Search Approach for System Reliability Optimization.  Reliability Engineering
and System Safety 152 (2016) 213-227.

[36]  Mohamed Arezki Mellal, Edward J. Williams (2016).  Parameter optimization of advanced machining processes using cuckoo optimization algorithm and hoopla heuristic.  Journal of Intelligent Manufacturing (2016) 27 (5): 927-942. 

[37]  Mohamed Arezki Mellal, Edward J. Williams (2018).  Large-scale reliability-redundancy allocation optimization problem using three soft computing methods.  In Mangey Ram, Editor, in Modeling and simulation based analysis in reliability engineering.  Published July 2018, CRC Press.     

[38] Microsoft Corp., BASIC, Second Edition (May 1982), Version 1.10. Boca Raton, Florida: IBM Corp., Personal Computer, P. O. Box 1328-C, Boca Raton, Florida 33432, 1981.

[39] Yuji Nakagawa, Mitsunori Hikita, Hiroshi Kamada (1984). Surrogate Constraints for Reliability Optimization Problems with Multiple Constraints. IEEE Transactions on Reliability, Vol. R-33, No. 4, October 1984, pp. 301-305.

[40] C. E. Nugent, T. E. Vollmann, J. Ruml (1968), An Experimental Comparison of Techniques for the Assignment of Facilities to Locations, Operations Research 16 (1968), pp. 150-173.

[41] OPTI Toolbox, Mixed Integer Nonlinear Program (MINLP).  https://www.inverseproblem.co.nz/OPTI/index.php/Probs/MINLP

[42] Panos Y. Papalambros,  Douglass J. Wilde, Principles of Optimal Design, Second Edition.  Cambridge University Press, 2000.

[43]  R. V. Rao, P. J. Pawar, J. P. Davim (2010).  Parameter optimization of ultrasonic machining process using nontraditional optimization algorihms.  Materials and Manufacturing Processes, 25 (10),1120-1130.

[44] H. S. Ryoo, N. V. Sahinidis (1995), Global Optimization of Nonconvex NLPs and MINLPs with Applications in Process Design.  Computers and Chemical Engineering, Vol. 19, No. 5, pp. 551-566, 1995.

[45] Donald M. Simmons (1969), One-Dimensional Space Allocation: An Ordering Algorithm.    Operations Research, Vol. 17, No. 5 (Sep. - Oct., 1969), pp. 812-826.

[46] G. Stephanopoulos, A. W. Westerberg, The Use of Hestenes' Method of Multipliers to Resolve
Dual Gaps in Engineering System Optimization.  Journal of Optimization Theory and Applications,  Vol.15, No. 3, pp. 285-309, 1975.

[47]  Frank A. Tillman, Ching-Lai Hwang, Way Kuo (1977).  Determining Component Reliability and Redundancy for  Optimun System Reliability. IEEE Transactions on Reliability, Vol. R-26, No. 3, Augusr 1977, pp. 162-165.

[48]  Hardi Tambunan, Herman Mawengkang (2016).  Solving Mixed Integer Non-Linear Programming Using Active Constraint.  Global Journal of Pure and Applied Mathematics, Volume 12, Number 6 (2016), pp. 5267-5281.  http://www.ripublication.com/gjpam.htm

[49] Tawan Wasanapradit, Nalinee Mukdasanit, Nachol Chaiyaratana, Thongchai Srinophakun (2011).  Solving mixed-integer nonlinear programming problems using improved genetic algorithms.  Korean  Joutnal of  Chemical Engineering  28 (1):32-40 January 2011.

[50]  Wikipedia, QB64, https://en.wikipedia.org/wiki/QB64.

[51]  Zhongkai Xu, Way Kuo, Hsin-Hui Lin (1990).  Optimization Limits in Improving System Reliability. IEEE Transactions on Reliability, Vol. 39, No. 1, 1990 April, pp. 51-60.

[52]  ZHANG HongQi, HU ZiangTao, SHAO XiaoDong, LI ZiCheng, WANG YuHui  (November 2013).  IPSO-based hybrid approaches for reliability-redundany allocation problems.  SCIENCE CHINA Technologial Sciences, November 2013, Vol. 56, No. 11:  2854-2864

Tuesday, August 21, 2018

Minimization of the Surface Roughness of an Alloy Using the (Present) MINLP Solver

Jsun Yui Wong

The computer program listed below seeks to solve the following "optimization problem of minimization of the surface roughness in machining AI Alloy SIC," Mellal and Williams [36, p. 46]:
       
Minimize   .72412 + .00325 * X(1) - .19694 * X(2) + 4.19915 * X(3) - .18753 * X(4) - .000018 * X(1) ^ 2 - 3.42419 * X(3) ^ 2 + 3.33125 * X(2) * X(3) - .56484 * X(3) * X(4)
   
subject to

            90<= X(1) <=210   
 
            .15<= X(2) <=.25

            .20<= X(3) <=.60

            .40<= X(4) <=1.20.


0 DEFDBL A-Z

1 DEFINT K

2 DIM B(99), N(99), A(2002), H(99), L(99), U(99), X(2002), D(111), P(111), PS(33), J44(2002), J(99), AA(99), HR(32), HHR(32), LHS(44), PLHS(44), LB(22), UB(22), PX(22), CC(20), RR(20), WW(20), AL(50), SW(50), SV(50)


81 FOR JJJJ = -32000 TO 32000

    89 RANDOMIZE JJJJ
    90 M = -3E+30

    122 A(1) = 90 + RND * 120


    124 A(2) = .15 + RND * .10
    126 A(3) = .20 + RND * .40

    127 A(4) = .40 + RND * .80     


    128 FOR I = 1 TO 1000

        129 FOR KKQQ = 1 TO 4
            130 X(KKQQ) = A(KKQQ)
        131 NEXT KKQQ
        151 FOR IPP = 1 TO FIX(1 + RND * 2)


            153 J = 1 + FIX(RND * 4)

            156 r = (1 - RND * 2) * A(J)
            158 X(J) = A(J) + (RND ^ (RND * 10)) * r

        169 NEXT IPP
        233 IF X(1) < 90## THEN 1670

        234 IF X(1) > 210## THEN 1670


        236 IF X(2) < .15## THEN 1670

        237 IF X(2) > .25## THEN 1670


        241 IF X(3) < .20## THEN 1670

        242 IF X(3) > .60## THEN 1670


        245 IF X(4) < .4## THEN 1670

        246 IF X(4) > 1.20## THEN 1670
     
        447 PDU = -.72412 - .00325 * X(1) + .19694 * X(2) - 4.19915 * X(3) + .18753 * X(4) + .000018 * X(1) ^ 2 + 3.42419 * X(3) ^ 2 - 3.33125 * X(2) * X(3) + .56484 * X(3) * X(4)

        466 P = PDU
        1111 IF P <= M THEN 1670
        1452 M = P
        1454 FOR KLX = 1 TO 4

            1455 A(KLX) = X(KLX)
        1456 NEXT KLX


        1557 GOTO 128
    1670 NEXT I
    1889 IF M < -33333333 THEN 1999

        1904 PRINT A(1), A(2), A(3), A(4), M, JJJJ

1999 NEXT JJJJ


This BASIC computer program was run with QB64v1000-win [49].  The complete output of a single run through JJJJ= -31999 is shown below: 

209.9999999991342    .1500000000000166     .2000000000000256
1.19999999999999     -1.025481300003811   -32000

209.999999998173     .1500000000000021     .2000000000000246
1.199999999999485   -1.025481300008095    -31999

Above there is no rounding by hand; it is just straight copying by hand from the monitor screen. On a personal computer with a Pentium Dual-Core CPU E5200 @2.50GHz, 2.50 GHz, 960 MB of RAM and QB64v1000-win [49], the wall-clock time (not CPU time) for obtaining the output through JJJJ = -31999 was 1 or 2 seconds, not including the time for “Creating .EXE file."  One can compare the computational results above with those in Mellal and Williams [36, p. 46, Table 5].


Acknowledgment

I would like to acknowledge the encouragement of Roberta Clark and Tom Clark.

References

[1] Andre R. S. Amaral (2006), On the Exact Solution of a Facility Layout Problem.  European Journal of Operational Research 173 (2006), pp. 508-518.

[2] Andre R. S. Amaral (2008), An Exact Approach to the One-Dimensional Facility Layout Problem.  Operations Research, Vol. 56, No. 4 (July-August, 2008), pp. 1026-1033.

[3] Andre R. S. Amaral (2011), Optimal Solutions for the Double Row Layout Problem.  Optimization Letters, DOI 10.1007/s11590-011-0426-8, published on line 30 November 2011, Springer-Verlag 2011.

[4] Andre R. S. Amaral (2012), The Corridor Allocation Problem.  Computers and Operations Research 39 (2012), pp. 3325-3330.

[5] Miguel F. Anjos, Anthony Vannelli, Computing Globally Optimal Solutions for Single-Row Layout Problems Using Semidefinite Programming and Cutting Planes.  INFORMS Journal on Computing, Vol. 20, No. 4, Fall 2008, pp. 611-617.

[6] Miguel F. Anjos (2012), FLPLIB--Facility Layout Database.  Retrieved on September 25 2012 from www.gerad.ca/files/Sites/Anjos/indexFR.html

[7] David L. Applegate, Robert E. Bixby, Vasek Chvatal, William J. Cook, The Traveling Salesman Problem: A Computational Study.  Princeton and Oxford: Princeton University Press, 2006.

[8] Jerome Bracken, Garth P. McCormick, Selected Applications of Nonlinear Programming.  New York: John Wiley and Sons, Inc., 1968.

[9] R. C. Carlson and G. L. Nemhauser, Scheduling To Minimize Interaction Cost.  Operations Research, Vol. 14, No. 1 (Jan. - Feb., 1966), pp. 52-58.

[10]  Ta-Cheng Chen (2006).  IAs based approach for reliability redundany allocation problems. Applied Mathematics and Computation 182 (2006) 1556-1567.

[11]  Leandro dos Santos Coelho (2009),  Self-Organizing Migrating Strategies Applied to Reliability-Redundany Optimization of Systems. IEEE Transactions on Reliability, Vol. 58, No. 3, 2009 September, pp. 501-519.

[12]  William Conley (1981).  Optimization:  A Simplified Approach.  Published 1981 by Petrocelli Books in New York.

[13]  Lino Costa, Pedro (2001).  Evolutionary algorithms approach to the solution of mixed integer non-linear programming problems. Computers and Chemical Engineering, Vol. 25, pp. 257-266, 2001.

[14] George B. Dantzig, Discrete-Variable Extremum Problems.  Operations Research, Vol. 5, No. 2 (Apr., 1957), pp. 266-277.

[15]  Kusum Deep, Krishna Pratap Singh, M. L.  Kansal, C. Mohan (2009), A real coded genetic algorithm for solving integer and mixed integer optimization problems.  Applied Mathematics and Computation 212 (2009) 505-518.

[16]  Anoop K. Dhingra (1992).  Optimal apportionment of reliability and redundancy in series systems under multiple objections. IEEE Transactions on Reliability, Vol. 41, No. 4, 1992 December, pp. 576-582.

[17]  C. A. Floudas, A. R. Ciric (1989), Strategies for Overcoming Uncertainties in Heat Exchanger Network Synthesis.  Computers and Chemical Engineering, Vol 13, No. 10, pp. 1133-1152, 1989.

[18] C. A. Floudas, A. Aggarwal, A. R. Ciric (1989), Global Optimum Search for Nonconvex NLP and MINLP Problems.  Computers and Chemical Engineering, Vol 13, No. 10, pp. 1117-1132, 1989.

[19] C. A. Floudas, P. M. Pardalos, A Collection of Test Problems for Constrained Global Optimization Algorithms.  Springer-Verlag, 1990.

[20] Diptesh Ghosh, Ravi Kothari, Population Heuristics for the Corridor Allocation Problem, W.P. No. 2012-09-02, September 2012.  Retrieved on September 14 2012 from Google search.

[21]  Ignacio E. Grossmann.  Overview of Mixed-integer Nonlinear Programming.  https://egon.cheme.cmu.edu/ewo/docs/EWOMINLPGrossmann.pdf

[22] David M. Himmelblau, Applied Nonlinear Programming.  New York: McGraw-Hill Book Company, 1972.

[23] Willi Hock, Klaus Schittkowski, Test Examples for Nonlinear Programming Codes.  Berlin: Springer-Verlag, 1981.

[24] Philipp Hungerlaender, Miguel F. Anjos (January 2012), A Semidefinite Optimization Approach to Free-Space Multi-Row Facility Layout.  Les Cahiers du GERAD.  Retrieved from www.gerad.ca/fichiers/cahiers/G-2012-03.pdf

[25] Philipp Hungerlaender (April 2012), Single-Row Equidistant Facility Layout as a Special Case of Single-Row Facility Layout.  Retrieved from www.optimization-online.org./DB_HTML/2012/04/3432.html

[26] Michael Junger, Thomas M. Liebling, Dennis Naddef, George L. Nemhauser, William R. Pulleybank, Gerhart Reinelt, Giovanni Rinaldi, Lawrence A. Wolsey--Editors, 50 Years of Integer Programming 1958-2008.  Berlin: Springer, 2010.

[27]  Adhe Kania, Kuntjoro Adji Sidarto (2016).  Solving mixed integer  nonlinear programming problems using spiral dynamics optimization algorithm.  AIP Conference Proceedings 1716, 020004 (2016).  https://doi.org/10.1063/1.4942987.  Published by the American Institute of Physics.

[28]  A. H. Land, A. G. Doig, An Automatic Method of Solving Discrete Programming Problems.  Econometrica, Vol. 28, No. 3 (Jul., 1960), pp. 497-520.

[29] E. L. Lawler, M. D. Bell, A Method for Solving Discrete Optimization Problems.  Operations Research, Vol. 14, No. 6 (Nov.-Dec., 1966), pp. 1098-1112.

[30]  Gia-Shi Liu (2006),  A combination method for reliability-redundancy optimization, Engineering Optimization, 38:04, 485-499.

[31]  Yubao Liu, Guihe Qin (2014),  A hybrid TS-DE algorithm for reliability redundancy optimization problem, Journal of Computers, 9, No. 9, September 2014, pp. 2050-2057.

[32]  Rein Luus (1975).  Optimization of System Reliability by a New Nonlinear Integer Programming Procedure. IEEE Transactions on Reliability, Vol. R-24, No. 1, April 1975, pp. 14-16.

[33]  F. Masedu, M Angelozzi (2008).  Modelling optimum fraction assignment in the 4X100 m relay race by integer linear programming.   Italian Journal of Sports Sciences, Anno 13, No. 1, 2008, pp. 74-77.

[34]  MathWorks, Mixed Integer Optimization.  https://www.mathworks.com/help/gads;mixed-integer-optimization.html

[35]  Mohamed Arezki Mellal, Enrico Zio (2016).  A Guided Stochastic Fractal Search Approach for System Reliability Optimization.  Reliability Engineering and System Safety 152 (2016) 213-227.

[36]  Mohamed Arezki Mellal, Edward J. Williams (2017).  A survey on ant colony optimization, particle swarm optimization,and cuckoo algorithms.  In P. Vasant, S. Z. Alparslan-Gok, G. W. Weber (editors), in Handbook of Research on Emergent Applications of Optimization Algorithms. Published 2017, IGI Global, USA.     

[37]  Mohamed Arezki Mellal, Edward J. Williams (2018).  Large-scale reliability-redundancy allocation optimization problem using three soft computing methods.  In Mangey Ram, Editor, in Modeling and simulation based analysis in reliability engineering.  Published July 2018, CRC Press.   

[38] Microsoft Corp., BASIC, Second Edition (May 1982), Version 1.10. Boca Raton, Florida: IBM Corp., Personal Computer, P. O. Box 1328-C, Boca Raton, Florida 33432, 1981.

[39] Yuji Nakagawa, Mitsunori Hikita, Hiroshi Kamada (1984). Surrogate Constraints for Reliability Optimization Problems with Multiple Constraints. IEEE Transactions on Reliability, Vol. R-33, No. 4, October 1984, pp. 301-305.

[40] C. E. Nugent, T. E. Vollmann, J. Ruml (1968), An Experimental Comparison of Techniques for the Assignment of Facilities to Locations, Operations Research 16 (1968), pp. 150-173.

[41] OPTI Toolbox, Mixed Integer Nonlinear Program (MINLP).  https://www.inverseproblem.co.nz/OPTI/index.php/Probs/MINLP

[42] Panos Y. Papalambros,  Douglass J. Wilde, Principles of Optimal Design, Second Edition.  Cambridge University Press, 2000.

[43] H. S. Ryoo, N. V. Sahinidis (1995), Global Optimization of Nonconvex NLPs and MINLPs with Applications in Process Design.  Computers and Chemical Engineering, Vol. 19, No. 5, pp. 551-566, 1995.

[44] Donald M. Simmons (1969), One-Dimensional Space Allocation: An Ordering Algorithm.    Operations Research, Vol. 17, No. 5 (Sep. - Oct., 1969), pp. 812-826.

[45] G. Stephanopoulos, A. W. Westerberg, The Use of Hestenes' Method of Multipliers to Resolve
Dual Gaps in Engineering System Optimization.  Journal of Optimization Theory and Applications,  Vol.15, No. 3, pp. 285-309, 1975.

[46]  Frank A. Tillman, Ching-Lai Hwang, Way Kuo (1977).  Determining Component Reliability and Redundancy for Optimun System Reliability. IEEE Transactions on Reliability, Vol. R-26, No. 3, Augusr 1977, pp. 162-165.

[47]  Hardi Tambunan, Herman Mawengkang (2016).  Solving Mixed Integer Non-Linear Programming Using Active Constraint.  Global Journal of Pure and Applied Mathematics, Volume 12, Number 6 (2016), pp. 5267-5281.  http://www.ripublication.com/gjpam.htm

[48] Tawan Wasanapradit, Nalinee Mukdasanit, Nachol Chaiyaratana, Thongchai Srinophakun (2011).  Solving mixed-integer nonlinear programming problems using improved genetic algorithms.  Korean  Joutnal of  Chemical Engineering  28 (1):32-40 January 2011.

[49]  Wikipedia, QB64, https://en.wikipedia.org/wiki/QB64.

[50]  Zhongkai Xu, Way Kuo, Hsin-Hui Lin (1990).  Optimization Limits in Improving System Reliability. IEEE Transactions on Reliability, Vol. 39, No. 1, 1990 April, pp. 51-60.

[51]  ZHANG HongQi, HU ZiangTao, SHAO XiaoDong, LI ZiCheng, WANG YuHui  (November 2013).  IPSO-based hybrid approaches for reliability-redundany allocation problems.  SCIENCE CHINA Technologial Sciences, November 2013, Vol. 56, No. 11:  2854-2864.

Thursday, August 2, 2018

This Mixed-Integer Nonlinear Programming (MINLP) Solver Applied to a Large Scale Reliability-Redundancy Allocation Problem

Jsun Yui Wong

The computer program listed below seeks to solve the following problem from Mellal and Zio [34, p. 218, Table 5]:
       
Maximize         PROD * (1 - (1 - X(31)) ^ X(11)) * (1 - (1 - X(32)) ^ X(12)) * (1 - (1 - X(33)) ^ X(13)) * (1 - (1 - X(34)) ^ X(14)) * (1 - (1 - X(35)) ^ X(15)) * (1 - (1 - X(36)) ^ X(16)) * (1 - (1 - X(37)) ^ X(17)) * (1 - (1 - X(38)) ^ X(18)) * (1 - (1 - X(39)) ^ X(19)) * (1 - (1 - X(40)) ^ X(20))

where PROD = (1 - (1 - X(21)) ^ X(1)) * (1 - (1 - X(22)) ^ X(2)) * (1 - (1 - X(23)) ^ X(3)) * (1 - (1 - X(24)) ^ X(4)) * (1 - (1 - X(25)) ^ X(5)) * (1 - (1 - X(26)) ^ X(6)) * (1 - (1 - X(27)) ^ X(7)) * (1 - (1 - X(28)) ^ X(8)) * (1 - (1 - X(29)) ^ X(9)) * (1 - (1 - X(30)) ^ X(10))

subject to

         2 * X(1) ^ 2 + 5 * X(2) ^ 2 + 5 * X(3) ^ 2 + 4 * X(4) ^ 2 + 4 * X(5) ^ 2 + 1 * X(6) ^ 2 + 1 * X(7) ^ 2 + 4 * X(8) ^ 2 + 4 * X(9) ^ 2 + 3 * X(10) ^ 2 + 3 * X(11) ^ 2 + 1 * X(12) ^ 2 + 1 * X(13) ^ 2 + 3 * X(14) ^ 2 + 4 * X(15) ^ 2 + 5 * X(16) ^ 2 + 1 * X(17) ^ 2 + 4 * X(18) ^ 2 + 2 * X(19) ^ 2 + 1 * X(20) ^ 2<=600

         8 * X(1) * EXP(X(1) / 4) + (9) * X(2) * EXP(X(2) / 4) + (6) * X(3) * EXP(X(3) / 4) + (10) * X(4) * EXP(X(4) / 4) + (8) * X(5) * EXP(X(5) / 4) + 9 * X(6) * EXP(X(6) / 4) + (9) * X(7) * EXP(X(7) / 4) + (7) * X(8) * EXP(X(8) / 4) + (9) * X(9) * EXP(X(9) / 4) + (8) * X(10) * EXP(X(10) / 4) + 9 * X(11) * EXP(X(11) / 4) + (8) * X(12) * EXP(X(12) / 4) + (7) * X(13) * EXP(X(13) / 4) + (10) * X(14) * EXP(X(14) / 4) + (6) * X(15) * EXP(X(15) / 4) + 7 * X(16) * EXP(X(16) / 4) + (7) * X(17) * EXP(X(17) / 4) + (8) * X(18) * EXP(X(18) / 4) + (9) * X(19) * EXP(X(19) / 4) + (9) * X(20) * EXP(X(20) / 4)<=900

                -XADDC - XADDB - XADD +  (.6 / 10 ^ 5) * ((-1000 / LOG(X(21))) ^ 1.5) * (X(1) + EXP(X(1) / 4)) + (.1 / 10 ^ 5) * ((-1000 / LOG(X(22))) ^ 1.5) * (X(2) + EXP(X(2) / 4)) + (1.2 / 10 ^ 5) * ((-1000 / LOG(X(23))) ^ 1.5) * (X(3) + EXP(X(3) / 4)) + (.3 / 10 ^ 5) * ((-1000 / LOG(X(24))) ^ 1.5) * (X(4) + EXP(X(4) / 4)) + (2.9 / 10 ^ 5) * ((-1000 / LOG(X(25))) ^ 1.5) * (X(5) + EXP(X(5) / 4))<=700

where

         XADDC = -(1.3 / 10 ^ 5) * ((-1000 / LOG(X(36))) ^ 1.5) * (X(16) + EXP(X(16) / 4)) - (1.9 / 10 ^ 5) * ((-1000 / LOG(X(37))) ^ 1.5) * (X(17) + EXP(X(17) / 4)) - (2.7 / 10 ^ 5) * ((-1000 / LOG(X(38))) ^ 1.5) * (X(18) + EXP(X(18) / 4)) - (2.8 / 10 ^ 5) * ((-1000 / LOG(X(39))) ^ 1.5) * (X(19) + EXP(X(19) / 4)) - (1.5 / 10 ^ 5) * ((-1000 / LOG(X(40))) ^ 1.5) * (X(20) + EXP(X(20) / 4))

        XADDB = -(2.4 / 10 ^ 5) * ((-1000 / LOG(X(31))) ^ 1.5) * (X(11) + EXP(X(11) / 4)) - (1.3 / 10 ^ 5) * ((-1000 / LOG(X(32))) ^ 1.5) * (X(12) + EXP(X(12) / 4)) - (1.2 / 10 ^ 5) * ((-1000 / LOG(X(33))) ^ 1.5) * (X(13) + EXP(X(13) / 4)) - (2.1 / 10 ^ 5) * ((-1000 / LOG(X(34))) ^ 1.5) * (X(14) + EXP(X(14) / 4)) - (.9 / 10 ^ 5) * ((-1000 / LOG(X(35))) ^ 1.5) * (X(15) + EXP(X(15) / 4))

        XADD = -(1.7 / 10 ^ 5) * ((-1000 / LOG(X(26))) ^ 1.5) * (X(6) + EXP(X(6) / 4)) - (2.6 / 10 ^ 5) * ((-1000 / LOG(X(27))) ^ 1.5) * (X(7) + EXP(X(7) / 4)) - (2.5 / 10 ^ 5) * ((-1000 / LOG(X(28))) ^ 1.5) * (X(8) + EXP(X(8) / 4)) - (1.3 / 10 ^ 5) * ((-1000 / LOG(X(29))) ^ 1.5) * (X(9) + EXP(X(9) / 4)) - (1.8 / 10 ^ 5) * ((-1000 / LOG(X(30))) ^ 1.5) * (X(10) + EXP(X(10) / 4))

         1<= X(i)  <=10, for i=1 through 20, and these Xs are integers;

            .5<= X(i) <=1, for i=21, 22, 23, ..., 40.
 
X(41) through X(43) below are slack variables added.


0 DEFDBL A-Z

1 DEFINT K

2 DIM B(99), N(99), A(2002), H(99), L(99), U(99), X(2002), D(111), P(111), PS(33), J44(2002), J(99), AA(99), HR(32), HHR(32), LHS(44), PLHS(44), LB(22), UB(22), PX(22), CC(20), RR(20), WW(20)

81 FOR JJJJ = -32000 TO 32000


    89 RANDOMIZE JJJJ
    90 M = -3E+30

    95 FOR J44 = 1 TO 20

        97 A(J44) = FIX(1 + RND * 10)

    99 NEXT J44

    115 FOR J44 = 21 TO 40

        117 A(J44) = .5 + RND * .499999##

    119 NEXT J44

    128 FOR I = 1 TO 40000



        129 FOR KKQQ = 1 TO 40
            130 X(KKQQ) = A(KKQQ)
        131 NEXT KKQQ
        151 FOR IPP = 1 TO FIX(1 + RND * 5)


            153 j = 1 + FIX(RND * 40)


            155 IF j > 20.5 THEN GOTO 156 ELSE GOTO 164

            156 r = (1 - RND * 2) * A(j)
            158 X(j) = A(j) + (RND ^ (RND * 10)) * r


            161 GOTO 169


            164 IF RND < .5 THEN X(j) = A(j) - 1 ELSE X(j) = A(j) + 1


        169 NEXT IPP
        326 FOR J44 = 1 TO 20

            327 X(J44) = CINT(X(J44))



            328 IF X(J44) < 1 THEN 1670

            329 IF X(J44) > 10 THEN 1670
        331 NEXT J44

        336 FOR J44 = 21 TO 40


            338 IF X(J44) < .5## THEN 1670

            339 IF X(J44) > .999999## THEN 1670
        340 NEXT J44


        342 X(41) = 600 - 2 * X(1) ^ 2 - 5 * X(2) ^ 2 - 5 * X(3) ^ 2 - 4 * X(4) ^ 2 - 4 * X(5) ^ 2 - 1 * X(6) ^ 2 - 1 * X(7) ^ 2 - 4 * X(8) ^ 2 - 4 * X(9) ^ 2 - 3 * X(10) ^ 2 - 3 * X(11) ^ 2 - 1 * X(12) ^ 2 - 1 * X(13) ^ 2 - 3 * X(14) ^ 2 - 4 * X(15) ^ 2 - 5 * X(16) ^ 2 - 1 * X(17) ^ 2 - 4 * X(18) ^ 2 - 2 * X(19) ^ 2 - 1 * X(20) ^ 2



        343 X(42) = 900 - 8 * X(1) * EXP(X(1) / 4) - (9) * X(2) * EXP(X(2) / 4) - (6) * X(3) * EXP(X(3) / 4) - (10) * X(4) * EXP(X(4) / 4) - (8) * X(5) * EXP(X(5) / 4) - 9 * X(6) * EXP(X(6) / 4) - (9) * X(7) * EXP(X(7) / 4) - (7) * X(8) * EXP(X(8) / 4) - (9) * X(9) * EXP(X(9) / 4) - (8) * X(10) * EXP(X(10) / 4) - 9 * X(11) * EXP(X(11) / 4) - (8) * X(12) * EXP(X(12) / 4) - (7) * X(13) * EXP(X(13) / 4) - (10) * X(14) * EXP(X(14) / 4) - (6) * X(15) * EXP(X(15) / 4) - 7 * X(16) * EXP(X(16) / 4) - (7) * X(17) * EXP(X(17) / 4) - (8) * X(18) * EXP(X(18) / 4) - (9) * X(19) * EXP(X(19) / 4) - (9) * X(20) * EXP(X(20) / 4)


        344 XADDC = -(1.3 / 10 ^ 5) * ((-1000 / LOG(X(36))) ^ 1.5) * (X(16) + EXP(X(16) / 4)) - (1.9 / 10 ^ 5) * ((-1000 / LOG(X(37))) ^ 1.5) * (X(17) + EXP(X(17) / 4)) - (2.7 / 10 ^ 5) * ((-1000 / LOG(X(38))) ^ 1.5) * (X(18) + EXP(X(18) / 4)) - (2.8 / 10 ^ 5) * ((-1000 / LOG(X(39))) ^ 1.5) * (X(19) + EXP(X(19) / 4)) - (1.5 / 10 ^ 5) * ((-1000 / LOG(X(40))) ^ 1.5) * (X(20) + EXP(X(20) / 4))


        345 XADDB = -(2.4 / 10 ^ 5) * ((-1000 / LOG(X(31))) ^ 1.5) * (X(11) + EXP(X(11) / 4)) - (1.3 / 10 ^ 5) * ((-1000 / LOG(X(32))) ^ 1.5) * (X(12) + EXP(X(12) / 4)) - (1.2 / 10 ^ 5) * ((-1000 / LOG(X(33))) ^ 1.5) * (X(13) + EXP(X(13) / 4)) - (2.1 / 10 ^ 5) * ((-1000 / LOG(X(34))) ^ 1.5) * (X(14) + EXP(X(14) / 4)) - (.9 / 10 ^ 5) * ((-1000 / LOG(X(35))) ^ 1.5) * (X(15) + EXP(X(15) / 4))


        348 XADD = -(1.7 / 10 ^ 5) * ((-1000 / LOG(X(26))) ^ 1.5) * (X(6) + EXP(X(6) / 4)) - (2.6 / 10 ^ 5) * ((-1000 / LOG(X(27))) ^ 1.5) * (X(7) + EXP(X(7) / 4)) - (2.5 / 10 ^ 5) * ((-1000 / LOG(X(28))) ^ 1.5) * (X(8) + EXP(X(8) / 4)) - (1.3 / 10 ^ 5) * ((-1000 / LOG(X(29))) ^ 1.5) * (X(9) + EXP(X(9) / 4)) - (1.8 / 10 ^ 5) * ((-1000 / LOG(X(30))) ^ 1.5) * (X(10) + EXP(X(10) / 4))


        350 X(43) = XADDC + XADDB + XADD + 700 - (.6 / 10 ^ 5) * ((-1000 / LOG(X(21))) ^ 1.5) * (X(1) + EXP(X(1) / 4)) - (.1 / 10 ^ 5) * ((-1000 / LOG(X(22))) ^ 1.5) * (X(2) + EXP(X(2) / 4)) - (1.2 / 10 ^ 5) * ((-1000 / LOG(X(23))) ^ 1.5) * (X(3) + EXP(X(3) / 4)) - (.3 / 10 ^ 5) * ((-1000 / LOG(X(24))) ^ 1.5) * (X(4) + EXP(X(4) / 4)) - (2.9 / 10 ^ 5) * ((-1000 / LOG(X(25))) ^ 1.5) * (X(5) + EXP(X(5) / 4))


        355 FOR J44 = 41 TO 43


            357 IF X(J44) < 0 THEN X(J44) = X(J44) ELSE X(J44) = 0


        359 NEXT J44


        422 PROD = (1 - (1 - X(21)) ^ X(1)) * (1 - (1 - X(22)) ^ X(2)) * (1 - (1 - X(23)) ^ X(3)) * (1 - (1 - X(24)) ^ X(4)) * (1 - (1 - X(25)) ^ X(5)) * (1 - (1 - X(26)) ^ X(6)) * (1 - (1 - X(27)) ^ X(7)) * (1 - (1 - X(28)) ^ X(8)) * (1 - (1 - X(29)) ^ X(9)) * (1 - (1 - X(30)) ^ X(10))


        433 PDU = PROD * (1 - (1 - X(31)) ^ X(11)) * (1 - (1 - X(32)) ^ X(12)) * (1 - (1 - X(33)) ^ X(13)) * (1 - (1 - X(34)) ^ X(14)) * (1 - (1 - X(35)) ^ X(15)) * (1 - (1 - X(36)) ^ X(16)) * (1 - (1 - X(37)) ^ X(17)) * (1 - (1 - X(38)) ^ X(18)) * (1 - (1 - X(39)) ^ X(19)) * (1 - (1 - X(40)) ^ X(20)) + 1000000 * (X(41) + X(42) + X(43))

        466 P = PDU
        1111 IF P <= M THEN 1670
        1452 M = P
        1454 FOR KLX = 1 TO 43

            1455 A(KLX) = X(KLX)
        1456 NEXT KLX


        1557 GOTO 128
    1670 NEXT I
    1889 IF M < .890 THEN 1999


    1904 PRINT A(1), A(2), A(3), A(4), A(5)

    1907 PRINT A(6), A(7), A(8), A(9), A(10)
    1908 PRINT A(11), A(12), A(13), A(14), A(15)


    1927 PRINT A(16), A(17), A(18), A(19), A(20)

    1944 PRINT A(21), A(22), A(23), A(24), A(25)

    1947 PRINT A(26), A(27), A(28), A(29), A(30)
    1948 PRINT A(31), A(32), A(33), A(34), A(35)

    1949 PRINT A(36), A(37), A(38), A(39), A(40)

    1950 PRINT A(41), A(41), A(43), M, JJJJ

1999 NEXT JJJJ


This BASIC computer program was run with QB64v1000-win [46].  The top-two candidate solutions of a single run through JJJJ= -31706 are shown below:

2 2 3 2 3
2 3 3 2 3
3 3 3 3 3
3 3 3 3 3
.9176676059378108      .9529493608779073       .8414426000843975
.9350445768679673      .8020502969111866 
.8959271422787656      .8105255951980664      .810916654841777
.904252400517493        .8243589561627621     .
.8175257801246864      .8432949169984238     .8474666184722103
.819240905662896        .8484380456464606
.8395842574160096      .823304323945264       .807493413855936
.8069133497713611      .8367136339197568
0      0      0                  .8909194266571648
-31900

2   2   3   2   3
3   3   3   2   3
3   3   3   3   3
3   3   3   3   2
.9207435079905487         .9498790771031488     .840974035964459
.9357658299762895         .807662549706277   
.825183271601671          .8143538750318156      .8120130770240397
.9068879444864856        .819553712721343     
.8118850433518717        .8407556540903034      .8480743971425285
.8206862478868184        .848582388518259
.8438357935349793         .8257649447020704     .813061425750956
.807172657789285           .8930113078512505
0   0   0                           .8913278111036525
-31706

Above there is no rounding by hand; it is just straight copying by hand from the monitor screen. On a personal computer with a Pentium Dual-Core CPU E5200 @2.50GHz, 2.50 GHz, 960 MB of RAM and QB64v1000-win [46], the wall-clock time (not CPU time) for obtaining the output through JJJJ = -31706 was 103 minutes, total, including the time for “Creating .EXE file."  One can compare the computational results above with those in Mellal and Zio [34, p. 224, Table 14].

Acknowledgment

I would like to acknowledge the encouragement of Roberta Clark and Tom Clark.

References

[1] Andre R. S. Amaral (2006), On the Exact Solution of a Facility Layout Problem.  European Journal of Operational Research 173 (2006), pp. 508-518.

[2] Andre R. S. Amaral (2008), An Exact Approach to the One-Dimensional Facility Layout Problem.  Operations Research, Vol. 56, No. 4 (July-August, 2008), pp. 1026-1033.

[3] Andre R. S. Amaral (2011), Optimal Solutions for the Double Row Layout Problem.  Optimization Letters, DOI 10.1007/s11590-011-0426-8, published on line 30 November 2011, Springer-Verlag 2011.

[4] Andre R. S. Amaral (2012), The Corridor Allocation Problem.  Computers and Operations Research 39 (2012), pp. 3325-3330.

[5] Miguel F. Anjos, Anthony Vannelli, Computing Globally Optimal Solutions for Single-Row Layout Problems Using Semidefinite Programming and Cutting Planes.  INFORMS Journal on Computing, Vol. 20, No. 4, Fall 2008, pp. 611-617.

[6] Miguel F. Anjos (2012), FLPLIB--Facility Layout Database.  Retrieved on September 25 2012 from www.gerad.ca/files/Sites/Anjos/indexFR.html

[7] David L. Applegate, Robert E. Bixby, Vasek Chvatal, William J. Cook, The Traveling Salesman Problem: A Computational Study.  Princeton and Oxford: Princeton University Press, 2006.

[8] Jerome Bracken, Garth P. McCormick, Selected Applications of Nonlinear Programming.  New York: John Wiley and Sons, Inc., 1968.

[9] R. C. Carlson and G. L. Nemhauser, Scheduling To Minimize Interaction Cost.  Operations Research, Vol. 14, No. 1 (Jan. - Feb., 1966), pp. 52-58.

[10]  Ta-Cheng Chen (2006).  IAs based approach for reliability redundany allocation problems. Applied Mathematics and Computation 182 (2006) 1556-1567.
.
[11]  Leandro dos Santos Coelho (2009),  Self-Organizing Migrating Strategies Applied to Reliability-Redundany Optimization of Systems. IEEE Transactions on Reliability, Vol. 58, No. 3, 2009 September, pp. 501-519.

[12]  Lino Costa, Pedro (2001).  Evolutionary algorithms approach to the solution of mixed integer non-linear programming problems. Computers and Chemical Engineering, Vol. 25, pp. 257-266, 2001.

[13] George B. Dantzig, Discrete-Variable Extremum Problems.  Operations Research, Vol. 5, No. 2 (Apr., 1957), pp. 266-277.

[14]  Kusum Deep, Krishna Pratap Singh, M. L.  Kansal, C. Mohan (2009), A real coded genetic algorithm for solving integer and mixed integer optimization problems.  Applied Mathematics and Computation 212 (2009) 505-518.

[15]  Anoop K. Dhingra (1992).  Optimal apportionment of reliability and redundancy in series systems under multiple objections. IEEE Transactions on Reliability, Vol. 41, No. 4, 1992 December, pp. 576-582.

[16]  C. A. Floudas, A. R. Ciric (1989), Strategies for Overcoming Uncertainties in Heat Exchanger Network Synthesis.  Computers and Chemical Engineering, Vol 13, No. 10, pp. 1133-1152, 1989.

[17] C. A. Floudas, A. Aggarwal, A. R. Ciric (1989), Global Optimum Search for Nonconvex NLP and MINLP Problems.  Computers and Chemical Engineering, Vol 13, No. 10, pp. 1117-1132, 1989.

[18] C. A. Floudas, P. M. Pardalos, A Collection of Test Problems for Constrained Global Optimization Algorithms.  Springer-Verlag, 1990.

[19] Diptesh Ghosh, Ravi Kothari, Population Heuristics for the Corridor Allocation Problem, W.P. No. 2012-09-02, September 2012.  Retrieved on September 14 2012 from Google search.

[20]  Ignacio E. Grossmann.  Overview of Mixed-integer Nonlinear Programming.  https://egon.cheme.cmu.edu/ewo/docs/EWOMINLPGrossmann.pdf

[21] David M. Himmelblau, Applied Nonlinear Programming.  New York: McGraw-Hill Book Company, 1972.

[22] Willi Hock, Klaus Schittkowski, Test Examples for Nonlinear Programming Codes.  Berlin: Springer-Verlag, 1981.

[23] Philipp Hungerlaender, Miguel F. Anjos (January 2012), A Semidefinite Optimization Approach to Free-Space Multi-Row Facility Layout.  Les Cahiers du GERAD.  Retrieved from www.gerad.ca/fichiers/cahiers/G-2012-03.pdf

[24] Philipp Hungerlaender (April 2012), Single-Row Equidistant Facility Layout as a Special Case of Single-Row Facility Layout.  Retrieved from www.optimization-online.org./DB_HTML/2012/04/3432.html

[25] Michael Junger, Thomas M. Liebling, Dennis Naddef, George L. Nemhauser, William R. Pulleybank, Gerhart Reinelt, Giovanni Rinaldi, Lawrence A. Wolsey--Editors,  50 Years of Integer Programming 1958-2008.  Berlin: Springer, 2010.

[26]  Adhe Kania, Kuntjoro Adji Sidarto (2016).  Solving mixed integer  nonlinear programming problems using spiral dynamics optimization algorithm.  AIP Conference Proceedings 1716, 020004 (2016).
https://doi.org/10.1063/1.4942987.  Published by the American Institute of Physics.

[27]  A. H. Land, A. G. Doig, An Automatic Method of Solving Discrete Programming Problems.  Econometrica, Vol. 28, No. 3 (Jul., 1960), pp. 497-520.

[28] E. L. Lawler, M. D. Bell, A Method for Solving Discrete Optimization Problems.  Operations Research, Vol. 14, No. 6 (Nov.-Dec., 1966), pp. 1098-1112.

[29]  Gia-Shi Liu (2006),  A combination method for reliability-redundancy optimization, Engineering Optimization, 38:04, 485-499.

[30]  Yubao Liu, Guihe Qin (2014),  A hybrid TS-DE algorithm for reliability redundancy optimization problem, Journal of Computers, 9, No. 9, September 2014, pp. 2050-2057.

[31]  Rein Luus (1975).  Optimization of System Reliability by a New Nonlinear Integer Programming Procedure. IEEE Transactions on Reliability, Vol. R-24, No. 1, April 1975, pp. 14-16.

[32]  F. Masedu, M Angelozzi (2008).  Modelling optimum fraction assignment in the 4X100 m relay race by integer linear programming.   Italian Journal of Sports Sciences, Anno 13, No. 1, 2008, pp. 74-77.

[33]  MathWorks, Mixed Integer Optimization.  https://www.mathworks.com/help/gads;mixed-integer-optimization.html

[34]  Mohamed Arezki Mellel, Enrico Zio (2016).  A Guided Stochastic Fractal Search Approach for System Reliability Optimization.  Reliability Engineering 
and System Safety 152 (2016) 213-227.

[35] Microsoft Corp., BASIC, Second Edition (May 1982), Version 1.10. Boca Raton, Florida: IBM Corp., Personal Computer, P. O. Box 1328-C, Boca Raton, Florida 33432, 1981.

[36]  Yuji Nakagawa, Mitsunori Hikita, Hiroshi Kamada (1984). Surrogate Constraints for Reliability Optimization Problems with Multiple Constraints. IEEE Transactions on Reliability Vol. R-33, No. 4, October 1984, pp. 301-305.


[37] C. E. Nugent, T. E. Vollmann, J. Ruml (1968), An Experimental Comparison of Techniques for the Assignment of Facilities to Locations, Operations Research 16 (1968), pp. 150-173.

[38] OPTI Toolbox, Mixed Integer Nonlinear Program (MINLP).  https://www.inverseproblem.co.nz/OPTI/index.php/Probs/MINLP

[39] Panos Y. Papalambros,  Douglass J. Wilde, Principles of Optimal Design, Second Edition.  Cambridge University Press, 2000.

[40] H. S. Ryoo, N. V. Sahinidis (1995), Global Optimization of Nonconvex NLPs and MINLPs with Applications in Process Design.  Computers and Chemical Engineering, Vol. 19, No. 5, pp. 551-566, 1995.

[41] Donald M. Simmons (1969), One-Dimensional Space Allocation: An Ordering Algorithm.    Operations Research, Vol. 17, No. 5 (Sep. - Oct., 1969), pp. 812-826.

[42] G. Stephanopoulos, A. W. Westerberg, The Use of Hestenes' Method of Multipliers to Resolve
Dual Gaps in Engineering System Optimization.  Journal of Optimization Theory and Applications,  Vol.15, No. 3, pp. 285-309, 1975.

[43]  Frank A. Tillman, Ching-Lai Hwang, Way Kuo (1977).  Determining Component Reliability and Redundancy for  Optimun System Reliability. IEEE Transactions on Reliability, Vol. R-26, No. 3, Augusr 1977, pp. 162-165.

[44]  Hardi Tambunan, Herman Mawengkang (2016).  Solving Mixed Integer Non-Linear Programming Using Active Constraint.  Global Journal of Pure and Applied Mathematics, Volume 12, Number 6 (2016), pp. 5267-5281.  http://www.ripublication.com/gjpam.htm

[45] Tawan Wasanapradit, Nalinee Mukdasanit, Nachol Chaiyaratana, Thongchai Srinophakun (2011).  Solving mixed-integer nonlinear programming problems using improved genetic algorithms.  Korean  Joutnal of  Chemical Engineering  28 (1):32-40 January 2011.

[46]  Wikipedia, QB64, https://en.wikipedia.org/wiki/QB64.

[47]  Zhongkai Xu, Way Kuo, Hsin-Hui Lin (1990).  Optimization Limits in Improving System Reliability. IEEE Transactions on Reliability, Vol. 39, No. 1, 1990 April, pp. 51-60.

Saturday, July 28, 2018

This Mixed-Integer Nonlinear Programming Solver Applied to a Complex (Bridge) Reliability-Redundancy Allocation Problem

Jsun Yui Wong

The computer program listed below seeks to solve the following problem based on Chen [10, p. 1562, P3, Complex (Bridge) System] and on Liu and Qin [30, p. 2053, Problem 2, Complex (Bridge) System]:           

Maximize        O(1) * O(2) + O(3) * O(4) + O(1) * O(4) * O(5) + O(2) * O(3) * O(5) - O(1) * O(2) * O(3) * O(4) - O(1) * O(2) * O(3) * O(5) - O(1) * O(2) * O(4) * O(5) - O(1) * O(3) * O(4) * O(5) - O(2) * O(3) * O(4) * O(5) + 2 * O(1) * O(2) * O(3) * O(4) * O(5)

 where O(J44) = 1 - ((1 - (X(J44 + 5)))) ^ X(J44)--see line 391 through line 394 below

subject to

        1 * X(1) ^ 2 + 2 * X(2) ^ 2 + 3 * X(3) ^ 2 + 4 * X(4) ^ 2 + 2 * X(5) ^ 2<=110

         (2.33 / 10 ^ 5) * ((-1000 / LOG(X(6))) ^ 1.5) * (X(1) + EXP(X(1) / 4)) + (1.45 / 10 ^ 5) * ((-1000 / LOG(X(7))) ^ 1.5) * (X(2) + EXP(X(2) / 4)) + (.541 / 10 ^ 5) * ((-1000 / LOG(X(8))) ^ 1.5) * (X(3) + EXP(X(3) / 4)) + (8.05 / 10 ^ 5) * ((-1000 / LOG(X(9))) ^ 1.5) * (X(4) + EXP(X(4) / 4)) + (1.95 / 10 ^ 5) * ((-1000 / LOG(X(10))) ^ 1.5) * (X(5) + EXP(X(5) / 4))<=175

         7 * X(1) * EXP(X(1) / 4) + (8) * X(2) * EXP(X(2) / 4) + (8) * X(3) * EXP(X(3) / 4) + (6) * X(4) * EXP(X(4) / 4) + (9) * X(5) * EXP(X(5) / 4)<=200

            .5<= X(i) <= 1, 6<=i<=10

where X(1) through X(5) are positive general integer variables with X(i)=1, 2, 3, ..., 10.
       
X(11) through X(13) below are slack variables added.


0 DEFDBL A-Z

1 DEFINT K

2 DIM B(99), N(99), A(2002), H(99), L(99), U(99), X(2002), D(111), P(111), PS(33), J44(2002), J(99), AA(99), HR(32), HHR(32), LHS(44), PLHS(44), LB(22), UB(22), PX(22), CC(20), RR(20), WW(20)

81 FOR JJJJ = -32000 TO 32000


    89 RANDOMIZE JJJJ
    90 M = -3E+30

    95 FOR J44 = 1 TO 5

        97 A(J44) = FIX(1 + RND * 10)

    99 NEXT J44

    115 FOR J44 = 6 TO 10

        117 A(J44) = .5 + RND * .49999

    119 NEXT J44

    128 FOR I = 1 TO 100000


        129 FOR KKQQ = 1 TO 10
            130 X(KKQQ) = A(KKQQ)
        131 NEXT KKQQ
        151 FOR IPP = 1 TO FIX(1 + RND * 3)


            153 j = 1 + FIX(RND * 10)


            155 IF j > 5.5 THEN GOTO 156 ELSE GOTO 164

            156 r = (1 - RND * 2) * A(j)
            158 X(j) = A(j) +  (RND ^ (RND * 10)) * r


            161 GOTO 169


            164 IF RND < .5 THEN X(j) = A(j) - 1 ELSE X(j) = A(j) + 1


        169 NEXT IPP
        326 FOR J44 = 1 TO 5

            327 X(J44) = CINT(X(J44))



            328 IF X(J44) < 1 THEN 1670

            329 IF X(J44) > 10 THEN 1670
        331 NEXT J44

        336 FOR J44 = 6 TO 10


            338 IF X(J44) < .5## THEN 1670

            339 IF X(J44) > .999999## THEN 1670
        340 NEXT J44


        341 X(11) = 110 - 1 * X(1) ^ 2 - 2 * X(2) ^ 2 - 3 * X(3) ^ 2 - 4 * X(4) ^ 2 - 2 * X(5) ^ 2



        343 X(12) = 200 - 7 * X(1) * EXP(X(1) / 4) - (8) * X(2) * EXP(X(2) / 4) - (8) * X(3) * EXP(X(3) / 4) - (6) * X(4) * EXP(X(4) / 4) - (9) * X(5) * EXP(X(5) / 4)


        346 X(13) = 175 - (2.33 / 10 ^ 5) * ((-1000 / LOG(X(6))) ^ 1.5) * (X(1) + EXP(X(1) / 4)) - (1.45 / 10 ^ 5) * ((-1000 / LOG(X(7))) ^ 1.5) * (X(2) + EXP(X(2) / 4)) - (.541 / 10 ^ 5) * ((-1000 / LOG(X(8))) ^ 1.5) * (X(3) + EXP(X(3) / 4)) - (8.05 / 10 ^ 5) * ((-1000 / LOG(X(9))) ^ 1.5) * (X(4) + EXP(X(4) / 4)) - (1.95 / 10 ^ 5) * ((-1000 / LOG(X(10))) ^ 1.5) * (X(5) + EXP(X(5) / 4))



        355 FOR J44 = 11 TO 13


            357 IF X(J44) < 0 THEN X(J44) = X(J44) ELSE X(J44) = 0


        359 NEXT J44



        391 FOR J44 = 1 TO 5

            393 O(J44) = 1 - ((1 - (X(J44 + 5)))) ^ X(J44)

        394 NEXT J44



        401 PDU = O(1) * O(2) + O(3) * O(4) + O(1) * O(4) * O(5) + O(2) * O(3) * O(5) - O(1) * O(2) * O(3) * O(4) - O(1) * O(2) * O(3) * O(5) - O(1) * O(2) * O(4) * O(5) - O(1) * O(3) * O(4) * O(5) - O(2) * O(3) * O(4) * O(5) + 2 * O(1) * O(2) * O(3) * O(4) * O(5) + 1000000 * (X(11) + X(12) + X(13))



        466 P = PDU
        1111 IF P <= M THEN 1670
        1452 M = P
        1454 FOR KLX = 1 TO 13

            1455 A(KLX) = X(KLX)
        1456 NEXT KLX


        1557 GOTO 128
    1670 NEXT I
    1889 IF M < .99988961 THEN 1999   


    1904 PRINT A(1), A(2), A(3)
    1905 PRINT A(4), A(5), A(6)
    1906 PRINT A(7), A(8), A(9)
    1907 PRINT A(10), A(11), A(12), A(13)

    1909 PRINT M, JJJJ

1999 NEXT JJJJ


This BASIC computer program was run with QB64v1000-win [45].  The complete output of a single run through JJJJ= -31917 is shown below:

3     3     2
4     1                           .8271828129627745
.8584470687531135      .9146456241665405   .6473915423816696
.7083633509542693
.9998896175115296      -31982

3     3     2
4     1                          .8275566506233765
.8585263665874964      .914785253366289    .6470983072525923
.7044017880815086
.9998896208547377      -31917

Above there is no rounding by hand; it is just straight copying by hand from the monitor screen. On a personal computer with a Pentium Dual-Core CPU E5200 @2.50GHz, 2.50 GHz, 960 MB of RAM and QB64v1000-win [45], the wall-clock time (not CPU time) for obtaining the output through JJJJ = -31917 was 5 minutes, total, including the time for “Creating .EXE file."  One can compare the computational results above with those in Chen [10, p. 1565, Table 6] and in Liu and Qin [30, p. 2054, Table VIII].           
       

Acknowledgment

I would like to acknowledge the encouragement of Roberta Clark and Tom Clark.

References

[1] Andre R. S. Amaral (2006), On the Exact Solution of a Facility Layout Problem.  European Journal of Operational Research 173 (2006), pp. 508-518.

[2] Andre R. S. Amaral (2008), An Exact Approach to the One-Dimensional Facility Layout Problem.  Operations Research, Vol. 56, No. 4 (July-August, 2008), pp. 1026-1033.

[3] Andre R. S. Amaral (2011), Optimal Solutions for the Double Row Layout Problem.  Optimization Letters, DOI 10.1007/s11590-011-0426-8, published on line 30 November 2011, Springer-Verlag 2011.

[4] Andre R. S. Amaral (2012), The Corridor Allocation Problem.  Computers and Operations Research 39 (2012), pp. 3325-3330.

[5] Miguel F. Anjos, Anthony Vannelli, Computing Globally Optimal Solutions for Single-Row Layout Problems Using Semidefinite Programming and Cutting Planes.  INFORMS Journal on Computing, Vol. 20, No. 4, Fall 2008, pp. 611-617.

[6] Miguel F. Anjos (2012), FLPLIB--Facility Layout Database.  Retrieved on September 25 2012 from www.gerad.ca/files/Sites/Anjos/indexFR.html

[7] David L. Applegate, Robert E. Bixby, Vasek Chvatal, William J. Cook, The Traveling Salesman Problem: A Computational Study.  Princeton and Oxford: Princeton University Press, 2006.

[8] Jerome Bracken, Garth P. McCormick, Selected Applications of Nonlinear Programming.  New York: John Wiley and Sons, Inc., 1968.

[9] R. C. Carlson and G. L. Nemhauser, Scheduling To Minimize Interaction Cost.  Operations Research, Vol. 14, No. 1 (Jan. - Feb., 1966), pp. 52-58.

[10]  Ta-Cheng Chen (2006).  IAs based approach for reliability redundany allocation problems. Applied Mathematics and Computation 182 (2006) 1556-1567.

[11]  Leandro dos Santos Coelho (2009),  Self-Organizing Migrating Strategies Applied to Reliability-Redundany Optimization of Systems. IEEE Transactions on Reliability, Vol. 58, No. 3, 2009 September, pp. 501-519.

[12]  Lino Costa, Pedro (2001).  Evolutionary algorithms approach to the solution of mixed integer non-linear programming problems. Computers and Chemical Engineering, Vol. 25, pp. 257-266, 2001.

[13] George B. Dantzig, Discrete-Variable Extremum Problems.  Operations Research, Vol. 5, No. 2 (Apr., 1957), pp. 266-277.

[14]  Kusum Deep, Krishna Pratap Singh, M. L.  Kansal, C. Mohan (2009), A real coded genetic algorithm for solving integer and mixed integer optimization problems.  Applied Mathematics and Computation 212 (2009) 505-518.

[15]  Anoop K. Dhingra (1992).  Optimal apportionment of reliability and redundancy in series systems under multiple objections. IEEE Transactions on Reliability, Vol. 41, No. 4, 1992 December, pp. 576-582.

[16]  C. A. Floudas, A. R. Ciric (1989), Strategies for Overcoming Uncertainties in Heat Exchanger Network Synthesis.  Computers and Chemical Engineering, Vol 13, No. 10, pp. 1133-1152, 1989.

[17] C. A. Floudas, A. Aggarwal, A. R. Ciric (1989), Global Optimum Search for Nonconvex NLP and MINLP Problems.  Computers and Chemical Engineering, Vol 13, No. 10, pp. 1117-1132, 1989.

[18] C. A. Floudas, P. M. Pardalos, A Collection of Test Problems for Constrained Global Optimization Algorithms.  Springer-Verlag, 1990.

[19] Diptesh Ghosh, Ravi Kothari, Population Heuristics for the Corridor Allocation Problem, W.P. No. 2012-09-02, September 2012.  Retrieved on September 14 2012 from Google search.

[20]  Ignacio E. Grossmann.  Overview of Mixed-integer Nonlinear Programming.  https://egon.cheme.cmu.edu/ewo/docs/EWOMINLPGrossmann.pdf

[21] David M. Himmelblau, Applied Nonlinear Programming.  New York: McGraw-Hill Book Company, 1972.

[22] Willi Hock, Klaus Schittkowski, Test Examples for Nonlinear Programming Codes.  Berlin: Springer-Verlag, 1981.

[23] Philipp Hungerlaender, Miguel F. Anjos (January 2012), A Semidefinite Optimization Approach to Free-Space Multi-Row Facility Layout.  Les Cahiers du GERAD.  Retrieved from www.gerad.ca/fichiers/cahiers/G-2012-03.pdf

[24] Philipp Hungerlaender (April 2012), Single-Row Equidistant Facility Layout as a Special Case of Single-Row Facility Layout.  Retrieved from www.optimization-online.org./DB_HTML/2012/04/3432.html

[25] Michael Junger, Thomas M. Liebling, Dennis Naddef, George L. Nemhauser, William R. Pulleybank, Gerhart Reinelt, Giovanni Rinaldi, Lawrence A. Wolsey--Editors, 50 Years of Integer Programming 1958-2008.  Berlin: Springer, 2010.

[26]  Adhe Kania, Kuntjoro Adji Sidarto (2016).  Solving mixed integer  nonlinear programming problems using spiral dynamics optimization algorithm.  AIP Conference Proceedings 1716, 020004 (2016).
https://doi.org/10.1063/1.4942987.  Published by the American Institute of Physics.

[27]  A. H. Land, A. G. Doig, An Automatic Method of Solving Discrete Programming Problems.  Econometrica, Vol. 28, No. 3 (Jul., 1960), pp. 497-520.

[28] E. L. Lawler, M. D. Bell, A Method for Solving Discrete Optimization Problems.  Operations Research, Vol. 14, No. 6 (Nov.-Dec., 1966), pp. 1098-1112.

[29]  Gia-Shi Liu (2006),  A combination method for reliability-redundancy optimization, Engineering Optimization, 38:04, 485-499.

[30]  Yubao Liu, Guihe Qin (2014),  A hybrid TS-DE algorithm for reliability redundancy optimization problem, Journal of Computers, 9, No. 9, September 2014, pp. 2050-2057.

[31]  Rein Luus (1975).  Optimization of System Reliability by a New Nonlinear Integer Programming Procedure. IEEE Transactions on Reliability, Vol. R-24, No. 1, April 1975, pp. 14-16.

[32]  F. Masedu, M Angelozzi (2008).  Modelling optimum fraction assignment in the 4X100 m relay race by integer linear programming.   Italian Journal of Sports Sciences, Anno 13, No. 1, 2008, pp. 74-77.

[33]  MathWorks, Mixed Integer Optimization.  https://www.mathworks.com/help/gads;mixed-integer-optimization.html

[34] Microsoft Corp., BASIC, Second Edition (May 1982), Version 1.10. Boca Raton, Florida: IBM Corp., Personal Computer, P. O. Box 1328-C, Boca Raton, Florida 33432, 1981.

[35]  Yuji Nakagawa, Mitsunori Hikita, Hiroshi Kamada (1984). Surrogate Constraints for Reliability Optimization Problems with Multiple Constraints. IEEE Transactions on Reliability, Vol. R-33, No. 4, October 1984, pp. 301-305.


[36] C. E. Nugent, T. E. Vollmann, J. Ruml (1968), An Experimental Comparison of Techniques for the Assignment of Facilities to Locations," Operations Research 16 (1968), pp. 150-173.

[37] OPTI Toolbox, Mixed Integer Nonlinear Program (MINLP).  https://www.inverseproblem.co.nz/OPTI/index.php/Probs/MINLP

[38] Panos Y. Papalambros,  Douglass J. Wilde, Principles of Optimal Design, Second Edition.  Cambridge University Press, 2000.

[39] H. S. Ryoo, N. V. Sahinidis (1995), Global Optimization of Nonconvex NLPs and MINLPs with Applications in Process Design.  Computers and Chemical Engineering, Vol. 19, No. 5, pp. 551-566, 1995.

[40] Donald M. Simmons (1969), One-Dimensional Space Allocation: An Ordering Algorithm.     Operations Research, Vol. 17, No. 5 (Sep. - Oct., 1969), pp. 812-826.

[41] G. Stephanopoulos, A. W. Westerberg, The Use of Hestenes' Method of Multipliers to Resolve
Dual Gaps in Engineering System Optimization.  Journal of Optimization Theory and Applications,  Vol.15, No. 3, pp. 285-309, 1975.

[42]  Frank A. Tillman, Ching-Lai Hwang, Way Kuo (1977).  Determining Component Reliability and Redundancy for  Optimun System Reliability. IEEE Transactions on Reliability, Vol. R-26, No. 3, Augusr 1977, pp. 162-165.

[43]  Hardi Tambunan, Herman Mawengkang (2016).  Solving Mixed Integer Non-Linear Programming Using Active Constraint.  Global Journal of Pure and Applied Mathematics, Volume 12, Number 6 (2016), pp. 5267-5281.  http://www.ripublication.com/gjpam.htm

[44] Tawan Wasanapradit, Nalinee Mukdasanit, Nachol Chaiyaratana, Thongchai Srinophakun (2011).  Solving mixed-integer nonlinear programming problems using improved genetic algorithms.  Korean  Joutnal of  Chemical Engineering  28 (1):32-40 January 2011.

[45]  Wikipedia, QB64, https://en.wikipedia.org/wiki/QB64.

[46]  Zhongkai Xu, Way Kuo, Hsin-Hui Lin (1990).  Optimization Limits in Improving System Reliability. IEEE Transactions on Reliability, Vol. 39, No. 1, 1990 April, pp. 51-60.

Saturday, July 21, 2018

This Mixed-Integer Nonlinear Programming Solver Applied to a 4x100 Meter Relay Race

Jsun Yui Wong

The computer program listed below seeks to solve the following problem from Masedu and Angelozzi [30, p. 75] and Kania and Sidarto [24, p. 020004-7, Problem 4]:             
         
Minimize           T(1)*X(1)+T(2)*X(2)+T(3)*X(3)+...+T(24)*X(24)

where the Ts are given times

subject to

         X(1) +X(5) + X(9) + X(13) + X(17) + X(21) = 1
         X(2) +X(6) + X(10) + X(14) + X(18) + X(22) = 1
        X(3) +X(7) + X(11) + X(15) + X(19) + X(23) = 1
        X(4) +X(8) + X(12) + X(16) + X(20) + X(24) = 1

        X(1) + X(2) + X(3) + X(4)<=1
        X(5) + X(6) + X(7) + X(8)<=1
        X(9) + X(10) + X(11) + X(12)<=1
        X(13) + X(14) + X(15) + X(16)<=1
        X(17) + X(18) + X(19) + X(20)<=1
        X(21) + X(22) + X(23) + X(24)<=1

X(1) through X(24) are zero-one integer variables.

X(25) through X(30) below are slack variables added.
 
 
0 DEFDBL A-Z

1 DEFINT K

2 DIM B(99), N(99), A(2002), H(99), L(99), U(99), X(2002), D(111), P(111), PS(33), J44(2002), J(99), AA(99), HR(32), HHR(32), LHS(44), PLHS(44), LB(22), UB(22), PX(33), CC(20), RR(20), WW(20), T(33)

11 T(1) = 12.27
12 T(2) = 11.57
13 T(3) = 11.54
14 T(4) = 12.07
15 T(5) = 11.34
16 T(6) = 11.45
17 T(7) = 12.45
18 T(8) = 12.34
19 T(9) = 11.29
20 T(10) = 11.50
21 T(11) = 11.45
22 T(12) = 11.52
23 T(13) = 12.54
24 T(14) = 12.34
25 T(15) = 12.32
26 T(16) = 11.57
27 T(17) = 12.20
28 T(18) = 11.22
29 T(19) = 12.07
30 T(20) = 12.03
31 T(21) = 11.54
32 T(22) = 11.48
33 T(23) = 11.56
34 T(24) = 12.30

81 FOR JJJJ = -32000 TO 32000

    89 RANDOMIZE JJJJ
    90 M = -3E+30

    95 FOR J44 = 1 TO 24

        97 A(J44) = FIX(RND * 2)

    99 NEXT J44

    128 FOR I = 1 TO 500

        129 FOR KKQQ = 1 TO 24
            130 X(KKQQ) = A(KKQQ)
        131 NEXT KKQQ
        151 FOR IPP = 1 TO FIX(1 + RND * 3)

            153 j = 1 + FIX(RND * 24)

            154 GOTO 164

            155 REM IF j > 4.5 THEN GOTO 156 ELSE GOTO 164

            156 r = (1 - RND * 2) * A(j)
            158 X(j) = A(j) + (RND ^ (RND * 10)) * r

            161 GOTO 169

            164 IF A(j) = 0 THEN X(j) = 1 ELSE X(j) = 0

        169 NEXT IPP

        251 X(1) = -X(5) - X(9) - X(13) - X(17) - X(21) + 1

        252 X(2) = -X(6) - X(10) - X(14) - X(18) - X(22) + 1

        253 X(3) = -X(7) - X(11) - X(15) - X(19) - X(23) + 1

        254 X(4) = -X(8) - X(12) - X(16) - X(20) - X(24) + 1

        256 FOR J44 = 1 TO 4

            257 IF X(J44) < 0 THEN GOTO 1670

        259 NEXT J44

        261 X(25) = 1 - X(1) - X(2) - X(3) - X(4)

        262 X(26) = 1 - X(5) - X(6) - X(7) - X(8)
        263 X(27) = 1 - X(9) - X(10) - X(11) - X(12)
        264 X(28) = 1 - X(13) - X(14) - X(15) - X(16)

        265 X(29) = 1 - X(17) - X(18) - X(19) - X(20)
        266 X(30) = 1 - X(21) - X(22) - X(23) - X(24)

        301 SUMM = 0
        303 FOR J44 = 1 TO 24
            305 SUMM = SUMM + T(J44) * X(J44)

        333 NEXT J44


        355 FOR J44 = 25 TO 30

            357 IF X(J44) < 0 THEN X(J44) = X(J44) ELSE X(J44) = 0

        359 NEXT J44

        395 PDU = -SUMM + 1000000 * (X(25) + X(26) + X(27) + X(28) + X(29) + X(30))

        466 P = PDU
        1111 IF P <= M THEN 1670
        1452 M = P
        1454 FOR KLX = 1 TO 30

            1455 A(KLX) = X(KLX)
        1456 NEXT KLX

        1557 GOTO 128
    1670 NEXT I
    1889 IF M < -45.70 THEN 1999

    1904 PRINT A(1), A(2), A(3), A(4)

    1905 PRINT A(5), A(6), A(7), A(8)
    1906 PRINT A(9), A(10), A(11), A(12)
    1907 PRINT A(13), A(14), A(15), A(16)

    1908 PRINT A(17), A(18), A(19), A(20)
    1909 PRINT A(21), A(22), A(23), A(24)

    1910 PRINT A(25), A(26), A(27), A(28)
    1911 PRINT A(29), A(30), M, JJJJ

1999 NEXT JJJJ


This BASIC computer program was run with QB64v1000-win [42].  The complete output of a single run through JJJJ= -31954 is shown below:

0      0      0      0
1      0      0      0
0      0      1      0
0      0      0      1
0      1      0      0
0      0      0      0
0      0      0      0
0      0      -45.58      -31998

0      0      0      0
1      0      0      0
0      0      1      0
0      0      0      1
0      1      0      0
0      0      0      0
0      0      0      0
0      0      -45.58      -31995

0      0      0      0
1      0      0      0
0      0      1      0
0      0      0      1
0      1      0      0
0      0      0      0
0      0      0      0
0      0      -45.58      -31961

0      0      1      0
1      0      0      0
0      0      0      1
0      0      0      0
0      1      0      0
0      0      0      0
0      0      0      0
0      0      -45.62      -31954

Above there is no rounding by hand; it is just straight copying by hand from the monitor screen. On a personal computer with a Pentium Dual-Core CPU E5200 @2.50GHz, 2.50 GHz, 960 MB of RAM and QB64v1000-win [42], the wall-clock time (not CPU time) for obtaining the output through JJJJ = -31954 was 3 seconds, not including the time for “Creating .EXE file” (12 seconds, total, including the time for “Creating .EXE file” ). One can compare the computational results above with those in Masedu and Angelozzi [30, p. 76, Figure 1, Table 3] and in Kania and Sidarto [24, p. 020004-8, Problem 4].   

Acknowledgment

I would like to acknowledge the encouragement of Roberta Clark and Tom Clark.

References

[1] Andre R. S. Amaral (2006), On the Exact Solution of a Facility Layout Problem.  European Journal of Operational Research 173 (2006), pp. 508-518.

[2] Andre R. S. Amaral (2008), An Exact Approach to the One-Dimensional Facility Layout Problem.  Operations Research, Vol. 56, No. 4 (July-August, 2008), pp. 1026-1033.

[3] Andre R. S. Amaral (2011), Optimal Solutions for the Double Row Layout Problem.  Optimization Letters, DOI 10.1007/s11590-011-0426-8, published on line 30 November 2011, Springer-Verlag 2011.

[4] Andre R. S. Amaral (2012), The Corridor Allocation Problem.  Computers and Operations Research 39 (2012), pp. 3325-3330.

[5] Miguel F. Anjos, Anthony Vannelli, Computing Globally Optimal Solutions for Single-Row Layout Problems Using Semidefinite Programming and Cutting Planes.  INFORMS Journal on Computing, Vol. 20, No. 4, Fall 2008, pp. 611-617.

[6] Miguel F. Anjos (2012), FLPLIB--Facility Layout Database.  Retrieved on September 25 2012 from www.gerad.ca/files/Sites/Anjos/indexFR.html

[7] David L. Applegate, Robert E. Bixby, Vasek Chvatal, William J. Cook, The Traveling Salesman Problem: A Computational Study.  Princeton and Oxford: Princeton University Press, 2006.

[8] Jerome Bracken, Garth P. McCormick, Selected Applications of Nonlinear Programming.  New York: John Wiley and Sons, Inc., 1968.

[9] R. C. Carlson and G. L. Nemhauser, Scheduling To Minimize Interaction Cost.  Operations Research, Vol. 14, No. 1 (Jan. - Feb., 1966), pp. 52-58.

[10]  Lino Costa, Pedro (2001),  Evolutionary algorithms approach to the solution of mixed integer non-linear programming problems. Computers and Chemical Engineering, Vol. 25, pp. 257-266, 2001.

[11] George B. Dantzig, Discrete-Variable Extremum Problems.  Operations Research, Vol. 5, No. 2 (Apr., 1957), pp. 266-277.

[12]  Kusum Deep, Krishna Pratap Singh, M. L.  Kansal, C. Mohan (2009), A real coded genetic algorithm for solving integer and mixed integer optimization problems.  Applied Mathematics and Computation 212 (2009) 505-518.

[13]  Anoop K. Dhingra (1992).  Optimal apportionment of reliability and redundancy in series systems under multiple objections. IEEE Transactions on Reliability, Vol. 41, No. 4, 1992 December, pp. 576-582.

[14]  C. A. Floudas, A. R. Ciric (1989), Strategies for Overcoming Uncertainties in Heat Exchanger Network Synthesis.  Computers and Chemical Engineering, Vol 13, No. 10, pp. 1133-1152, 1989.

[15] C. A. Floudas, A. Aggarwal, A. R. Ciric (1989), Global Optimum Search for Nonconvex NLP and MINLP Problems.  Computers and Chemical Engineering, Vol 13, No. 10, pp. 1117-1132, 1989.

[16] C. A. Floudas, P. M. Pardalos, A Collection of Test Problems for Constrained Global Optimization Algorithms.  Springer-Verlag, 1990.

[17] Diptesh Ghosh, Ravi Kothari, Population Heuristics for the Corridor Allocation Problem, W.P. No. 2012-09-02, September 2012.  Retrieved on September 14 2012 from Google search.

[18]  Ignacio E. Grossmann.  Overview of Mixed-integer Nonlinear Programming.  https://egon.cheme.cmu.edu/ewo/docs/EWOMINLPGrossmann.pdf

[19] David M. Himmelblau, Applied Nonlinear Programming.  New York: McGraw-Hill Book Company, 1972.

[20] Willi Hock, Klaus Schittkowski, Test Examples for Nonlinear Programming Codes.  Berlin: Springer-Verlag, 1981.

[21] Philipp Hungerlaender, Miguel F. Anjos (January 2012), A Semidefinite Optimization Approach to Free-Space Multi-Row Facility Layout.  Les Cahiers du GERAD.  Retrieved from www.gerad.ca/fichiers/cahiers/G-2012-03.pdf

[22] Philipp Hungerlaender (April 2012), Single-Row Equidistant Facility Layout as a Special Case of Single-Row Facility Layout.  Retrieved from www.optimization-online.org./DB_HTML/2012/04/3432.html

[23] Michael Junger, Thomas M. Liebling, Dennis Naddef, George L. Nemhauser, William R. Pulleybank, Gerhart Reinelt, Giovanni Rinaldi, Lawrence A. Wolsey--Editors, 50 Years of Integer Programming 1958-2008.  Berlin: Springer, 2010.

[24]  Adhe Kania, Kuntjoro Adji Sidarto (2016).  Solving mixed integer  nonlinear programming problems using spiral dynamics optimization algorithm.  AIP Conference Proceedings 1716, 020004 (2016).
https://doi.org/10.1063/1.4942987.  Published by the American Institute of Physics.

[25]  A. H. Land, A. G. Doig, An Automatic Method of Solving Discrete Programming Problems.  Econometrica, Vol. 28, No. 3 (Jul., 1960), pp. 497-520.

[26] E. L. Lawler, M. D. Bell, A Method for Solving Discrete Optimization Problems.  Operations Research, Vol. 14, No. 6 (Nov.-Dec., 1966), pp. 1098-1112.

[27]  Gia-Shi Liu (2006),  A combination method for reliability-redundancy optimization, Engineering Optimization, 38:04, 485-499.

[28]  Yubao Liu, Guihe Qin (2014),  A hybrid  TS-DE algorithm for reliability redundancy optimization problems, Journal of Computers, 9, No. 9, September 2014, pp. 2050-2057.

[29]  Rein Luus (1975).  Optimization of System Reliability by a New Nonlinear Integer Programming Procedure. IEEE Transactions on Reliability, Vol. R-24, No. 1, April 1975, pp. 14-16.

[30]  F. Masedu, M. Angelozzi (2008).  Modelling Optimum Fraction Assignment in the 4X100 M Relay Race by Integer Linear Programming.  Italian Journal of Sports Sciences, Anno 13, No. 1, 2008, pp. 74-77.

[31]  MathWorks, Mixed Integer Optimization.  https://www.mathworks.com/help/gads;mixed-integer-optimization.html

[32] Microsoft Corp., BASIC, Second Edition (May 1982), Version 1.10. Boca Raton, Florida: IBM Corp., Personal Computer, P. O. Box 1328-C, Boca Raton, Florida 33432, 1981.

[33] C. E. Nugent, T. E. Vollmann, J. Ruml (1968), An Experimental Comparison of Techniques for the Assignment of Facilities to Locations, Operations Research 16 (1968), pp. 150-173.

[34] OPTI Toolbox, Mixed Integer Nonlinear Program (MINLP).  https://www.inverseproblem.co.nz/OPTI/index.php/Probs/MINLP

[35] Panos Y. Papalambros,  Douglass J. Wilde, Principles of Optimal Design, Second Edition.  Cambridge University Press, 2000.

[36] H. S. Ryoo, N. V. Sahinidis (1995), Global Optimization of Nonconvex NLPs and MINLPs with Applications in Process Design.  Computers and Chemical Engineering, Vol. 19, No. 5, pp. 551-566, 1995.

[37] Donald M. Simmons (1969), One-Dimensional Space Allocation: An Ordering Algorithm.    Operations Research, Vol. 17, No. 5 (Sep. - Oct., 1969), pp. 812-826.

[38] G. Stephanopoulos, A. W. Westerberg, The Use of Hestenes' Method of Multipliers to Resolve
Dual Gaps in Engineering System Optimization.  Journal of Optimization Theory and Applications,  Vol.15, No. 3, pp. 285-309, 1975.

[39]  Frank A. Tillman, Ching-Lai Hwang, Way Kuo (1977).  Determining Component Reliability and Redundancy for  Optimun System Reliability. IEEE Transactions on Reliability, Vol. R-26, No. 3, Augusr 1977, pp. 162-165.

[40]  Hardi Tambunan, Herman Mawengkang (2016).  Solving Mixed Integer Non-Linear Programming Using Active Constraint.  Global Journal of Pure and Applied Mathematics, Volume 12, Number 6 (2016), pp. 5267-5281.  http://www.ripublication.com/gjpam.htm

[41] Tawan Wasanapradit, Nalinee Mukdasanit, Nachol Chaiyaratana, Thongchai Srinophakun (2011).  Solving mixed-integer nonlinear programming problems using improved genetic algorithms.  Korean  Joutnal of  Chemical Engineering  28 (1):32-40 January 2011.

[42]  Wikipedia, QB64, https://en.wikipedia.org/wiki/QB64.

[43]  Zhongkai Xu, Way Kuo, Hsin-Hui Lin (1990).  Optimization Limits in Improving System Reliability. IEEE Transactions on Reliability, Vol. 39, No. 1, 1990 April, pp. 51-60.