Solving a Nonlinear Programming Problem with Continuous Signomial Terms

Jsun Yui Wong

The computer program listed below seeks to solve the following nonlinear programming problem:

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,

– 3.141592654 * X(3) ^ 2 * X(4) – (4 / 3) * 3.141592654 * X(3) ^ 3 + 1296000 <= 0,

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

0 <= X(1) <= 2.919,

0 <= X(2) <= 2.919,

0 <= X(3) <= 500,

10<= X(4) <= 240,

where all four variables are continuous.
.
The problem above is based on Li et al.’s pressure vessel optimization problem, [16, pp. 931-932], which is

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,

– 3.141592654 * X(3) ^ 2 * X(4) – (4 / 3) * 3.141592654 * X(3) ^ 3 + 1296000 <= 0,

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

0 <= X(1) <= 2.919,

0 <= X(2) <= 2.919,

0 <= X(3) <= 500,

10<= X(4) <= 240,

where X(4) is continuous and the other three are discrete.

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

22 REM

67 A(1) = RND * 2.919
69 A(2) = RND * 2.919
70 A(3) = RND * 500
77 A(4) = 10 + RND * 230

128 FOR I = 1 TO 200000

129 FOR KKQQ = 1 TO 4

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

151 J = 1 + FIX(RND * 4)

 

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

191 NEXT IPP
195 REM

197 REM

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

221 IF X(3) < 0 THEN 1670
223 IF X(3) > 500 THEN 1670

 

231 IF X(4) < 10 THEN 1670
233 IF X(4) > 240 THEN 1670

 

305 X(5) = X(1) – .0193 * X(3)

306 X(6) = -1296000 + 3.141592654 * X(3) ^ 2 * X(4) + (4 / 3) * 3.141592654 * X(3) ^ 3

 

307 X(7) = X(2) – .00954 * X(3)

 

325 FOR J99 = 5 TO 7

 

330 IF X(J99) < 0 THEN X(J99) = X(J99) ELSE X(J99) = 0

331 NEXT J99

 

359 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

 

1452 M = P
1454 FOR KLX = 1 TO 7

 

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

1670 NEXT I

1889 IF M < -5815 THEN 1999

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

1999 NEXT JJJJ

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

.7341974261537864          .3629141681609905          38.0413174172946
234.3433308095876          0
0          0          -5814.338558493735          -31998.8000000002

.7296919488290422          .3606871083849268          37.80787299632342
238.1857223382523          0
0          0          -5807.524953049913          -31998.08000000031

Above there is no rounding by hand; it is just straight copying by hand from the monitor screen. On a personal computer with a Pentium Dual-Core CPU E5200 @2.50GHz, 2.50 GHz, 960 MB of RAM and qb64v1000-win [33], the wall-clock time for obtaining the output through
JJJJ= -31998.08000000031 was 90 seconds, total, including the time for creating the .EXE file. One can cautiously compare the computational results here with those in Table 5 of Li et al. [16, p. 932] because here the four variables are continuous whereas there three are discrete.

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

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

[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] 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.
[17] Ming-Hua Lin, Jung-Fa Tsai (2014). A deterministic global approach for mixed-discrete structural optimization, Engineering Optimization (2014) 46:7, pp. 863-879.
[18] 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.
[19] 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.
[20] 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.
[21] 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/
[22] 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.
[23] 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…/
[24] Gideon Oron (1979) An algorithm for optimizing nonlinear contrained zero-one problems to improve wastewater treatment, Engineering Optimization, 4:2, 109-114.
[25] 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.
[26] 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.
[27] 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.
[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] Wikipedia, QB64, https://en.wikipedia.org/wiki/QB64.
[34] 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/
[35] Helen Wu (2015). Geometric Programming. https://optimization.mccormick.northwstern.edu/index.php/Geometric_Programming.
[36] 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.
[37] 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.
[38] 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 a Signomial Programming Problem in Three Discrete Variables and One Continuous Variable

Jsun Yui Wong

The computer program listed below seeks to solve the following pressure vessel minimization problem in Li et al. [16, pp. 931-932]:

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,

1296000 – 3.141592654 * X(3) ^ 2 * X(4) – (4 / 3) * 3.141592654 * X(3) ^ 3<=0,

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

X(1), X(2) Epsilon { (2.919/(400-1) )* ( l-1 ) : l=1, 2, 3,…, 400 } ,

X(3) Epsilon { (500/(400-1) )* ( l-1 ) : l=1, 2, 3,…, 400 } ,

10<= X(4) <=240,

where 400 is the number of discrete values for X(1), X(2), and X(3).

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

 

67 A(1) = 0 + FIX(RND * 401) * .0072975
69 A(2) = 0 + FIX(RND * 401) * .0072975
70 A(3) = 0 + FIX(RND * 401) * 1.25
77 A(4) = 10 + (RND * 230)

128 FOR I = 1 TO 50000

 

129 FOR KKQQ = 1 TO 4

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

151 J = 1 + FIX(RND * 3)
155 IF J = 1 GOTO 167 ELSE IF J = 2 GOTO 169 ELSE GOTO 173

167 X(1) = 0 + FIX(RND * 401) * .0072975
168 GOTO 191
169 X(2) = 0 + FIX(RND * 401) * .0072975

171 GOTO 191
173 X(3) = 0 + FIX(RND * 401) * 1.25

 

183 REM r = (1 – RND * 2) * A(J)
187 REM X(J) = A(J) + (RND ^ (RND * 10)) * r
189 REM X(J) = .5 + FIX(RND * 505) * .01

 

191 NEXT IPP
195 r = (1 – RND * 2) * A(4)

197 X(4) = A(4) + (RND ^ (RND * 10)) * r

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

221 IF X(3) < 0 THEN 1670
223 IF X(3) > 500 THEN 1670

 

231 IF X(4) < 10 THEN 1670
233 IF X(4) > 240 THEN 1670

 

305 X(5) = X(1) – .0193 * X(3)

306 X(6) = -1296000 + 3.141592654 * X(3) ^ 2 * X(4) + (4 / 3) * 3.141592654 * X(3) ^ 3

 

307 X(7) = X(2) – .00954 * X(3)

 

325 FOR J99 = 5 TO 7

 

330 IF X(J99) < 0 THEN X(J99) = X(J99) ELSE X(J99) = 0

331 NEXT J99

 

359 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

 

1452 M = P
1454 FOR KLX = 1 TO 7

 

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

1670 NEXT I

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

1999 NEXT JJJJ

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

.7516425       .3721725       38.75       223.1234495163882
0
0       0       -5871.937275375835       -31998.70000000021

.7516425       .3721725       38.75       223.4033250661287
0
0       0       -5877.51151586208       -31997.32000000043

.7516425      .3721725       38.75       223.2190193364292
0
0       0       -5873.840725536562       -31991.60000000135

.7516425       .3721725       38.75       223.384842141064
0
0      0       -5877.143394140504       -31990.7000000015

