Saturday, February 24, 2018

Solving a Small Fuzzy Multicriteria Integer Programming Problem


Jsun Yui Wong

The following formulation is from Ignizio and Daniels [15, p. 265]:

Minimize z1' =2x1+x2+5x3,

minimize z2' =2x1+5x2+x3,

subject to

x1+x2+x3>=1,

x1, x2, and x3 are 0-1 integer variables.

In [15] Ignizio and Daniels show their procedure for transforming the problem above to the following problem [15, p. 267] in a format like the format in Ignizio [14, p. 486]:

Minimize lambda,

subject to

lambda>=(1/4)[-1-(-2x1-x2-5x3)],         

lambda>=(1/4)[-1-(-2x1-5x2-x3)],           

x1+x2+x3>=1,

x1, x2, and x3 are 0-1 integer variables.

Lambda is a dummy variable.

The following computer program uses the second formulation shown above.


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
    19 FOR J44 = 1 TO 4
        22 A(J44) = RND

    31 NEXT J44


    128 FOR I = 1 TO 5000



        129 FOR KKQQ = 1 TO 4


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


            181 j = 1 + FIX(RND * 4)


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


        223 FOR j41 = 1 TO 3

            224 X(j41) = INT(X(j41))

            225 IF X(j41) < 0 THEN 1670
            227 IF X(j41) > 1 THEN 1670


        235 NEXT j41

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

        307 X(6) = -1 / 4 * (-1 - (-2 * X(1) - 5 * X(2) - X(3))) + X(4)

        309 X(7) = -1 + X(2) + X(1) + X(3)

        337 FOR J44 = 5 TO 7


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


        339 NEXT J44

        445 POBA = -X(4) + 1000000 * (X(5) + X(6) + X(7))

        466 P = POBA

        1111 IF P <= M THEN 1670


        1450 M = P



        1454 FOR KLX = 1 TO 7

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

    1670 NEXT I

    1889 IF M < -111111 THEN 1999
    1900 PRINT A(1), A(2), A(3), A(4), A(5)
    1901 PRINT A(6), A(7), M, JJJJ

1999 NEXT JJJJ

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

0      0      1      1.000000000000001     
0
0      0      -1.000000000000001     -31999.53000000008       

1      0       0      .2500000000000002   
0
0      0      -.2500000000000002     -31999.31000000011

0      1      0      1.000000000000002     
0
0      0      -1.000000000000002     -31999.24000000012

1      0       0      .250000000000002   
0
0      0      -.250000000000002       -31999.16000000013

1      0       0      .25      0
0      0      -.25      -31999.15000000014

Above there is no rounding by hand; it is just straight copying by hand from the monitor screen. On a personal computer with a Pentium Dual-Core CPU E5200 @2.50GHz, 2.50 GHz, 960 MB of RAM and QB64v1000-win [45], the wall-clock time for obtaining the output through
JJJJ=  -31999.15000000014 was 3 seconds, not including the time for “Creating .EXE file.” One can compare the computational results above to those on page 269 of Ignizio and Daniels [15].             

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

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

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

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

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

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

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

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

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

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

[23] Han-Lin Li, Jung-Fa Tsai, Christodoulos A. Floudas (2008). Convex underestimating for posynomial functions of postive variables. Optimization Letters 2, 333-340 (2008).
[24] 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.
[25] 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.
[26] 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.
[27] Ming-Hua Lin, Jung-Fa Tsai (2014). A deterministic global approach for mixed-discrete structural optimization, Engineering Optimization (2014) 46:7, pp. 863-879.
[28] 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.
[29] 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.
[30] 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.

[31] 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.
[32] 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/
[33] 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.
[34] 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…/
[35] Gideon Oron (1979) An algorithm for optimizing nonlinear contrained zero-one problems to improve wastewater treatment, Engineering Optimization, 4:2, 109-114.
[36] Osama Abdel Raouf, Ibraham M. Hezam (2014). Solving Fractional Programming Problems Based on Swarm Intelligence. Journal of Industrial Engineering International (2014) 10:56.
[37] 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.
[38] 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.
[39] 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.
[40] P. B. Thanedar, G. N. Vanderplaats (1995). Survey of discrete variable optimization for structural design, Journal of Structural Engineering, 121 (2), 301-306 (1995).
[41] Jung-Fa Tsai (2005). Global optimization of nonlinear fractional programming problems in engineering design. Engineering Optimization (2005) 37:4, pp. 399-409.
[42] 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
[43] 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.
[44] 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.
[45] Wikipedia, QB64, https://en.wikipedia.org/wiki/QB64.

