Friday, January 19, 2018

Solving a Fractional Programming Problem Involving a Product of 2 Ratios

Jsun Yui Wong

The computer program listed below seeks to solve the following problem from Shen, Zhang, and Wang [31, p. 11 of 16, Example 2]:     

Minimize               ((-X(1) + 2 * X(2) + 2) / (3 * X(1) - 4 * X(2) + 5)) * ((4 * X(1) - 3 * X(2) + 4) / (-2 * X(1) + X(2) + 3))

subject to

        X(1) + X(2)<=1.5,

         X(1) <= X(2),

         0<=X(1) <= 1,

         .0<=X(2) <= 1.

X(3) and X(4) below are added 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

    72 A(1) = RND

    75 A(2) = RND

    128 FOR I = 1 TO 2000


        129 FOR KKQQ = 1 TO 2

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


            181 J = 1 + FIX(RND * 2)

            183 r = (1 - RND * 2) * A(J)
            187 X(J) = A(J) + (RND ^ (RND * 10)) * r

        191 NEXT IPP

        193 REM X(1) = 2.0814
        194 REM X(2) = 2.9963

        201 IF X(1) < 0 THEN 1670
        203 IF X(1) > 1 THEN 1670

        211 IF X(2) < 0 THEN 1670
        213 IF X(2) > 1 THEN 1670

        311 X(3) = 1.5 - X(1) - X(2)
        313 X(4) = 0 - X(1) + X(2)

        333 FOR J44 = 3 TO 4


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

        339 NEXT J44


        388 POBA = -((-X(1) + 2 * X(2) + 2) / (3 * X(1) - 4 * X(2) + 5)) * ((4 * X(1) - 3 * X(2) + 4) / (-2 * X(1) + X(2) + 3)) + 1000000 * (X(3) + X(4))


        466 P = POBA

        1111 IF P <= M THEN 1670


        1452 M = P
        1454 FOR KLX = 1 TO 4

            1459 A(KLX) = X(KLX)
        1460 NEXT KLX
        1557 GOTO 128

    1670 NEXT I

    1889 IF M < -111111 THEN 1999


    1900 PRINT A(1), A(2), A(3), X(4), M, JJJJ

1999 NEXT JJJJ

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

7.074283273719827D-17      1.45153970581463D-16          0
0      -.5333333333333333      -32000

8.651334786166662D-17      1.266501984840928D-16         0
0      -.5333333333333333      -31999.99

8.066752639642937D-18      9.281983583068371D-17         0
0      -.5333333333333333      -31999.98

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 for obtaining the output through
JJJJ=   -31999.98 was 1 or 2 seconds, not including the time for "Creating .EXE file."  One can compare the computational results above to the results in Shen, Zhang, and Wang [31,  p. 10 of 16, Table 1, Example 2].

Acknowledgment

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

References

[1]  Mohamed Abdel-Baset,  Ibrahim M. Hezam (2015).  An Improved flower pollination algorithm for ratios optimization problems.  Applied Mathematics and Information Sciences Letters: An International Journal, 3, No. 2, 83-91 (2015).  http://dx.doi.org/10.12785/amisl/030206.
[2] 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.
[3]  Harold P. Benson (2002).  Using concave envelopes to globally solve the nonlinear sum of ratios problem.  Journal of Global Optimization 22:  343-364 (2002)
[4] Sjirk Boon. Solving systems of nonlinear equations. Sci. Math. Num-Analysis,1992, Newsgroup Article 3529.
[5] S. S. Chadha (2002). Fractional programming with absolute-value functions. European Journal of Operational Research 141 (2002) pp. 233-238.
[6] Ching-Ter Chang (2002). On the posynomial fractional programming problems. European Journal of Operational Research 143 (2002) pp. 42-52.
[7] Ching-Ter Chang (2006). Formulating the mixed integer fractional posynomial programming, European Journal of Operational Research 173 (2006) pp. 370-386.
[8] Piya Chootinan, Anthony Chen (2006). Constraint Handling in genetic algorithms using a gradient-based repair method. Computers and Operations Research 33 (2006) 2263-2281.
[9]  Mirjam Dur, Charoenchai Khompatraporn, Zelda B. Zabinsky (2007).  Solving fractional problems with dynamic multistart improving hit-and-run.  Annals of Operations Research (2007) 156:25-44.
[10] Amir Hossein Gandomi, Xin-She Yang, Amir Hossein Alavi (2011). Mixed variable structural optimization using Firefly Algorithm, Computers and Structures 89 (2011) 2325-2336.
[11] 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.
[12] 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.
[13] 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.
[14] 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.
[15]  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.
[16]  Yun-Chol Jong (2012).  An efficient global optimization algorithm for nonlinear sum-of-ratios problem.  www.optimization-online.org/DB_FILE/2012/08/3586.pdf.
[17] Han-Lin Li, Jung-Fa Tsai, Christodoulos A. Floudas (2008). Convex underestimating for posynomial functions of postive variables. Optimization Letters 2, 333-340 (2008).
[18] 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.
[19] Ming-Hua Lin, Jung-Fa Tsai (2014). A deterministic global approach for mixed-discrete structural optimization, Engineering Optimization (2014) 46:7, pp. 863-879.
[20] 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.
[21] 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.
[22] 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.
[23] 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/
[24] 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.
[25] 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…/
[26] Gideon Oron (1979) An algorithm for optimizing nonlinear contrained zero-one problems to improve wastewater treatment, Engineering Optimization, 4:2, 109-114.
[27] 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.
[28] 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.
[290] Pei-Ping Shen, Yun-Peng Duan, Yong-Gang Pei (2009). A simplicial branch and duality boundalgorithm for the sum of convex-convex ratios problem. Journal of Computational and Applied Mathematics 223 (2009) 145-158.
[30] Pei Ping Shen, Yuan Ma, Yongqiang Chen (2011).  Global optimization for the generalized polynomial for the sum of ratios problem. Journal of Global Optimization (2011) 50:439-455.