Above there is no rounding by hand; it is just straight copying by hand from the monitor screen. On a personal computer with a Pentium Dual-Core CPU E5200 @2.50GHz, 2.50 GHz, 960 MB of RAM and qb64v1000-win [33], the wall-clock time for obtaining the output through JJJJ= -31990.7000000015 was 100 seconds, including the time for creating the .EXE file. One can compare the computational results here with those in Table 5 of Li et al. [16, p. 932].

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

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

[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] 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.
[17] Ming-Hua Lin, Jung-Fa Tsai (2014). A deterministic global approach for mixed-discrete structural optimization, Engineering Optimization (2014) 46:7, pp. 863-879.
[18] 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.
[19] 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.
[20] 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.
[21] 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/
[22] 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.
[23] 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…/
[24] Gideon Oron (1979) An algorithm for optimizing nonlinear contrained zero-one problems to improve wastewater treatment, Engineering Optimization, 4:2, 109-114.
[25] 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.
[26] 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.
[27] 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.
[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] Wikipedia, QB64, https://en.wikipedia.org/wiki/QB64.
[34] 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/
[35] Helen Wu (2015). Geometric Programming. https://optimization.mccormick.northwstern.edu/index.php/Geometric_Programming.
[36] 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.
[37] 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.
[38] B. D. Youn, K. K. Choi (2004). A new responsesurface methodology for reliability-based design optimization. Computers and Structures 82 (2004) 241-256.

Solving an Integer Fractional Nonlinear Programming Problem

Jsun Yui Wong

The computer program listed below seeks to solve the following integer fractional nonlinear programming problem:

Minimize ((2 + X(5)) / (X(1) * X(2) * (2 * X(3) + X(4)))) – X(5) ^ .5 * X(3) ^ 1.5 + 2 * X(2) + X(4)

subject to

8 / (X(1) * (X(2) + 3 * X(4)) ^ 2) + 1 / (X(5) ^ 3)<=200,

-2 * X(1) + X(3) – X(4)<=1000,

X(1)+ X(3) + .5 * X(5)<=800,

.1<= X(i) <= 1000, i=1, 2, 3, 4, 5,

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

This integer fractional nonlinear programming problem is based on Example 3 in Tsai [26]. About his Eample 3 Tsai wrote that “This program is a highly NFP program unsolvable by current fractional programming methods,” Tsai [26 (2005), p. 408].

X(6) through X(8) 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
70 FOR J44 = 1 TO 5

72 A(J44) = .1 + RND * 9.9

 

73 NEXT J44

 

128 FOR I = 1 TO 10000

 

129 FOR KKQQ = 1 TO 5

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

 

181 J = 1 + FIX(RND * 5)

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

191 NEXT IPP

196 FOR J99 = 1 TO 5

199 X(J99) = INT(X(J99))

201 IF X(J99) < .1 THEN 1670
203 IF X(J99) > 1000 THEN 1670
204 NEXT J99

305 X(6) = 200 – 8 / (X(1) * (X(2) + 3 * X(4)) ^ 2) – 1 / (X(5) ^ 3)

 

306 X(7) = 1000 + 2 * X(1) – X(3) + X(4)

 

307 X(8) = 800 – X(1) – X(3) – .5 * X(5)

 

325 FOR J99 = 6 TO 8

327 XX(J99) = X(J99)

 

330 IF X(J99) < 0 THEN X(J99) = X(J99) ELSE X(J99) = 0

331 NEXT J99

 

357 POBA = – ((2 + X(5)) / (X(1) * X(2) * (2 * X(3) + X(4)))) + X(5) ^ .5 * X(3) ^ 1.5 – 2 * X(2) – X(4) +1000000 * (X(6) + X(7) + X(8))

 

466 P = POBA

1111 IF P <= M THEN 1670

 

1452 M = P
1454 FOR KLX = 1 TO 8

 

1456 XXX(KLX) = XX(KLX)

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

1670 NEXT I

 

1889 IF M < 293180 THEN 1999

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

1902 PRINT A(6), A(7), A(8), M, JJJJ

1999 NEXT JJJJ

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

1       1       598      1      402
0       0       0       293197.227263911
-31999.91000000001

1       1       599       1       400
0       0       0       293200.8932030697
-31999.90000000002

1       1      599      1       400
0       0       0       293200.8932030697
-31999.84000000003

1       1       599      1       400
0       0       0      293200.8932030697
-31999.80000000003

1       1      598       1       402
0       0      0      293197.227263911
-31999.77000000004

1       1       599       1       400
0      0       0       293200.8932030697
-31999.71000000005

1       1      599       1       400
0       0       0       293200.8932030697
-31999.70000000005

Above there is no rounding by hand; it is just straight copying by hand from the monitor screen. The computational results above can be cautiously compared with those on page 408 of Tsai [26]. The former is optimization in integers, and the latter is continuous optimization.

On a personal computer with a Pentium Dual-Core CPU E5200 @2.50GHz, 2.50 GHz, 960 MB of RAM and qb64v1000-win [30], the wall-clock time for obtaining the output through
JJJJ= -31999.70000000005 was 3 seconds, not including the time for creating the .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] 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 Sinulation 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] Han-Lin Li, Jung-Fa Tsai, Christodoulos A. Floudas (2008). Convex underestimating for posynomial functions of postive variables. Optimization Letters 2, 333-340 (2008).
[13] 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.
[14] Ming-Hua Lin, Jung-Fa Tsai (2014). A deterministic global approach for mixed-discrete structural optimization, Engineering Optimization (2014) 46:7, pp. 863-879.
[15] 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.

[16] 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.
[17] 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.
[18] 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/
[19] 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.
[20] 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…/
[21] Gideon Oron (1979) An algorithm for optimizing nonlinear contrained zero-one problems to improve wastewater treatment, Engineering Optimization, 4:2, 109-114.
[22] 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.
[23] 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.
[24] 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.
[25] P. B. Thanedar, G. N. Vanderplaats (1995). Survey of discrete variable optimization for structural design, Journal of Structural Engineering, 121 (2), 301-306 (1995).
[26] Jung-Fa Tsai (2005). Global optimization of nonlinear fractional programming problems in engineering design. Engineering Optimization (2005) 37:4, pp. 399-409.
[27] 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
[28] 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.
[29] 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.
[30] Wikipedia, QB64, https://en.wikipedia.org/wiki/QB64.
[31] 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/
[32] Helen Wu (2015). Geometric Programming. https://optimization.mccormick.northwstern.edu/index.php/Geometric_Programming.
[33] 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.
[34] 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.
[35] B. D. Youn, K. K. Choi (2004). A new responsesurface methodology for reliability-based design optimization. Computers and Structures 82 (2004) 241-256.

Solving in Integers Another Fractional Nonlinear Integer Programming Problem

Jsun Yui Wong

The computer program listed below seeks to solve the following integer fractional programming problem from Chang [4, p. 226]:

Minimize

(1 + X(1) * X(2))   /   (.5 * X(1) * X(2) + X(2) * X(3)) + (2 + 3 * X(1) * X(3))   /   (2 * X(1) + X(3))

subject to

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

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

.5 * X(1) * X(2) + X(2) * X(3)>0,

2 * X(1) + X(3)>0,

X(1) through X(4) are 0-1 variables.