Monday, February 19, 2018

Solving a Nonlinear Integer Fractional Programming Problem with This Blog's Solver

Jsun Yui Wong


The computer program listed below seeks to solve the problem shown immediately below:

Maximize               (2 * X(1) + 4 * X(2)) / (4 * X(1) + X(2) + 1)

subject to

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

        5 * X(2) + 2 * X(1)  + X(4) = 23,   

         2 * X(1) + X(2)         + X(5) = 15, 

         2 * X(2) - 3 * X(1) + X(6) = 4, 

         4 * X(2) + X(1)    + X(7) = 22,

         5 * X(1) + 4 * X(2)   + X(8) = 46,

         -2 * X(2) + X(1)       + X(9) = 5,

            X(1)*X(2) = 0,

          0<=X(1), X(2), X(3),..., X(9)<=12,

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

One notes the special constraint above--X(1)*X(2) = 0; one also notes the second last line above, which is 0<=X(1), X(2), X(3),..., X(9)<=12.

The problem above is based on the following problem on page 560 of Garg and Swarup [12]:

Maximize          Z=     (2 * X(1) + 4 * X(2)) / (4 * X(1) + X(2) + 1)

subject to

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

        5 * X(2) + 2 * X(1)  + X(4) = 23,   

         2 * X(1) + X(2)         + X(5) = 15, 

         2 * X(2) - 3 * X(1) + X(6) = 4, 

         4 * X(2) + X(1)    + X(7) = 22,

         5 * X(1) + 4 * X(2)   + X(8) = 46,

         -2 * X(2) + X(1)       + X(9) = 5,

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

Below one notes line 443, which is         443 POBA = (2 * X(1) + 4 * X(2)) / (4 * X(1) + X(2) + 1) + 1000000 * (X(3) + X(4) + X(5) + X(6) + X(7) + X(8) + X(9)) - 1000000 * ABS(X(1) * X(2)).


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 -31999 STEP .01


    14 RANDOMIZE JJJJ
    16 M = -1D+37
    19 FOR J44 = 1 TO 9
        22 A(J44) = RND * 12
       
    31 NEXT J44
   

    128 FOR I = 1 TO 500000



        129 FOR KKQQ = 1 TO 9


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


            181 j = 1 + FIX(RND * 9)


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


        223 FOR j41 = 1 TO 9

            224 X(j41) = INT(X(j41))

            225 IF X(j41) < 0 THEN 1670


        235 NEXT j41



        301 X(3) = 1 + 2 * X(1) - X(2)

        303 X(4) = 23 - 5 * X(2) - 2 * X(1)

        305 X(5) = 15 - 2 * X(1) - X(2)

        307 X(6) = 4 - 2 * X(2) + 3 * X(1)

        309 X(7) = 22 - 4 * X(2) - X(1)

        311 X(8) = 46 - 5 * X(1) - 4 * X(2)

        313 X(9) = 5 + 2 * X(2) - X(1)




        337 FOR J44 = 3 TO 9


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


        339 NEXT J44
     
        443 POBA = (2 * X(1) + 4 * X(2)) / (4 * X(1) + X(2) + 1) + 1000000 * (X(3) + X(4) + X(5) + X(6) + X(7) + X(8) + X(9)) - 1000000 * ABS(X(1) * X(2))


        466 P = POBA

        1111 IF P <= M THEN 1670


        1450 M = P



        1454 FOR KLX = 1 TO 9

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

    1670 NEXT I

    1889 IF M < -111111 THEN 1999
    1900 PRINT A(1), A(2), A(3), A(4), A(5)
    1901 PRINT A(6), A(7), A(8), A(9), M, JJJJ

1999 NEXT JJJJ


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

5 0 0 0 0
0 0 0 0       .4761904761904762
-31999.98

