Thursday, June 28, 2018

Everything You Need To Solve Your Mixed-Integer Nonlinear Programming (MINLP) Problems Is Here

Jsun Yui Wong

The computer program listed below seeks to solve the following mixed-integer nonlinear programming problem from Dhingra [13, pp. 577-578], Deep et al. [12, p. 517, Problem 18], and  Liu and Qin [27, p. 2054, Problem 3]:

Maximize      (1 - (1 - X(5)) ^ X(1)) * (1 - (1 - X(6)) ^ X(2)) * (1 - (1 - X(7)) ^ X(3)) * (1 - (1 - X(8)) ^ X(4))

subject to

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

         (1 / 10 ^ 5) * (-1000 / LOG(X(5))) ^ 1.5 * (X(1) + EXP(X(1) / 4)) + (2.3 / 10 ^ 5) * (-1000 / LOG(X(6))) ^ 1.5 * (X(2) + EXP(X(2) / 4)) + (.3 / 10 ^ 5) * (-1000 / LOG(X(7))) ^ 1.5 * (X(3) + EXP(X(3) / 4)) + (2.3 / 10 ^ 5) * (-1000 / LOG(X(8))) ^ 1.5 * (X(4) + EXP(X(4) / 4))<=400

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

            1<= X(i) <= 10, i=1, 2, 3, 4

X(1) through X(4) are integer variables

.5<= X(5), X(6), X(7), X(8)<=.999999.

 X(9) through X(11) below are slack variables added. 

The sequence of line 341 through line 346 aims to get domino effect.

The formulation above has the operating time = 1000 hours (see above and see line 346 below),  which comes from Dhingra [13,  p. 578, Table 1], whereas the operating time (T) of the preceding paper is 100 hours; this 100 hours comes from Deep et al.  [12,  p. 517].


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 4

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

    99 NEXT J44

    115 FOR J44 = 5 TO 8

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


    119 NEXT J44

    128 FOR I = 1 TO 20000



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



            153 j = 1 + FIX(RND * 8)
            154 REM 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 RND < .5 THEN X(j) = A(j) - 1 ELSE X(j) = A(j) + 1


        169 NEXT IPP
        326 FOR J44 = 1 TO 4

            327 X(J44) = INT(X(J44))

            328 IF X(J44) < 1 THEN 1670

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

        336 FOR J44 = 5 TO 8


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

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


        341 X(9) = 250 - 1 * X(1) ^ 2 - 2 * X(2) ^ 2 - 3 * X(3) ^ 2 - 2 * X(4) ^ 2


        343 X(10) = 500 - 6 * X(1) * EXP(X(1) / 4) - (6) * X(2) * EXP(X(2) / 4) - (8) * X(3) * EXP(X(3) / 4) - (7) * X(4) * EXP(X(4) / 4)


        346 X(11) = 400 - (1 / 10 ^ 5) * (-1000 / LOG(X(5))) ^ 1.5 * (X(1) + EXP(X(1) / 4)) - (2.3 / 10 ^ 5) * (-1000 / LOG(X(6))) ^ 1.5 * (X(2) + EXP(X(2) / 4)) - (.3 / 10 ^ 5) * (-1000 / LOG(X(7))) ^ 1.5 * (X(3) + EXP(X(3) / 4)) - (2.3 / 10 ^ 5) * (-1000 / LOG(X(8))) ^ 1.5 * (X(4) + EXP(X(4) / 4))


        355 FOR J44 = 9 TO 11


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

        359 NEXT J44


        393 PDU = (1 - (1 - X(5)) ^ X(1)) * (1 - (1 - X(6)) ^ X(2)) * (1 - (1 - X(7)) ^ X(3)) * (1 - (1 - X(8)) ^ X(4)) + 1000000 * (X(9) + X(10) + X(11))

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

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


        1557 GOTO 128
    1670 NEXT I
    1889 IF M < .9999545 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)

    1909 PRINT M, JJJJ

1999 NEXT JJJJ


This BASIC computer program was run with QB64v1000-win [39].  The complete output through JJJJ= -31931 is shown below:

5       5       4
6         .9028407381597928      .8878405733015752
.9485972637679766     .8487191793558045         0
0         0
.999954625226262               -31997

5       5       4
6       .8995776108129475      .8884690670098343
.9479772095053202      .851707452609658            0
0       0
.9999545713940635                   -31931

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 [39], the wall-clock time (not CPU time) for obtaining the output through JJJJ = -31931 was 54 seconds, not including the time for “Creating .EXE file” (62 seconds, total, including the time for “Creating .EXE file” ).   One can compare the computational results above with those in Dhingra [13, p. 578, Table 2], in Deep et al. [12, p. 517, Problem-18], and in Liu and Qin [27, p. 2054, Table IX]:


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]  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.

[28]  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.

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

[30] 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.

[31] 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.

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

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

[34] 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.

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

[36] 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.

[37]  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

[38] 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.

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

[40] Jsun Yui Wong (2009, July 18).  An Integer Programming Computer Program Applied to One-Dimensional Space Allocation.  Retrieved from http://wongsllllblog.blogspot.com/2009/07/

[41] Jsun Yui Wong (2009, December 18).  A Heuristic Nonlinear Integer Solver Applied to a Problem of Assignment of Facilities to Locations.  Retrieved from http://wongsnewnewblog.blogspot.ca/2009/12/

[42] Jsun Yui Wong (2011, July 23).  A General Nonlinear Integer/Discrete/Continuous Programming Solver Applied to Three Instances of the Haverly Pooling Problem.  Retrieved from http://myblogsubstance.typepad.com/substance/2011/07/

[43] Jsun Yui Wong (2011 July 27).   A General Nonlinear Integer/Discrete/Continuous Programming Solver Applied to an Alkylation-Process Model, Sixth Edition.  Retrieved from http://computationalresultsfromcomputerprograms.wordpress.com/2011/07/27/

[44] Jsun Yui Wong (2012, April 24).  The Domino Method of General Integer Nonlinear Programming  Applied to Problem 10 of Lawler and Bell.  Retrieved from http://computationalresultsfromcomputerprograms.wordpress.com/2012/4/24/

[45] Jsun Yui Wong (2012, September 27).  A Nonlinear Integer/Discrete/Continuous Programming Solver Applied to a Linear Ordering Problem with 22 Facilities.  Retrieved from http://computationalresultsfromcomputerprograms.wordpress.com/2012/9/27/

[46]  Jsun Yui Wong (2013 January 10).  The Domino Method of General Integer Nonlinear Programming Applied to Alkylation Process Optimization.  http://myblogsubstance.typepad.com/substance/2013/01/



Tuesday, June 26, 2018

Here Is Everything You Need To Solve Your Mixed-Integer Nonlinear Programming (MINLP) Problems

Jsun Yui Wong

The computer program listed below seeks to solve the following mixed-integer nonlinear programming problem from Deep et al. [12, p. 517, Problem 18] and Liu and Qin[26, p. 2054, Problem 3].

Maximize      (1 - (1 - X(5)) ^ X(1)) * (1 - (1 - X(6)) ^ X(2)) * (1 - (1 - X(7)) ^ X(3)) * (1 - (1 - X(8)) ^ X(4))