X(5) through X(8) below are slack variables.

One notes line 128, which is 128 FOR I = 1 TO 5.

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 4

72 IF RND < .5 THEN A(J44) = 0 ELSE A(J44) = 1

73 NEXT J44
128 FOR I = 1 TO 5

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 REM r = (1 – RND * 2) * A(j)
187 REM X(j) = A(j) + (RND ^ (RND * 10)) * r

 

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

 

191 NEXT IPP

196 FOR J99 = 1 TO 4

199 X(J99) = INT(X(J99))

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

204 NEXT J99

 

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

 

306 X(6) = 3 – 2 * X(1) – 3 * X(3) + 4 * X(4)

 

307 X(7) = .5 * X(1) * X(2) + X(2) * X(3)

311 X(8) = 2 * X(1) + X(3)

325 FOR J99 = 5 TO 8

 

330 IF X(J99) < 0 THEN X(J99) = X(J99) ELSE X(J99) = 0

331 NEXT J99

336 IF (.5 * X(1) * X(2) + X(2) * X(3)) <= 0 THEN 1670

339 IF (2 * X(1) + X(3)) <= 0 THEN 1670

 

357 POBA = -(1 + X(1) * X(2)) / (.5 * X(1) * X(2) + X(2) * X(3)) – (2 + 3 * X(1) * X(3)) / (2 * X(1) + X(3)) + 1000000 * (X(6) + X(7) + X(8) + X(5))

 

466 P = POBA

1111 IF P <= M THEN 1670

 

1452 M = P
1454 FOR KLX = 1 TO 8

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

1670 NEXT I

1889 IF M < -10000 THEN 1999

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

1999 NEXT JJJJ

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

1 1 1 1 -3
-32000

1 1 1 1 -3
-31999.99

1 1 1 1 -3
-31999.93000000001

1 1 0 0 -5
-31999.91000000001

1 1 0 0 -5
-31999.90000000002

1 1 0 0 -5
-31999.89000000002

1 1 1 1 -3
-31999.86000000002

1 1 0 0 -5
-31999.84000000003

1 1 1 1 -3
-31999.83000000003

1 1 1 1 -3
-31999.82000000003

1 1 1 1 -3
-31999.81000000003

1 1 0 0 -5
-31999.80000000003

Above there is no rounding by hand; it is just straight copying by hand from the monitor screen. The computational process here can be compared with that on pages 226-227 of Chang [4].

