Wednesday, April 25, 2018

Solving a Signomial Discrete Programming Problem


Jsun Yui Wong

The computer program listed below seeks to solve the following signomial discrete optimization problem from Tsai, Li, and Hu [46, p. 619, Example 2]: 

Minimize              .6224 * X(1) * X(3) * X(4) + 1.7781 * X(2) * X(3) ^ 2 + 3.1661 * X(1) ^ 2 * X(4) + 19.84 * X(1) ^ 2 * X(3)

subject to

        - X(1) + .0193 * X(3)<=0

        - X(2) + .00954 * X(3)<=0

        - 3.141592654 * X(3) ^ (2) * X(4) - (4 / 3) * 3.141592654 * X(3) ^ 3 + 750 * 1728<=0

         -240+X(4)<=0 

         1<=X(1)<=1.375

         0.625<=X(2)<=1

         48<=X(3)<=52

         90<=X(4)<=112

where X(1) and X(2) are discrete variables with discreteness of .0625, and X(3) and X(4) are integer variables.

X(5) through X(7) below are slack variables added.


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
    31 unitsize(1) = .0625

    33 unitsize(2) = .0625

    35 unitsize(3) = 1


    37 unitsize(4) = 1


    61 A(1) = 1 + FIX(RND * 7) * unitsize(1)

    63 A(2) = .625 + FIX(RND * 7) * unitsize(2)

    65 A(3) = 48 + FIX(RND * 5)


    67 A(4) = 90 + FIX(RND * 23)


    128 FOR I = 1 TO 3000


        129 FOR KKQQ = 1 TO 4


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


            181 j = 1 + FIX(RND * 4)


            183 REM r = (1 - RND * 2) * A(j)
            187 REM X(j) = A(j) + (RND ^ (RND * 10)) * r
            197 IF RND < .5 THEN X(j) = A(j) - FIX(RND * 3) * unitsize(j) ELSE X(j) = A(j) + FIX(RND * 3) * unitsize(j)

        222 NEXT IPP


        268 IF X(1) < 1## THEN 1670
        269 IF X(1) > 1.375## THEN 1670


        272 IF X(2) < .625## THEN 1670
        273 IF X(2) > 1## THEN 1670


        274 IF X(3) < 48## THEN 1670
        275 IF X(3) > 52## THEN 1670
        284 IF X(4) < 90## THEN 1670
        285 IF X(4) > 112## THEN 1670


        308 X(5) = X(1) - .0193 * X(3)


        309 X(6) = X(2) - .00954 * X(3)
        319 X(7) = 3.141592654 * X(3) ^ (2) * X(4) + (4 / 3) * 3.141592654 * X(3) ^ 3 - 750 * 1728

        401 FOR J47 = 5 TO 7

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


        403 NEXT J47

        443 POBA = -.6224 * X(1) * X(3) * X(4) - 1.7781 * X(2) * X(3) ^ 2 - 3.1661 * X(1) ^ 2 * X(4) - 19.84 * X(1) ^ 2 * X(3) + 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 < -7080 THEN 1999


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

1999 NEXT JJJJ

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

1     .625       51     91       0
0     0       -7079.0373125      -32000

1     .625       51     91       0
0     0       -7079.0373125      -31999.98

1     .625       51     91       0
0     0       -7079.0373125      -31999.97000000001

1     .625       51     91       0
0     0       -7079.0373125      -31999.96000000001

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 [51], the wall-clock time (not CPU time) for obtaining the output through
JJJJ =  -31999.96000000001 was 2 seconds, not including the time for “Creating .EXE file”  (10 seconds, total, including the time for “Creating .EXE file”).  One can compare the computational results above with those in Table 1 of Tsai, Li, and Hu [46, p. 620]. 
       

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] E. L. Hannan (1981), Linear programming with multiple fuzzy goals, Fuzzy Sets and Systems 6 (1981) 235-246.     

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

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

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

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

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

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

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

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

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

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

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

[25] Han-Lin Li, Jung-Fa Tsai, Christodoulos A. Floudas (2008). Convex underestimating for posynomial functions of postive variables. Optimization Letters 2, 333-340 (2008).
[26] 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.

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

[28] 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.
[29] 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.
[30] Ming-Hua Lin, Jung-Fa Tsai (2014). A deterministic global approach for mixed-discrete structural optimization, Engineering Optimization (2014) 46:7, pp. 863-879.
[31] 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.
[32] 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.
[33] 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.

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

[37] Katta Murty, Operations Research: Deterministic Optimization Models. Prentice-Hall, 1995.

[38] 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…/
[39] Gideon Oron (1979) An algorithm for optimizing nonlinear contrained zero-one problems to improve wastewater treatment, Engineering Optimization, 4:2, 109-114.
[40] Osama Abdel Raouf, Ibraham M. Hezam (2014). Solving Fractional Programming Problems Based on Swarm Intelligence. Journal of Industrial Engineering International (2014) 10:56.
[41] 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.
[42] 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.

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

[44] 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.
[45] P. B. Thanedar, G. N. Vanderplaats (1995). Survey of discrete variable optimization for structural design, Journal of Structural Engineering, 121 (2), 301-306 (1995).

[46] Jung-Fa Tsai, Han-Lin Li, Nian-Ze Hu (2002).  Global optimization for signomial discrete programming problems in engineering design. Engineering Optimization 34:6, 613-622 (2002).

[47] Jung-Fa Tsai (2005). Global optimization of nonlinear fractional programming problems in engineering design. Engineering Optimization (2005) 37:4, pp. 399-409.
[48] 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
[49] 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.
[50] 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.
[51] Wikipedia, QB64, https://en.wikipedia.org/wiki/QB64.
[52] Taeyong Yang, James P. Ignizio, and Hyun-Joon Kim, Fuzzy programming with nonlinear membership functions: Piecewise linear approximation. Fuzzy Sets and Systems 41 (1991) 39-53.
[53] H.-J. Zimmermann (1978), Fuzzy programming and linear programming with several objective functions. Fuzzy Sets and Systems 1 (1978) 45-55.

No comments:

Post a Comment