subject to

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

         (1 / 10 ^ 5) * (-100 / LOG(X(5))) ^ 1.5 * (X(1) + EXP(X(1) / 4)) + (2.3 / 10 ^ 5) * (-100 / LOG(X(6))) ^ 1.5 * (X(2) + EXP(X(2) / 4)) + (.3 / 10 ^ 5) * (-100 / LOG(X(7))) ^ 1.5 * (X(3) + EXP(X(3) / 4)) + (2.3 / 10 ^ 5) * (-100 / LOG(X(8))) ^ 1.5 * (X(4) + EXP(X(4) / 4))<=400

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

            1<= X(i) <= 10, i=1, 2, 3, 4

X(1) through X(4) are integer variables

.5<= X(5), X(6), X(7), X(8)<=.999999.

       X(9) through X(11) below are slack variables added. 

The sequence of line 341 through line 346 aims to take advantage of domino effect.


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 4

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

    99 NEXT J44

    115 FOR J44 = 5 TO 8

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


    119 NEXT J44

    128 FOR I = 1 TO 20000


        129 FOR KKQQ = 1 TO 8
            130 X(KKQQ) = A(KKQQ)
        131 NEXT KKQQ
        151 FOR IPP = 1 TO FIX(1 + RND * 3)
            153 j = 1 + FIX(RND * 8)
            154 GOTO 164
            155 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 RND < .5 THEN X(j) = A(j) - 1 ELSE X(j) = A(j) + 1

        169 NEXT IPP
        326 FOR J44 = 1 TO 4

            327 X(J44) = INT(X(J44))

            328 IF X(J44) < 1 THEN 1670

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

        336 FOR J44 = 5 TO 8

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

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


        341 X(9) = 250 - 1 * X(1) ^ 2 - 2 * X(2) ^ 2 - 3 * X(3) ^ 2 - 2 * X(4) ^ 2


        343 X(10) = 500 - 6 * X(1) * EXP(X(1) / 4) - (6) * X(2) * EXP(X(2) / 4) - (8) * X(3) * EXP(X(3) / 4) - (7) * X(4) * EXP(X(4) / 4)



        346 X(11) = 400 - (1 / 10 ^ 5) * (-100 / LOG(X(5))) ^ 1.5 * (X(1) + EXP(X(1) / 4)) - (2.3 / 10 ^ 5) * (-100 / LOG(X(6))) ^ 1.5 * (X(2) + EXP(X(2) / 4)) - (.3 / 10 ^ 5) * (-100 / LOG(X(7))) ^ 1.5 * (X(3) + EXP(X(3) / 4)) - (2.3 / 10 ^ 5) * (-100 / LOG(X(8))) ^ 1.5 * (X(4) + EXP(X(4) / 4))



        355 FOR J44 = 9 TO 11


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

        359 NEXT J44
     

        393 PDU = (1 - (1 - X(5)) ^ X(1)) * (1 - (1 - X(6)) ^ X(2)) * (1 - (1 - X(7)) ^ X(3)) * (1 - (1 - X(8)) ^ X(4)) + 1000000 * (X(9) + X(10) + X(11))


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

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


        1557 GOTO 128
    1670 NEXT I
    1889 IF M < .99997 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)

    1909 PRINT M, JJJJ

1999 NEXT JJJJ

This BASIC computer program was run with QB64v1000-win [38].  The complete output through JJJJ= -31801 is shown below:

5         4         6 
4         .9392101027086377         .9566181706432104
.8723810914122463                    .9398815178868771         0
0         0
.9999782453880721         -31914

5         2         4 
7         .959393655376196         .9961954862123132
.984514161489606                    .8171354448007941         0
0         0
.9999785202199147         -31855

6         5         5 
4         .9087391367532611         .9560512720005513
.9625215518665911                    .9666397179447412         0
0         0
.9999979458268101         -31801   

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 [38], the wall-clock time (not CPU time) for obtaining the output through JJJJ = -31801 was 11 seconds, not including the time for “Creating .EXE file” (19 seconds, total, including the time for “Creating .EXE file” ).   One can compare the computational results above with those in Deep et al. [12, p. 517, Problem 18] and in Liu and Qin[26, p. 2054, Table IX].


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]  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.

[14] 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.

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

[16] 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.

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

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

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

[20] 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

[21] 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

[22] 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.

[23]  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.

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

[25] 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.

[26]  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.

[27]  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.

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

[29] 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.

[30] 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.

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

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

[33] 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.

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

[35] 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.

[36]  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

[37] 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.

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

[39] Jsun Yui Wong (2009, July 18).  An Integer Programming Computer Program Applied to One-Dimensional Space Allocation.  Retrieved from http://wongsllllblog.blogspot.com/2009/07/

[40] Jsun Yui Wong (2009, December 18).  A Heuristic Nonlinear Integer Solver Applied to a Problem of Assignment of Facilities to Locations.  Retrieved from http://wongsnewnewblog.blogspot.ca/2009/12/

[41] Jsun Yui Wong (2011, July 23).  A General Nonlinear Integer/Discrete/Continuous Programming Solver Applied to Three Instances of the Haverly Pooling Problem.  Retrieved from http://myblogsubstance.typepad.com/substance/2011/07/

[42] Jsun Yui Wong (2011 July 27).   A General Nonlinear Integer/Discrete/Continuous Programming Solver Applied to an Alkylation-Process Model, Sixth Edition.  Retrieved from http://computationalresultsfromcomputerprograms.wordpress.com/2011/07/27/

[43] Jsun Yui Wong (2012, April 24).  The Domino Method of General Integer Nonlinear Programming  Applied to Problem 10 of Lawler and Bell.  Retrieved from http://computationalresultsfromcomputerprograms.wordpress.com/2012/4/24/

[44] Jsun Yui Wong (2012, September 27).  A Nonlinear Integer/Discrete/Continuous Programming Solver Applied to a Linear Ordering Problem with 22 Facilities.  Retrieved from http://computationalresultsfromcomputerprograms.wordpress.com/2012/9/27/

[45]  Jsun Yui Wong (2013 January 10).  The Domino Method of General Integer Nonlinear Programming Applied to Alkylation Process Optimization.  http://myblogsubstance.typepad.com/substance/2013/01/

Friday, June 22, 2018

Here Is Everything You Need To Solve Your Mixed-Integer Nonlinear Programming (MINLP) Problems

Jsun Yui Wong

The computer program listed below seeks to solve the following mixed integer optimization problem from Deep et al.[11, pp. 514-515, Problem 14]:

Minimize       

9
sigma       (EXP(-(U(i) - X(2)) ^ X(3) / X(1)) - .01 * J44) ^ 2
i=1

where    U(i) = 25 + (-50 * LOG(.01 * i)) ^ (2 / 3)

subject to

       .1<=  X(1) is an integer variable <= 100
     
        0 <= X(2) is an integer variable <= 25.6

       0  <= X(3) is a continus variable <= 5. 


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)
5 FOR J44 = 1 TO 9

    7 U(J44) = 25 + (-50 * LOG(.01 * J44)) ^ (2 / 3)

8 NEXT J44