5 0 0 0 0
0 0 0 0       .4761904761904762
-31999.73000000004

5 0 0 0 0
0 0 0 0       .4761904761904762
-31999.72000000005

5 0 0 0 0
0 0 0 0       .4761904761904762
-31999.60000000006

0 1 0 0 0
0 0 0 0       2
-31999.56000000007

1 0 0 0 0
0 0 0 0       .4
-31999.4100000001

0 1 0 0 0
0 0 0 0       2
-31999.34000000011

Above there is no rounding by hand; it is just straight copying by hand from the monitor screen.  On a personal computer with a Pentium Dual-Core CPU E5200 @2.50GHz, 2.50 GHz, 960 MB of RAM and qb64v1000-win [45], the wall-clock time for obtaining the output through JJJJ= -31999.34000000011 was 70 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] 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] 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]  K. C. Garg, Kanti Swarup  (1978).  Linear fractional functional complementary programming with extreme point optimization, Indian Journal of Pure and Applied Mathematics 9, 556-563.

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

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

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

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

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

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

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

[22]  Han-Lin Li, Jung-Fa Tsai, Christodoulos A. Floudas (2008).  Convex underestimating for posynomial functions of postive variables.  Optimization Letters 2, 333-340 (2008).
[23] 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.
[24] 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.
[25] 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.
[26] Ming-Hua Lin, Jung-Fa Tsai (2014). A deterministic global approach for mixed-discrete structural optimization, Engineering Optimization (2014) 46:7, pp. 863-879.
[27]  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.
[28]  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.
[29]  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.

[30] 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.
[31] 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/
[32] Microsoft Corp., BASIC, Second Edition (May 1982), Version 1.10. Boca Raton, Florida: IBM Corp., Personal Computer, P. O. Box 1328-C, Boca Raton, Florida 33432, 1981.

[33] Katta G. Murty.  Operations Research.  Prentice-Hall, Inc., 1995..

[34] 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…/
[35] Gideon Oron (1979) An algorithm for optimizing nonlinear contrained zero-one problems to improve wastewater treatment, Engineering Optimization, 4:2, 109-114.
[36] Osama Abdel Raouf, Ibraham M. Hezam (2014).  Solving Fractional Programming Problems Based on Swarm Intelligence.  Journal of Industrial Engineering International (2014) 10:56.
[37] 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.
[38] 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.
[39]  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.
[40] P. B. Thanedar, G. N. Vanderplaats (1995). Survey of discrete variable optimization for structural design, Journal of Structural Engineering, 121 (2), 301-306 (1995).
[41] Jung-Fa Tsai (2005). Global optimization of nonlinear fractional programming problems in engineering design. Engineering Optimization (2005) 37:4, pp. 399-409.
[42] 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
[43] 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.
[44] 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.
[45] Wikipedia, QB64, https://en.wikipedia.org/wiki/QB64.
[46] Jsun Yui Wong (2018, January 1). Solving a Nonlinear Integer Fractional Programming Problem with 20 General Integer Variables. http://nonlinearintegerprogrammingsolver.blogspot.ca/2018/01/solving-nonlinear-integer-fractional.html.         

Wednesday, February 7, 2018

Tuesday, February 6, 2018

Solving a Multiple Objective Fractional Programming Problem Using the Traditional Utility Approach

Jsun Yui Wong

The computer program listed below seeks to solve the following problem from page 444 of Chang [6]:
 
Maximize    (alpha / gamma) + (beta / gamma),  which is the sum of two objectives--see Chang [6, p. 444] and MacCrimmon [28, pp.18-44],

where alpha = -1 * (-3 * X(1) - 2 * X(2) - 3 * X(3) - 3 * X(4) - 2 * X(5) - X(6) - 2 * X(7) - 3 * X(8) - 4 * X(9) - 3 * X(10) - 2 * X(11) - X(12)),

         beta = -1 * (-3 * X(1) - 1.5 * X(2) - 2 * X(3) - 2.5 * X(4) - X(5) - .8 * X(6) - 2 * X(7) - X(8) - 2.5 * X(9) - 2 * X(10) - X(11) - 3 * X(12)),

        gamma = -1 * (-.1 * X(1) - .2 * X(2) - .2 * X(3) - .2 * X(4) - .2 * X(5) - .3 * X(6) - .2 * X(7) - .1 * X(8) - .2 * X(9) - .1 * X(10) - .2 * X(11) - .2 * X(12)),