On a personal computer with a Pentium Dual-Core CPU E5200 @2.50GHz, 2.50 GHz, 960 MB of RAM and qb64v1000-win [30], the wall-clock time for obtaining the output through JJJJ=-31999.80000000003 was less than 2 seconds, not including the time for creating the .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 (2001). On the polynomial mixed 0-1 fractional programming problems. European Journal of Operational Research 131 (2001) pp. 224-227.
[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.
[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] Han-Lin Li, Jung-Fa Tsai, Christodoulos A. Floudas (2008). Convex underestimating for posynomial functions of postive variables. Optimization Letters 2, 333-340 (2008).
[13] 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.
[14] Ming-Hua Lin, Jung-Fa Tsai (2014). A deterministic global approach for mixed-discrete structural optimization, Engineering Optimization (2014) 46:7, pp. 863-879.
[15] 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.

[16] 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.
[17] 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.
[18] 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/
[19] 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.
[20] 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…/
[21] Gideon Oron (1979) An algorithm for optimizing nonlinear contrained zero-one problems to improve wastewater treatment, Engineering Optimization, 4:2, 109-114.
[22] 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.
[23] 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.
[24] 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.
[25] P. B. Thanedar, G. N. Vanderplaats (1995). Survey of discrete variable optimization for structural design, Journal of Structural Engineering, 121 (2), 301-306 (1995).
[26] Jung-Fa Tsai (2005). Global optimization of nonlinear fractional programming problems in engineering design. Engineering Optimization (2005) 37:4, pp. 399-409.
[27] 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
[28] 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.
[29] 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.
[30] Wikipedia, QB64, https://en.wikipedia.org/wiki/QB64.
[31] 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/
[32] Helen Wu (2015). Geometric Programming. https://optimization.mccormick.northwstern.edu/index.php/Geometric_Programming.
[33] 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.
[34] 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.
[35] B. D. Youn, K. K. Choi (2004). A new responsesurface methodology for reliability-based design optimization. Computers and Structures 82 (2004) 241-256.

Solving in Integers Another Fractional Nonlinear Integer Programming Problem

 

Jsun Yui Wong

The computer program listed below seeks to solve the following integer problem:

Maximize ( n1x / d1x )+ (n2x / d2x )

where

n1x = X(1) ^ 2 – 4 * X(1) + 2 * X(2) ^ 2 – 8 * X(2) + 3 * X(3) ^ 2 – 12 * X(3) – 56,

n2x = 2 * X(1) ^ 2 – 16 * X(1) + X(2) ^ 2 – 8 * X(2) – 2,

d1x = X(1) ^ 2 – 2 * X(1) + X(2) ^ 2 – 2 * X(2) + X(3) + 20,

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

subject to

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

-X(1) – X(2) + X(3)<=4,

X(j)>=1, j=1, 2, 3,

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

One notes the preceding sentence, which is X(1) through X(3) are integer variables. The integer problem above is based on Example 3 in Shen, Duan, and Pei [23, p. 155].

X(4) and 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

75 A(1) = 1 + RND * 7
77 A(2) = 1 + RND * 7
1
78 A(3) = 1 + RND * 7

 

128 FOR I = 1 TO 2000

 

 

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 GOTO 209
196 FOR J99 = 1 TO 3

199 X(J99) = INT(X(J99))

204 NEXT J99

 

209 IF X(1) < 1 THEN 1670

212 IF X(1) > 8 THEN 1670

214 IF X(2) < 1 THEN 1670

216 IF X(2) > 8 THEN 1670
218 IF X(3) < 1 THEN 1670

222 IF X(3) > 8 THEN 1670

306 X(4) = 10 – X(1) – X(2) – X(3)

 

307 X(5) = 4 + X(1) + X(2) – X(3)
325 REM FOR J99 = 4 TO 7
326 XX(4) = X(4)
327 XX(5) = X(5)
329 IF X(4) < 0 THEN X(4) = X(4) ELSE X(4) = 0

 

330 IF X(5) < 0 THEN X(5) = X(5) ELSE X(5) = 0

331 REM NEXT J99
340 n1x = X(1) ^ 2 – 4 * X(1) + 2 * X(2) ^ 2 – 8 * X(2) + 3 * X(3) ^ 2 – 12 * X(3) – 56

 

342 n2x = 2 * X(1) ^ 2 – 16 * X(1) + X(2) ^ 2 – 8 * X(2) – 2

 

349 d1x = X(1) ^ 2 – 2 * X(1) + X(2) ^ 2 – 2 * X(2) + X(3) + 20

352 d2x = 2 * X(1) + 4 * X(2) + 6 * X(3)

 

357 POBA = n1x / d1x + n2x / d2x + 1000000 * (X(4) + X(5))

 

466 P = POBA

1111 IF P <= M THEN 1670

 

1452 M = P
1454 FOR KLX = 1 TO 5

 

1456 XXX(KLX) = XX(KLX)

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

1670 NEXT I

1889 IF M < -99999 THEN 1999

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

1999 NEXT JJJJ

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

1 2 7 0 0
0 0 -.6923076923076923 -32000

1 1 6 0 0
2 0 -1.755952380952381 -31999.99

8 1 1 0 0
0 12 -.919683257918552 -31999.98

1 1 6 0 0
2 0 -1.755952380952381 -31999.97000000001

1       8       1       0       0
0       12       -.4588235294117647       -31999.96000000001

1 1 6 0 0
2 0 -1.755952380952381 -31999.95000000001

1 1 6 0 0
2 0 -1.755952380952381 -31999.94000000001

1       8       1       0       0
0       12       -.4588235294117647       -31999.93000000001

1 1 6 0 0
2 0 -1.755952380952381 -31999.92000000001

8 1 1 0 0
0 12 -.919683257918552 -31999.91000000001

1 2 7 0 0
0 0 -.6923076923076923 -31999.90000000002

Above there is no rounding by hand; it is just straight copying by hand from the monitor screen. The candidate solution above at
JJJJ=-31999.9600000001, for example, is optimal, Shen, Duan, and Pei [23, p. 155].

On a personal computer with a Pentium Dual-Core CPU E5200 @2.50GHz, 2.50 GHz, 960 MB of RAM and qb64v1000-win [29], the wall-clock time for obtaining the output through
JJJJ= -31999.90000000002 was 2 seconds, not including the time for creating the .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 (2006). Formulating the mixed integer fractional posynomial programming, European Journal of Operational Research 173 (2006) pp. 370-386.
[5] Piya Chootinan, Anthony Chen (2006). Constraint Handling in genetic algorithms using a gradient-based repair method. Computers and Operations Research 33 (2006) 2263-2281.
[6] Amir Hossein Gandomi, Xin-She Yang, Amir Hossein Alavi (2011). Mixed variable structural optimization using Firefly Algorithm, Computers and Structures 89 (2011) 2325-2336.
[7] Amir Hossein Gandomi, Xin-She Yang, Siamak Taratahari, Amir Hossein Alavi (2013). Firefly Algorithm with Chaos, Communications in Nonlinear Science and Numerical Sinulation 18 (2013) 89-98.
[8] 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.
[9] 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.
[10] 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.

[11] Han-Lin Li, Jung-Fa Tsai, Christodoulos A. Floudas (2008). Convex underestimating for posynomial functions of postive variables. Optimization Letters 2, 333-340 (2008).
[12] 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.
[13] Ming-Hua Lin, Jung-Fa Tsai (2014). A deterministic global approach for mixed-discrete structural optimization, Engineering Optimization (2014) 46:7, pp. 863-879.
[14] 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.
[15] 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.
[16] 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.
[17] 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/
[18] 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.
[19] 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…/
[20] Gideon Oron (1979) An algorithm for optimizing nonlinear contrained zero-one problems to improve wastewater treatment, Engineering Optimization, 4:2, 109-114.
[21] 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.
[22] 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.
[23] 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.
[24] P. B. Thanedar, G. N. Vanderplaats (1995). Survey of discrete variable optimization for structural design, Journal of Structural Engineering, 121 (2), 301-306 (1995).
[25] Jung-Fa Tsai (2005). Global optimization of nonlinear fractional programming problems in engineering design. Engineering Optimization (2005) 37:4, pp. 399-409.
[26] 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
[27] 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.
[28] 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.
[29] Wikipedia, QB64, https://en.wikipedia.org/wiki/QB64.
[30] 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/
[31] Helen Wu (2015). Geometric Programming. https://optimization.mccormick.northwstern.edu/index.php/Geometric_Programming.
[32] 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.
[33] 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.
[35] B. D. Youn, K. K. Choi (2004). A new responsesurface methodology for reliability-based design optimization. Computers and Structures 82 (2004) 241-256.

Solving in Integers a Fractional Nonlinear Integer Programming Problem

Jsun Yui Wong

The computer program listed below seeks to solve the following integer problem:

Minimize

– ((X(3) + 2) * X(1) * X(2) ^ 2) / (200 * (2 ^ .5) * X(1) + 100 * X(2))

subject to

8 / (X(1) * (X(2) + 3 * X(4)) ^ 2) + 1 / (X(5) ^ 3)<=2,

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

X(1) + X(3) + .5 * X(5)<=8,

X(1) ^ 3 + X(2) ^ 3 + X(3) ^ 3 + X(4) ^ 3 + X(5) ^ 3<=200,

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

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

The integer problem above is based mainly on Example 1, Example 2, and Example 3 in Tsai [24, p. 408].

X(6) through X(9) 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
70 FOR J44 = 1 TO 5

72 A(J44) = .1 + RND * 9.9

 

73 NEXT J44

 

128 FOR I = 1 TO 1000

 

129 FOR KKQQ = 1 TO 5

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

 

181 J = 1 + FIX(RND * 5)

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

191 NEXT IPP

196 FOR J99 = 1 TO 5

199 X(J99) = INT(X(J99))

201 IF X(J99) < .1 THEN 1670
203 IF X(J99) > 10 THEN 1670
204 NEXT J99

305 X(6) = 2 – 8 / (X(1) * (X(2) + 3 * X(4)) ^ 2) – 1 / (X(5) ^ 3)

 

306 X(7) = 10 + 2 * X(1) – X(3) + X(4)

 

307 X(8) = 8 – X(1) – X(3) – .5 * X(5)

311 X(9) = 200 – X(1) ^ 3 – X(2) ^ 3 – X(3) ^ 3 – X(4) ^ 3 – X(5) ^ 3

325 FOR J99 = 6 TO 9

327 XX(J99) = X(J99)

 

330 IF X(J99) < 0 THEN X(J99) = X(J99) ELSE X(J99) = 0

331 NEXT J99

 

357 POBA = 1000000 * (X(6) + X(7) + X(8) + X(9)) + ((X(3) + 2) * X(1) * X(2) ^ 2) / (200 * (2 ^ .5) * X(1) + 100 * X(2))

 

466 P = POBA

1111 IF P <= M THEN 1670

 

1452 M = P
1454 FOR KLX = 1 TO 9

 

1456 XXX(KLX) = XX(KLX)

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

1670 NEXT I

 

1889 IF M < .2 THEN 1999

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

1902 PRINT A(6), A(7), A(8), X(9)

1903 PRINT XXX(6), XXX(7), XXX(8), XXX(9)

1912 PRINT M, JJJJ

1999 NEXT JJJJ

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

2       5       4       1       1
0       0       0       0
.9375       11       1.5       1
.281508964068163       -32000

3       5       3       1       1
0       0       0       0
.9583333333333334       14       1.5       19
.2780809607105242       -31999.91000000001

3       5       3       1       2
0       0       0       0
1.833333333333333       14       1       12
.2780809607105242       -31999.88000000002

2       5       4       1       1
0       0       0       0

.9375      11       1.5       1
.281508964068163       -31999.86000000002

2       5       4       1       1
0       0       0       0
.9375       11       1.5       1
.281508964068163       -31999.80000000003

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 [28], the wall-clock time for obtaining the output through JJJJ= -31999.80000000003 was 2 seconds, not including the time for creating the .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 (2006). Formulating the mixed integer fractional posynomial programming, European Journal of Operational Research 173 (2006) pp. 370-386.
[5] Piya Chootinan, Anthony Chen (2006). Constraint Handling in genetic algorithms using a gradient-based repair method. Computers and Operations Research 33 (2006) 2263-2281.
[6] Amir Hossein Gandomi, Xin-She Yang, Amir Hossein Alavi (2011). Mixed variable structural optimization using Firefly Algorithm, Computers and Structures 89 (2011) 2325-2336.
[7] 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.
[8] 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.
[9] 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.
[10] 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.

[11] Han-Lin Li, Jung-Fa Tsai, Christodoulos A. Floudas (2008). Convex underestimating for posynomial functions of postive variables. Optimization Letters 2, 333-340 (2008).
[12] 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.
[13] Ming-Hua Lin, Jung-Fa Tsai (2014). A deterministic global approach for mixed-discrete structural optimization, Engineering Optimization (2014) 46:7, pp. 863-879.
[14] 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.
[15] 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.
[16] 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.
[17] 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/
[18] 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.
[19] 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…/
[20] Gideon Oron (1979) An algorithm for optimizing nonlinear contrained zero-one problems to improve wastewater treatment, Engineering Optimization, 4:2, 109-114.
[21] 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.
[22] 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.
[23] P. B. Thanedar, G. N. Vanderplaats (1995). Survey of discrete variable optimization for structural design, Journal of Structural Engineering, 121 (2), 301-306 (1995).
[24] Jung-Fa Tsai (2005). Global optimization of nonlinear fractional programming problems in engineering design. Engineering Optimization (2005) 37:4, pp. 399-409.
[25] 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
[26] 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.
[27] 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.
[28] Wikipedia, QB64, https://en.wikipedia.org/wiki/QB64.
[29] 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/
[30] Helen Wu (2015). Geometric Programming. https://optimization.mccormick.northwstern.edu/index.php/Geometric_Programming.
[31] 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.
[32] 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.
[33] B. D. Youn, K. K. Choi (2004). A new responsesurface methodology for reliability-based design optimization. Computers and Structures 82 (2004) 241-256.

Solving a Fractional Nonlinear Integer Programming Problem, Corrected Edition

Jsun Yui Wong

The computer program listed below seeks to solve the following fractional nonlinear integer programming problem:

Maximize (ABS(X(1)) + ABS(X(2)) + 8) / (-ABS(X(1)) – ABS(X(2)) + 4)

subject to

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

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

X(1) – 2 * X(2)<=2,

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

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

The problem above is based on Example (ii) on page 237 of Chadha [4].

X(3) through X(6) below are slack variables.

 

0 DEFDBL A-Z

2 DEFINT K

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

12 FOR JJJJ = -32000 TO 32000 STEP .01

14 RANDOMIZE JJJJ
16 M = -1D+37

 

82 FOR J55 = 1 TO 2
84 A(J55) = -10 + INT(RND * 20)

 

88 NEXT J55

 

128 FOR I = 1 TO 10

 

129 FOR KKQQ = 1 TO 2

 

130 X(KKQQ) = A(KKQQ)
131 NEXT KKQQ

132 REM GOTO 162

133 FOR IPP = 1 TO (1 + FIX(RND * 2))

 

151 J = 1 + FIX(RND * 2)

 

153 r = (1 – RND * 2) * A(J)
157 X(J) = A(J) + (RND ^ (RND * 10)) * r

 

161 NEXT IPP

162 REM IF RND < .5 THEN 164
163 X(1) = INT(X(1))
164 REM IF RND < .5 THEN 197

 

165 X(2) = INT(X(2))

 

197 IF X(1) < -100 THEN 1670

199 IF X(1) > 100 THEN 1670

201 IF X(2) < -100 THEN 1670

203 IF X(2) > 100 THEN 1670

 

261 X(3) = 2 – X(1) – X(2)

 

264 X(4) = 1 + X(1) + X(2)

267 X(5) = 2 – X(1) + 2 * X(2)

269 X(6) = 2 + 2 * X(1) – X(2)
281 FOR J99 = 3 TO 6

283 IF X(J99) < 0 THEN X(J99) = X(J99) ELSE X(J99) = 0

 

285 NEXT J99

365 POBA = (ABS(X(1)) + ABS(X(2)) + 8) / (-ABS(X(1)) – ABS(X(2)) + 4) + 1000000 * (X(3) + X(4) + X(5) + X(6))

 

466 P = POBA

1111 IF P <= M THEN 1670

 

1452 M = P
1454 FOR KLX = 1 TO 5

 

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

1670 NEXT I

1777 FOR J44 = 3 TO 5

1778 IF A(J44) < 0 THEN 1999
1779 NEXT J44

1889 IF M < 4.8 THEN 1999

 

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

1999 NEXT JJJJ

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

1 1 0 0 0
5       -31999.90000000002

0 2 0 0 0
5       -31999.71000000005

-2 2 0 0 0
1.#INF       -31999.67000000005

2 0 0 0 0
5       -31999.63000000006

Above there is no rounding by hand; it is just straight copying by hand from the monitor screen. The above candidate solutions with M=5 are optimal, Chadha [4, p. 238].

On a personal computer with a Pentium Dual-Core CPU E5200 @2.50GHz, 2.50 GHz, 960 MB of RAM and qb64v1000-win [27], the wall-clock time for obtaining the output through JJJJ= -31999.63000000006 was 2 seconds, not including the time for creating the .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] Ching-Ter Chang (2006). Formulating the mixed integer fractional posynomial programming, European Journal of Operational Research 173 (2006) pp. 370-386.
[4] S. S. Chadha (2002). Fractional programming with absolute-value functions. European Journal of Operational Research 141 (2002) pp. 233-238.
[5] Piya Chootinan, Anthony Chen (2006). Constraint Handling in genetic algorithms using a gradient-based repair method. Computers and Operations Research 33 (2006) 2263-2281.
[6] Amir Hossein Gandomi, Xin-She Yang, Amir Hossein Alavi (2011). Mixed variable structural optimization using Firefly Algorithm, Computers and Structures 89 (2011) 2325-2336.
[7] Amir Hossein Gandomi, Xin-She Yang, Siamak Taratahari, Amir Hossein Alavi (2013). Firefly Algorithm with Chaos, Communications in Nonlinear Science and Numerical Sinulation 18 (2013) 89-98.
[8] 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.
[9] 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.
[10] 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.