[31] Peiping Shen, Tongli Zhang, Chunfeng Wang (2017).  Solving a class of generalized fractional programming problems using the feasibility of linear programs.
Journal of Inequalities and Applications (2017) 207:147.

[32] P. B. Thanedar, G. N. Vanderplaats (1995). Survey of discrete variable optimization for structural design, Journal of Structural Engineering, 121 (2), 301-306 (1995).
[33] Jung-Fa Tsai (2005). Global optimization of nonlinear fractional programming problems in engineering design. Engineering Optimization (2005) 37:4, pp. 399-409.
[34] 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
[35] 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.
[36] 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.
[37] Chun-Feng Wang, Xin-Yue Chu (2017). A new branch and bound method for solving sum of linear ratios problem. IAENG International Journal of Applied Mathematics 47:3, IJAM_47_3_06.
[38] Yan-Jun Wang, Ke-Cun Zhang (2004). Global optimization of nonlinear sum of ratios problem.  Applied Mathematics and Computation 158 (2004) 319 330.
[39] Wikipedia, QB64, https://en.wikipedia.org/wiki/QB64.
[40] Xin-She Yang, Amir Hossein Gandomi (2012). Bat algorithm: a novel approach for global engineering optimization. Engineering Computations: International Journal for Computer-Aided Engineering and Software, Vol. 20,No. 5, 2012, pp. 461-483.
[41] B. D. Youn, K. K. Choi (2004). A new response surface methodology for reliability-based design optimization. Computers and Structures 82 (2004) 241-256.

Tuesday, January 9, 2018

Solving a Nonlinear Fractional Programming Problem

Jsun Yui Wong

The computer program listed below seeks to solve the following problem in Abdel-Baset and Hezam [1, p. 87, Test Problem 10]:

Maximize              ((13 * X(1) + 13 * X(2) + 13) / (37 * X(1) + 73 * X(2) + 13)) ^ -1.4 * ((64 * X(1) - 18 * X(2) + 39) / (13 * X(1) + 26 * X(2) + 13)) ^ 1.2 - ((X(1) + 2 * X(2) + 5 * X(3) + 50) / (X(1) + 5 * X(2) + 5 * X(3) + 50)) ^ .5 * ((X(1) + 2 * X(2) + 4 * X(3) + 50) / (5 * X(2) + 4 * X(3) + 50)) ^ 1.1
 
subject to

         2*X(1) + X(2)+ 5*X(3)<=10,

        5* X(1) -3* X(2) =3, 

        1.5 <= X(1) <= 3,

            X(1) >=0,

            X(2) >=0, 

            X(3) >=0, 

X(4) below is an added slack variable.