subject to

         -1*( - 3 * X(1) - 2 * X(2) - 3 * X(3) - 3 * X(4) - 2 * X(5) - X(6) - 2 * X(7) - 3 * X(8) - 4 * X(9) - 3 * X(10) - 2 * X(11) - X(12))<=15,

        - 1*( - .1 * X(1) - .2 * X(2) - .2 * X(3) - .2 * X(4) - .2 * X(5) - .3 * X(6) - .2 * X(7) - .1 * X(8) - .2 * X(9) - .1 * X(10) - .2 * X(11) - .2 * X(12))<=1,

         X(1) + X(2) + X(3) + X(4) + X(5) + X(6) + X(7) + X(8) + X(9) + X(10) + X(11) + X(12)>=6,

where X(1) thhrough X(12) are 0-1 variables.
       
         X(13) through X(15) 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 31999 STEP .01


    14 RANDOMIZE JJJJ
    16 M = -1D+37


    71 FOR J40 = 1 TO 12
        75 A(J40) = 1


    77 NEXT J40

    80 A(13) = RND

    87 A(14) = RND

    89 A(15) = RND
    128 FOR I = 1 TO 50000


        129 FOR KKQQ = 1 TO 15


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


            181 j = 1 + FIX(RND * 15)


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


        223 FOR j41 = 1 TO 12


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


        235 NEXT j41

        308 alpha = -1 * (-3 * X(1) - 2 * X(2) - 3 * X(3) - 3 * X(4) - 2 * X(5) - X(6) - 2 * X(7) - 3 * X(8) - 4 * X(9) - 3 * X(10) - 2 * X(11) - X(12))

        309 beta = -1 * (-3 * X(1) - 1.5 * X(2) - 2 * X(3) - 2.5 * X(4) - X(5) - .8 * X(6) - 2 * X(7) - X(8) - 2.5 * X(9) - 2 * X(10) - X(11) - 3 * X(12))
        310 gamma = -1 * (-.1 * X(1) - .2 * X(2) - .2 * X(3) - .2 * X(4) - .2 * X(5) - .3 * X(6) - .2 * X(7) - .1 * X(8) - .2 * X(9) - .1 * X(10) - .2 * X(11) - .2 * X(12))


        318 X(13) = 15 - 3 * X(1) - 2 * X(2) - 3 * X(3) - 3 * X(4) - 2 * X(5) - X(6) - 2 * X(7) - 3 * X(8) - 4 * X(9) - 3 * X(10) - 2 * X(11) - X(12)

        320 X(14) = 1 - .1 * X(1) - .2 * X(2) - .2 * X(3) - .2 * X(4) - .2 * X(5) - .3 * X(6) - .2 * X(7) - .1 * X(8) - .2 * X(9) - .1 * X(10) - .2 * X(11) - .2 * X(12)

        321 X(15) = -6 + X(1) + X(2) + X(3) + X(4) + X(5) + X(6) + X(7) + X(8) + X(9) + X(10) + X(11) + X(12)


        322 FOR J44 = 13 TO 15


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


        327 NEXT J44

        387 POBA = (alpha / gamma) + (beta / gamma) + 100000 * (X(13) + X(14) + X(15))

        466 P = POBA

        1111 IF P <= M THEN 1670

        1452 M = P
        1454 FOR KLX = 1 TO 15

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

    1670 NEXT I
    1889 IF M > 31 THEN GOTO 1900 ELSE GOTO 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)

    1922 PRINT M, JJJJ

1999 NEXT JJJJ


This BASIC computer program was run with qb64v1000-win [42]. The output through JJJJ = -31978.39000000346 is summarized below:

.
.
.

1   0   1   0   0
0   1   1   0   1
0   1   0   0   0
31.11111111111111         -31985.6100000023

1   0   0   1   0
0   1   1   0   1
0   1   0   0   0
31.66666666666667         -31979.01000000336