[11] Han-Lin Li, Jung-Fa Tsai, Christodoulos A. Floudas (2008). Convex underestimating for posynomial functions of postive variables. Optimization Letters 2, 333-340 (2008).
[12] 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.
[13] Ming-Hua Lin, Jung-Fa Tsai (2014). A deterministic global approach for mixed-discrete structural optimization, Engineering Optimization (2014) 46:7, pp. 863-879.
[14] 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.
[15] 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.
[16] 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.
[17] 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/
[18] 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.
[19] 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…/
[20] Gideon Oron (1979) An algorithm for optimizing nonlinear contrained zero-one problems to improve wastewater treatment, Engineering Optimization, 4:2, 109-114.
[21] 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.
[22] 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.
[23] P. B. Thanedar, G. N. Vanderplaats (1995). Survey of discrete variable optimization for structural design, Journal of Structural Engineering, 121 (2), 301-306 (1995).
[24] Jung-Fa Tsai (2005). Global optimization of nonlinear fractional programming problems in engineering design. Engineering Optimization (2005) 37:4, pp. 399-409.
[25] 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
[26] 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.
[27] 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.
[28] Wikipedia, QB64, https://en.wikipedia.org/wiki/QB64.
[29] 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/
[30] Helen Wu (2015). Geometric Programming. https://optimization.mccormick.northwstern.edu/index.php/Geometric_Programming.
[31] 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.
[32] 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.
[33] B. D. Youn, K. K. Choi (2004). A new responsesurface methodology for reliability-based design optimization. Computers and Structures 82 (2004) 241-256.