The following computer program is very similar to the computer program of the preceding paper.  One notes the following line 193, line 194, and line 209.


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
    70 FOR J44 = 1 TO 3

        72 A(J44) = RND * 10


    73 NEXT J44


    128 FOR I = 1 TO 500


        129 FOR KKQQ = 1 TO 3

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


            181 J = 1 + FIX(RND * 3)

            183 r = (1 - RND * 2) * A(J)
            187 X(J) = A(J) + (RND ^ (RND * 10)) * r

        191 NEXT IPP
        193 REM X(2) = INT(X(2))

        194 REM X(3) = INT(X(3))

        196 X(1) = ((3 + 3 * X(2)) / 5)


        201 IF X(1) < 1.5 THEN 1670
        203 IF X(1) > 3 THEN 1670

        205 FOR J44 = 1 TO 3

            206 IF X(J44) < 0 THEN 1670


        208 NEXT J44

        209 REM IF X(1) = ((3 + 3 * X(2)) / 5) THEN 311 ELSE GOTO 1670


        311 X(4) = 10 - 2 * X(1) - X(2) - 5 * X(3)


        333 FOR J44 = 4 TO 4
            336 IF X(J44) < 0 THEN X(J44) = X(J44) ELSE X(J44) = 0

        339 NEXT J44


        368 POBA = ((13 * X(1) + 13 * X(2) + 13) / (37 * X(1) + 73 * X(2) + 13)) ^ -1.4 * ((64 * X(1) - 18 * X(2) + 39) / (13 * X(1) + 26 * X(2) + 13)) ^ 1.2 - ((X(1) + 2 * X(2) + 5 * X(3) + 50) / (X(1) + 5 * X(2) + 5 * X(3) + 50)) ^ .5 * ((X(1) + 2 * X(2) + 4 * X(3) + 50) / (5 * X(2) + 4 * X(3) + 50)) ^ 1.1 + 1000000 * (X(4))

        466 P = POBA

        1111 IF P <= M THEN 1670


        1452 M = P
        1454 FOR KLX = 1 TO 4

            1459 A(KLX) = X(KLX)
        1460 NEXT KLX
        1557 GOTO 128

    1670 NEXT I


    1889 IF M < -11111 THEN 1999

    1900 PRINT A(1), A(2), A(3), A(4)
    1912 PRINT M, JJJJ

1999 NEXT JJJJ


This BASIC computer program was run with qb64v1000-win [35]. The complete output through JJJJ =  -31999.95000000001 is shown below:

1.499999940486506                    1.499999900810843                        3.250025687713525D-15
0
8.279865664817091                    -32000

1.499999940436654                    1.499999900727757                        2.933276876528936D-14
0
8.279865664927954                    -31999.99

1.499999940494236                    1.499999900823726                        5.694494383392632D-16
0
8.2798656647999                       -31999.98

1.49999994040392                      1.4999999006732                           9.525181472646168D-16
0
8.27986566500075                     -31999.97000000001

1.499999940563297                    1.49999990093883                         1.126725673329401D-15
0
8.279865664646318                    -31999.96000000001

1.499999940400582                    1.499999900667637                       1.475714966596027D-14
0
8.27986566500817                      -31999.95000000001

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 for obtaining the output through
JJJJ=  -31999.95000000001 was two seconds, not including the time for "Creating .EXE file."  One can compare the computational results above to the results in Abdel-Baset and Hezam [1, p. 88, Table 1].

Acknowledgment

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

References

[1]  Mohamed Abdel-Baset,  Ibrahim M. Hezam (2015).  An Improved flower pollination algorithm for ratios optimization problems.  Applied Mathematics and Information Sciences Letters: An International Journal, 3, No. 2, 83-91 (2015).  http://dx.doi.org/10.12785/amisl/030206.
[2] 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.
[3] Sjirk Boon. Solving systems of nonlinear equations. Sci. Math. Num-Analysis, 1992, Newsgroup Article 3529.
[4] S. S. Chadha (2002). Fractional programming with absolute-value functions. European Journal of Operational Research 141 (2002) pp. 233-238.
[5] Ching-Ter Chang (2002). On the posynomial fractional programming problems. European Journal of Operational Research 143 (2002) pp. 42-52.
[6] Ching-Ter Chang (2006). Formulating the mixed integer fractional posynomial programming, European Journal of Operational Research 173 (2006) pp. 370-386.
[7] Piya Chootinan, Anthony Chen (2006). Constraint Handling in genetic algorithms using a gradient-based repair method. Computers and Operations Research 33 (2006) 2263-2281.
[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]  Yun-Chol Jong (2012).  An efficient global optimization algorithm for nonlinear sum-of-ratios problem.  www.optimization-online.org/DB_FILE/2012/08/3586.pdf.
[14] Han-Lin Li, Jung-Fa Tsai, Christodoulos A. Floudas (2008). Convex underestimating for posynomial functions of postive variables. Optimization Letters 2, 333-340 (2008).
[15] 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.
[16] Ming-Hua Lin, Jung-Fa Tsai (2014). A deterministic global approach for mixed-discrete structural optimization, Engineering Optimization (2014) 46:7, pp. 863-879.
[17] 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.
[18] 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.
[19] 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.
[20] 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/
[21] 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.
[22] 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…/
[23] Gideon Oron (1979) An algorithm for optimizing nonlinear contrained zero-one problems to improve wastewater treatment, Engineering Optimization, 4:2, 109-114.
[24] 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.
[25] 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.
[26] Pei-Ping Shen, Yun-Peng Duan, Yong-Gang Pei (2009). A simplicial branch and duality boundalgorithm for the sum of convex-convex ratios problem. Journal of Computational and Applied Mathematics 223 (2009) 145-158.
[27] Pei Ping Shen, Yuan Ma, Yongqiang Chen (2011).  Global optimization for the generalized polynomial for the sum of ratios problem. Journal of Global Optimization (2011) 50:439-455.
[28] P. B. Thanedar, G. N. Vanderplaats (1995). Survey of discrete variable optimization for structural design, Journal of Structural Engineering, 121 (2), 301-306 (1995).
[29] Jung-Fa Tsai (2005). Global optimization of nonlinear fractional programming problems in engineering design. Engineering Optimization (2005) 37:4, pp. 399-409.
[30] 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
[31] 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.
[32] 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.
[33] Chun-Feng Wang, Xin-Yue Chu (2017). A new branch and bound method for solving sum of linear ratios problem. IAENG International Journal of Applied Mathematics 47:3, IJAM_47_3_06.
[34] Yan-Jun Wang, Ke-Cun Zhang (2004). Global optimization of nonlinear sum of ratios problem.  Applied Mathematics and Computation 158 (2004) 319 330.
[35] Wikipedia, QB64, https://en.wikipedia.org/wiki/QB64.
[36] Jsun Yui Wong (2012, April 12). The Domino Method of General Integer Nonlinear Programming Applied to a Nonlinear Fractional Programming Problem from the Literature. http://myblogsubstance.typepad.com/substance/2012/04/12/
[37] Helen Wu (2015). Geometric Programming. https://optimization.mccormick.northwstern.edu/index.php/Geometric_Programming.
[38] Xin-She Yang, Christian Huyck, Mehmet Karamanoglu, Nawaz Khan (2014). True global optimality of the pressure vessel design problem: A benchmark for bio-inspired optimisation algorithms. https://arxiv.org/pdf/1403.7793.pdf.
[39] Xin-She Yang, Amir Hossein Gandomi (2012). Bat algorithm: a novel approach for global engineering optimization. Engineering Computations: International Journal for Computer-Aided Engineering and Software, Vol. 20,No. 5, 2012, pp. 461-483.
[40] B. D. Youn, K. K. Choi (2004). A new response surface methodology for reliability-based design optimization. Computers and Structures 82 (2004) 241-256.