81 FOR JJJJ = -32000 TO 32000

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


    107 A(1) = 1 + FIX(RND * 100)

    109 A(2) = FIX(RND * 26)


    124 A(3) = RND * 5


    128 FOR I = 1 TO 5000


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

            155 IF J < 3 THEN GOTO 164 ELSE GOTO 156



            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) - FIX(1 + RND * 2) ELSE X(J) = A(J) + FIX(1 + RND * 2)

        169 NEXT IPP
        311 REM GOTO 439
        312 X(1) = INT(X(1))


        313 IF X(1) < 1 THEN 1670

        314 IF X(1) > 100 THEN 1670

        317 REM NEXT J44
        322 X(2) = INT(X(2))


        323 IF X(2) < 0 THEN 1670
        324 IF X(2) > 25 THEN 1670

        325 IF X(3) < 0 THEN 1670

        326 IF X(3) > 5 THEN 1670


        395 SUMOBJ = 0

        397 FOR J44 = 1 TO 9
            398 SUMOBJ = SUMOBJ + (EXP(-(U(J44) - X(2)) ^ X(3) / X(1)) - .01 * J44) ^ 2

        399 NEXT J44

        441 PDU = -SUMOBJ

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

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


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

    1904 PRINT A(1), A(2), A(3), M, JJJJ
 
1999 NEXT JJJJ


This BASIC computer program was run with QB64v1000-win [35]. The best candidate solutions through JJJJ =-31990 are shown below:

50      25      1.499999999999978                   -1.139164622473853D-27
-31998

50      25      1.49999999999999                     -2.687800656750728D-28
-31996

50      25      1.499999999999998                   -9.346625288811861D-30
-31992

50      25      1.5                                            -8.681731077433087D-33
-31991

50      25      1.5                                            -1.946889478860138D-30
-31990

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 [35], the wall-clock time (not CPU time) for obtaining the output through JJJJ = -31990 was 4 seconds, not including the time for “Creating .EXE file” (13 seconds, total, including the time for “Creating .EXE file” ).   One can compare the computational results above with those in
Deep et al. [11, p. 515, Problem 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] George B. Dantzig, Discrete-Variable Extremum Problems.  Operations Research, Vol. 5, No. 2 (Apr., 1957), pp. 266-277.

[11]  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.

[12]  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.

[13] 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.

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

[15] 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.

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

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

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

[19] 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

[20] 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

[21] 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.

[22]  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.

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

[24] 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.

[25]  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.

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

[27] 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.

[28] 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.

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

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

[31] 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.

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

[33] 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.

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

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

[36] Jsun Yui Wong (2009, July 18).  An Integer Programming Computer Program Applied to One-Dimensional Space Allocation.  Retrieved from http://wongsllllblog.blogspot.com/2009/07/

[37] Jsun Yui Wong (2009, December 18).  A Heuristic Nonlinear Integer Solver Applied to a Problem of Assignment of Facilities to Locations.  Retrieved from http://wongsnewnewblog.blogspot.ca/2009/12/

[38] Jsun Yui Wong (2011, July 23).  A General Nonlinear Integer/Discrete/Continuous Programming Solver Applied to Three Instances of the Haverly Pooling Problem.  Retrieved from http://myblogsubstance.typepad.com/substance/2011/07/

[39] Jsun Yui Wong (2011 July 27).   A General Nonlinear Integer/Discrete/Continuous Programming Solver Applied to an Alkylation-Process Model, Sixth Edition.  Retrieved from http://computationalresultsfromcomputerprograms.wordpress.com/2011/07/27/

[40] Jsun Yui Wong (2012, April 24).  The Domino Method of General Integer Nonlinear Programming  Applied to Problem 10 of Lawler and Bell.  Retrieved from http://computationalresultsfromcomputerprograms.wordpress.com/2012/4/24/

[41] Jsun Yui Wong (2012, September 27).  A Nonlinear Integer/Discrete/Continuous Programming Solver Applied to a Linear Ordering Problem with 22 Facilities.  Retrieved from http://computationalresultsfromcomputerprograms.wordpress.com/2012/9/27/

[42]  Jsun Yui Wong (2013 January 10).  The Domino Method of General Integer Nonlinear Programming Applied to Alkylation Process Optimization.  http://myblogsubstance.typepad.com/substance/2013/01/

Saturday, June 16, 2018

Everything You Need To Solve Your Mixed-Integer Nonlinear Programming (MINLP) Problems

Jsun Yui Wong

The computer program listed below seeks to solve the following problem based on the system reliability problem in Luus [25] and in Tambunen and Mawengkang [32]:

Maximize     

15
product    (1 - (1 - reliability(i)) ^ X(i))
i=1

subject to

15     
sum  cost(i) * X(i) <=400 
i=1

15
sum weight(i) * X(i) <=414
i=1
       
 X(i) =1, 2, 3,..., 10, i=1,..., 15.

X(1) through X(15) are general integer variables.

X(16) and X(17) below are slack variables added.

One notes line 107, which is 107 A(J44) = 1 + FIX(RND * 10).


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)


11 RR(1) = .90: RR(2) = .75: RR(3) = .65: RR(4) = .80: RR(5) = .85: RR(6) = .93: RR(7) = .78: RR(8) = .66: RR(9) = .78: RR(10) = .91: RR(11) = .79: RR(12) = .77: RR(13) = .67: RR(14) = .79: RR(15) = .67


31 CC(1) = 5: CC(2) = 4: CC(3) = 9: CC(4) = 7: CC(5) = 7: CC(6) = 5: CC(7) = 6: CC(8) = 9: CC(9) = 4: CC(10) = 5: CC(11) = 6: CC(12) = 7: CC(13) = 9: CC(14) = 8: CC(15) = 6


51 WW(1) = 8: WW(2) = 9: WW(3) = 6: WW(4) = 7: WW(5) = 8: WW(6) = 8: WW(7) = 9: WW(8) = 6: WW(9) = 7: WW(10) = 8: WW(11) = 9: WW(12) = 7: WW(13) = 6: WW(14) = 5: WW(15) = 7


88 FOR JJJJ = -32000 TO 32000

    89 RANDOMIZE JJJJ
    90 M = -3E+30


    106 FOR J44 = 1 TO 15


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

    109 NEXT J44


    128 FOR I = 1 TO 40000


        129 FOR KKQQ = 1 TO 15
            130 X(KKQQ) = A(KKQQ)
        131 NEXT KKQQ
        151 FOR IPP = 1 TO FIX(1 + RND * 3)
            153 j = 1 + FIX(RND * 15)
            154 r = (1 - RND * 2) * A(j)
            155 X(j) = A(j) + (RND ^ (RND * 10)) * r


        159 NEXT IPP
        311 FOR J44 = 1 TO 15
            312 X(J44) = INT(X(J44))


            313 IF X(J44) < 1 THEN 1670

            314 IF X(J44) > 10 THEN 1670

        317 NEXT J44


        371 SUMCON = 0
        374 FOR J44 = 1 TO 15
            376 SUMCON = SUMCON + CC(J44) * X(J44)


        377 NEXT J44
        378 X(16) = 400 - SUMCON
        379 IF X(16) < 0 THEN X(16) = X(16) ELSE X(16) = 0
        380 SUMWW = 0
        381 FOR J44 = 1 TO 15
            382 SUMWW = SUMWW + WW(J44) * X(J44)


        383 NEXT J44
        384 X(17) = 414 - SUMWW
        385 IF X(17) < 0 THEN X(17) = X(17) ELSE X(17) = 0




        386 SUMOBJ = 1
        387 FOR J44 = 1 TO 15
            388 SUMOBJ = SUMOBJ * (1 - (1 - RR(J44)) ^ X(J44))



        389 NEXT J44

        438 PDU = SUMOBJ + 1000000 * (X(16) + X(17))


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

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


        1557 GOTO 128
    1670 NEXT I
    1889 IF M < .94 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), A(17)

    1915 PRINT M, JJJJ