Solving a Fractional Nonlinear Integer Programming Problem

 

Jsun Yui Wong

The computer program listed below seeks to solve the following fractional nonlinear integer programming problem:

Maximize (ABS(X(1)) + ABS(X(2)) + 8) / (-ABS(X(1)) – ABS(X(2)) + 4)

subject to

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

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

X(1) – 2 * X(2)<=2,

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

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

The problem above is based on Example (ii) on page 237 of Chadha [4].

X(3) through X(6) below are slack variables.

 

0 DEFDBL A-Z

2 DEFINT K

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

12 FOR JJJJ = -32000 TO 32000 STEP .01

14 RANDOMIZE JJJJ
16 M = -1D+37

 

82 FOR J55 = 1 TO 2
84 A(J55) = -10 + INT(RND * 20)

 

88 NEXT J55

 

128 FOR I = 1 TO 1000

 

129 FOR KKQQ = 1 TO 2

 

130 X(KKQQ) = A(KKQQ)
131 NEXT KKQQ

132 GOTO 162

133 FOR IPP = 1 TO (1 + FIX(RND * 2))

 

151 J = 1 + FIX(RND * 2)

 

153 r = (1 – RND * 2) * A(J)
157 X(J) = A(J) + (RND ^ (RND * 10)) * r

 

161 NEXT IPP

162 IF RND < .5 THEN 164
163 X(1) = INT(X(1))
164 IF RND < .5 THEN 197

 

165 X(2) = INT(X(2))
197 IF X(1) < -100 THEN 1670

199 IF X(1) > 100 THEN 1670

201 IF X(2) < -100 THEN 1670

203 IF X(2) > 100 THEN 1670
261 X(3) = 2 – X(1) – X(2)

 

264 X(4) = 1 + X(1) + X(2)

267 X(5) = 2 – X(1) + 2 * X(2)

269 X(6) = 2 + 2 * X(1) – X(2)
281 FOR J99 = 3 TO 6

283 IF X(J99) < 0 THEN X(J99) = X(J99) ELSE X(J99) = 0

 

285 NEXT J99

365 POBA = (ABS(X(1)) + ABS(X(2)) + 8) / (-ABS(X(1)) – ABS(X(2)) + 4) + 1000000 * (X(3) + X(4) + X(5) + X(6))

 

466 P = POBA

1111 IF P <= M THEN 1670

 

1452 M = P
1454 FOR KLX = 1 TO 5

 

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

1670 NEXT I

1777 FOR J44 = 3 TO 5

1778 IF A(J44) < 0 THEN 1999
1779 NEXT J44

1889 IF M < 4.8 THEN 1999

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

1999 NEXT JJJJ

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

-1 3 0 0 0
1.#INF       -31999.99

0 2 0 0 0
5       -31998.29000000027

2 0 0 0 0
5       -31998.1400000003

1 1 0 0 0
5       -31997.44000000041

1 1 0 0 0
5       -31996.11000000062

1 1 0 0 0
5       -31995.6800000007

-1 3 0 0 0
1.#INF       -31995.21000000077

1 1 0 0 0
5       -31994.91000000082

1 1 0 0 0
5       -31994.3500000009

0 2 0 0 0
5       -31993.91000000098

0 2 0 0 0
5       -31993.35000000106

-2 2 0 0 0
1.#INF       -31992.91000000114

-1 3 0 0 0
1.#INF       -31992.76000000116

-1 3 0 0 0
1.#INF       -31992.15000000126

-2 2 0 0 0
1.#INF       -31991.15000000142

2 0 0 0 0
5       -31991.13000000142

Above there is no rounding by hand; it is just straight copying by hand from the monitor screen. The above candidate solutions with M=5 are optimal, Chadha [4, p. 238].

On a personal computer with a Pentium Dual-Core CPU E5200 @2.50GHz, 2.50 GHz, 960 MB of RAM and qb64v1000-win [27], the wall-clock time for obtaining the output through JJJJ= -31991.13000000142 was 3 seconds, not including the time for creating the .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] Ching-Ter Chang (2006). Formulating the mixed integer fractional posynomial programming, European Journal of Operational Research 173 (2006) pp. 370-386.
[4] S. S. Chadha (2002). Fractional programming with absolute-value functions. European Journal of Operational Research 141 (2002) pp. 233-238.
[5] Piya Chootinan, Anthony Chen (2006). Constraint Handling in genetic algorithms using a gradient-based repair method. Computers and Operations Research 33 (2006) 2263-2281.
[6] Amir Hossein Gandomi, Xin-She Yang, Amir Hossein Alavi (2011). Mixed variable structural optimization using Firefly Algorithm, Computers and Structures 89 (2011) 2325-2336.
[7] 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.
[8] 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.
[9] 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.
[10] 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.

[11] Han-Lin Li, Jung-Fa Tsai, Christodoulos A. Floudas (2008). Convex underestimating for posynomial functions of postive variables. Optimization Letters 2, 333-340 (2008).
[12] 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.
[13] Ming-Hua Lin, Jung-Fa Tsai (2014). A deterministic global approach for mixed-discrete structural optimization, Engineering Optimization (2014) 46:7, pp. 863-879.
[14] 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.
[15] 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.
[16] 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.
[17] 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/
[18] 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.
[19] 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…/
[20] Gideon Oron (1979) An algorithm for optimizing nonlinear contrained zero-one problems to improve wastewater treatment, Engineering Optimization, 4:2, 109-114.
[21] 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.
[22] 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.
[23] P. B. Thanedar, G. N. Vanderplaats (1995). Survey of discrete variable optimization for structural design, Journal of Structural Engineering, 121 (2), 301-306 (1995).
[24] Jung-Fa Tsai (2005). Global optimization of nonlinear fractional programming problems in engineering design. Engineering Optimization (2005) 37:4, pp. 399-409.
[25] 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
[26] 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.
[27] 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.
[28] Wikipedia, QB64, https://en.wikipedia.org/wiki/QB64.
[29] 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/
[30] Helen Wu (2015). Geometric Programming. https://optimization.mccormick.northwstern.edu/index.php/Geometric_Programming.
[31] 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.
[32] 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.
[33] B. D. Youn, K. K. Choi (2004). A new responsesurface methodology for reliability-based design optimization. Computers and Structures 82 (2004) 241-256.