Solving an Integer, Nonlinear, and Fractional Programming Problem


Jsun Yui Wong

The computer program listed below seeks to solve Abdel-Baset and Hezam's [1, p. 5/9] Test Problem 10 plus the restriction that the three variables are integer variables.  Thus the present problem is as follows:

Maximize              ((13 * X(1) + 13 * X(2) + 13) / (37 * X(1) + 73 * X(2) + 13)) ^ -1.4 * ((64 * X(1) - 18 * X(2) + 39) / (13 * X(1) + 26 * X(2) + 13)) ^ 1.2 - ((X(1) + 2 * X(2) + 5 * X(3) + 50) / (X(1) + 5 * X(2) + 5 * X(3) + 50)) ^ .5 * ((X(1) + 2 * X(2) + 4 * X(3) + 50) / (5 * X(2) + 4 * X(3) + 50)) ^ 1.1
 
subject to

         2*X(1) + X(2)+ 5*X(3)<=10,

        5* X(1) -3* X(2) =3, 

        1.5 <= X(1) <= 3,

            X(1) >=0,

            X(2) >=0, 

            X(3) >=0, 

X(1) through X(3) are integer variables.

X(4) below is an added slack variable.


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
    70 FOR J44 = 1 TO 3

        72 A(J44) = RND * 10


    73 NEXT J44


    128 FOR I = 1 TO 500


        129 FOR KKQQ = 1 TO 3

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


            181 J = 1 + FIX(RND * 3)

            183 r = (1 - RND * 2) * A(J)
            187 X(J) = A(J) + (RND ^ (RND * 10)) * r

        191 NEXT IPP
        193 X(2) = INT(X(2))

        194 X(3) = INT(X(3))

        196 X(1) = INT((3 + 3 * X(2)) / 5)


        201 IF X(1) < 1.5 THEN 1670
        203 IF X(1) > 3 THEN 1670
       
        205 FOR J44 = 1 TO 3

            206 IF X(J44) < 0 THEN 1670

           
        208 NEXT J44

        209 IF X(1) = ((3 + 3 * X(2)) / 5) THEN 311 ELSE GOTO 1670


        311 X(4) = 10 - 2 * X(1) - X(2) - 5 * X(3)


        333 FOR J44 = 4 TO 4
            336 IF X(J44) < 0 THEN X(J44) = X(J44) ELSE X(J44) = 0

        339 NEXT J44


        368 POBA = ((13 * X(1) + 13 * X(2) + 13) / (37 * X(1) + 73 * X(2) + 13)) ^ -1.4 * ((64 * X(1) - 18 * X(2) + 39) / (13 * X(1) + 26 * X(2) + 13)) ^ 1.2 - ((X(1) + 2 * X(2) + 5 * X(3) + 50) / (X(1) + 5 * X(2) + 5 * X(3) + 50)) ^ .5 * ((X(1) + 2 * X(2) + 4 * X(3) + 50) / (5 * X(2) + 4 * X(3) + 50)) ^ 1.1 + 1000000 * (X(4) )

        466 P = POBA

        1111 IF P <= M THEN 1670


        1452 M = P
        1454 FOR KLX = 1 TO 4

            1459 A(KLX) = X(KLX)
        1460 NEXT KLX
        1557 GOTO 128

    1670 NEXT I


    1889 IF M < -11111 THEN 1999

    1900 PRINT A(1), A(2), A(3), A(4)
    1912 PRINT M, JJJJ