1   0   0   1   0
0   1   1   0   1
0   1   0   0   0
31.66666666666667         -31978.39000000346

Above there is no rounding by hand; it is just straight copying by hand from the monitor screen.  On a personal computer with a Pentium Dual-Core CPU E5200 @2.50GHz, 2.50 GHz, 960 MB of RAM and qb64v1000-win [42], the wall-clock time for obtaining the output through
JJJJ=  -31978.39000000346 was 6 minutes, total, including the time for "Creating .EXE file."  One can compare the computational results above with those on page 445 of Chang [6].             

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

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

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

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

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

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

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

[20]  Han-Lin Li, Jung-Fa Tsai, Christodoulos A. Floudas (2008).  Convex underestimating for posynomial functions of postive variables.  Optimization Letters 2, 333-340 (2008).
[21] 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.
[22] 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.
[23] 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.
[24] Ming-Hua Lin, Jung-Fa Tsai (2014). A deterministic global approach for mixed-discrete structural optimization, Engineering Optimization (2014) 46:7, pp. 863-879.
[25]  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.
[26]  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.
[27]  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.

[28] 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.
[29] 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/
[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] 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…/
[32] Gideon Oron (1979) An algorithm for optimizing nonlinear contrained zero-one problems to improve wastewater treatment, Engineering Optimization, 4:2, 109-114.
[33] Osama Abdel Raouf, Ibraham M. Hezam (2014).  Solving Fractional Programming Problems Based on Swarm Intelligence.  Journal of Industrial Engineering International (2014) 10:56.
[34] 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.
[35] 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.
[36]  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.
[37] P. B. Thanedar, G. N. Vanderplaats (1995). Survey of discrete variable optimization for structural design, Journal of Structural Engineering, 121 (2), 301-306 (1995).
[38] Jung-Fa Tsai (2005). Global optimization of nonlinear fractional programming problems in engineering design. Engineering Optimization (2005) 37:4, pp. 399-409.
[39] 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
[40] 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.
[41] 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.
[42] Wikipedia, QB64, https://en.wikipedia.org/wiki/QB64.
[43] Jsun Yui Wong (2018, January 1). Solving a Nonlinear Integer Fractional Programming Problem with 20 General Integer Variables. http://nonlinearintegerprogrammingsolver.blogspot.ca/2018/01/solving-nonlinear-integer-fractional.html.         

Thursday, February 1, 2018

Solving a Multi Objective Quadratic Fractional Problem with Lachhwani's Fuzzy Goal Programming Approach and with the Solver Here

Jsun Yui Wong

The computer program listed below seeks to solve the following problem in Lachhwani [17, p. 54, Model II]:
 
Minimize              X(3) + X(4), which are two deviational variables,

subject to

        (2 * X(1) + 20 * X(2) + 12) * (X(1) + 10 * X(2) + 17) * X(7)+ .43653*X(3) - .43653 * X(5) - 1.67289=0,

        (2 * X(1) + 20 * X(2) + 12) * (3 * X(1) + 30 * X(2) + 51) * X(8)+  .43653*   X(4) - .43653 * X(6) - 2.50934=0,   

         ((-2 * X(1) - 5 * X(2) + 15) * (2 * X(1) + 5 * X(2) + 11))*X(7)=1,

         ((-4 * X(1) - 10 * X(2) + 30) * (2 * X(1) + 5 * X(2) + 11))*X(8)=1,

        X(1) + 15 * X(2)<=2,

        3 * X(1) + 20 * X(2)<=4,

         X(1),  X(2), X(3), X(4), X(5), X(6)>=0,

          X(7), X(8)>0.

          X(9) and X(10) 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
    51 FOR J40 = 1 TO 8
        55 A(J40) = RND


    56 NEXT J40


    128 FOR I = 1 TO 100000


        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)


            183 r = (1 - RND * 2) * A(j)
            187 X(j) = A(j) + (RND ^ (RND * 10)) * r
        222 NEXT IPP
        224 FOR J47 = 1 TO 6


            226 IF X(J47) < 0 THEN 1670
        227 NEXT J47


        231 X(7) = 1 / ((-2 * X(1) - 5 * X(2) + 15) * (2 * X(1) + 5 * X(2) + 11))

        234 X(8) = 1 / ((-4 * X(1) - 10 * X(2) + 30) * (2 * X(1) + 5 * X(2) + 11))

        238 X(3) = (-(2 * X(1) + 20 * X(2) + 12) * (X(1) + 10 * X(2) + 17) * X(7) + .43653 * X(5) + 1.67289) / .43653

        240 X(4) = (-(2 * X(1) + 20 * X(2) + 12) * (3 * X(1) + 30 * X(2) + 51) * X(8) + .43653 * X(6) + 2.50934) / .43653

        244 FOR J47 = 1 TO 6


            246 IF X(J47) < 0 THEN 1670
        247 NEXT J47

        267 X(9) = 2 - X(1) - 15 * X(2)
        268 X(10) = 4 - 3 * X(1) - 20 * X(2)

        337 FOR J44 = 9 TO 10


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


        339 NEXT J44


        451 POBA = -X(3) - X(4) + 1000000 * (X(9) + X(10))


        466 P = POBA

        1111 IF P <= M THEN 1670


        1450 M = P


        1454 FOR KLX = 1 TO 10

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

        1457 M = P

        1559 GOTO 128

    1670 NEXT I
    1889 IF M < -.0001 THEN 1999


    1900 PRINT A(1), A(2), A(3), A(4), A(5), A(6)
    1902 PRINT A(7), A(8), A(9), A(10), M, JJJJ