1999 NEXT JJJJ


This BASIC computer program was run with QB64v1000-win [33]. The complete output through JJJJ = -31619 is shown below:

3      4      6      4
3      2      4      5
4      2      3      4
5      4      5      0      0
.9456133574581372         -31980

3      4      6      4
3      2      4      5
4      2      3      4
5      4      5      0      0
.9456133574581372         -31619

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 [33], the wall-clock time (not CPU time) for obtaining the output through JJJJ =  -31619 was 100 seconds, not including the time for “Creating .EXE file” (110 seconds, total, including the time for “Creating .EXE file” ).

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] George B. Dantzig, Discrete-Variable Extremum Problems.  Operations Research, Vol. 5, No. 2 (Apr., 1957), pp. 266-277.

[11] 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.

[12] 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.

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

[14] G. Dantzig, R. Fulkerson, S. Johnson, Solution of a Large-Scale Traveling-Salesman Problem.
Operations Research, Vol. 2, No. 4 (Nov., 1954), pp. 393-410.

[15] 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.

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

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

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

[19] 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

[20] 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

[21] 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.

[22]  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.

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

[24] 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.


[25]  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.

[26] 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.

[27] 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.

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

[29] 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.

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

[31] 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.


[32]  Hardi Tambunen, 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

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

[34] Jsun Yui Wong (2009, July 18).  An Integer Programming Computer Program Applied to One-Dimensional Space Allocation.  Retrieved from http://wongsllllblog.blogspot.com/2009/07/

[35] Jsun Yui Wong (2009, December 18).  A Heuristic Nonlinear Integer Solver Applied to a Problem of Assignment of Facilities to Locations.  Retrieved from http://wongsnewnewblog.blogspot.ca/2009/12/

[36] Jsun Yui Wong (2011, July 23).  A General Nonlinear Integer/Discrete/Continuous Programming Solver Applied to Three Instances of the Haverly Pooling Problem.  Retrieved from http://myblogsubstance.typepad.com/substance/2011/07/

[37] Jsun Yui Wong (2011 July 27).   A General Nonlinear Integer/Discrete/Continuous Programming Solver Applied to an Alkylation-Process Model, Sixth Edition.  Retrieved from http://computationalresultsfromcomputerprograms.wordpress.com/2011/07/27/

[38] Jsun Yui Wong (2012, April 24).  The Domino Method of General Integer Nonlinear Programming  Applied to Problem 10 of Lawler and Bell.  Retrieved from http://computationalresultsfromcomputerprograms.wordpress.com/2012/4/24/

[39] Jsun Yui Wong (2012, September 27).  A Nonlinear Integer/Discrete/Continuous Programming Solver Applied to a Linear Ordering Problem with 22 Facilities.  Retrieved from http://computationalresultsfromcomputerprograms.wordpress.com/2012/9/27/

[40]  Jsun Yui Wong (2013 January 10).  The Domino Method of General Integer Nonlinear Programming Applied to Alkylation Process Optimization.  http://myblogsubstance.typepad.com/substance/2013/01/

Wednesday, May 30, 2018

J. Smith (1985) Problem in Floudas et al. [7]

Jsun Yui Wong

The computer program listed below seeks to solve the following problem from Floudas et al. [7, p. 333, Test Problem 9], "where the goal is to find all steady state temperatures of a nonisothermal CSTR," Floudas et al. [7, p. 333].

 ((bbb / 298) * X(1) * EXP(-7548.1193 / X(1))) - (((bbb * (1 + aaa * 298) / (aaa * 298))) * (EXP(-7548.1193 / X(1)))) + X(1) / 298 - 1 = 0

where aaa = -1000 / (3 * (-50000)), bbb = 1.344D+09, and 100<=X(1)<=1000.

The above is Floudas et al.'s case with delta H=-50000.
 
     
0 DEFDBL A-Z

2 DEFINT K

3 DIM B(99), N(99), A(99), H(99), L(99), U(99), X(1111), D(111), P(111), PS(33)

12 FOR JJJJ = -32000 TO 32000 STEP .01

    14 RANDOMIZE JJJJ

    16 M = -1D+37

    92 A(1) = 100 + (RND * 900)

    128 FOR I = 1 TO 50

        129 FOR KKQQ = 1 TO 1

            130 X(KKQQ) = A(KKQQ)
        131 NEXT KKQQ
        133 FOR IPP = 1 TO (1 + 0)


            181 j = 1 + FIX(RND * 0)

            189 r = (1 - RND * 2) * A(j)
            190 X(j) = A(j) + (RND ^ (RND * 10)) * r


        222 NEXT IPP
        230 IF X(1) < 100 THEN 1670

        231 IF X(1) > 1000## THEN 1670
        236 FOR J44 = 1 TO 1
            237 IF X(J44) < 100 THEN GOTO 1670
            238 IF X(J44) > 1000 THEN GOTO 1670


        239 NEXT J44

        241 aaa = -1000 / (3 * (-50000))

        243 bbb = 1.344D+09

        245 LHS = ((bbb / 298) * X(1) * EXP(-7548.1193 / X(1))) - (((bbb * (1 + aaa * 298) / (aaa * 298))) * (EXP(-7548.1193 / X(1)))) + X(1) / 298 - 1


        260 IF X(1) < 100 THEN 1670

        261 IF X(1) > 1000## THEN 1670


        455 POBA = -ABS(LHS)


        466 P = POBA

        1111 IF P <= M THEN 1670


        1450 M = P
        1454 FOR KLX = 1 TO 1

            1455 A(KLX) = X(KLX)
        1456 NEXT KLX
        1477 IF M > -.0000001## THEN 1908

        1557 GOTO 128

    1670 NEXT I
    1889 REM  IF M < -7512.24 THEN 1999

    1908 PRINT A(1), M, JJJJ

1999 NEXT JJJJ


This BASIC computer program was run with QB64v1000-win [55]. The output through JJJJ =  -31999.60000000006 is summarized below:


347.3178415262124          -1.230173977224622D-09          -31999.97000000001
.
.
.

445.495508123506            -2.307041812087216D-06          -31999.64000000006
.
.
.

300.4328148991304          -1.424801611329268D-10          -31999.60000000006

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 [55], the wall-clock time (not CPU time) for obtaining the output through JJJJ =  -31999.60000000006 was 1 second, not including the time for “Creating .EXE file” (7 seconds, total, including the time for “Creating .EXE file.”)  One can compare the computational results above with those on p. 334 of Floudas et al. [7].
       
Acknowledgment

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

References

