Jsun Yui Wong
The computer program listed below aims to find multiple solutions of the following nonlinear programming problem from Lin and Tsai [17, pp. 438-439]:
Minimize X(17) + X(18) + X(19) + X(20) + .1 * X(21) + .2 * X(22) + .3 * X(23) + .4 * X(24)
subject to
X(17) * X(1) + X(18) * X(2) + X(19) * X(3) + X(20) * X(4)>=9,
X(17) * X(5) + X(18) * X(6) + X(19) * X(7) + X(20) * X(8)>=7,
X(17) * X(9) + X(18) * X(10) + X(19) * X(11) + X(20) * X(12)>=12,
X(17) * X(13) + X(18) * X(14) + X(19) * X(15) + X(20) * X(16)>=11,
-( -1700 * X(21) + 330 * X(1) + 360 * X(5) + 385 * X(9) + 415 * X(13))<=0,
-( -1700 * X(22) + 330 * X(2) + 360 * X(6) + 385 * X(10) + 415 * X(14))<=0,
-( -1700 * X(23) + 330 * X(3) + 360 * X(7) + 385 * X(11) + 415 * X(15))<=0,
-(-1700 * X(24) + 330 * X(4) + 360 * X(8) + 385 * X(12) + 415 * X(16))<=0,
-(1900 * X(21) - 330 * X(1) - 360 * X(5) - 385 * X(9) - 415 * X(13))<=0,
-(1900 * X(22) - 330 * X(2) - 360 * X(6) - 385 * X(10) - 415 * X(14))<=0,
-(1900 * X(23) - 330 * X(3) - 360 * X(7) - 385 * X(11) - 415 * X(15))<=0,
-(1900 * X(24) - 330 * X(4) - 360 * X(8) - 385 * X(12) - 415 * X(16))<=0,
-( -X(21) + X(1) + X(5) + X(9) + X(13))<=0,
-( -X(22) + X(2) + X(6) + X(10) + X(14))<=0,
-( -X(23) + X(3) + X(7) + X(11) + X(15))<=0,
-( -X(24) + X(4) + X(8) + X(12) + X(16))<=0,
-( 5 * X(21) - X(1) - X(5) - X(9) - X(13))<=0,
-( 5 * X(22) - X(2) - X(6) - X(10) - X(14))<=0,
-( 5 * X(23) - X(3) - X(7) - X(11) - X(15))<=0,
-( 5 * X(24) - X(4) - X(8) - X(12) - X(16))<=0,
X(21) - X(17)<=0,
X(22) - X(18)<=0,
X(23) - X(19)<=0,
X(24) - X(20)<=0,
- 15 * X(21) + X(17)<=0,
- 12 * X(22) + X(18)<=0,
- 9 * X(23) + X(19)<=0,
-6 * X(24) + X(20)<=0,
X(17) + X(18) + X(19) + X(20)>=8,
X(21) - X(22)>=0,
X(22) - X(23)>=0,
X(23) - X(24)>=0,
X(17) - X(18)>=0
X(18) - X(19)>=0,
X(19) - X(20)>=0,
0<= X(i) <=5, i=1, 2, 3,..., 16,
0<= X(17) <= 15,
0<=X(18) <= 12,
0<= X(19) <= 9,
0<= X(20) <= 6,
X(21) through X(24) are 0-1 variables.
0<= X(i) <=5, i=1,2,3,..., 16,
0<= X(17) <= 15,
0<=X(18) <= 12,
0<= X(19) <= 9,
0<= X(20) <= 6,
X(21) through X(24) are 0-1 variables,
where X(1) through X(20) are integer variables and X(21) through X(24) are 0-1 variables.
X(25) through X(59) below are slack variables.
One notes line 111 and line 191, which are 111 IF RND < .333 THEN SOFMS = 8 ELSE IF RND < .5 THEN SOFMS = 9 ELSE SOFMS = 10
and 191 X(20) = SOFMS - X(17) - X(18) - X(19).
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(99)
12 FOR JJJJ = -32000 TO 31997.00 STEP .01
14 RANDOMIZE JJJJ
16 M = -1D+37
22 FOR J55 = 1 TO 16
37 A(J55) = INT(RND * 5)
38 NEXT J55
71 A(17) = 2 + INT(RND * 3)
72 A(18) = 2 + INT(RND * 3)
73 A(19) = 2 + INT(RND * 3)
74 A(20) = 2 + INT(RND * 3)
91 IF RND < .5 THEN A(21) = 0 ELSE A(21) = 1
97 IF RND < .5 THEN A(22) = 0 ELSE A(22) = 1
98 IF RND < .5 THEN A(23) = 0 ELSE A(23) = 1
99 IF RND < .5 THEN A(24) = 0 ELSE A(24) = 1
111 IF RND < .333 THEN SOFMS = 8 ELSE IF RND < .5 THEN SOFMS = 9 ELSE SOFMS = 10
128 FOR I = 1 TO 8000000
129 FOR KKQQ = 1 TO 24
130 X(KKQQ) = A(KKQQ)
131 NEXT KKQQ
133 FOR IPP = 1 TO (1 + FIX(RND * 16))
151 J = 1 + FIX(RND * 16)
152 X(J) = INT(RND * 5)
153 NEXT IPP
155 IF RND < .25 THEN GOTO 160 ELSE IF RND < .333 THEN GOTO 164 ELSE IF RND < .5 THEN GOTO 168 ELSE GOTO 173
160 X(17) = INT(RND * 15)
163 IF RND < .5 THEN 164 ELSE GOTO 168
164 X(18) = INT(RND * 12)
167 IF RND < .5 THEN 168 ELSE GOTO 173
168 X(19) = INT(RND * 9)
169 IF RND < .5 THEN 173 ELSE GOTO 175
173 X(20) = INT(RND * 6)
175 FOR IPQ = 1 TO (1 + FIX(RND * 4))
177 J = 21 + FIX(RND * 4)
179 X(J) = INT(RND * 1)
181 NEXT IPQ
183 REM r = (1 - RND * 2) * A(J)
187 REM X(J) = A(J) + (RND ^ (RND * 10)) * r
191 X(20) = SOFMS - X(17) - X(18) - X(19)
192 IF X(17) > 0 THEN X(21) = 1
193 IF X(18) > 0 THEN X(22) = 1
194 IF X(19) > 0 THEN X(23) = 1
195 IF X(20) > 0 THEN X(24) = 1
201 IF X(1) < 0 THEN 1670
202 IF X(1) > 5 THEN 1670
203 IF X(2) < 0 THEN 1670
204 IF X(2) > 5 THEN 1670
205 IF X(3) < 0 THEN 1670
206 IF X(3) > 5 THEN 1670
207 IF X(4) < 0 THEN 1670
208 IF X(4) > 5 THEN 1670
209 IF X(5) < 0 THEN 1670
210 IF X(5) > 5 THEN 1670
211 IF X(6) < 0 THEN 1670
212 IF X(6) > 5 THEN 1670
213 IF X(7) < 0 THEN 1670
214 IF X(7) > 5 THEN 1670
215 IF X(8) < 0 THEN 1670
216 IF X(8) > 5 THEN 1670
217 IF X(9) < 0 THEN 1670
218 IF X(9) > 5 THEN 1670
219 IF X(10) < 0 THEN 1670
220 IF X(10) > 5 THEN 1670
221 IF X(11) < 0 THEN 1670
222 IF X(11) > 5 THEN 1670
223 IF X(12) < 0 THEN 1670
224 IF X(12) > 5 THEN 1670
225 IF X(13) < 0 THEN 1670
226 IF X(13) > 5 THEN 1670
227 IF X(14) < 0 THEN 1670
228 IF X(14) > 5 THEN 1670
229 IF X(15) < 0 THEN 1670
230 IF X(15) > 5 THEN 1670
231 IF X(16) < 0 THEN 1670
232 IF X(16) > 5 THEN 1670
233 IF X(17) < 0 THEN 1670
234 IF X(17) > 15 THEN 1670
235 IF X(18) < 0 THEN 1670
236 IF X(18) > 12 THEN 1670
237 IF X(19) < 0 THEN 1670
238 IF X(19) > 9 THEN 1670
239 IF X(20) < 0 THEN 1670
240 IF X(20) > 6 THEN 1670
241 IF X(21) < 0 THEN 1670
242 IF X(21) > 1 THEN 1670
243 IF X(22) < 0 THEN 1670
244 IF X(22) > 1 THEN 1670
245 IF X(23) < 0 THEN 1670
246 IF X(23) > 1 THEN 1670
247 IF X(24) < 0 THEN 1670
248 IF X(24) > 1 THEN 1670
301 X(25) = -9 + X(17) * X(1) + X(18) * X(2) + X(19) * X(3) + X(20) * X(4)
302 X(26) = -7 + X(17) * X(5) + X(18) * X(6) + X(19) * X(7) + X(20) * X(8)
303 X(27) = -12 + X(17) * X(9) + X(18) * X(10) + X(19) * X(11) + X(20) * X(12)
304 X(28) = -11 + X(17) * X(13) + X(18) * X(14) + X(19) * X(15) + X(20) * X(16)
305 X(29) = -1700 * X(21) + 330 * X(1) + 360 * X(5) + 385 * X(9) + 415 * X(13)
306 X(30) = -1700 * X(22) + 330 * X(2) + 360 * X(6) + 385 * X(10) + 415 * X(14)
307 X(31) = -1700 * X(23) + 330 * X(3) + 360 * X(7) + 385 * X(11) + 415 * X(15)
308 X(32) = -1700 * X(24) + 330 * X(4) + 360 * X(8) + 385 * X(12) + 415 * X(16)
309 X(33) = 1900 * X(21) - 330 * X(1) - 360 * X(5) - 385 * X(9) - 415 * X(13)
310 X(34) = 1900 * X(22) - 330 * X(2) - 360 * X(6) - 385 * X(10) - 415 * X(14)
311 X(35) = 1900 * X(23) - 330 * X(3) - 360 * X(7) - 385 * X(11) - 415 * X(15)
312 X(36) = 1900 * X(24) - 330 * X(4) - 360 * X(8) - 385 * X(12) - 415 * X(16)
313 X(37) = -X(21) + X(1) + X(5) + X(9) + X(13)
314 X(38) = -X(22) + X(2) + X(6) + X(10) + X(14)
315 X(39) = -X(23) + X(3) + X(7) + X(11) + X(15)
316 X(40) = -X(24) + X(4) + X(8) + X(12) + X(16)
317 X(41) = 5 * X(21) - X(1) - X(5) - X(9) - X(13)
318 X(42) = 5 * X(22) - X(2) - X(6) - X(10) - X(14)
319 X(43) = 5 * X(23) - X(3) - X(7) - X(11) - X(15)
320 X(44) = 5 * X(24) - X(4) - X(8) - X(12) - X(16)
321 X(45) = -X(21) + X(17)
322 X(46) = -X(22) + X(18)
323 X(47) = -X(23) + X(19)
324 X(48) = -X(24) + X(20)
325 X(49) = 15 * X(21) - X(17)
326 X(50) = 12 * X(22) - X(18)
327 X(51) = 9 * X(23) - X(19)
328 X(52) = 6 * X(24) - X(20)
329 X(53) = -8 + X(17) + X(18) + X(19) + X(20)
330 X(54) = X(21) - X(22)
331 X(55) = X(22) - X(23)
332 X(56) = X(23) - X(24)
333 X(57) = X(17) - X(18)
334 X(58) = X(18) - X(19)
335 X(59) = X(19) - X(20)
425 FOR J99 = 25 TO 59
426 IF X(J99) < 0 THEN X(J99) = X(J99) ELSE X(J99) = 0
427 NEXT J99
431 SUMP = 0
434 FOR J66 = 25 TO 59
437 SUMP = SUMP + X(J66)
440 NEXT J66
459 POBA = -X(17) - X(18) - X(19) - X(20) - .1 * X(21) - .2 * X(22) - .3 * X(23) - .4 * X(24) + 1000000 * SUMP
466 P = POBA
1111 IF P <= M THEN 1670
1452 M = P
1454 FOR klx = 1 TO 59
1459 A(klx) = X(klx)
1460 NEXT klx
1557 REM GOTO 128
1670 NEXT I
1889 IF M < -8.9 THEN 1999
1900 PRINT A(1), A(2), A(3), A(4), A(5)
1903 PRINT A(6), A(7), A(8), A(9), A(10)
1950 PRINT A(11), A(12), A(13), A(14), A(15)
1953 PRINT A(16), A(17), A(18), A(19), A(20)
1955 PRINT A(21), A(22), A(23), A(24)
1957 PRINT M, JJJJ
1999 NEXT JJJJ
This BASIC computer program was run with qb64v1000-win [34]. The complete output through JJJJ = -31998.09000000031 is shown below:
1 1 2 0 0
2 1 0 3 0
0 0 1 2 2
0 4 3 1 0
1 1 1 0
-8.6 -31999.21000000013
1 2 0 0 1
0 3 0 2 1
1 0 1 2 1
0 4 3 1 0
1 1 1 0
-8.6 -31998.72000000021
1 2 0 0 0
0 4 0 3 1
0 0 1 2 1
0 3 3 2 0
1 1 1 0
-8.6 -31998.52000000024
1 1 2 0 0
2 1 0 3 0
0 0 1 2 2
0 4 3 1 0
1 1 1 0
-8.6 -31998.45000000025
1 2 0 0 0
1 4 0 3 0
0 0 1 2 1
0 4 3 1 0
1 1 1 0
-8.6 -31998.09000000031
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 [34], the wall-clock time for obtaining the output through JJJJ= -31998.09000000031 was 2 hours and 40 minutes. One can compare the computational results here with those in Table 4 of Lin and Tsai [17, p. 440].
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] 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 (2011). Finding multiple optimal solutions of signomial discrete programming problems with free variables, Optimization and Engineering (2011) 12:425-443.
[18] Ming-Hua Lin, Jung-Fa Tsai (2014). A deterministic global approach for mixed-discrete structural optimization, Engineering Optimization (2014) 46:7, pp. 863-879.
[19] 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.
[20] 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.
[21] 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.
[22] 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/
[23] 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.
[24] 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…/
[25] Gideon Oron (1979) An algorithm for optimizing nonlinear contrained zero-one problems to improve wastewater treatment, Engineering Optimization, 4:2, 109-114.
[26] 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.
[27] 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.
[28] 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.
[29] P. B. Thanedar, G. N. Vanderplaats (1995). Survey of discrete variable optimization for structural design, Journal of Structural Engineering, 121 (2), 301-306 (1995).
[30] Jung-Fa Tsai (2005). Global optimization of nonlinear fractional programming problems in engineering design. Engineering Optimization (2005) 37:4, pp. 399-409.
[31] 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
[32] 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.
[33] 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.
[34] Wikipedia, QB64, https://en.wikipedia.org/wiki/QB64.
[35] 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/
[36] Helen Wu (2015). Geometric Programming. https://optimization.mccormick.northwstern.edu/index.php/Geometric_Programming.
[37] 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.
[38] 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.
[39] B. D. Youn, K. K. Choi (2004). A new response surface methodology for reliability-based design optimization. Computers and Structures 82 (2004) 241-256.
Wednesday, November 29, 2017
Sunday, November 19, 2017
Solving a Speed Reducer Design Problem
Jsun Yui Wong
The computer program listed below seeks to solve the following speed-reducer weight minimization problem in Li et al. [16, p. 932], Kashan [13, p. 68], and Kashan [12, p. 1790].
Minimize
.7854 * X(1) * X(2) ^ 2 * (3.3333 * X(3) ^ 2 + 14.9334 * X(3) - 43.0934) - 1.508 * X(1) * (X(6) ^ 2 + X(7) ^ 2) + 7.4777 * (X(6) ^ 3 + X(7) ^ 3) + .7854 * (X(4) * X(6) ^ 2 + X(5) * X(7) ^ 2)
subject to
27 / (X(1) * X(2) ^ 2 * X(3)) <=1,
397.5 / (X(1) * X(2) ^ 2 * X(3) ^ 2) <=1,
1.93 * X(4) ^ 3 / (X(2) * X(3) * X(6) ^ 4) <=1,
1.93 * X(5) ^ 3 / (X(2) * X(3) * X(7) ^ 4) <=1,
(1 / (110 * X(6) ^ 3)) * (((((745 * X(4)) / (X(2) * X(3))) ^ 2 + 16900000))) ^ .5 <=1,
(1 / (85 * X(7) ^ 3)) * (((((745 * X(5)) / (X(2) * X(3))) ^ 2 + 157500000))) ^ .5 <=1,
X(2) * X(3) / 40 <=1,
5 * X(2) / X(1) <=1,
X(1) / (12 * X(2)) <=1,
(1.5 * X(6) + 1.9) / X(4) <=1,
(1.1 * X(7) + 1.9) / X(5) <=1,
2.6 <= X(1) <= 3.6,
.7 <= X(2) <= .8 ,
17 <= X(3) <= 28,
7.3 <= X(4) <= 8.3,
7.3 <= X(5) <= 8.3,
2.9 <= X(6) <= 3.9,
5<= X(7) <= 5.5,
where X(3), the number of teeth, is an integer, and the other six variables are continuous.
X(8) through X(18) below are slack variables.
One notes line 193, which is 193 X(3) = INT(X(3)), where X(3) is the number of teeth, Kashan [13, p. 68].
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
87 A(1) = 2.6 + FIX(RND * 1000) * .001
89 A(2) = .7 + FIX(RND * 1000) * .0001
91 A(3) = 17 + FIX(RND * 1000) * .011
94 A(4) = 7.3 + FIX(RND * 1000) * .001
96 A(5) = 7.3 + FIX(RND * 1000) * .001
98 A(6) = 2.9 + FIX(RND * 1000) * .001
99 A(7) = 5 + FIX(RND * 1000) * .0005
128 FOR I = 1 TO 100000
129 FOR KKQQ = 1 TO 7
130 X(KKQQ) = A(KKQQ)
131 NEXT KKQQ
133 FOR IPP = 1 TO (1 + FIX(RND * 7))
151 J = 1 + FIX(RND * 7)
155 IF J = 1 GOTO 167 ELSE IF J = 2 THEN GOTO 169 ELSE IF J = 3 THEN GOTO 172 ELSE IF J = 4 THEN GOTO 174 ELSE IF J = 5 THEN GOTO 176 ELSE IF J = 6 THEN GOTO 178 ELSE IF J = 7 THEN GOTO 180
167 X(1) = 2.6 + FIX(RND * 1000) * .001
168 IF RND < .5 THEN 170
169 X(2) = .7 + FIX(RND * 1000) * .0001
170 IF RND < .5 THEN 173
172 X(3) = 17 + FIX(RND * 1000) * .011
173 IF RND < .5 THEN 175
174 X(4) = 7.3 + FIX(RND * 1000) * .001
175 IF RND < .5 THEN 177
176 X(5) = 7.3 + FIX(RND * 1000) * .001
177 IF RND < .5 THEN 179
178 X(6) = 2.9 + FIX(RND * 1000) * .001
179 IF RND < .5 THEN 181
180 X(7) = 5 + FIX(RND * 1000) * .0005
181 REM
191 NEXT IPP
193 X(3) = INT(X(3))
201 IF X(1) < 2.6 THEN 1670
203 IF X(1) > 3.6 THEN 1670
211 IF X(2) < .7 THEN 1670
213 IF X(2) > .8 THEN 1670
231 IF X(3) < 17 THEN 1670
233 IF X(3) > 28 THEN 1670
235 IF X(4) < 7.3 THEN 1670
237 IF X(4) > 8.3 THEN 1670
239 IF X(5) < 7.3 THEN 1670
241 IF X(5) > 8.3 THEN 1670
247 IF X(6) < 2.9 THEN 1670
249 IF X(6) > 3.9 THEN 1670
251 IF X(7) < 5 THEN 1670
253 IF X(7) > 5.5 THEN 1670
305 X(8) = 1 - 27 / (X(1) * X(2) ^ 2 * X(3))
306 X(9) = 1 - 397.5 / (X(1) * X(2) ^ 2 * X(3) ^ 2)
307 X(10) = 1 - 1.93 * X(4) ^ 3 / (X(2) * X(3) * X(6) ^ 4)
309 X(11) = 1 - 1.93 * X(5) ^ 3 / (X(2) * X(3) * X(7) ^ 4)
320 X(12) = 1 - (1 / (110 * X(6) ^ 3)) * (((((745 * X(4)) / (X(2) * X(3))) ^ 2 + 16900000))) ^ .5
322 X(13) = 1 - (1 / (85 * X(7) ^ 3)) * (((((745 * X(5)) / (X(2) * X(3))) ^ 2 + 157500000))) ^ .5
323 X(14) = 1 - X(2) * X(3) / 40
325 X(15) = 1 - 5 * X(2) / X(1)
327 X(16) = 1 - X(1) / (12 * X(2))
329 X(17) = 1 - (1.5 * X(6) + 1.9) / X(4)
330 X(18) = 1 - (1.1 * X(7) + 1.9) / X(5)
335 FOR J99 = 8 TO 18
340 IF X(J99) < 0 THEN X(J99) = X(J99) ELSE X(J99) = 0
341 NEXT J99
359 POBA = -.7854 * X(1) * X(2) ^ 2 * (3.3333 * X(3) ^ 2 + 14.9334 * X(3) - 43.0934) + 1.508 * X(1) * (X(6) ^ 2 + X(7) ^ 2) - 7.4777 * (X(6) ^ 3 + X(7) ^ 3) - .7854 * (X(4) * X(6) ^ 2 + X(5) * X(7) ^ 2) + 1000000 * (X(8) + X(9) + X(10) + X(11) + X(12) + X(13) + X(14) + X(15) + X(16) + X(17) + X(18))
466 P = POBA
1111 IF P <= M THEN 1670
1452 M = P
1454 FOR KLX = 1 TO 18
1459 A(KLX) = X(KLX)
1460 NEXT KLX
1557 REM GOTO 128
1670 NEXT I
1889 IF M < -2996 THEN 1999
1900 PRINT A(1), A(2), A(3), A(4), A(5)
1903 PRINT A(6), A(7), A(8), A(9), A(10)
1950 PRINT A(11), A(12), A(13), A(14), A(15), A(16), A(17), A(18), M, JJJJ
1999 NEXT JJJJ
This BASIC computer program was run with qb64v1000-win [33]. The complete output through JJJJ = -31999.74000000004 is shown below:
3.5 .7 17 7.301 7.718
3.351 5.287 0 0 0
0 0 0 0 0
0 0 0 -2994.958416306808
-31999.99
3.5 .7 17 7.301 7.716
3.351 5.287 0 0 0
0 0 0 0 0
0 0 0 -2994.914508725582
-31999.98
3.5 .7 17 7.301 7.716
3.351 5.287 0 0 0
0 0 0 0 0
0 0 0 -2994.914508725582
-31999.78000000004
3.5 .7 17 7.301 7.718
3.352 5.287 0 0 0
0 0 0 0 0
0 0 0 -2995.213455221353
-31999.74000000004
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=-31999.74000000004 was 15 seconds, not including the time for creating the .EXE file. One can compare the computational results here with those in Table 6 of Li et al. [16, p. 933].
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.
The computer program listed below seeks to solve the following speed-reducer weight minimization problem in Li et al. [16, p. 932], Kashan [13, p. 68], and Kashan [12, p. 1790].
Minimize
.7854 * X(1) * X(2) ^ 2 * (3.3333 * X(3) ^ 2 + 14.9334 * X(3) - 43.0934) - 1.508 * X(1) * (X(6) ^ 2 + X(7) ^ 2) + 7.4777 * (X(6) ^ 3 + X(7) ^ 3) + .7854 * (X(4) * X(6) ^ 2 + X(5) * X(7) ^ 2)
subject to
27 / (X(1) * X(2) ^ 2 * X(3)) <=1,
397.5 / (X(1) * X(2) ^ 2 * X(3) ^ 2) <=1,
1.93 * X(4) ^ 3 / (X(2) * X(3) * X(6) ^ 4) <=1,
1.93 * X(5) ^ 3 / (X(2) * X(3) * X(7) ^ 4) <=1,
(1 / (110 * X(6) ^ 3)) * (((((745 * X(4)) / (X(2) * X(3))) ^ 2 + 16900000))) ^ .5 <=1,
(1 / (85 * X(7) ^ 3)) * (((((745 * X(5)) / (X(2) * X(3))) ^ 2 + 157500000))) ^ .5 <=1,
X(2) * X(3) / 40 <=1,
5 * X(2) / X(1) <=1,
X(1) / (12 * X(2)) <=1,
(1.5 * X(6) + 1.9) / X(4) <=1,
(1.1 * X(7) + 1.9) / X(5) <=1,
2.6 <= X(1) <= 3.6,
.7 <= X(2) <= .8 ,
17 <= X(3) <= 28,
7.3 <= X(4) <= 8.3,
7.3 <= X(5) <= 8.3,
2.9 <= X(6) <= 3.9,
5<= X(7) <= 5.5,
where X(3), the number of teeth, is an integer, and the other six variables are continuous.
X(8) through X(18) below are slack variables.
One notes line 193, which is 193 X(3) = INT(X(3)), where X(3) is the number of teeth, Kashan [13, p. 68].
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
87 A(1) = 2.6 + FIX(RND * 1000) * .001
89 A(2) = .7 + FIX(RND * 1000) * .0001
91 A(3) = 17 + FIX(RND * 1000) * .011
94 A(4) = 7.3 + FIX(RND * 1000) * .001
96 A(5) = 7.3 + FIX(RND * 1000) * .001
98 A(6) = 2.9 + FIX(RND * 1000) * .001
99 A(7) = 5 + FIX(RND * 1000) * .0005
128 FOR I = 1 TO 100000
129 FOR KKQQ = 1 TO 7
130 X(KKQQ) = A(KKQQ)
131 NEXT KKQQ
133 FOR IPP = 1 TO (1 + FIX(RND * 7))
151 J = 1 + FIX(RND * 7)
155 IF J = 1 GOTO 167 ELSE IF J = 2 THEN GOTO 169 ELSE IF J = 3 THEN GOTO 172 ELSE IF J = 4 THEN GOTO 174 ELSE IF J = 5 THEN GOTO 176 ELSE IF J = 6 THEN GOTO 178 ELSE IF J = 7 THEN GOTO 180
167 X(1) = 2.6 + FIX(RND * 1000) * .001
168 IF RND < .5 THEN 170
169 X(2) = .7 + FIX(RND * 1000) * .0001
170 IF RND < .5 THEN 173
172 X(3) = 17 + FIX(RND * 1000) * .011
173 IF RND < .5 THEN 175
174 X(4) = 7.3 + FIX(RND * 1000) * .001
175 IF RND < .5 THEN 177
176 X(5) = 7.3 + FIX(RND * 1000) * .001
177 IF RND < .5 THEN 179
178 X(6) = 2.9 + FIX(RND * 1000) * .001
179 IF RND < .5 THEN 181
180 X(7) = 5 + FIX(RND * 1000) * .0005
181 REM
191 NEXT IPP
193 X(3) = INT(X(3))
201 IF X(1) < 2.6 THEN 1670
203 IF X(1) > 3.6 THEN 1670
211 IF X(2) < .7 THEN 1670
213 IF X(2) > .8 THEN 1670
231 IF X(3) < 17 THEN 1670
233 IF X(3) > 28 THEN 1670
235 IF X(4) < 7.3 THEN 1670
237 IF X(4) > 8.3 THEN 1670
239 IF X(5) < 7.3 THEN 1670
241 IF X(5) > 8.3 THEN 1670
247 IF X(6) < 2.9 THEN 1670
249 IF X(6) > 3.9 THEN 1670
251 IF X(7) < 5 THEN 1670
253 IF X(7) > 5.5 THEN 1670
305 X(8) = 1 - 27 / (X(1) * X(2) ^ 2 * X(3))
306 X(9) = 1 - 397.5 / (X(1) * X(2) ^ 2 * X(3) ^ 2)
307 X(10) = 1 - 1.93 * X(4) ^ 3 / (X(2) * X(3) * X(6) ^ 4)
309 X(11) = 1 - 1.93 * X(5) ^ 3 / (X(2) * X(3) * X(7) ^ 4)
320 X(12) = 1 - (1 / (110 * X(6) ^ 3)) * (((((745 * X(4)) / (X(2) * X(3))) ^ 2 + 16900000))) ^ .5
322 X(13) = 1 - (1 / (85 * X(7) ^ 3)) * (((((745 * X(5)) / (X(2) * X(3))) ^ 2 + 157500000))) ^ .5
323 X(14) = 1 - X(2) * X(3) / 40
325 X(15) = 1 - 5 * X(2) / X(1)
327 X(16) = 1 - X(1) / (12 * X(2))
329 X(17) = 1 - (1.5 * X(6) + 1.9) / X(4)
330 X(18) = 1 - (1.1 * X(7) + 1.9) / X(5)
335 FOR J99 = 8 TO 18
340 IF X(J99) < 0 THEN X(J99) = X(J99) ELSE X(J99) = 0
341 NEXT J99
359 POBA = -.7854 * X(1) * X(2) ^ 2 * (3.3333 * X(3) ^ 2 + 14.9334 * X(3) - 43.0934) + 1.508 * X(1) * (X(6) ^ 2 + X(7) ^ 2) - 7.4777 * (X(6) ^ 3 + X(7) ^ 3) - .7854 * (X(4) * X(6) ^ 2 + X(5) * X(7) ^ 2) + 1000000 * (X(8) + X(9) + X(10) + X(11) + X(12) + X(13) + X(14) + X(15) + X(16) + X(17) + X(18))
466 P = POBA
1111 IF P <= M THEN 1670
1452 M = P
1454 FOR KLX = 1 TO 18
1459 A(KLX) = X(KLX)
1460 NEXT KLX
1557 REM GOTO 128
1670 NEXT I
1889 IF M < -2996 THEN 1999
1900 PRINT A(1), A(2), A(3), A(4), A(5)
1903 PRINT A(6), A(7), A(8), A(9), A(10)
1950 PRINT A(11), A(12), A(13), A(14), A(15), A(16), A(17), A(18), M, JJJJ
1999 NEXT JJJJ
This BASIC computer program was run with qb64v1000-win [33]. The complete output through JJJJ = -31999.74000000004 is shown below:
3.5 .7 17 7.301 7.718
3.351 5.287 0 0 0
0 0 0 0 0
0 0 0 -2994.958416306808
-31999.99
3.5 .7 17 7.301 7.716
3.351 5.287 0 0 0
0 0 0 0 0
0 0 0 -2994.914508725582
-31999.98
3.5 .7 17 7.301 7.716
3.351 5.287 0 0 0
0 0 0 0 0
0 0 0 -2994.914508725582
-31999.78000000004
3.5 .7 17 7.301 7.718
3.352 5.287 0 0 0
0 0 0 0 0
0 0 0 -2995.213455221353
-31999.74000000004
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=-31999.74000000004 was 15 seconds, not including the time for creating the .EXE file. One can compare the computational results here with those in Table 6 of Li et al. [16, p. 933].
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.
Friday, November 10, 2017
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 + n3x / d3x
where
n1x = X(1) ^ 2 - 16 * X(1) + X(2) ^ 2 - 16 * X(2) + X(3) ^ 2 - 16 * X(3) + X(4) ^ 2 - 16 * X(4) + 214,
n2x = X(1) ^ 2 - 16 * X(1) + 2 * X(2) ^ 2 - 20 * X(2) + 3 * X(3) ^ 2 - 60 * X(3) + 4 * X(4) ^ 2 - 56 * X(4) + 586,
n3x = X(1) ^ 2 - 20 * X(1) + X(2) ^ 2 - 20 * X(2) + X(3) ^ 2 - 20 * X(3) + X(4) ^ 2 - 20 * X(4) + 324,
d1x = 2 * X(1) - X(2) - X(3) + X(4) + 2,
d2x = -X(1) + X(2) + X(3) - X(4) + 10,
d3x = X(1) ^ 2 - 4 * X(4),
subject to
6<= X(1) <= 10,
4<= X(2) <= 6,
8<= X(3) <= 12,
6<=X(4) <= 8,
X(1) + X(2) + X(3) + X(4)<=26,
X(1) through X(4) are integer variables.
The integer problem above is based on Example 4 in Shen, Duan, and Pei [23, p. 155].
X(5) below is a slack variable.
0 DEFDBL A-Z
2 DEFINT K
3 DIM B(99), N(99), A(99), H(99), L(99), U(99), X(1111), D(111), P(111), PS(33)
12 FOR JJJJ = -32000 TO 32000 STEP .01
14 RANDOMIZE JJJJ
16 M = -1D+37
75 A(1) = 6 + RND * 4
77 A(2) = 4 + RND * 2
78 A(3) = 8 + RND * 4
79 A(4) = 6 + RND * 2
128 FOR I = 1 TO 2000
129 FOR KKQQ = 1 TO 4
130 X(KKQQ) = A(KKQQ)
131 NEXT KKQQ
133 FOR IPP = 1 TO (1 + FIX(RND * 3))
181 J = 1 + FIX(RND * 4)
183 r = (1 - RND * 2) * A(J)
187 X(J) = A(J) + (RND ^ (RND * 10)) * r
191 NEXT IPP
193 REM GOTO 209
196 FOR J99 = 1 TO 4
199 X(J99) = INT(X(J99))
204 NEXT J99
209 IF X(1) < 6 THEN 1670
212 IF X(1) > 10 THEN 1670
214 IF X(2) < 4 THEN 1670
216 IF X(2) > 6 THEN 1670
218 IF X(3) < 8 THEN 1670
222 IF X(3) > 12 THEN 1670
229 IF X(4) < 6 THEN 1670
23 IF X(4) > 8 THEN 1670
306 X(5) = 26 - X(1) - X(2) - X(3) - X(4)
327 XX(5) = X(5)
330 IF X(5) < 0 THEN X(5) = X(5) ELSE X(5) = 0
340 n1x = X(1) ^ 2 - 16 * X(1) + X(2) ^ 2 - 16 * X(2) + X(3) ^ 2 - 16 * X(3) + X(4) ^ 2 - 16 * X(4) + 214
342 n2x = X(1) ^ 2 - 16 * X(1) + 2 * X(2) ^ 2 - 20 * X(2) + 3 * X(3) ^ 2 - 60 * X(3) + 4 * X(4) ^ 2 - 56 * X(4) + 586
346 n3x = X(1) ^ 2 - 20 * X(1) + X(2) ^ 2 - 20 * X(2) + X(3) ^ 2 - 20 * X(3) + X(4) ^ 2 - 20 * X(4) + 324
349 d1x = 2 * X(1) - X(2) - X(3) + X(4) + 2
352 d2x = -X(1) + X(2) + X(3) - X(4) + 10
355 d3x = X(1) ^ 2 - 4 * X(4)
357 POBA = n1x / d1x + n2x / d2x + n3x / d3x + 1000000 * (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(5)
1902 PRINT M, JJJJ
1999 NEXT JJJJ
This BASIC computer program was run with qb64v1000-win [29]. The complete output through JJJJ = -31999.9600000001 is shown below:
6 4 8 6 0
2
-2.783333333333333 -32000
6 4 8 6 0
2
-2.783333333333333 -31999.99
6 4 8 6 0
2
-2.783333333333333 -31999.98
6 4 8 6 0
2
-2.783333333333333 -31999.9700000001
6 4 8 6 0
2
-2.783333333333333 -31999.9600000001
Above there is no rounding by hand; it is just straight copying by hand from the monitor screen. The candidate solution above at JJJJ=-32000, for example, is optimal, Senn, Duan, and Pei [23, p. 156].
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.9600000001 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 bound algorithm 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.
The computer program listed below seeks to solve the following integer problem:
Maximize n1x / d1x + n2x / d2x + n3x / d3x
where
n1x = X(1) ^ 2 - 16 * X(1) + X(2) ^ 2 - 16 * X(2) + X(3) ^ 2 - 16 * X(3) + X(4) ^ 2 - 16 * X(4) + 214,
n2x = X(1) ^ 2 - 16 * X(1) + 2 * X(2) ^ 2 - 20 * X(2) + 3 * X(3) ^ 2 - 60 * X(3) + 4 * X(4) ^ 2 - 56 * X(4) + 586,
n3x = X(1) ^ 2 - 20 * X(1) + X(2) ^ 2 - 20 * X(2) + X(3) ^ 2 - 20 * X(3) + X(4) ^ 2 - 20 * X(4) + 324,
d1x = 2 * X(1) - X(2) - X(3) + X(4) + 2,
d2x = -X(1) + X(2) + X(3) - X(4) + 10,
d3x = X(1) ^ 2 - 4 * X(4),
subject to
6<= X(1) <= 10,
4<= X(2) <= 6,
8<= X(3) <= 12,
6<=X(4) <= 8,
X(1) + X(2) + X(3) + X(4)<=26,
X(1) through X(4) are integer variables.
The integer problem above is based on Example 4 in Shen, Duan, and Pei [23, p. 155].
X(5) below is a slack variable.
0 DEFDBL A-Z
2 DEFINT K
3 DIM B(99), N(99), A(99), H(99), L(99), U(99), X(1111), D(111), P(111), PS(33)
12 FOR JJJJ = -32000 TO 32000 STEP .01
14 RANDOMIZE JJJJ
16 M = -1D+37
75 A(1) = 6 + RND * 4
77 A(2) = 4 + RND * 2
78 A(3) = 8 + RND * 4
79 A(4) = 6 + RND * 2
128 FOR I = 1 TO 2000
129 FOR KKQQ = 1 TO 4
130 X(KKQQ) = A(KKQQ)
131 NEXT KKQQ
133 FOR IPP = 1 TO (1 + FIX(RND * 3))
181 J = 1 + FIX(RND * 4)
183 r = (1 - RND * 2) * A(J)
187 X(J) = A(J) + (RND ^ (RND * 10)) * r
191 NEXT IPP
193 REM GOTO 209
196 FOR J99 = 1 TO 4
199 X(J99) = INT(X(J99))
204 NEXT J99
209 IF X(1) < 6 THEN 1670
212 IF X(1) > 10 THEN 1670
214 IF X(2) < 4 THEN 1670
216 IF X(2) > 6 THEN 1670
218 IF X(3) < 8 THEN 1670
222 IF X(3) > 12 THEN 1670
229 IF X(4) < 6 THEN 1670
23 IF X(4) > 8 THEN 1670
306 X(5) = 26 - X(1) - X(2) - X(3) - X(4)
327 XX(5) = X(5)
330 IF X(5) < 0 THEN X(5) = X(5) ELSE X(5) = 0
340 n1x = X(1) ^ 2 - 16 * X(1) + X(2) ^ 2 - 16 * X(2) + X(3) ^ 2 - 16 * X(3) + X(4) ^ 2 - 16 * X(4) + 214
342 n2x = X(1) ^ 2 - 16 * X(1) + 2 * X(2) ^ 2 - 20 * X(2) + 3 * X(3) ^ 2 - 60 * X(3) + 4 * X(4) ^ 2 - 56 * X(4) + 586
346 n3x = X(1) ^ 2 - 20 * X(1) + X(2) ^ 2 - 20 * X(2) + X(3) ^ 2 - 20 * X(3) + X(4) ^ 2 - 20 * X(4) + 324
349 d1x = 2 * X(1) - X(2) - X(3) + X(4) + 2
352 d2x = -X(1) + X(2) + X(3) - X(4) + 10
355 d3x = X(1) ^ 2 - 4 * X(4)
357 POBA = n1x / d1x + n2x / d2x + n3x / d3x + 1000000 * (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(5)
1902 PRINT M, JJJJ
1999 NEXT JJJJ
This BASIC computer program was run with qb64v1000-win [29]. The complete output through JJJJ = -31999.9600000001 is shown below:
6 4 8 6 0
2
-2.783333333333333 -32000
6 4 8 6 0
2
-2.783333333333333 -31999.99
6 4 8 6 0
2
-2.783333333333333 -31999.98
6 4 8 6 0
2
-2.783333333333333 -31999.9700000001
6 4 8 6 0
2
-2.783333333333333 -31999.9600000001
Above there is no rounding by hand; it is just straight copying by hand from the monitor screen. The candidate solution above at JJJJ=-32000, for example, is optimal, Senn, Duan, and Pei [23, p. 156].
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.9600000001 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 bound algorithm 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.
Wednesday, November 8, 2017
Erratum in: Solving in Integers a Fractional Nonlinear Integer Programming Problem
Jsun Yui Wong
The computer output of the preceding paper should read as follows:
1 1 5 1 4
0 0 0 0
1.484375 8 0 8
18.83350950079081 -31999.96000000001
1 1 5 1 4
0 0 0 0
1.484375 8 0 8
18.83350950079081 -31999.93000000001
1 1 5 1 4
0 0 0 0
1.484375 8 0 8
18.83350950079081 -31999.83000000003
2 1 5 1 2
0 0 0 0
1.625 10 0 57
12.65060107369884 -31999.82000000003
The computer output of the preceding paper should read as follows:
1 1 5 1 4
0 0 0 0
1.484375 8 0 8
18.83350950079081 -31999.96000000001
1 1 5 1 4
0 0 0 0
1.484375 8 0 8
18.83350950079081 -31999.93000000001
1 1 5 1 4
0 0 0 0
1.484375 8 0 8
18.83350950079081 -31999.83000000003
2 1 5 1 2
0 0 0 0
1.625 10 0 57
12.65060107369884 -31999.82000000003
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
(2 + X(5)) / (X(1) * X(2) * (2 * X(3) + X(4))) - X(5) ^ .5 * X(3) ^ 1.5 + 2 * X(2) + X(4) - (((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 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 = -(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) + 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 < 10 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.82000000003 is shown below:
1 1 5 1 4
0 0 0 0 0
1.484375 8 0 8
18.83350950079081 -31999.96000000001
1 1 5 1 4
0 0 0 0 0
1.484375 8 0 8
18.83350950079081 -31999.93000000001
1 1 5 1 4
0 0 0 0 0
1.484375 8 0 8
18.83350950079081 -31999.83000000003
2 1 5 1 2
0 0 0 0 0
1.625 10 0 57
12.65060107369884 -31999.82000000003
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.82000000003 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.
The computer program listed below seeks to solve the following integer 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) - (((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 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 = -(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) + 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 < 10 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.82000000003 is shown below:
1 1 5 1 4
0 0 0 0 0
1.484375 8 0 8
18.83350950079081 -31999.96000000001
1 1 5 1 4
0 0 0 0 0
1.484375 8 0 8
18.83350950079081 -31999.93000000001
1 1 5 1 4
0 0 0 0 0
1.484375 8 0 8
18.83350950079081 -31999.83000000003
2 1 5 1 2
0 0 0 0 0
1.625 10 0 57
12.65060107369884 -31999.82000000003
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.82000000003 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.
Monday, November 6, 2017
Solving a Fractional Nonlinear Integer Programming Problem
Jsun Yui Wong
The computer program listed below seeks to solve Example 4 in Chang [4, p. 383]:
Minimize
( ABS(X(5) ^ 1.8) * X(1) * X(3) ^ .3 * X(4) ^ 1.5 + X(2) * X(3) ^ 1.8 * X(4) ^ 1.3 * X(5) + X(1) * X(2) * X(3) ^ 1.7 ) / ( X(1) * X(3) * X(4) + X(2) * X(3) ^ 2.3 * X(4) ^ 1.4 )
subject to
2 * X(1) + X(1) * X(3) ^ 1.6>=5,
X(1) + X(2)>=1,
X(2) + X(4)<=6,
X(1) + X(2) + X(5)>=3,
1 <=X(3)<= 7 ,
1 <= X(4) <= 6,
1 <= X(5) <= 5 ,
X(1) and X(2) are binary variables,
X(3) and X(4) are continuous variables,
X(5) is absolute continuous variable.
X(6) through X(9) 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
71 IF RND < .5 THEN A(1) = 0 ELSE A(1) = 1
73 IF RND < .5 THEN A(2) = 0 ELSE A(2) = 1
84 A(3) = 1 + (RND * 7)
85 A(4) = 1 + (RND * 6)
86 A(5) = 1 + (RND * 5)
128 FOR I = 1 TO 30000
129 FOR KKQQ = 1 TO 5
130 X(KKQQ) = A(KKQQ)
131 NEXT KKQQ
132 REM GOTO 162
133 FOR IPP = 1 TO (1 + FIX(RND * 3))
151 J = 3 + FIX(RND * 3)
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 REM X(1) = INT(X(1))
164 REM IF RND < .5 THEN 197
165 REM X(2) = INT(X(2))
197 IF X(3) < 1 THEN 1670
199 IF X(3) > 7 THEN 1670
201 IF X(4) < 1 THEN 1670
203 IF X(4) > 6 THEN 1670
205 IF X(5) < 1 THEN 1670
207 IF X(5) > 5 THEN 1670
261 X(6) = -5 + 2 * X(1) + X(1) * X(3) ^ 1.6
264 X(7) = -1 + X(1) + X(2)
267 X(8) = 6 - X(2) - X(4)
269 X(9) = -3 + X(1) + X(2) + X(5)
281 FOR J99 = 6 TO 9
283 IF X(J99) < 0 THEN X(J99) = X(J99) ELSE X(J99) = 0
285 NEXT J99
311 ups = ABS(X(5) ^ 1.8) * X(1) * X(3) ^ .3 * X(4) ^ 1.5 + X(2) * X(3) ^ 1.8 * X(4) ^ 1.3 * X(5) + X(1) * X(2) * X(3) ^ 1.7
322 dow = X(1) * X(3) * X(4) + X(2) * X(3) ^ 2.3 * X(4) ^ 1.4
365 POBA = -ups / dow + 1000000 * (X(6) + X(7) + X(8) + X(9))
466 P = POBA
1111 IF P <= M THEN 1670
1452 M = P
1454 FOR KLX = 1 TO 9
1459 A(KLX) = X(KLX)
1460 NEXT KLX
1557 REM GOTO 128
1670 NEXT I
1777 FOR J44 = 6 TO 9
1778 IF A(J44) < 0 THEN 1999
1779 NEXT J44
1889 IF M < -.5 THEN 1999
1908 PRINT A(1), A(2), A(3), A(4), A(5), A(6), A(7), A(8), A(9), M, JJJJ
1999 NEXT JJJJ
This BASIC computer program was run with qb64v1000-win [28]. The complete output through JJJJ = -31999.88000000002 is shown below:
1 1 6.999999999990646 4.9999999999972
1.000000000004951 0 0 0
0 -.3632313212606416 -31999.96000000001
1 1 6.99999999999997 4.999999999991044
1.000000000003382 0 0 0
0 -.3632313212599075 -31999.90000000002
1 1 6.9999999999965 4.99999999999999
1.000000000001283 0 0 0
0 -.3632313212591524 -31999.88000000002
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 Chang [4, p. 385].
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.88000000002 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 (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.
Friday, November 3, 2017
Solving a Nonlinear Programming Problem Involving Noncovex Posynomial and Signomial Terms
Jsun Yui Wong
The computer program listed below seeks to solve the following nonlinear programming formulation from page 452 of Lu [14]:
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) through X(4) are continuous.
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
22 FOR J55 = 1 TO 2
67 A(J55) = .0625 + RND * 6.125
71 NEXT J55
82 FOR J55 = 3 TO 4
86 A(J55) = 10 + RND * 190
88 NEXT J55
128 FOR I = 1 TO 60000
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 * 4))
151 J = 1 + FIX(RND * 4)
153 r = (1 - RND * 2) * A(J)
157 X(J) = A(J) + (RND ^ (RND * 10)) * r
161 NEXT IPP
163 REM
164 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 < -5884.5 THEN 1999
1900 PRINT A(1), A(2), A(3), A(4), A(5)
1911 PRINT A(6), A(7), A(8), M, JJJJ
1999 NEXT JJJJ
This BASIC computer program was run with qb64v1000-win [27]. The complete output through JJJJ = -31951.60000000775 is shown below:
.7791371869593762 .3851279152120704 40.36980243312682
199.3025835450308 0
0 0 0 -5884.48288302348
-31993.1700000011
.7785102423305716 .38481801615722 40.33731825546528
199.7537562076116 0
0 0 0 -5883.4077896634
-31951.60000000775
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 7 of Lu [14, p. 453].
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= -31951.60000000775 was 10 minutes, total.
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.
The computer program listed below seeks to solve the following nonlinear programming formulation from page 452 of Lu [14]:
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) through X(4) are continuous.
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
22 FOR J55 = 1 TO 2
67 A(J55) = .0625 + RND * 6.125
71 NEXT J55
82 FOR J55 = 3 TO 4
86 A(J55) = 10 + RND * 190
88 NEXT J55
128 FOR I = 1 TO 60000
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 * 4))
151 J = 1 + FIX(RND * 4)
153 r = (1 - RND * 2) * A(J)
157 X(J) = A(J) + (RND ^ (RND * 10)) * r
161 NEXT IPP
163 REM
164 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 < -5884.5 THEN 1999
1900 PRINT A(1), A(2), A(3), A(4), A(5)
1911 PRINT A(6), A(7), A(8), M, JJJJ
1999 NEXT JJJJ
This BASIC computer program was run with qb64v1000-win [27]. The complete output through JJJJ = -31951.60000000775 is shown below:
.7791371869593762 .3851279152120704 40.36980243312682
199.3025835450308 0
0 0 0 -5884.48288302348
-31993.1700000011
.7785102423305716 .38481801615722 40.33731825546528
199.7537562076116 0
0 0 0 -5883.4077896634
-31951.60000000775
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 7 of Lu [14, p. 453].
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= -31951.60000000775 was 10 minutes, total.
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.
Wednesday, November 1, 2017
Solving a Nonlinear Programming Problem Involving 3 Noncovex Posynomial Terms in Constraints
Jsun Yui Wong
The computer program listed below seeks to solve the following problem from Lu [14, p. 449]:
Minimize - X(1) + 2 * X(2) - 3 * X(3) + X(4) + X(5) ^ 2 - 5 * X(6) ^ .6
subject to
X(1) + X(3) + X(5) + X(7) - 2 * X(4)<=18,
X(3) - X(4) + X(7) + 2 * X(6) - 3 * X(2)=12,
.5 * X(1) * X(2) * X(4) - 3 * X(7)<=5,
.8 * X(1) * X(3) * X(4) - 3 * X(6)<=4,
1.3 * X(2) * X(3) * X(6) - 3 * X(2)<=5,
1<= X(i) <= 10, i=1, 5, 6, 7,
1<= X(i) <= 1000, i=2, 3, 4.
One notes that the following computer program's line 283, which is 283 IF X(J99) < -2.55D-06 THEN X(J99) = X(J99) ELSE X(J99) = 0, uses the feasibility tolerance of
2.55*10^(-06) from Lu [14, p. 450].
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
22 FOR J55 = 1 TO 7
67 A(J55) = 1 + RND * 3
71 NEXT J55
128 FOR I = 1 TO 200000
129 FOR KKQQ = 1 TO 7
130 X(KKQQ) = A(KKQQ)
131 NEXT KKQQ
133 FOR IPP = 1 TO (1 + FIX(RND * 7))
151 J = 1 + FIX(RND * 7)
153 r = (1 - RND * 2) * A(J)
157 X(J) = A(J) + (RND ^ (RND * 10)) * r
161 NEXT IPP
163 REM
164 X(3) = 12 + X(4) - X(7) - 2 * X(6) + 3 * X(2)
197 IF X(1) < 1 THEN 1670
199 IF X(1) > 10 THEN 1670
201 IF X(2) < 1 THEN 1670
203 IF X(2) > 1000 THEN 1670
205 IF X(3) < 1 THEN 1670
207 IF X(3) > 1000 THEN 1670
209 IF X(4) < 1 THEN 1670
211 IF X(4) > 1000 THEN 1670
213 IF X(5) < 1 THEN 1670
215 IF X(5) > 10 THEN 1670
217 IF X(6) < 1 THEN 1670
219 IF X(6) > 10 THEN 1670
221 IF X(7) < 1 THEN 1670
223 IF X(7) > 10 THEN 1670
261 X(8) = 18 - X(1) - X(3) - X(5) - X(7) + 2 * X(4)
264 X(9) = 5 - .5 * X(1) * X(2) * X(4) + 3 * X(7)
267 X(10) = 4 - .8 * X(1) * X(3) * X(4) + 3 * X(6)
269 X(11) = 5 - 1.3 * X(2) * X(3) * X(6) + 3 * X(2)
281 FOR J99 = 8 TO 11
283 IF X(J99) < -2.55D-06 THEN X(J99) = X(J99) ELSE X(J99) = 0
285 NEXT J99
365 POBA = X(1) - 2 * X(2) + 3 * X(3) - X(4) - X(5) ^ 2 + 5 * X(6) ^ .6 + 1000000 * (X(8) + X(9) + X(10) + X(11))
466 P = POBA
1111 IF P <= M THEN 1670
1452 M = P
1454 FOR KLX = 1 TO 11
1459 A(KLX) = X(KLX)
1460 NEXT KLX
1557 REM GOTO 128
1670 NEXT I
1889 IF M < 23.86 THEN 1999
1900 PRINT A(1), A(2), A(3), A(4), A(5)
1911 PRINT A(6), A(7), A(8), A(9), A(10), A(11), M, JJJJ
1999 NEXT JJJJ
This BASIC computer program was run with qb64v1000-win [27]. The complete output through JJJJ = -31995.52000000072 is shown below:
9.999999994672203 1.00034612016621 1.000660271878407
1.001888834118436 1.000000008183936
6.148457689470717 2.705351543797224 0
0 0 0 23.86661799397463
-31999.64000000006
9.999999999978774 1.000048194661112 1.00135793334377
1.001998889919505 1.000000002143264
6.145317132756756 2.71015127504556 0
0 0 0 23.86463992982906
-31995.52000000072
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 5 of Lu [14, p. 450].
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= -31995.52000000072 was 190 seconds, total.
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.
The computer program listed below seeks to solve the following problem from Lu [14, p. 449]:
Minimize - X(1) + 2 * X(2) - 3 * X(3) + X(4) + X(5) ^ 2 - 5 * X(6) ^ .6
subject to
X(1) + X(3) + X(5) + X(7) - 2 * X(4)<=18,
X(3) - X(4) + X(7) + 2 * X(6) - 3 * X(2)=12,
.5 * X(1) * X(2) * X(4) - 3 * X(7)<=5,
.8 * X(1) * X(3) * X(4) - 3 * X(6)<=4,
1.3 * X(2) * X(3) * X(6) - 3 * X(2)<=5,
1<= X(i) <= 10, i=1, 5, 6, 7,
1<= X(i) <= 1000, i=2, 3, 4.
One notes that the following computer program's line 283, which is 283 IF X(J99) < -2.55D-06 THEN X(J99) = X(J99) ELSE X(J99) = 0, uses the feasibility tolerance of
2.55*10^(-06) from Lu [14, p. 450].
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
22 FOR J55 = 1 TO 7
67 A(J55) = 1 + RND * 3
71 NEXT J55
128 FOR I = 1 TO 200000
129 FOR KKQQ = 1 TO 7
130 X(KKQQ) = A(KKQQ)
131 NEXT KKQQ
133 FOR IPP = 1 TO (1 + FIX(RND * 7))
151 J = 1 + FIX(RND * 7)
153 r = (1 - RND * 2) * A(J)
157 X(J) = A(J) + (RND ^ (RND * 10)) * r
161 NEXT IPP
163 REM
164 X(3) = 12 + X(4) - X(7) - 2 * X(6) + 3 * X(2)
197 IF X(1) < 1 THEN 1670
199 IF X(1) > 10 THEN 1670
201 IF X(2) < 1 THEN 1670
203 IF X(2) > 1000 THEN 1670
205 IF X(3) < 1 THEN 1670
207 IF X(3) > 1000 THEN 1670
209 IF X(4) < 1 THEN 1670
211 IF X(4) > 1000 THEN 1670
213 IF X(5) < 1 THEN 1670
215 IF X(5) > 10 THEN 1670
217 IF X(6) < 1 THEN 1670
219 IF X(6) > 10 THEN 1670
221 IF X(7) < 1 THEN 1670
223 IF X(7) > 10 THEN 1670
261 X(8) = 18 - X(1) - X(3) - X(5) - X(7) + 2 * X(4)
264 X(9) = 5 - .5 * X(1) * X(2) * X(4) + 3 * X(7)
267 X(10) = 4 - .8 * X(1) * X(3) * X(4) + 3 * X(6)
269 X(11) = 5 - 1.3 * X(2) * X(3) * X(6) + 3 * X(2)
281 FOR J99 = 8 TO 11
283 IF X(J99) < -2.55D-06 THEN X(J99) = X(J99) ELSE X(J99) = 0
285 NEXT J99
365 POBA = X(1) - 2 * X(2) + 3 * X(3) - X(4) - X(5) ^ 2 + 5 * X(6) ^ .6 + 1000000 * (X(8) + X(9) + X(10) + X(11))
466 P = POBA
1111 IF P <= M THEN 1670
1452 M = P
1454 FOR KLX = 1 TO 11
1459 A(KLX) = X(KLX)
1460 NEXT KLX
1557 REM GOTO 128
1670 NEXT I
1889 IF M < 23.86 THEN 1999
1900 PRINT A(1), A(2), A(3), A(4), A(5)
1911 PRINT A(6), A(7), A(8), A(9), A(10), A(11), M, JJJJ
1999 NEXT JJJJ
This BASIC computer program was run with qb64v1000-win [27]. The complete output through JJJJ = -31995.52000000072 is shown below:
9.999999994672203 1.00034612016621 1.000660271878407
1.001888834118436 1.000000008183936
6.148457689470717 2.705351543797224 0
0 0 0 23.86661799397463
-31999.64000000006
9.999999999978774 1.000048194661112 1.00135793334377
1.001998889919505 1.000000002143264
6.145317132756756 2.71015127504556 0
0 0 0 23.86463992982906
-31995.52000000072
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 5 of Lu [14, p. 450].
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= -31995.52000000072 was 190 seconds, total.
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.
Subscribe to:
Posts (Atom)