Solving a Heat Exchanger Network Problem of Quesada and Grossmann

Jsun Yui Wong

The computer program listed below seeks to solve the following nonlinear programming problem from page 447 of Lu [14]:

Minimize 2700 * X(5) * X(1) + 7200 * X(6) * X(2) + 240 * X(7) * X(3) + 900 * X(8) * X(4)

subject to

X(5) = 5.555*( X(9)- 395),

X(6) = 3.125*( X(10)- 398),

X(7) = 4.545*( X(11)- 365),

X(7) = 5.555*( 575- X(9) ),

X(8) = 3.571*( X(12)- 358),

X(8) = 3.125*( 718- X(10) ),

X(5) + X(6)=1000,

55.55 <=X(5)<= 978.125,

21.875 <= X(6) <= 944.45,

21.775 <=X(7) <= 944.35,

55.55 <=X(8)<= 978.125,

.007407407 <=X(1) <= .02,

.004807692 <=X(2)<= .019417476,

.004862759 <=X(3) <= .04736842,

.002912615 <=X(4) <= .01502718.

 

0 DEFDBL A-Z

2 DEFINT K

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

12 FOR JJJJ = -32000 TO 32000 STEP .01

14 RANDOMIZE JJJJ
16 M = -1D+37

91 A(1) = .007407407 + RND * (.02 – .007407407)
92 A(2) = .004807692 + RND * (.019417476 – .004807692)
93 A(3) = .004862759 + RND * (.04736842 – .004862759)
94 A(4) = .002912615 + RND * (.01502718 – .002912615)
95 A(5) = 55.55 + RND * (978.125 – 55.55)
96 A(6) = 21.875 + RND * (944.45 – 21.875)
97 A(7) = 21.775 + RND * (944.35 – 21.775)
98 A(8) = 55.55 + RND * (978.125 – 55.55)

128 FOR I = 1 TO 200000

 

129 FOR KKQQ = 1 TO 12

 

130 X(KKQQ) = A(KKQQ)
131 NEXT KKQQ

132 REM GOTO 163

133 FOR IPP = 1 TO (1 + FIX(RND * 12))

 

151 J = 1 + FIX(RND * 12)

 

153 r = (1 – RND * 2) * A(J)
157 X(J) = A(J) + (RND ^ (RND * 10)) * r

 

161 NEXT IPP

 

197 IF X(5) < 55.55 THEN GOTO 1670

199 IF X(5) > 978.125 THEN 1670

201 IF X(6) < 21.875 THEN 1670

203 IF X(6) > 944.45 THEN 1670

205 IF X(7) < 21.775 THEN 1670

207 IF X(7) > 944.35 THEN 1670

209 IF X(8) < 55.55 THEN 1670

211 IF X(8) > 978.125 THEN 1670

 

227 IF X(1) < .007407407 THEN 1670

229 IF X(1) > .02 THEN 1670

231 IF X(2) < .004807692 THEN 1670

233 IF X(2) > .019417476 THEN 1670

235 IF X(3) < .004862759 THEN 1670

237 IF X(3) > .04736842 THEN 1670

239 IF X(4) < .002912615 THEN 1670

241 IF X(4) > .01502718 THEN 1670

 

261 X(9) = (X(5) / 5.555) + 395

 

264 X(7) = 5.555 * (575 – X(9))

 

267 X(6) = 1000 – X(5)

 

269 X(10) = (X(6) / 3.125) + 398

 

272 X(8) = 3.125 * (718 – X(10))
275 X(12) = (X(8) / 3.571) + 358

 

278 X(11) = (X(7) / 4.545) + 365

279 GOTO 365

280 REM X(10) = (X(6) / 3.125) + 398

281 FOR J99 = 4 TO 5

283 IF X(J99) < 0 THEN X(J99) = X(J99) ELSE X(J99) = 0

 

285 NEXT J99

311 FOR j44 = 1 TO 12
312 REM IF X(j44) < .00001 THEN 1670

 

314 NEXT j44

 

365 POBA = -2700 * X(5) * X(1) – 7200 * X(6) * X(2) – 240 * X(7) * X(3) – 900 * X(8) * X(4)

 

466 P = POBA

1111 IF P <= M THEN 1670

 

1452 M = P
1454 FOR KLX = 1 TO 12

 

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

1670 NEXT I

 

1889 REM IF M < -30000 THEN 1999

 

1900 PRINT A(1), A(2), A(3), A(4), A(5), A(6)
1903 PRINT A(7), A(8), A(9), A(10), A(11), A(12)
1911 PRINT M, JJJJ

1999 NEXT JJJJ

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

.
.
.
-22909.1358249864          -32000

.
.
.
-22909.13345539065          -31999.99

7.407406589624948D-03       4.807692020734168D-03       4.862758593874687D-03
2.912614845634454D-03       978.1250274698625       21.87497253013748
21.77497253013745       978.1250274698625       571.080112955871
404.999991209644       369.7909730539357       631.907876636758
-22909.13300472901       -31999.98

Above there is no rounding by hand; it is just straight copying by hand from the monitor screen. The computational results above can be compared with the results in Table 4 of Lu [14, p. 448].

On a personal computer with a Pentium Dual-Core CPU E5200 @2.50GHz, 2.50 GHz, 960 MB of RAM and qb64v1000-win [27], the wall-clock time for obtaining the output through JJJJ=-31999.98 was 11 seconds, total–most of these seconds were for creating the .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] Ching-Ter Chang (2006). Formulating the mixed integer fractional posynomial programming, European Journal of Operational Research 173 (2006) pp. 370-386.
[4] Piya Chootinan, Anthony Chen (2006). Constraint Handling in genetic algorithms using a gradient-based repair method. Computers and Operations Research 33 (2006) 2263-2281.
[5] Amir Hossein Gandomi, Xin-She Yang, Amir Hossein Alavi (2011). Mixed variable structural optimization using Firefly Algorithm, Computers and Structures 89 (2011) 2325-2336.
[6] Amir Hossein Gandomi, Xin-She Yang, Siamak Taratahari, Amir Hossein Alavi (2013). Firefly Algorithm with Chaos, Communications in Nonlinear Science and Numerical Sinulation 18 (2013) 89-98.
[7] 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.
[8] 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.
[9] 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.