[1] Yuichiro Anzai (1974). On Integer Fractional Programming. Journal of the Operations Research Society of Japan, Volume 17, No. 1, March 1974, pp. 49-66. http://www..orsj.or.jp/~archiv/pdf/e_mag/Vol.17_01_049.pdf.
[2] Sjirk Boon. Solving systems of nonlinear equations. Sci. Math. Num-Analysis, 1992, Newsgroup Article 3529.
[3] S. S. Chadha (2002). Fractional programming with absolute-value functions. European Journal of Operational Research 141 (2002) pp. 233-238.
[4] Ching-Ter Chang (2002). On the posynomial fractional programming problems. European Journal of Operational Research 143 (2002) pp. 42-52.
[5] Ching-Ter Chang (2006). Formulating the mixed integer fractional posynomial programming, European Journal of Operational Research 173 (2006) pp. 370-386.

[6] Ching-Ter Chang (2017). Fuzzy linearization strategy for multiple objective linear fractional programming with binary utility functions. Computers and Industrial Engineering 112 (2017) 437-446.

[7] C. A. Floudas, P. M. Pardalos, C. S. Adjiman, W. R. Esposito, Z. H. Gumus, S. T. Harding, J. L. Klepeis, C. A. Meyer, C. A. Schweiger (1999). Handbook of Test Problems in Local and GlobalOptimization.  Kluwer Academic Publishers 1999.

[8] Amir Hossein Gandomi, Xin-She Yang, Amir Hossein Alavi (2011). Mixed variable structural optimization using Firefly Algorithm, Computers and Structures 89 (2011) 2325-2336.
[9] Amir Hossein Gandomi, Xin-She Yang, Siamak Taratahari, Amir Hossein Alavi (2013). Firefly Algorithm with Chaos, Communications in Nonlinear Science and Numerical Simulation 18 (2013) 89-98.
[10] Amir Hossein Gandomi, Xin-She Yang, Amir Hossein Alavi (2013). Cuckoo search algorithm: a metaheuristicapproach to solve structural optimization problem. Engineering with Computers (2013) 29:17-35.
[11] Amir Hossein Gandomi, Xin-She Yang, Amir Hossein Alavi (2013). Erratum to: Cuckoo search algorithm: a metaheuristicapproach to solve structural optimization problem. Engineering with Computers (2013) 29:245.
[12] Chrysanthos E. Gounaris, Christodoulos A. Floudas. Tight convex underestimators for Csquare-continuous problems: II. multivariate functions. Journal of Global Optimization (2008) 42, pp. 69-89.

[13] E. L. Hannan (1981), Linear programming with multiple fuzzy goals, Fuzzy Sets and Systems 6 (1981) 235-246.     

[14] Xue-Ping Hou, Pei-Ping Shen, Chun-Feng Wang (2014). Global Minimization for Generalized Polynomial Fractional Program. Mathmatical Problems in Engineering, Volume 2014. Hindawi Publishing Company.

[15] James P. Ignizio,  Linear Programming in Single- and Multiple-Objective Systems.  Prentice-Hall, Englewood Cliffs, NJ, 1982.

[16] James P. Ignizio, Stephen C. Daniels (1983). Fuzzy multicriteria integer programming via fuzzy generalized networks.  Fuzzy Sets and Systems 10 (1983) 261-270.

[17] James P. Ignizio,  Tom M. Cavalier, Linear Programming.  Prentice-Hall, Englewood Cliffs, NJ, 1994.

[18] Majid Jaberipour, Esmaile Khorram (2010). Solving the sum of ratios problems by a harmony search algorithm. Journal of Computational and Applied Mathematics 234 (2010) 733-742.

[19] Sanjay Jain, Kailash Lachhwani (2010). Linear plus fractional multiobjective programming problem with homogeneous constraints using fuzzy approach. Iranian Journal of Operations Research, Vol. 2, No. 1, 2010, pp. 41-49.

[20] Hongwei Jiao, Zhankui Wang, Yongqiang Chen (2013). Global Optimization Algorithm for Sum of Generalized Polynomial Ratios Problems. Applied Mathematical Modelling 37 (2013) 187-197.

[21] Ali Husseinzadeh Kashan (2011). An effective algorithm for constrained global optimization and application to mechanical engineering design: League championship algorithm (LCA). Computer-Aided Design 43 (2011) 1769-1792.

[22] Ali Husseinzadeh Kashan (2015). An effective algorithm for constrained optimization based on optics inspired optimization (OIO). Computer-Aided Design 63 (2015) 52-71.

[23] K. Lachhwani (2012). Fuzzy Goal Programming Approach to Multi Objectve Quadratic Programming Problem. Proceedings of the National Academy of Sciences, India, Section A Physical Sciences (October-December 2012) 82 (4): 317-322.
https://link.springer.com/journal/40010

[24] K. Lachhwani (2014). FGP approach to multi objectve quadratic fractional programming problem. International Journal of Industrial Mathematics, vol. 6, No.1, pp. 49-57. Available online at http://ijim.srbiau.ac.ir/

[25] Han-Lin Li, Jung-Fa Tsai (2005). Treating free variables in generalized geometric global optimization programs.. Journal of Global Optimization, 33: 1-13 (2005).

[26] Han-Lin Li, Jung-Fa Tsai, Christodoulos A. Floudas (2008). Convex underestimating for posynomial functions of postive variables. Optimization Letters 2, 333-340 (2008).
[27] Han-Lin Li, Jung-Fa Tsai (2008). A distributed computational algorithm for solving portfolio problems with integer variables. European Journal of Operational Research 186 (2008) pp. 882-891.

[28] Han-Lin Li, Hao-Chun Lu (2009).  Global optimization for generalized geometric progams with mixed free-sign variables.  Operations Research 57 (3): 701-713 (2009).

[29] Han-Lin Li, Hao-Chun Lu, Chia-Hui Huang, Nian-Ze Hu (2009).  A superior representation method for piecewise lineat functions.  INFORMS Journal on Computing 21 (2): 314-321 (2009).

[30] Han-Lin Li, Shu-Cherng Fang, Yao-Huei Huang, Tiantian Nie (2016). An enhanced logarithmic method for signomial programming with discrete variables. European Journal of Operational Research 255 (2016) pp. 922-934.
[31] Ming-Hua Lin, Jung-Fa Tsai (2011). Finding multiple optimal solutions of signomial discrete programming problems with free variables, Optimization and Engineering (2011) 12:425-443.
[32] Ming-Hua Lin, Jung-Fa Tsai (2014). A deterministic global approach for mixed-discrete structural optimization, Engineering Optimization (2014) 46:7, pp. 863-879.
[33] Hao-Chun Lu, Han-Lin Li, Chrysanthos E. Gounaris, Christodoulos A. Floudas (2010). Convex relaxation for solving posynomial problems. Journal of Global Optimization (2010) 46, pp. 147-154.
[34] Hao-Chun Lu (2012). An efficient convexification method for solving generalized geometric problems. Journal of Industrial and Management Optimization, Volume 8, Number 2, May 2012, pp. 429-455.
[35] Hao-Chun Lu (2017). Improved logarithnic linearizing method for optimization problems with free-sign pure discrete signomial terms. Journal of Global Optimization (2017) 68, pp. 95-123.