1999 NEXT JJJJ

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

.7998398353134477               8.001067764577013D-02         1.6366542727326D-05
3.600378059966596D-05        2.544311441144984D-22         7.590194109784202D-23
5.917159765808536D-03        2.958579882904268D-03         0
0                                         -5.237032332699196D-05        -31999.99

.8000359848619804             7.999336715433525D-02            0
1.1453966507151D-05           2.878576451779904D-22            9.636898226792295D-23
5.917159763366334D-03        2.958579881683167D-03           0
0                                         -1.1453966507151D-05              -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 [39], the wall-clock time for obtaining the output through JJJJ= -31999.97000000001 was 10 seconds, total, including the time for "Creating .EXE file."  One can compare the computational results above with those on pp. 54-55 of Lachhwani [17]. 

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]  K. Lachhwani (2014).  FGP approach to multi objectve quadratic fraction programming problem.  Indian Journal of Industrial Mathematics, vol. 6, No.1, pp. 49-57.
Available online at http://ijim.srbiau.ac.ir/

[18]  Han-Lin Li, Jung-Fa Tsai, Christodoulos A. Floudas (2008).  Convex underestimating for posynomial functions of postive variables.  Optimization Letters 2, 333-340 (2008).
[19] 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.
[20] 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.
[21] 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.
[22] Ming-Hua Lin, Jung-Fa Tsai (2014). A deterministic global approach for mixed-discrete structural optimization, Engineering Optimization (2014) 46:7, pp. 863-879.
[23]  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.
[24]  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.
[25]  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.
[26] 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/
[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] 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…/
[29] Gideon Oron (1979) An algorithm for optimizing nonlinear contrained zero-one problems to improve wastewater treatment, Engineering Optimization, 4:2, 109-114.
[30] Osama Abdel Raouf, Ibraham M. Hezam (2014).  Solving Fractional Programming Problems Based on Swarm Intelligence.  Journal of Industrial Engineering International (2014) 10:56.
[31] 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.
[32] 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.
[33]  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.
[34] P. B. Thanedar, G. N. Vanderplaats (1995). Survey of discrete variable optimization for structural design, Journal of Structural Engineering, 121 (2), 301-306 (1995).
[35] Jung-Fa Tsai (2005). Global optimization of nonlinear fractional programming problems in engineering design. Engineering Optimization (2005) 37:4, pp. 399-409.
[36] 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
[37] 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.
[38] 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.
[39] Wikipedia, QB64, https://en.wikipedia.org/wiki/QB64.
[40] Jsun Yui Wong (2018, January 1). Solving a Nonlinear Integer Fractional Programming Problem with 20 General Integer Variables. http://nonlinearintegerprogrammingsolver.blogspot.ca/2018/01/solving-nonlinear-integer-fractional.html.