1999 NEXT JJJJ


This BASIC computer program was run with qb64v1000-win [35]. The complete output through JJJJ =  -31999.94000000001 is shown below:

3      4      0      0     
6.339725941774713      -32000

3      4      0      0     
6.339725941774713      -31999.99

3      4      0      0     
6.339725941774713      -31999.98

3      4      0      0     
6.339725941774713      -31999.96000000001

3      4      0      0     
6.339725941774713      -31999.95000000001

3      4      0      0     
6.339725941774713      -31999.94000000001

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 for obtaining the output through
JJJJ=  -31999.94000000001 was two seconds, not including the time for "Creating .EXE file."

Acknowledgment

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

References

[1]  Mohamed Abdel-Baset,  Ibrahim M. Hezam (2015).  An Improved flower pollination algorithm for ratios optimization problems.  Applied Mathematics and Information Sciences Letters: An International Journal, 3, No. 2, 83-91 (2015).  http://dx.doi.org/10.12785/amisl/030206.
[2] 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.
[3] Sjirk Boon. Solving systems of nonlinear equations. Sci. Math. Num-Analysis,1992, Newsgroup Article 3529.
[4] S. S. Chadha (2002). Fractional programming with absolute-value functions. European Journal of Operational Research 141 (2002) pp. 233-238.
[5] Ching-Ter Chang (2002). On the posynomial fractional programming problems. European Journal of Operational Research 143 (2002) pp. 42-52.
[6] Ching-Ter Chang (2006). Formulating the mixed integer fractional posynomial programming, European Journal of Operational Research 173 (2006) pp. 370-386.
[7] Piya Chootinan, Anthony Chen (2006). Constraint Handling in genetic algorithms using a gradient-based repair method. Computers and Operations Research 33 (2006) 2263-2281.
[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]  Yun-Chol Jong (2012).  An efficient global optimization algorithm for nonlinear sum-of-ratios problem.  www.optimization-online.org/DB_FILE/2012/08/3586.pdf.
[14] Han-Lin Li, Jung-Fa Tsai, Christodoulos A. Floudas (2008). Convex underestimating for posynomial functions of postive variables. Optimization Letters 2, 333-340 (2008).
[15] 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.
[16] Ming-Hua Lin, Jung-Fa Tsai (2014). A deterministic global approach for mixed-discrete structural optimization, Engineering Optimization (2014) 46:7, pp. 863-879.
[17] 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.
[18] 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.
[19] 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.
[20] 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/
[21] 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.
[22] 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…/
[23] Gideon Oron (1979) An algorithm for optimizing nonlinear contrained zero-one problems to improve wastewater treatment, Engineering Optimization, 4:2, 109-114.
[24] 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.
[25] 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.
[26] Pei-Ping Shen, Yun-Peng Duan, Yong-Gang Pei (2009). A simplicial branch and duality boundalgorithm for the sum of convex-convex ratios problem. Journal of Computational and Applied Mathematics 223 (2009) 145-158.
[27] Pei Ping Shen, Yuan Ma, Yongqiang Chen (2011).  Global optimization for the generalized polynomial for the sum of ratios problem. Journal of Global Optimization (2011) 50:439-455.
[28] P. B. Thanedar, G. N. Vanderplaats (1995). Survey of discrete variable optimization for structural design, Journal of Structural Engineering, 121 (2), 301-306 (1995).
[29] Jung-Fa Tsai (2005). Global optimization of nonlinear fractional programming problems in engineering design. Engineering Optimization (2005) 37:4, pp. 399-409.
[30] 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
[31] 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.
[32] 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.
[33] Chun-Feng Wang, Xin-Yue Chu (2017). A new branch and bound method for solving sum of linear ratios problem. IAENG International Journal of Applied Mathematics 47:3, IJAM_47_3_06.
[34] Yan-Jun Wang, Ke-Cun Zhang (2004). Global optimization of nonlinear sum of ratios problem.  Applied Mathematics and Computation 158 (2004) 319 330.
[35] Wikipedia, QB64, https://en.wikipedia.org/wiki/QB64.
[36] Jsun Yui Wong (2012, April 12). The Domino Method of General Integer Nonlinear Programming Applied to a Nonlinear Fractional Programming Problem from the Literature. http://myblogsubstance.typepad.com/substance/2012/04/12/
[37] Helen Wu (2015). Geometric Programming. https://optimization.mccormick.northwstern.edu/index.php/Geometric_Programming.
[38] Xin-She Yang, Christian Huyck, Mehmet Karamanoglu, Nawaz Khan (2014). True global optimality of the pressure vessel design problem: A benchmark for bio-inspired optimisation algorithms. https://arxiv.org/pdf/1403.7793.pdf.
[39] Xin-She Yang, Amir Hossein Gandomi (2012). Bat algorithm: a novel approach for global engineering optimization. Engineering Computations: International Journal for Computer-Aided Engineering and Software, Vol. 20,No. 5, 2012, pp. 461-483.
[40] B. D. Youn, K. K. Choi (2004). A new response surface methodology for reliability-based design optimization. Computers and Structures 82 (2004) 241-256.