[36] Kenneth R. MacCrimmon (1973). An overview of multiple objective decision making. In James L. Cochrane, Milan Zeleny (editors), Multiple Criteria Decisiom Making. University of South Carolina Press, Columbia.
[37] Mathworks. Solving a mixed integer engineering design problem using the genetic algorithm – MATLAB & Simulink Example.
https://www.mathworks.com/help/gads/examples/solving-a-mixed-integer-engineering-design-problem-using-the-genetic-algorithm.html/
[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] Katta Murty, Operations Research: Deterministic Optimization Models. Prentice-Hall, 1995.

[40] Sinan Melih Nigdeli, Gebrail Bekdas, Xin-She Yang (2016). Application of the Flower Pollination Algoritm in Structural Engineering. Springer International Publishing Switzerland 2016. http://www.springer.com/cda/content/document/cda…/
[41] Gideon Oron (1979) An algorithm for optimizing nonlinear contrained zero-one problems to improve wastewater treatment, Engineering Optimization, 4:2, 109-114.
[42] Osama Abdel Raouf, Ibraham M. Hezam (2014). Solving Fractional Programming Problems Based on Swarm Intelligence. Journal of Industrial Engineering International (2014) 10:56.

[43] H. S. Ryoo, N. V. Sahinidis (1995). Global optimization of nonconvex NLP and MINLP with applications in process design. Computers and Chemical Engineering Vol. 19 (5) (1995) pp. 551-566.

[44] C. R. Seshan, V. G. Tikekar (1980) Algorithms for Fractional Programming. Journal of the Indian Institute of Science 62 (B), Feb. 1980, Pp. 9-16.

[45] Vikas Sharma (2012), Multobjective integer nonlinear fractional programming problem: A cutting plane approach.  OPSEARCH of the Operational Research Society of India (April-June 2012)  49 (2) 133-153.

[46] Pei-Ping Shen, Yun-Peng Duan, Yong-Gang Pei. A simplicial branch and duality boundalgorithm for the sum of convex-convex ratios problem. Journal of Computational and Applied Mathematics 223 (2009) 145-158.

[47]  J. Smith (1985).  Chemical Engineering Kinetics.  Butterworth, Stoneham, MA.

[48] P. B. Thanedar, G. N. Vanderplaats (1995). Survey of discrete variable optimization for structural design, Journal of Structural Engineering, 121 (2), 301-306 (1995).
[49] Jung-Fa Tsai (2005). Global optimization of nonlinear fractional programming problems in engineering design. Engineering Optimization (2005) 37:4, pp. 399-409.
[50] Jung-Fa Tsai, Ming-Hua Lin (2007). Finding all solutions of systems of nonlinear equations with free variables. Engineering Optimization (2007) 39:6, pp. 649-659
[51] Jung-Fa Tsai, Ming-Hua Lin, Yi-Chung Hu (2007). On generalized geometric programming problems with non-positive variables. European Journal of Operational Research 178 (2007) pp. 10-19.
[52] Jung-Fa Tsai, Ming-Hua Lin (2008). Global optimization of signomial mixed-integer nonlinear programming with free variables. Journal of Global Optimization (2008) 42 pp. 39-49.

[53] Pei-Chun Wang, Jung-Fa Tsai,  Wei-Nung Ma, Chai-Chien Lee (2010).  An efficient global optimization approach for solving mixed-integer nonlinear programming problems.  Proceedings of the 40th International Conference on Computers and Industrian Engineering, Japan, pp.1-4, 2010.
Date added to IEEE Xplore: 13 December 2010.  Publisher:IEEE.

[54] Pei-Chun Wang, Jung-Fa Tsai (2011). Global optimization of mixed-integer nonlinear programming for engineering design problems.  Proceedings of 2011 International Conference on System Science and Engineeing, Macau, China - June 2011.

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

[56] Taeyong Yang, James P. Ignizio, and Hyun-Joon Kim, Fuzzy programming with nonlinear membership functions: Piecewise linear approximation. Fuzzy Sets and Systems 41 (1991) 39-53.
[57] H.-J. Zimmermann (1978), Fuzzy programming and linear programming with several objective functions. Fuzzy Sets and Systems 1 (1978) 45-55.

Monday, May 28, 2018

Avriel and Williams (1971) Heat Exchanger Network Problem in Floudas et al. [7]

Jsun Yui Wong

The computer program listed below seeks to solve the following problem of eight continuous variables from Floudas et al. [7, pp. 51-52]:

Minimize               X(1) + X(2) + X(3)