[10] Han-Lin Li, Jung-Fa Tsai, Christodoulos A. Floudas (2008). Convex underestimating for posynomial functions of postive variables. Optimization Letters 2, 333-340 (2008).
[11] 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.
[12] Ming-Hua Lin, Jung-Fa Tsai (2014). A deterministic global approach for mixed-discrete structural optimization, Engineering Optimization (2014) 46:7, pp. 863-879.
[13] 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.
[14] 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.
[15] 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.
[16] 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/
[17] 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.
[18] 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…/
[19] Gideon Oron (1979) An algorithm for optimizing nonlinear contrained zero-one problems to improve wastewater treatment, Engineering Optimization, 4:2, 109-114.
[20] 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.
[21] 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.
[22] P. B. Thanedar, G. N. Vanderplaats (1995). Survey of discrete variable optimization for structural design, Journal of Structural Engineering, 121 (2), 301-306 (1995).
[23] Jung-Fa Tsai (2005). Global optimization of nonlinear fractional programming problems in engineering design. Engineering Optimization (2005) 37:4, pp. 399-409.
[24] 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
[25] 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.
[26] 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.
[27] Wikipedia, QB64, https://en.wikipedia.org/wiki/QB64.
[28] 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/
[29] Helen Wu (2015). Geometric Programming. https://optimization.mccormick.northwstern.edu/index.php/Geometric_Programming.
[30] 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.
[31] 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.
[32] B. D. Youn, K. K. Choi (2004). A new responsesurface methodology for reliability-based design optimization. Computers and Structures 82 (2004) 241-256.

Solving a Nonlinear Programming Problem Involving Posynomial Terms, Signomial Terms, and Discrete Variables

Jsun Yui Wong

The computer program listed below seeks to solve the following nonlinear programming problem:

Minimize .622 * 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,

1296000 – 3.141592654 * X(3) ^ 2 * X(4) – (4 / 3) * 3.141592654 * X(3) ^ 3<=0,

– 240+ X(2)<=0,

.0625<=X(i) <= 6.1875, i=1, 2,

10<=X(3) <= 200, i=3, 4,

X(1) and X(2) are integer multiples of .0625,

X(3) and X(4) are continuous.

The problem above is based on Example 4 of Lu [14, pp. 451-454].

X(5) through X(8) below are slack variables.

 

0 DEFDBL A-Z

2 DEFINT K

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

12 FOR JJJJ = -32000 TO 32000 STEP .01

14 RANDOMIZE JJJJ
16 M = -1D+37

 

17 A(1) = .0625 + FIX(RND * 101) * .0625

18 A(2) = .0625 + FIX(RND * 101) * .0625

 

82 FOR J55 = 3 TO 4
84 A(J55) = 10 + RND * 190

 

88 NEXT J55

 

128 FOR I = 1 TO 100000

 

129 FOR KKQQ = 1 TO 4

 

130 X(KKQQ) = A(KKQQ)
131 NEXT KKQQ

132 REM GOTO 163

133 FOR IPP = 1 TO (1 + FIX(RND * 3))

 

151 J = 3 + FIX(RND * 2)

153 r = (1 – RND * 2) * A(J)
157 X(J) = A(J) + (RND ^ (RND * 10)) * r

 

161 NEXT IPP
163 REM

 

170 IF RND < .5 THEN 172

171 X(1) = .0625 + FIX(RND * 101) * .0625

172 IF RND < .5 THEN 174

173 X(2) = .0625 + FIX(RND * 101) * .0625

174 REM

 

197 IF X(1) < .0625 THEN 1670

199 IF X(1) > 6.1875 THEN 1670

201 IF X(2) < .0625 THEN 1670

203 IF X(2) > 6.1875 THEN 1670

205 IF X(3) < 10 THEN 1670

207 IF X(3) > 200 THEN 1670

209 IF X(4) < 10 THEN 1670

211 IF X(4) > 200 THEN 1670

 

261 X(5) = X(1) – .0193 * X(3)

264 X(6) = X(2) – .00954 * X(3)

267 X(7) = -1296000 + 3.141592654 * X(3) ^ 2 * X(4) + (4 / 3) * 3.141592654 * X(3) ^ 3

269 X(8) = 240 – X(2)
281 FOR J99 = 5 TO 8

283 IF X(J99) < 0 THEN X(J99) = X(J99) ELSE X(J99) = 0

 

285 NEXT J99

365 POBA = -.622 * 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(8) + X(7) + X(6) + X(5))

466 P = POBA

1111 IF P <= M THEN 1670

 

1452 M = P
1454 FOR KLX = 1 TO 8

 

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

1670 NEXT I

 

1889 IF M < -6057.4 THEN 1999

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

1911 PRINT A(8), M, JJJJ

1999 NEXT JJJJ

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

.8125       .4375       42.0979848907428       176.6423047688982
0       0       0
0 -6057.353649916376       -31990.55000000151

.8125       .4375       42.0980713256845       176.6412336723836
0       0       0
0 -6057.343132752247       -31987.78000000196

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 [27], the wall-clock time for obtaining the output through JJJJ= -31987.78000000196 was 4 minutes.

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] Ching-Ter Chang (2006). Formulating the mixed integer fractional posynomial programming, European Journal of Operational Research 173 (2006) pp. 370-386.
[4] Piya Chootinan, Anthony Chen (2006). Constraint Handling in genetic algorithms using a gradient-based repair method. Computers and Operations Research 33 (2006) 2263-2281.
[5] Amir Hossein Gandomi, Xin-She Yang, Amir Hossein Alavi (2011). Mixed variable structural optimization using Firefly Algorithm, Computers and Structures 89 (2011) 2325-2336.
[6] Amir Hossein Gandomi, Xin-She Yang, Siamak Taratahari, Amir Hossein Alavi (2013). Firefly Algorithm with Chaos, Communications in Nonlinear Science and Numerical Sinulation 18 (2013) 89-98.
[7] 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.
[8] 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.
[9] 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.

[10] Han-Lin Li, Jung-Fa Tsai, Christodoulos A. Floudas (2008). Convex underestimating for posynomial functions of postive variables. Optimization Letters 2, 333-340 (2008).
[11] 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.
[12] Ming-Hua Lin, Jung-Fa Tsai (2014). A deterministic global approach for mixed-discrete structural optimization, Engineering Optimization (2014) 46:7, pp. 863-879.
[13] 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.
[14] 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.
[15] 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.
[16] 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/
[17] 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.
[18] 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…/
[19] Gideon Oron (1979) An algorithm for optimizing nonlinear contrained zero-one problems to improve wastewater treatment, Engineering Optimization, 4:2, 109-114.
[20] 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.
[21] 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.
[22] P. B. Thanedar, G. N. Vanderplaats (1995). Survey of discrete variable optimization for structural design, Journal of Structural Engineering, 121 (2), 301-306 (1995).
[23] Jung-Fa Tsai (2005). Global optimization of nonlinear fractional programming problems in engineering design. Engineering Optimization (2005) 37:4, pp. 399-409.
[24] 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
[25] 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.
[26] 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.
[27] Wikipedia, QB64, https://en.wikipedia.org/wiki/QB64.
[28] 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/
[29] Helen Wu (2015). Geometric Programming. https://optimization.mccormick.northwstern.edu/index.php/Geometric_Programming.
[30] 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.
[31] 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.
[32] B. D. Youn, K. K. Choi (2004). A new responsesurface methodology for reliability-based design optimization. Computers and Structures 82 (2004) 241-256.