Monday, January 1, 2018

Solving a Nonlinear Integer Fractional Programming Problem with 20 General Integer Variables

Jsun Yui Wong

The computer program listed below seeks to solve the following nonlinear integer fractional programming problem:
   
Maximize        R1 + R2 + R3,       defined in lines 301, 303, and 305 below,

1<=X(i)<=5, i=1,..., 20,

X(1) through X(20) are integer variables.

The problem above is based on Example 4 in Jaberipour and Khorram  [13, pp. 741-742], which is

Maximize        R1 + R2 + R3,       defined in lines 301, 303, and 305 below,

and 1<=X(i)<=5, i=1,..., 20,

X(1) through X(20) are continuous 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


    71 FOR J40 = 1 TO 20


        74 A(J40) = (1 + RND * 4)
        75 REM A(2) = (2 + RND * 200)

    77 NEXT J40


    128 FOR I = 1 TO 50000


        129 FOR KKQQ = 1 TO 20



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


            181 J = 1 + FIX(RND * 20)


            183 R = (1 - RND * 2) * A(J)
            187 X(J) = A(J) + (RND ^ (RND * 10)) * R
        222 NEXT IPP


        223 FOR j41 = 1 TO 20


            225 X(j41) = INT(X(j41))


        235 NEXT j41


        256 FOR J47 = 1 TO 20

            257 IF X(J47) < 1 THEN 1670
            258 IF X(J47) > 5 THEN 1670


        259 NEXT J47

        260 SUM1 = 0


        261 FOR J44 = 1 TO 20
            265 SUM1 = SUM1 + J44 * X(J44)


        269 NEXT J44

        270 SUM2 = 0


        271 FOR J44 = 1 TO 20
            275 SUM2 = SUM2 + X(J44)


        279 NEXT J44

        280 SUM3 = 0


        281 FOR J44 = 1 TO 10
            285 SUM3 = SUM3 + J44 * X(2 * J44)


        289 NEXT J44

        290 SUM4 = 0


        291 FOR J44 = 1 TO 10
            295 SUM4 = SUM4 + X(2 * J44 - 1)


        299 NEXT J44

        301 R1 = SUM1 / SUM2

        303 R2 = SUM3 / SUM4

        305 R3 = SUM4 / SUM3

        307 GOTO 347



        311 X(3) = 6 - 2 * X(1) - X(2)
        313 X(4) = 8 - 3 * X(1) - X(2)


        315 X(5) = 1 - X(1) + X(2)

        322 FOR J44 = 3 TO 5


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


        327 NEXT J44


        343 REM

        347 POBA = R1 + R2 + R3


        466 P = POBA

        1111 IF P <= M THEN 1670


        1452 M = P
        1454 FOR KLX = 1 TO 20

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

    1670 NEXT I
    1889 IF M < 38.5 THEN 1999

    1900 PRINT A(1), A(2), A(3), A(4), A(5)
    1901 PRINT A(6), A(7), A(8), A(9), A(10)
    1910 PRINT A(11), A(12), A(13), A(14), A(15)
    1911 PRINT A(16), A(17), A(18), A(19), A(20)

    1922 PRINT M, JJJJ

1999 NEXT JJJJ


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

1  1  1  5  1
5  1  5  1  5
1  5  1  5  1
5  1  5  1  5
38.60118608328941      -31997.32000000043

1  1  1  5  1
5  1  5  1  5
1  5  1  5  1
5  1  5  1  5
38.60118608328941      -31997.06000000047

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 for obtaining the output through JJJJ= -31997.06000000047  was 75 seconds, total.  One can compare the computational results here with those on page 742 of Jaberipour and Khorram [13].   

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] Piya Chootinan, Anthony Chen (2006). Constraint Handling in genetic algorithms using a gradient-based repair method. Computers and Operations Research 33 (2006) 2263-2281.
[7] Amir Hossein Gandomi, Xin-She Yang, Amir Hossein Alavi (2011). Mixed variable structural optimization using Firefly Algorithm, Computers and Structures 89 (2011) 2325-2336.
[8] 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.
[9] 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.
[10] 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.
[11]  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.

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

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

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

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

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