subject to

        X(4) + X(6) - 100 - 300<=0

        - X(4) + X(5) + X(7) - 300<=0

        X(8) -X(5 -600+ 500<=0

        X(1) - X(1) * X(6) + ((1D+05) / 120) * X(4) - ((1D+05) / 120) * 100<=0

        X(2) * X(4) - X(2) * X(7) - ((1D+05) / 80) * X(4) + ((1D+05) / 80) * X(5)<=0


        X(3) * X(5) - X(3) * X(8) - ((1D+05) / 40) * X(5) + ((1D+05) / 40) * 500<=0 

        100<= X(1) <= 10000       
       1000<= X(2) <= 10000
     
       1000<= X(3) <= 10000

 10<= X(i) <= 1000, i=4, 5, 6, 7, 8.

 X(9) through X(14) below are slack variables.


0 DEFDBL A-Z

2 DEFINT K

3 DIM B(99), N(99), A(99), H(99), L(99), U(99), X(1111), D(111), P(111), PS(33)

12 FOR JJJJ = -32000 TO 32000 STEP .01

    14 RANDOMIZE JJJJ

    16 M = -1D+37

    92 A(1) = 100 + FIX(RND * 9901)
    93 A(2) = 1000 + FIX(RND * 9001)
    94 A(3) = 1000 + FIX(RND * 9001)


    95 A(4) = 10 + FIX(RND * 991)
    96 A(5) = 10 + FIX(RND * 991)

    97 A(6) = 10 + FIX(RND * 991)

    98 A(7) = 10 + FIX(RND * 991)
    99 A(8) = 10 + FIX(RND * 991)


    128 FOR I = 1 TO 20000


        129 FOR KKQQ = 1 TO 8

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

            181 j = 1 + FIX(RND * 8)

            189 r = (1 - RND * 2) * A(j)
            190 X(j) = A(j) + (RND ^ (RND * 10)) * r


        222 NEXT IPP
        230 IF X(1) < 100 THEN 1670

        231 IF X(1) > 10000## THEN 1670

        232 IF X(2) < 1000## THEN 1670
        233 IF X(2) > 10000## THEN 1670
        234 IF X(3) < 1000## THEN 1670


        235 IF X(3) > 10000## THEN 1670


        236 FOR J44 = 4 TO 8
            237 IF X(J44) < 10 THEN GOTO 1670
            238 IF X(J44) > 1000 THEN GOTO 1670


        244 NEXT J44


        246 X(9) = -X(4) - X(6) + 100 + 300


        247 X(10) = X(4) - X(5) - X(7) + 300



        248 X(11) = -X(8) + X(5) + 600 - 500

        251 X(12) = -X(1) + X(1) * X(6) - ((1D+05) / 120) * X(4) + ((1D+05) / 120) * 100

        253 X(13) = -X(2) * X(4) + X(2) * X(7) + ((1D+05) / 80) * X(4) - ((1D+05) / 80) * X(5)


        255 X(14) = -X(3) * X(5) + X(3) * X(8) + ((1D+05) / 40) * X(5) - ((1D+05) / 40) * 500
        260 IF X(1) < 100 THEN 1670

        261 IF X(1) > 10000## THEN 1670
        262 IF X(2) < 1000## THEN 1670
        263 IF X(2) > 10000## THEN 1670
        264 IF X(3) < 1000## THEN 1670


        265 IF X(3) > 10000## THEN 1670


        266 FOR J44 = 4 TO 8
            267 IF X(J44) < 10 THEN GOTO 1670
            268 IF X(J44) > 1000 THEN GOTO 1670


        269 NEXT J44


        450 FOR J47 = 9 TO 14


            451 IF X(J47) < 0 THEN X(J47) = X(J47) ELSE X(J47) = 0



        452 NEXT J47


        453 POBA = -X(1) - X(2) - X(3) + 1000000 * (X(13) + X(14) + X(9) + X(10) + X(11) + X(12))

        466 P = POBA

        1111 IF P <= M THEN 1670


        1450 M = P
        1454 FOR KLX = 1 TO 14

            1455 A(KLX) = X(KLX)
        1456 NEXT KLX
        1557 GOTO 128

    1670 NEXT I
    1889 IF M < -7512.27 THEN 1999

    1907 PRINT A(1), A(2), A(3), A(4), A(5), A(6), A(7), A(8)
    1908 PRINT A(9), A(10), A(11), A(12), A(13), A(14), M, JJJJ

1999 NEXT JJJJ


This BASIC computer program was run with QB64v1000-win [54]. The complete output through JJJJ =  -31990.270000000156 is shown below:

1018.685845387        1000                        5493.58146949264
264.4621419608414   280.256741275952   135.5378318428512
284.2054002855197   380.2567412506235
0   0   0   0   0
0      -7512.267314879637                        -31999.24000000012

1022.80236632016      1000                        5489.437573718315
264.7605209044411   280.4224971073827   135.2394568180514
284.3380143800206   380.4224970818268
0   0   0   0   0
0      -7512.239940038475                          -31995.11000000078

1021.27990286284      1000                        5490.96997836527
264.6502811873032   280.3612014084006   135.3496207763103
284.2890692001287   380.3612011611714
0   0   0   0   0
0      -7512.249881228108                         -31990.93000000145

1024.91756653315         1000                                        5487.316568929566
264.913320300725                   280.5073372429737        135.0866538000017
284.4058796825021                 380.5073372429025
0      0      0      0      0
0         -7512.234135462716                                            -31990.270000000156

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 [54], the wall-clock time (not CPU time) for obtaining the output through JJJJ =  -31990.270000000156 was 47 minutes, total, including the time for “Creating .EXE file.”  One can compare the computational results above with those on p. 52 of Floudas et al. [7].
                 
Acknowledgment

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

References

[1] Yuichiro Anzai (1974). On Integer Fractional Programming. Journal of the Operations Research Society of Japan, Volume 17, No. 1, March 1974, pp. 49-66. http://www..orsj.or.jp/~archiv/pdf/e_mag/Vol.17_01_049.pdf.
[2] Sjirk Boon. Solving systems of nonlinear equations. Sci. Math. Num-Analysis,1992, Newsgroup Article 3529.
[3] S. S. Chadha (2002). Fractional programming with absolute-value functions. European Journal of Operational Research 141 (2002) pp. 233-238.
[4] Ching-Ter Chang (2002). On the posynomial fractional programming problems. European Journal of Operational Research 143 (2002) pp. 42-52.
[5] Ching-Ter Chang (2006). Formulating the mixed integer fractional posynomial programming, European Journal of Operational Research 173 (2006) pp. 370-386.

[6] Ching-Ter Chang (2017). Fuzzy linearization strategy for multiple objective linear fractional programming with binary utility functions. Computers and Industrial Engineering 112 (2017) 437-446.

[7] C. A. Floudas, P. M. Pardalos, C. S. Adjiman, W. R. Esposito, Z. H. Gumus, S. T. Harding, J. L. Klepeis, C. A. Meyer, C. A. Schweiger (1999). Handbook of Test Problems in Local and Global Optimization.  Kluwer Academic Publishers 1999.

[8] Amir Hossein Gandomi, Xin-She Yang, Amir Hossein Alavi (2011). Mixed variable structural optimization using Firefly Algorithm, Computers and Structures 89 (2011) 2325-2336.
[9] Amir Hossein Gandomi, Xin-She Yang, Siamak Taratahari, Amir Hossein Alavi (2013). Firefly Algorithm with Chaos, Communications in Nonlinear Science and Numerical Simulation 18 (2013) 89-98.
[10] Amir Hossein Gandomi, Xin-She Yang, Amir Hossein Alavi (2013). Cuckoo search algorithm: a metaheuristicapproach to solve structural optimization problem. Engineering with Computers (2013) 29:17-35.
[11] Amir Hossein Gandomi, Xin-She Yang, Amir Hossein Alavi (2013). Erratum to: Cuckoo search algorithm: a metaheuristicapproach to solve structural optimization problem. Engineering with Computers (2013) 29:245.
[12] Chrysanthos E. Gounaris, Christodoulos A. Floudas. Tight convex underestimators for Csquare-continuous problems: II. multivariate functions. Journal of Global Optimization (2008) 42, pp. 69-89.

[13] E. L. Hannan (1981), Linear programming with multiple fuzzy goals, Fuzzy Sets and Systems 6 (1981) 235-246.     

[14] Xue-Ping Hou, Pei-Ping Shen, Chun-Feng Wang (2014). Global Minimization for Generalized Polynomial Fractional Program. Mathmatical Problems in Engineering, Volume 2014. Hindawi Publishing Company.

[15] James P. Ignizio,  Linear Programming in Single- and Multiple-Objective Systems.  Prentice-Hall, Englewood Cliffs, NJ, 1982.

[16] James P. Ignizio, Stephen C. Daniels (1983). Fuzzy multicriteria integer programming via fuzzy generalized networks.  Fuzzy Sets and Systems 10 (1983) 261-270.

[17] James P. Ignizio,  Tom M. Cavalier, Linear Programming.  Prentice-Hall, Englewood Cliffs, NJ, 1994.

[18] Majid Jaberipour, Esmaile Khorram (2010). Solving the sum of ratios problems by a harmony search algorithm. Journal of Computational and Applied Mathematics 234 (2010) 733-742.

[19] Sanjay Jain, Kailash Lachhwani (2010). Linear plus fractional multiobjective programming problem with homogeneous constraints using fuzzy approach. Iranian Journal of Operations Research, Vol. 2, No. 1, 2010, pp. 41-49.

[20] Hongwei Jiao, Zhankui Wang, Yongqiang Chen (2013). Global Optimization Algorithm for Sum of Generalized Polynomial Ratios Problems. Applied Mathematical Modelling 37 (2013) 187-197.

[21] Ali Husseinzadeh Kashan (2011). An effective algorithm for constrained global optimization and application to mechanical engineering design: League championship algorithm (LCA). Computer-Aided Design 43 (2011) 1769-1792.

[22] Ali Husseinzadeh Kashan (2015). An effective algorithm for constrained optimization based on optics inspired optimization (OIO). Computer-Aided Design 63 (2015) 52-71.

[23] K. Lachhwani (2012). Fuzzy Goal Programming Approach to Multi Objectve Quadratic Programming Problem. Proceedings of the National Academy of Sciences, India, Section A Physical Sciences (October-December 2012) 82 (4): 317-322.
https://link.springer.com/journal/40010

[24] K. Lachhwani (2014). FGP approach to multi objectve quadratic fractional programming problem. International Journal of Industrial Mathematics, vol. 6, No.1, pp. 49-57. Available online at http://ijim.srbiau.ac.ir/

[25] Han-Lin Li, Jung-Fa Tsai (2005). Treating free variables in generalized geometric global optimization programs. Journal of Global Optimization, 33: 1-13 (2005).

[26] Han-Lin Li, Jung-Fa Tsai, Christodoulos A. Floudas (2008). Convex underestimating for posynomial functions of postive variables. Optimization Letters 2, 333-340 (2008).
[27] Han-Lin Li, Jung-Fa Tsai (2008). A distributed computational algorithm for solving portfolio problems with integer variables. European Journal of Operational Research 186 (2008) pp. 882-891.

[28] Han-Lin Li, Hao-Chun Lu (2009).  Global optimization for generalized geometric progams with mixed free-sign variables.  Operations Research 57 (3): 701-713 (2009).

[29] Han-Lin Li, Hao-Chun Lu, Chia-Hui Huang, Nian-Ze Hu (2009).  A superior representation method for piecewise lineat functions.  INFORMS Journal on Computing 21 (2): 314-321 (2009).

[30] Han-Lin Li, Shu-Cherng Fang, Yao-Huei Huang, Tiantian Nie (2016). An enhanced logarithmic method for signomial programming with discrete variables. European Journal of Operational Research 255 (2016) pp. 922-934.
[31] Ming-Hua Lin, Jung-Fa Tsai (2011). Finding multiple optimal solutions of signomial discrete programming problems with free variables, Optimization and Engineering (2011) 12:425-443.
[32] Ming-Hua Lin, Jung-Fa Tsai (2014). A deterministic global approach for mixed-discrete structural optimization, Engineering Optimization (2014) 46:7, pp. 863-879.
[33] Hao-Chun Lu, Han-Lin Li, Chrysanthos E. Gounaris, Christodoulos A. Floudas (2010). Convex relaxation for solving posynomial problems. Journal of Global Optimization (2010) 46, pp. 147-154.
[34] Hao-Chun Lu (2012). An efficient convexification method for solving generalized geometric problems. Journal of Industrial and Management Optimization, Volume 8, Number 2, May 2012, pp. 429-455.
[35] Hao-Chun Lu (2017). Improved logarithnic linearizing method for optimization problems with free-sign pure discrete signomial terms. Journal of Global Optimization (2017) 68, pp. 95-123.

[36] Kenneth R. MacCrimmon (1973). An overview of multiple objective decision making. In James L. Cochrane, Milan Zeleny (editors), Multiple Criteria Decisiom Making. University of South Carolina Press, Columbia.
[37] Mathworks. Solving a mixed integer engineering design problem using the genetic algorithm – MATLAB & Simulink Example.
https://www.mathworks.com/help/gads/examples/solving-a-mixed-integer-engineering-design-problem-using-the-genetic-algorithm.html/
[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] Katta Murty, Operations Research: Deterministic Optimization Models. Prentice-Hall, 1995.

[40] Sinan Melih Nigdeli, Gebrail Bekdas, Xin-She Yang (2016). Application of the Flower Pollination Algoritm in Structural Engineering. Springer International Publishing Switzerland 2016. http://www.springer.com/cda/content/document/cda…/
[41] Gideon Oron (1979) An algorithm for optimizing nonlinear contrained zero-one problems to improve wastewater treatment, Engineering Optimization, 4:2, 109-114.
[42] Osama Abdel Raouf, Ibraham M. Hezam (2014). Solving Fractional Programming Problems Based on Swarm Intelligence. Journal of Industrial Engineering International (2014) 10:56.

[43] H. S. Ryoo, N. V. Sahinidis (1995). Global optimization of nonconvex NLP and MINLP with applications in process design. Computers and Chemical Engineering Vol. 19 (5) (1995) pp. 551-566.

[44] C. R. Seshan, V. G. Tikekar (1980) Algorithms for Fractional Programming. Journal of the Indian Institute of Science 62 (B), Feb. 1980, Pp. 9-16.

[45] Vikas Sharma (2012), Multobjective integer nonlinear fractional programming problem: A cutting plane approach.  OPSEARCH of the Operational Research Society of India (April-June 2012)  49 (2) 133-153.

[46] Pei-Ping Shen, Yun-Peng Duan, Yong-Gang Pei. A simplicial branch and duality boundalgorithm for the sum of convex-convex ratios problem. Journal of Computational and Applied Mathematics 223 (2009) 145-158.
[47] P. B. Thanedar, G. N. Vanderplaats (1995). Survey of discrete variable optimization for structural design, Journal of Structural Engineering, 121 (2), 301-306 (1995).
[48] Jung-Fa Tsai (2005). Global optimization of nonlinear fractional programming problems in engineering design. Engineering Optimization (2005) 37:4, pp. 399-409.
[49] Jung-Fa Tsai, Ming-Hua Lin (2007). Finding all solutions of systems of nonlinear equations with free variables. Engineering Optimization (2007) 39:6, pp. 649-659
[50] Jung-Fa Tsai, Ming-Hua Lin, Yi-Chung Hu (2007). On generalized geometric programming problems with non-positive variables. European Journal of Operational Research 178 (2007) pp. 10-19.
[51] Jung-Fa Tsai, Ming-Hua Lin (2008). Global optimization of signomial mixed-integer nonlinear programming with free variables. Journal of Global Optimization (2008) 42 pp. 39-49.

[52] Pei-Chun Wang, Jung-Fa Tsai,  Wei-Nung Ma, Chai-Chien Lee (2010).  An efficient global optimization approach for solving mixed-integer nonlinear programming problems.  Proceedings of the 40th International Conference on Computers and Industrian Engineering, Japan, pp.1-4, 2010.
Date added to IEEE Xplore: 13 December 2010.  Publisher: IEEE.

[53] Pei-Chun Wang, Jung-Fa Tsai (2011). Global optimization of mixed-integer nonlinear programming for engineering design problems.  Proceedings of 2011 International Conference on System Science and Engineeing, Macau, China - June 2011.

[54] Wikipedia, QB64, https://en.wikipedia.org/wiki/QB64.
[55] Taeyong Yang, James P. Ignizio, and Hyun-Joon Kim, Fuzzy programming with nonlinear membership functions: Piecewise linear approximation. Fuzzy Sets and Systems 41 (1991) 39-53.
[56] H.-J. Zimmermann (1978), Fuzzy programming and linear programming with several objective functions. Fuzzy Sets and Systems 1 (1978) 45-55.