[17]  Han-Lin Li, Jung-Fa Tsai, Christodoulos A. Floudas (2008).  Convex underestimating for posynomial functions of postive variables.  Optimization Letters 2, 333-340 (2008).
[18] 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.
[19] 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.
[20] 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.
[21] Ming-Hua Lin, Jung-Fa Tsai (2014). A deterministic global approach for mixed-discrete structural optimization, Engineering Optimization (2014) 46:7, pp. 863-879.
[22]  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.
[23]  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.
[24]  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.
[25] 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/
[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] 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…/
[28] Gideon Oron (1979) An algorithm for optimizing nonlinear contrained zero-one problems to improve wastewater treatment, Engineering Optimization, 4:2, 109-114.
[29] Osama Abdel Raouf, Ibraham M. Hezam (2014).  Solving Fractional Programming Problems Based on Swarm Intelligence.  Journal of Industrial Engineering International (2014) 10:56.
[30] 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.
[31] 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.
[32]  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.
[33] P. B. Thanedar, G. N. Vanderplaats (1995). Survey of discrete variable optimization for structural design, Journal of Structural Engineering, 121 (2), 301-306 (1995).
[34] Jung-Fa Tsai (2005). Global optimization of nonlinear fractional programming problems in engineering design. Engineering Optimization (2005) 37:4, pp. 399-409.
[35] 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
[36] 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.
[37] 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.
[38] Wikipedia, QB64, https://en.wikipedia.org/wiki/QB64.
[39] Jsun Yui Wong (2012, April 12). The Domino Method of General Integer Nonlinear Programming Applied to a Nonlinear Fractional Programming Problem from the Literature. http://myblogsubstance.typepad.com/substance/2012/04/12/
[40]  Helen Wu (2015).  Geometric Programming.  https://optimization.mccormick.northwstern.edu/index.php/Geometric_Programming.
[41] Xin-She Yang, Christian Huyck, Mehmet Karamanoglu, Nawaz Khan (2014). True global optimality of the pressure vessel design problem: A 40 benchmark for bio-inspired optimisation algorithms.  https://arxiv.org/pdf/1403.7793.pdf.
[42] Xin-She Yang, Amir Hossein Gandomi (2012). Bat algorithm: a novel approach for global engineering optimization. Engineering Computations: International Journal for Computer-Aided Engineering and Software, Vol. 20,No. 5, 2012, pp. 461-483.
[43] B. D. Youn, K. K. Choi (2004). A new response surface methodology for reliability-based design optimization.  Computers and Structures 82 (2004) 241-256.

Solving Another Nonlinear Integer Fractional Programming Problem

Jsun Yui Wong

The computer program listed below seeks to solve the following nonlinear integer fractional programming problem:
   
Minimize    (-X(1) ^ 2 * X(2) ^ .5 + 2 * X(1) * X(2) ^ (-1) - X(2) ^ 2 + (2.8 * X(1) ^ (-1)) * X(2) + 7.5) / (X(1) * X(2) ^ 1.5 + 1) + (X(2) + .1) / (X(1) ^ 2 * X(2) ^ (-1) - 3 * X(1) ^ (-1) + 2 * X(1) * X(2) ^ 2 - 9 * X(2) ^ (-1) + 12)

subject to

         2 * X(1) ^ (-1)+ X(1) * X(2)<=4,

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

         X(1) ^ 2 - 3 * X(2) ^ 3<=2,

        1<=   X(1),  X(2) <=3,

 X(1) and X(2) are integer variables.

The problem above is based on Example 5 in Hou, Shen, and Wang [12], which is
   
Minimize    (-X(1) ^ 2 * X(2) ^ .5 + 2 * X(1) * X(2) ^ (-1) - X(2) ^ 2 + (2.8 * X(1) ^ (-1)) * X(2) + 7.5) / (X(1) * X(2) ^ 1.5 + 1) + (X(2) + .1) / (X(1) ^ 2 * X(2) ^ (-1) - 3 * X(1) ^ (-1) + 2 * X(1) * X(2) ^ 2 - 9 * X(2) ^ (-1) + 12)

subject to

         2 * X(1) ^ (-1)+ X(1) * X(2)<=4,

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

         X(1) ^ 2 - 3 * X(2) ^ 3<=2,

        1<=   X(1),  X(2) <=3.


X(3) through X(5) 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


    71 FOR J40 = 1 TO 2

        74 A(J40) = (1 + RND * 2)


    77 NEXT J40


    128 FOR I = 1 TO 100


        129 FOR KKQQ = 1 TO 2


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


            181 J = 1 + FIX(RND * 2)


            183 R = (1 - RND * 2) * A(J)
            187 X(J) = A(J) + (RND ^ (RND * 10)) * R
        222 NEXT IPP


        223 FOR J41 = 1 TO 2


            225 X(J41) = INT(X(J41))


        235 NEXT J41


        256 FOR J47 = 1 TO 2

            257 IF X(J47) < 1 THEN 1670
            258 IF X(J47) > 3 THEN 1670


        259 NEXT J47
        311 X(3) = 4 - 2 * X(1) ^ (-1) - X(1) * X(2)
        313 X(4) = 5 - X(1) - 3 * X(1) ^ (-1) * X(2)


        315 X(5) = 2 - X(1) ^ 2 + 3 * X(2) ^ 3


        322 FOR J44 = 3 TO 5


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



        327 NEXT J44



        333 REM

        337 REM
        339 REM

        341 POBA = -(-X(1) ^ 2 * X(2) ^ .5 + 2 * X(1) * X(2) ^ (-1) - X(2) ^ 2 + (2.8 * X(1) ^ (-1)) * X(2) + 7.5) / (X(1) * X(2) ^ 1.5 + 1) - (X(2) + .1) / (X(1) ^ 2 * X(2) ^ (-1) - 3 * X(1) ^ (-1) + 2 * X(1) * X(2) ^ 2 - 9 * X(2) ^ (-1) + 12) + 1000000 * (X(3) + X(4) + X(5))


        466 P = POBA

        1111 IF P <= M THEN 1670


        1452 M = P
        1454 FOR KLX = 1 TO 5



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

    1670 NEXT I
    1889 REM  IF M < -.000000000003 THEN 1999


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

    1902 PRINT M, JJJJ

1999 NEXT JJJJ


This BASIC computer program was run with qb64v1000-win [36]. The complete output through JJJJ =    -31999.97000000001 is shown below:   

1    1    0     0    0
-5.516666666666667   -32000

1    1    0     0    0
-5.516666666666667   -31999.99

1    1    0     0    0
-5.516666666666667   -31999.98

2    1    0     0    0
-2.749122807017544   -31999.97000000001

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 [36], the wall-clock time for obtaining the output through JJJJ= -31999.97000000001 was 2 seconds, not including the creating .EXE file time.  One can compare the computational results here with those in Table 2 of Hou, Shen, and Wang [12].   

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] Piya Chootinan, Anthony Chen (2006). Constraint Handling in genetic algorithms using a gradient-based repair method. Computers and Operations Research 33 (2006) 2263-2281.
[7] Amir Hossein Gandomi, Xin-She Yang, Amir Hossein Alavi (2011). Mixed variable structural optimization using Firefly Algorithm, Computers and Structures 89 (2011) 2325-2336.
[8] 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.
[9] 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.
[10] 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.
[11]  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.

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

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

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

[15]  Han-Lin Li, Jung-Fa Tsai, Christodoulos A. Floudas (2008).  Convex underestimating for posynomial functions of postive variables.  Optimization Letters 2, 333-340 (2008).
[16] 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.
[17] 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.
[18] 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.
[19] Ming-Hua Lin, Jung-Fa Tsai (2014). A deterministic global approach for mixed-discrete structural optimization, Engineering Optimization (2014) 46:7, pp. 863-879.
[20]  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.
[21]  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.
[22]  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.
[23] 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/
[24] 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.
[25] 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…/
[26] Gideon Oron (1979) An algorithm for optimizing nonlinear contrained zero-one problems to improve wastewater treatment, Engineering Optimization, 4:2, 109-114.
[27] Osama Abdel Raouf, Ibraham M. Hezam (2014).  Solving Fractional Programming Problems Based on Swarm Intelligence.  Journal of Industrial Engineering International (2014) 10:56.
[28] 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.
[29] 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.
[30]  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.
[31] P. B. Thanedar, G. N. Vanderplaats (1995). Survey of discrete variable optimization for structural design, Journal of Structural Engineering, 121 (2), 301-306 (1995).
[32] Jung-Fa Tsai (2005). Global optimization of nonlinear fractional programming problems in engineering design. Engineering Optimization (2005) 37:4, pp. 399-409.
[33] 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
[34] 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.
[35] 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.
[36] Wikipedia, QB64, https://en.wikipedia.org/wiki/QB64.
[37] Jsun Yui Wong (2012, April 12). The Domino Method of General Integer Nonlinear Programming Applied to a Nonlinear Fractional Programming Problem from the Literature. http://myblogsubstance.typepad.com/substance/2012/04/12/
[38]  Helen Wu (2015).  Geometric Programming.  https://optimization.mccormick.northwstern.edu/index.php/Geometric_Programming.
[39] Xin-She Yang, Christian Huyck, Mehmet Karamanoglu, Nawaz Khan (2014). True global optimality of the pressure vessel design problem: A benchmark for bio-inspired optimisation algorithms.  https://arxiv.org/pdf/1403.7793.pdf.
[40] Xin-She Yang, Amir Hossein Gandomi (2012). Bat algorithm: a novel approach for global engineering optimization. Engineering Computations: International Journal for Computer-Aided Engineering and Software, Vol. 20,No. 5, 2012, pp. 461-483.
[41] B. D. Youn, K. K. Choi (2004). A new response surface methodology for reliability-based design optimization.  Computers and Structures 82 (2004) 241-256.