Jsun Yui Wong
I. Tsai's Example 3 [20, p. 408]
The computer program listed below seeks to solve the following problem from page 408 of Tsai [20].
Minimize (2 + X(5)) / (X(1) * X(2) * (2 * X(3) + X(4))) - X(5) ^ .5 * X(3) ^ 1.5 + 2 * X(2) + X(4)
subject to
8 / (X(1) * (X(2) + 3 * X(4)) ^ 2) + 1 / (X(5) ^ 3)<=2
- 2 * X(1) + X(3) - X(4)<=10
X(1) + X(3) + .5 * X(5)<=8
0.1<X(1), X(2), X(3), X(4), X(5)<=10.
"This program is a highly NFP program unsolvable by current fractional programming methods," Tsai [20, p. 408].
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
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)
325 FOR J99 = 6 TO 8
327 XX(J99) = X(J99)
330 IF X(J99) < 0 THEN X(J99) = X(J99) ELSE X(J99) = 0
331 NEXT J99
357 POBA = -(2 + X(5)) / (X(1) * X(2) * (2 * X(3) + X(4))) + X(5) ^ .5 * X(3) ^ 1.5 - 2 * X(2) - X(4) + 1000000 * (X(6) + X(7) + X(8))
466 P = POBA
1111 IF P <= M THEN 1670
1452 M = P
1454 FOR KLX = 1 TO 8
1459 A(KLX) = X(KLX)
1460 NEXT KLX
1557 GOTO 128
1670 NEXT I
1889 IF M < 22.82 THEN 1999
1900 PRINT A(1), A(2), A(3), A(4), A(5)
1902 PRINT A(6), A(7), A(8)
1912 PRINT M, JJJJ
1999 NEXT JJJJ
This BASIC computer program was run with qb64v1000-win [24]. The complete output through JJJJ = -31999.52000000008 is shown below:
.294624862833304 .9357350062234917 5.932980600348823
.9232544671551575 3.544789073502854
0 0 0
22.84117291174397 -31999.55000000007
.295980801658799 .8495190820457937 5.999493655132955
.9500308216052291 3.409051086414363
0 0 0
22.8220604982404 -31999.52000000008
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 [24], the wall-clock time for obtaining the output through JJJJ= -31999.52000000008 was 15 seconds, including time for creating .EXE file.
II. A First Look at the Same Example 3 of Tsai [20, p. 408] Plus the Constraint That X(i)=1, 2, 3,..., 10 Where i=1, 2, 3, 4, 5
In the following computer program for this integer fractional nonlinear programming example, one notes line 199, line 327, and line 1456, which are 199 X(J99) = INT(X(J99)), 327 XX(J99) = X(J99), and 1456 XXX(KLX) = XX(KLX), respectively.
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)
325 FOR J99 = 6 TO 8
327 XX(J99) = X(J99)
330 IF X(J99) < 0 THEN X(J99) = X(J99) ELSE X(J99) = 0
331 NEXT J99
357 POBA = -(2 + X(5)) / (X(1) * X(2) * (2 * X(3) + X(4))) + X(5) ^ .5 * X(3) ^ 1.5 - 2 * X(2) - X(4) + 1000000 * (X(6) + X(7) + X(8))
466 P = POBA
1111 IF P <= M THEN 1670
1452 M = P
1454 FOR KLX = 1 TO 8
1456 XXX(KLX) = XX(KLX)
1459 A(KLX) = X(KLX)
1460 NEXT KLX
1557 GOTO 128
1670 NEXT I
1889 IF M < 18 THEN 1999
1900 PRINT A(1), A(2), A(3), A(4), A(5)
1902 PRINT A(6), A(7), A(8)
1903 PRINT XXX(6), XXX(7), XXX(8)
1912 PRINT M, JJJJ
1999 NEXT JJJJ
This BASIC computer program was run with qb64v1000-win [24]. The complete output through JJJJ = -31999.93000000001 is shown below:
1 1 5 1 4
0 0 0
1.484375 8 0
18.81522522954335 -31999.96000000001
1 1 5 1 4
0 0 0
1.484375 8 0
18.81522522954335 -31999.93000000001
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 [24], the wall-clock time for obtaining the output through JJJJ= -31999.93000000001 was 8 seconds--most of these seconds were for creating .EXE file.
Acknowledgment
I would like to acknowledge the encouragement of Roberta Clark and Tom Clark.
References
[1] Yuichiro Anzai (1974). On Integer Fractional Programming. Journal Operations Research Society of Japan, Volume 17, No. 1, March 1974, pp. 49-66.
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] H. Chickermane, H. C. Gea (1996) Structural optimization using a new local approximation method, International Journal for Numerical Methods in Engineering, 39, pp. 829-846.
[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] 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.
[10] Ming-Hua Lin, Jung-Fa Tsai (2014). A deterministic global approach for mixed-discrete structural optimization, Engineering Optimization (2014) 46:7, pp. 863-879.9
[11] Harry Markowitz (1952). Portfolio Selection. The Journal of Finance 7 (2008) pp. 77-91.
[12] 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/
[13] Ong Kok Meng, Ong Pauline, Sia Chee Kiong, H. A. Wahab, N. Jafferi. Application of Modified Flower Pollination Algorithm on Mechanical Engineering Design Problem. IOP Conf. Series: Materials Science and Engineering 165 (2017) 012032.
[14] 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.
[15] Sinan Melih Nigdeli, Gebrail Bekdas, Xin-She Yang (2016). Application of the Flower Pollination Algoritm in Structural Engineering. Springer International Publishing Switzerland 2016. www.springer.com/cda/content/document/cda.../
[16] Gideon Oron (1979) An algorithm for optimizing nonlinear contrained zero-one problems to improve wastewater treatment, Engineering Optimization, 4:2, 109-114.
[17] 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.
[18] 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.
[19] P. B. Thanedar, G. N. Vanderplaats (1995). Survey of discrete variable optimization for structural design, Journal of Structural Engineering, 121 (2), 301-306 (1995).
[20] Jung-Fa Tsai (2005). Global optimization of nonlinear fractional programming problems in engineering design. Engineering Optimization (2005) 37:4, pp. 399-409.
[21] 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
[22] 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.
[23] 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.
[24] Wikipedia, QB64, https://en.wikipedia.org/wiki/QB64.
[25] 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/
[26] 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.
[27] 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.
[28] B. D. Youn, K. K. Choi (2004). A new responsesurface methodology for reliability-based design optimization.Computers and Structures 82 (2004) 241-256.
Monday, September 25, 2017
Tuesday, September 19, 2017
Solving a Nonlinear Programming Formulation Based on a Formulation for a Car Side Impact Design Problem Using the Method of This Blog, Revised Edition
Jsun Yui Wong
Essentially the revision is changing old line 204 through old line 220 to become new line 304 through new line 320, respectively.
0 DEFDBL A-Z
2 DEFINT K
3 DIM B(99), N(99), A(99), H(99), L(99), U(99), X(1111), D(111), P(111), PS(33)
12 FOR JJJJ = -32000 TO 32000 STEP .01
14 RANDOMIZE JJJJ
16 M = -1D+37
72 FOR J44 = 1 TO 4
74 A(J44) = .5 + RND
79 NEXT J44
86 A(2) = .45 + RND * .9
87 A(5) = .5 + RND * 2.125
88 A(6) = .4 + RND * 1.1
89 A(7) = .4 + RND * 1.1
95 IF RND < .5 THEN A(8) = .192 ELSE A(8) = .345
96 IF RND < .5 THEN A(9) = .192 ELSE A(9) = .345
98 A(10) = -30 + RND * 60
99 A(11) = -30 + RND * 60
128 FOR I = 1 TO 5000
129 FOR KKQQ = 1 TO 11
130 X(KKQQ) = A(KKQQ)
131 NEXT KKQQ
133 FOR IPP = 1 TO (1 + FIX(RND * 4))
181 J = 1 + FIX(RND * 11)
183 r = (1 - RND * 2) * A(J)
187 X(J) = A(J) + (RND ^ (RND * 10)) * r
191 NEXT IPP
197 REM
198 IF RND < .5 THEN X(8) = .192 ELSE X(8) = .345
199 IF RND < .5 THEN X(9) = .192 ELSE X(9) = .345
221 IF X(1) < .5 THEN 1670
222 IF X(1) > 1.5 THEN 1670
223 IF X(2) < .45 THEN 1670
224 IF X(2) > 1.36 THEN 1670
225 IF X(3) < .5 THEN 1670
226 IF X(3) > 1.5 THEN 1670
235 IF X(4) < .5 THEN 1670
236 IF X(4) > 1.5 THEN 1670
245 IF X(5) < .5 THEN 1670
246 IF X(5) > 2.625 THEN 1670
247 IF X(6) < .4 THEN 1670
248 IF X(6) > 1.5 THEN 1670
249 IF X(7) < .4 THEN 1670
250 IF X(7) > 1.5 THEN 1670
251 IF X(8) < .192 THEN 1670
252 IF X(8) > .345 THEN 1670
253 IF X(9) < .192 THEN 1670
254 IF X(9) > .345 THEN 1670
255 IF X(10) < -30 THEN 1670
256 IF X(10) > 30 THEN 1670
257 IF X(11) < -30 THEN 1670
258 IF X(11) > 30 THEN 1670
304 X(12) = -1.16 + .3717 * X(2) * X(4) + .00931 * X(2) * X(10) + .484 * X(3) * X(9) - .01343 * X(6) * X(10) + 1
305 X(13) = -.261 + .0159 * X(1) * X(2) + .188 * X(1) * X(8) + .019 * X(2) * X(7) - .0144 * X(3) * X(5) - .0008757 * X(5) * X(10) - .08045 * X(6) * X(9) - .00139 * X(8) * X(11) - .000001575 * X(10) * X(11) + .32
306 X(14) = -.214 - .00817 * X(5) + .131 * X(1) * X(8) + .0704 * X(1) * X(9) - .03099 * X(2) * X(6) + .018 * X(2) * X(7) - .0208 * X(3) * X(8) - .121 * X(3) * X(9) + .00364 * X(5) * X(6) - .0007715 * X(5) * X(10) + .0005354 * X(6) * X(10) - .00121 * X(8) * X(11) + .32
307 X(15) = -.74 + .61 * X(2) + .163 * X(3) * X(8) - .001232 * X(3) * X(10) + .166 * X(7) * X(9) - .227 * X(2) * X(2) + .32
313 X(16) = -28.98 - 3.818 * X(3) + 4.2 * X(1) * X(2) - .0207 * X(5) * X(10) - 6.63 * X(6) * X(9) + 7.7 * X(7) * X(8) - .32 * X(9) * X(10) + 32
316 X(17) = -33.86 - 2.95 * X(3) - .1792 * X(10) + 5.057 * X(1) * X(2) + 11.0 * X(2) * X(8) + .0215 * X(5) * X(10) + 9.98 * X(7) * X(8) - 22.0 * X(8) * X(9) + 32
317 X(18) = -46.36 + 9.9 * X(2) + 12.9 * X(1) * X(8) - .1107 * X(3) * X(10) + 32
318 X(19) = -4.72 + .5 * X(4) + .19 * X(2) * X(3) + .0122 * X(4) * X(10) - .009325 * X(6) * X(10) - .000191 * X(11) * X(11) + 4
319 X(20) = -10.58 + .674 * X(1) * X(2) + 1.95 * X(2) * X(8) - .02054 * X(3) * X(10) + .0198 * X(4) * X(10) - .028 * X(6) * X(10) + 9.9
320 X(21) = -16.45 + .489 * X(3) * X(7) + .843 * X(5) * X(6) - .0432 * X(9) * X(10) + .0556 * X(9) * X(11) + .000786 * X(11) * X(11) + 15.7
329 FOR J99 = 12 TO 21
330 IF X(J99) < 0 THEN X(J99) = X(J99) ELSE X(J99) = 0
331 NEXT J99
333 REM
355 POBA = -1.98 - 4.90 * X(1) - 6.67 * X(2) - 6.98 * X(3) - 4.01 * X(4) - 1.78 * X(5) - 2.73 * X(7) + 1000000 * (X(19) + X(20) + X(21) + 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 21
1455 A(KLX) = X(KLX)
1456 NEXT KLX
1557 GOTO 128
1670 NEXT I
1889 IF M < -22.59 THEN 1999
1900 PRINT A(1), A(2), A(3)
1903 PRINT A(4), A(5), A(6)
1906 PRINT A(7), A(8), A(9)
1907 PRINT A(10), A(11), A(12)
1908 PRINT A(13), A(14), A(15)
1909 PRINT A(16), A(17), A(18)
1910 PRINT A(19), A(20), A(21)
1912 PRINT M, JJJJ
1999 NEXT JJJJ
This BASIC computer program was run with qb64v1000-win [22]. The complete output through JJJJ = -31991.2900000014 is shown below:
.5000005889982524 1.11192095479818 .5000002548373358
1.30987464494098 .4999999851212227 1.499999658347107
.3999999910600426 .345 .192
-20.35644718873207 4.23138571828183D-07 0
0 0 0
0 0 0
0 0 0
-.22.57111470868293 -31996.82000000051
.5004298828587872 1.111506697535371 .4999999851051984
1.31034634007081 .499999985110199 1.499998784994892
.3999999910602496 .345 .192
-20.39603494791161 -1.451902692732694D-10 0
0 0 0
0 0 0
0 0 0
-22.57234476737785 -31991.2900000014
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 [22], the wall-clock time for obtaining the output through JJJJ= -31991.2900000014 was 21 minutes.
Acknowledgment
I would like to acknowledge the encouragement of Roberta Clark and Tom Clark.
References
[1] Yuichiro Anzai (1974). On Integer Fractional Programming. Journal Operations Research Society of Japan, Volume 17, No. 1, March 1974, pp. 49-66.
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] H. Chickermane, H. C. Gea (1996) Structural optimization using a new local approximation method, International Journal for Numerical Methods in Engineering, 39, pp. 829-846.
[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] 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.
[10] Ming-Hua Lin, Jung-Fa Tsai (2014). A deterministic global approach for mixed-discrete structural optimization, Engineering Optimization (2014) 46:7, pp. 863-879.9
[11] Harry Markowitz (1952). Portfolio Selection. The Journal of Finance 7 (2008) pp. 77-91.
[12] 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/
[13] Ong Kok Meng, Ong Pauline, Sia Chee Kiong, H. A. Wahab, N. Jafferi. Application of Modified Flower Pollination Algorithm on Mechanical Engineering Design Problem. IOP Conf. Series: Materials Science and Engineering 165 (2017) 012032.
[14] 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.
[15] Sinan Melih Nigdeli, Gebrail Bekdas, Xin-She Yang (2016). Application of the Flower Pollination Algoritm in Structural Engineering. Springer International Publishing Switzerland 2016. www.springer.com/cda/content/document/cda.../
[16] 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.
[17] P. B. Thanedar, G. N. Vanderplaats (1995). Survey of discrete variable optimization for structural design, Journal of Structural Engineering, 121 (2), 301-306 (1995).
[18] Jung-Fa Tsai (2005). Global optimization of nonlinear fractional programming problems in engineering design. Engineering Optimization (2005) 37:4, pp. 399-409.
[19] 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
[20] 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.
[21] 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.
[22] Wikipedia, QB64, https://en.wikipedia.org/wiki/QB64.
[23] 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/
[24] 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.
[25] 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.
[26] B. D. Youn, K. K. Choi (2004). A new responsesurface methodology for reliability-based design optimization. Computers and Structures 82 (2004) 241-256.
Essentially the revision is changing old line 204 through old line 220 to become new line 304 through new line 320, respectively.
0 DEFDBL A-Z
2 DEFINT K
3 DIM B(99), N(99), A(99), H(99), L(99), U(99), X(1111), D(111), P(111), PS(33)
12 FOR JJJJ = -32000 TO 32000 STEP .01
14 RANDOMIZE JJJJ
16 M = -1D+37
72 FOR J44 = 1 TO 4
74 A(J44) = .5 + RND
79 NEXT J44
86 A(2) = .45 + RND * .9
87 A(5) = .5 + RND * 2.125
88 A(6) = .4 + RND * 1.1
89 A(7) = .4 + RND * 1.1
95 IF RND < .5 THEN A(8) = .192 ELSE A(8) = .345
96 IF RND < .5 THEN A(9) = .192 ELSE A(9) = .345
98 A(10) = -30 + RND * 60
99 A(11) = -30 + RND * 60
128 FOR I = 1 TO 5000
129 FOR KKQQ = 1 TO 11
130 X(KKQQ) = A(KKQQ)
131 NEXT KKQQ
133 FOR IPP = 1 TO (1 + FIX(RND * 4))
181 J = 1 + FIX(RND * 11)
183 r = (1 - RND * 2) * A(J)
187 X(J) = A(J) + (RND ^ (RND * 10)) * r
191 NEXT IPP
197 REM
198 IF RND < .5 THEN X(8) = .192 ELSE X(8) = .345
199 IF RND < .5 THEN X(9) = .192 ELSE X(9) = .345
221 IF X(1) < .5 THEN 1670
222 IF X(1) > 1.5 THEN 1670
223 IF X(2) < .45 THEN 1670
224 IF X(2) > 1.36 THEN 1670
225 IF X(3) < .5 THEN 1670
226 IF X(3) > 1.5 THEN 1670
235 IF X(4) < .5 THEN 1670
236 IF X(4) > 1.5 THEN 1670
245 IF X(5) < .5 THEN 1670
246 IF X(5) > 2.625 THEN 1670
247 IF X(6) < .4 THEN 1670
248 IF X(6) > 1.5 THEN 1670
249 IF X(7) < .4 THEN 1670
250 IF X(7) > 1.5 THEN 1670
251 IF X(8) < .192 THEN 1670
252 IF X(8) > .345 THEN 1670
253 IF X(9) < .192 THEN 1670
254 IF X(9) > .345 THEN 1670
255 IF X(10) < -30 THEN 1670
256 IF X(10) > 30 THEN 1670
257 IF X(11) < -30 THEN 1670
258 IF X(11) > 30 THEN 1670
304 X(12) = -1.16 + .3717 * X(2) * X(4) + .00931 * X(2) * X(10) + .484 * X(3) * X(9) - .01343 * X(6) * X(10) + 1
305 X(13) = -.261 + .0159 * X(1) * X(2) + .188 * X(1) * X(8) + .019 * X(2) * X(7) - .0144 * X(3) * X(5) - .0008757 * X(5) * X(10) - .08045 * X(6) * X(9) - .00139 * X(8) * X(11) - .000001575 * X(10) * X(11) + .32
306 X(14) = -.214 - .00817 * X(5) + .131 * X(1) * X(8) + .0704 * X(1) * X(9) - .03099 * X(2) * X(6) + .018 * X(2) * X(7) - .0208 * X(3) * X(8) - .121 * X(3) * X(9) + .00364 * X(5) * X(6) - .0007715 * X(5) * X(10) + .0005354 * X(6) * X(10) - .00121 * X(8) * X(11) + .32
307 X(15) = -.74 + .61 * X(2) + .163 * X(3) * X(8) - .001232 * X(3) * X(10) + .166 * X(7) * X(9) - .227 * X(2) * X(2) + .32
313 X(16) = -28.98 - 3.818 * X(3) + 4.2 * X(1) * X(2) - .0207 * X(5) * X(10) - 6.63 * X(6) * X(9) + 7.7 * X(7) * X(8) - .32 * X(9) * X(10) + 32
316 X(17) = -33.86 - 2.95 * X(3) - .1792 * X(10) + 5.057 * X(1) * X(2) + 11.0 * X(2) * X(8) + .0215 * X(5) * X(10) + 9.98 * X(7) * X(8) - 22.0 * X(8) * X(9) + 32
317 X(18) = -46.36 + 9.9 * X(2) + 12.9 * X(1) * X(8) - .1107 * X(3) * X(10) + 32
318 X(19) = -4.72 + .5 * X(4) + .19 * X(2) * X(3) + .0122 * X(4) * X(10) - .009325 * X(6) * X(10) - .000191 * X(11) * X(11) + 4
319 X(20) = -10.58 + .674 * X(1) * X(2) + 1.95 * X(2) * X(8) - .02054 * X(3) * X(10) + .0198 * X(4) * X(10) - .028 * X(6) * X(10) + 9.9
320 X(21) = -16.45 + .489 * X(3) * X(7) + .843 * X(5) * X(6) - .0432 * X(9) * X(10) + .0556 * X(9) * X(11) + .000786 * X(11) * X(11) + 15.7
329 FOR J99 = 12 TO 21
330 IF X(J99) < 0 THEN X(J99) = X(J99) ELSE X(J99) = 0
331 NEXT J99
333 REM
355 POBA = -1.98 - 4.90 * X(1) - 6.67 * X(2) - 6.98 * X(3) - 4.01 * X(4) - 1.78 * X(5) - 2.73 * X(7) + 1000000 * (X(19) + X(20) + X(21) + 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 21
1455 A(KLX) = X(KLX)
1456 NEXT KLX
1557 GOTO 128
1670 NEXT I
1889 IF M < -22.59 THEN 1999
1900 PRINT A(1), A(2), A(3)
1903 PRINT A(4), A(5), A(6)
1906 PRINT A(7), A(8), A(9)
1907 PRINT A(10), A(11), A(12)
1908 PRINT A(13), A(14), A(15)
1909 PRINT A(16), A(17), A(18)
1910 PRINT A(19), A(20), A(21)
1912 PRINT M, JJJJ
1999 NEXT JJJJ
This BASIC computer program was run with qb64v1000-win [22]. The complete output through JJJJ = -31991.2900000014 is shown below:
.5000005889982524 1.11192095479818 .5000002548373358
1.30987464494098 .4999999851212227 1.499999658347107
.3999999910600426 .345 .192
-20.35644718873207 4.23138571828183D-07 0
0 0 0
0 0 0
0 0 0
-.22.57111470868293 -31996.82000000051
.5004298828587872 1.111506697535371 .4999999851051984
1.31034634007081 .499999985110199 1.499998784994892
.3999999910602496 .345 .192
-20.39603494791161 -1.451902692732694D-10 0
0 0 0
0 0 0
0 0 0
-22.57234476737785 -31991.2900000014
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 [22], the wall-clock time for obtaining the output through JJJJ= -31991.2900000014 was 21 minutes.
Acknowledgment
I would like to acknowledge the encouragement of Roberta Clark and Tom Clark.
References
[1] Yuichiro Anzai (1974). On Integer Fractional Programming. Journal Operations Research Society of Japan, Volume 17, No. 1, March 1974, pp. 49-66.
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] H. Chickermane, H. C. Gea (1996) Structural optimization using a new local approximation method, International Journal for Numerical Methods in Engineering, 39, pp. 829-846.
[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] 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.
[10] Ming-Hua Lin, Jung-Fa Tsai (2014). A deterministic global approach for mixed-discrete structural optimization, Engineering Optimization (2014) 46:7, pp. 863-879.9
[11] Harry Markowitz (1952). Portfolio Selection. The Journal of Finance 7 (2008) pp. 77-91.
[12] 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/
[13] Ong Kok Meng, Ong Pauline, Sia Chee Kiong, H. A. Wahab, N. Jafferi. Application of Modified Flower Pollination Algorithm on Mechanical Engineering Design Problem. IOP Conf. Series: Materials Science and Engineering 165 (2017) 012032.
[14] 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.
[15] Sinan Melih Nigdeli, Gebrail Bekdas, Xin-She Yang (2016). Application of the Flower Pollination Algoritm in Structural Engineering. Springer International Publishing Switzerland 2016. www.springer.com/cda/content/document/cda.../
[16] 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.
[17] P. B. Thanedar, G. N. Vanderplaats (1995). Survey of discrete variable optimization for structural design, Journal of Structural Engineering, 121 (2), 301-306 (1995).
[18] Jung-Fa Tsai (2005). Global optimization of nonlinear fractional programming problems in engineering design. Engineering Optimization (2005) 37:4, pp. 399-409.
[19] 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
[20] 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.
[21] 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.
[22] Wikipedia, QB64, https://en.wikipedia.org/wiki/QB64.
[23] 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/
[24] 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.
[25] 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.
[26] B. D. Youn, K. K. Choi (2004). A new responsesurface methodology for reliability-based design optimization. Computers and Structures 82 (2004) 241-256.
Sunday, September 17, 2017
Solving a Nonlinear Programming Formulation Based on a Formulation for a Car Side Impact Design Problem Using the Method of This Blog
Jsun Yui Wong
The computer program listed below seeks to solve the following formulation which is based on the formulation for a car side impact design problem in Gamdomi, Yang, and Alavi [5, pp. 2333-2335].
The following X(12) through X[21} are slack varibles.
Minimize 1.98 + 4.90 * X(1) + 6.67 * X(2) + 6.98 * X(3) + 4.01 * X(4) + 1.78 * X(5) + 2.73 * X(7)
subject to
X(12) >= -1.16 + .3717 * X(2) * X(4) + .00931 * X(2) * X(10) + .484 * X(3) * X(9) - .01343 * X(6) * X(10) + 1
X(13) >= -.261 + .0159 * X(1) * X(2) + .188 * X(1) * X(8) + .019 * X(2) * X(7) - .0144 * X(3) * X(5) - .0008757 * X(5) * X(10) - .08045 * X(6) * X(9) - .00139 * X(8) * X(11) - .000001575 * X(10) * X(11) + .32
X(14) >= -.214 - .00817 * X(5) + .131 * X(1) * X(8) + .0704 * X(1) * X(9) - .03099 * X(2) * X(6) + .018 * X(2) * X(7) - .0208 * X(3) * X(8) - .121 * X(3) * X(9) + .00364 * X(5) * X(6) - .0007715 * X(5) * X(10) + .0005354 * X(6) * X(10) - .00121 * X(8) * X(11) + .32
X(15) >= -.74 + .61 * X(2) + .163 * X(3) * X(8) - .001232 * X(3) * X(10) + .166 * X(7) * X(9) - .227 * X(2) * X(2) + .32
X(16) >= -28.98 - 3.818 * X(3) + 4.2 * X(1) * X(2) - .0207 * X(5) * X(10) - 6.63 * X(6) * X(9) + 7.7 * X(7) * X(8) - .32 * X(9) * X(10) + 32
X(17) >= -33.86 - 2.95 * X(3) - .1792 * X(10) + 5.057 * X(1) * X(2) + 11.0 * X(2) * X(8) + .0215 * X(5) * X(10) + 9.98 * X(7) * X(8) - 22.0 * X(8) * X(9) + 32
X(18) >= -46.36 + 9.9 * X(2) + 12.9 * X(1) * X(8) - .1107 * X(3) * X(10) + 32
X(19) >= -4.72 + .5 * X(4) + .19 * X(2) * X(3) + .0122 * X(4) * X(10) - .009325 * X(6) * X(10) - .000191 * X(11) * X(11) + 4
X(20) >= -10.58 + .674 * X(1) * X(2) + 1.95 * X(2) * X(8) - .02054 * X(3) * X(10) + .0198 * X(4) * X(10) - .028 * X(6) * X(10) + 9.9
X(21) >= -16.45 + .489 * X(3) * X(7) + .843 * X(5) * X(6) - .0432 * X(9) * X(10) + .0556 * X(9) * X(11) + .000786 * X(11) * X(11) + 15.7
.5<=X(i) <=1.5, i=1, 3, 4
.45<=X(2) <=1.36 , (This change of 1.35 to 1.36 comes from the 1.36000 of the last column of Table 16 of Gandomi, Yang, and Alavi [5, p. 2335, Table 16.)
.5<=X(5) <= 2.625 (This change from 0.875 to .5 comes from the 0.50000s of the row of X(5) of Table 16 of Gandomi, Yang, and Alavi [5, p. 2335, Table 16].) .
.4<=X(6), X(7) <= 1.5. (This change from 1.2 to 1.5 comes from the 1.50000s of the row of X(6) of Table 16 of Gandomi, Yang, and Alavi [5, p. 2335, Table 16])
.192<=X(8), X(9)<= .345
-30<=X(10), X(11)<=30. (These changes of .5 and 1.5 to -30 to 30, respectively, come from the Erratum of G, Y, and Alavi [8].)
The .61 (instead of 0.061) of line 207 of the following computer program comes from Youn and Choi [26, p. 250].
The following computer program has these newer numbers.
0 DEFDBL A-Z
2 DEFINT K
3 DIM B(99), N(99), A(99), H(99), L(99), U(99), X(1111), D(111), P(111), PS(33)
12 FOR JJJJ = -32000 TO 32000 STEP .01
14 RANDOMIZE JJJJ
16 M = -1D+37
72 FOR J44 = 1 TO 4
74 A(J44) = .5 + RND
79 NEXT J44
86 A(2) = .45 + RND * .9
87 A(5) = .5 + RND * 2.125
88 A(6) = .4 + RND * 1.1
89 A(7) = .4 + RND * 1.1
95 IF RND < .5 THEN A(8) = .192 ELSE A(8) = .345
96 IF RND < .5 THEN A(9) = .192 ELSE A(9) = .345
98 A(10) = -30 + RND * 60
99 A(11) = -30 + RND * 60
128 FOR I = 1 TO 5000
129 FOR KKQQ = 1 TO 11
130 X(KKQQ) = A(KKQQ)
131 NEXT KKQQ
133 FOR IPP = 1 TO (1 + FIX(RND * 4))
181 J = 1 + FIX(RND * 11)
183 r = (1 - RND * 2) * A(J)
187 X(J) = A(J) + (RND ^ (RND * 10)) * r
191 NEXT IPP
197 REM X(3) = INT(X(3))
198 IF RND < .5 THEN X(8) = .192 ELSE X(8) = .345
199 IF RND < .5 THEN X(9) = .192 ELSE X(9) = .345
201 REM X(3) =- (-.74 + .61 * X(2) + 0+ .166 * X(7) * X(9) - .227 * X(2) * X(2) + .32) / ( .163*x(8) -.001232*x(10) )
204 X(12) = -1.16 + .3717 * X(2) * X(4) + .00931 * X(2) * X(10) + .484 * X(3) * X(9) - .01343 * X(6) * X(10) + 1
205 X(13) = -.261 + .0159 * X(1) * X(2) + .188 * X(1) * X(8) + .019 * X(2) * X(7) - .0144 * X(3) * X(5) - .0008757 * X(5) * X(10) - .08045 * X(6) * X(9) - .00139 * X(8) * X(11) - .000001575 * X(10) * X(11) + .32
206 X(14) = -.214 - .00817 * X(5) + .131 * X(1) * X(8) + .0704 * X(1) * X(9) - .03099 * X(2) * X(6) + .018 * X(2) * X(7) - .0208 * X(3) * X(8) - .121 * X(3) * X(9) + .00364 * X(5) * X(6) - .0007715 * X(5) * X(10) + .0005354 * X(6) * X(10) - .00121 * X(8) * X(11) + .32
207 X(15) = -.74 + .61 * X(2) + .163 * X(3) * X(8) - .001232 * X(3) * X(10) + .166 * X(7) * X(9) - .227 * X(2) * X(2) + .32
213 X(16) = -28.98 - 3.818 * X(3) + 4.2 * X(1) * X(2) - .0207 * X(5) * X(10) - 6.63 * X(6) * X(9) + 7.7 * X(7) * X(8) - .32 * X(9) * X(10) + 32
216 X(17) = -33.86 - 2.95 * X(3) - .1792 * X(10) + 5.057 * X(1) * X(2) + 11.0 * X(2) * X(8) + .0215 * X(5) * X(10) + 9.98 * X(7) * X(8) - 22.0 * X(8) * X(9) + 32
217 X(18) = -46.36 + 9.9 * X(2) + 12.9 * X(1) * X(8) - .1107 * X(3) * X(10) + 32
218 X(19) = -4.72 + .5 * X(4) + .19 * X(2) * X(3) + .0122 * X(4) * X(10) - .009325 * X(6) * X(10) - .000191 * X(11) * X(11) + 4
219 X(20) = -10.58 + .674 * X(1) * X(2) + 1.95 * X(2) * X(8) - .02054 * X(3) * X(10) + .0198 * X(4) * X(10) - .028 * X(6) * X(10) + 9.9
220 X(21) = -16.45 + .489 * X(3) * X(7) + .843 * X(5) * X(6) - .0432 * X(9) * X(10) + .0556 * X(9) * X(11) + .000786 * X(11) * X(11) + 15.7
221 IF X(1) < .5 THEN 1670
222 IF X(1) > 1.5 THEN 1670
223 IF X(2) < .45 THEN 1670
224 IF X(2) > 1.36 THEN 1670
225 IF X(3) < .5 THEN 1670
226 IF X(3) > 1.5 THEN 1670
235 IF X(4) < .5 THEN 1670
236 IF X(4) > 1.5 THEN 1670
245 IF X(5) < .5 THEN 1670
246 IF X(5) > 2.625 THEN 1670
247 IF X(6) < .4 THEN 1670
248 IF X(6) > 1.5 THEN 1670
249 IF X(7) < .4 THEN 1670
250 IF X(7) > 1.5 THEN 1670
251 IF X(8) < .192 THEN 1670
252 IF X(8) > .345 THEN 1670
253 IF X(9) < .192 THEN 1670
254 IF X(9) > .345 THEN 1670
255 IF X(10) < -30 THEN 1670
256 IF X(10) > 30 THEN 1670
257 IF X(11) < -30 THEN 1670
258 IF X(11) > 30 THEN 1670
259 FOR J99 = 12 TO 21
269 IF X(J99) < 0 THEN X(J99) = X(J99) ELSE X(J99) = 0
270 NEXT J99
333 REM
355 POBA = -1.98 - 4.90 * X(1) - 6.67 * X(2) - 6.98 * X(3) - 4.01 * X(4) - 1.78 * X(5) - 2.73 * X(7) + 1000000 * (X(19) + X(20) + X(21) + 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 21
1455 A(KLX) = X(KLX)
1456 NEXT KLX
1557 GOTO 128
1670 NEXT I
1889 IF M < -22.59 THEN 1999
1900 PRINT A(1), A(2), A(3)
1903 PRINT A(4), A(5), A(6)
1906 PRINT A(7), A(8), A(9)
1907 PRINT A(10), A(11), A(12)
1908 PRINT A(13), A(14), A(15)
1909 PRINT A(16), A(17), A(18)
1910 PRINT A(19), A(20), A(21)
1912 PRINT M, JJJJ
1999 NEXT JJJJ
This BASIC computer program was run with qb64v1000-win [22]. The complete output through JJJJ = -31991.2900000014 is shown below:
.5000005889982524 1.11192095479818 .5000002548373358
1.30987464494098 .4999999851212227 1.499999658347107
.3999999910600426 .345 .192
-20.35644718873207 4.23138571828183D-07 0
0 0 0
0 0 0
0 0 0
-22.57111470868293 -31996.82000000051
.5004298828587872 1.111506697535371 .4999999851051984
1.31034634007081 .499999985110199 1.499998784994892
.3999999910602496 .345 .192
-20.39603494791161 -1.451902692732694D-10 0
0 0 0
0 0 0
0 0 0
-22.57234476737785 -31991.2900000014
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 [22], the wall-clock time for obtaining the output through JJJJ= -31991.2900000014 was 25 minutes.
Acknowledgment
I would like to acknowledge the encouragement of Roberta Clark and Tom Clark.
References
[1] Yuichiro Anzai (1974). On Integer Fractional Programming. Journal Operations Research Society of Japan, Volume 17, No. 1, March 1974, pp. 49-66.
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] H. Chickermane, H. C. Gea (1996) Structural optimization using a new local approximation method, International Journal for Numerical Methods in Engineering, 39, pp. 829-846.
[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] 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.
[10] Ming-Hua Lin, Jung-Fa Tsai (2014). A deterministic global approach for mixed-discrete structural optimization, Engineering Optimization (2014) 46:7, pp. 863-879.9
[11] Harry Markowitz (1952). Portfolio Selection. The Journal of Finance 7 (2008) pp. 77-91.
[12] 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/
[13] Ong Kok Meng, Ong Pauline, Sia Chee Kiong, H. A. Wahab, N. Jafferi. Application of Modified Flower Pollination Algorithm on Mechanical Engineering Design Problem. IOP Conf. Series: Materials Science and Engineering 165 (2017) 012032.
[14] 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.
[15] Sinan Melih Nigdeli, Gebrail Bekdas, Xin-She Yang (2016). Application of the Flower Pollination Algoritm in Structural Engineering. Springer International Publishing Switzerland 2016. www.springer.com/cda/content/document/cda.../
[16] 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.
[17] P. B. Thanedar, G. N. Vanderplaats (1995). Survey of discrete variable optimization for structural design, Journal of Structural Engineering, 121 (2), 301-306 (1995).
[18] Jung-Fa Tsai (2005). Global optimization of nonlinear fractional programming problems in engineering design. Engineering Optimization (2005) 37:4, pp. 399-409.
[19] 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
[20] 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.
[21] 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.
[22] Wikipedia, QB64, https://en.wikipedia.org/wiki/QB64.
[23] 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/
[24] 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.
[25] 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.
[26] B. D. Youn, K. K. Choi (2004). A new responsesurface methodology for reliability-based design optimization.Computer and Structures 82 (2004) 241-256.
The computer program listed below seeks to solve the following formulation which is based on the formulation for a car side impact design problem in Gamdomi, Yang, and Alavi [5, pp. 2333-2335].
The following X(12) through X[21} are slack varibles.
Minimize 1.98 + 4.90 * X(1) + 6.67 * X(2) + 6.98 * X(3) + 4.01 * X(4) + 1.78 * X(5) + 2.73 * X(7)
subject to
X(12) >= -1.16 + .3717 * X(2) * X(4) + .00931 * X(2) * X(10) + .484 * X(3) * X(9) - .01343 * X(6) * X(10) + 1
X(13) >= -.261 + .0159 * X(1) * X(2) + .188 * X(1) * X(8) + .019 * X(2) * X(7) - .0144 * X(3) * X(5) - .0008757 * X(5) * X(10) - .08045 * X(6) * X(9) - .00139 * X(8) * X(11) - .000001575 * X(10) * X(11) + .32
X(14) >= -.214 - .00817 * X(5) + .131 * X(1) * X(8) + .0704 * X(1) * X(9) - .03099 * X(2) * X(6) + .018 * X(2) * X(7) - .0208 * X(3) * X(8) - .121 * X(3) * X(9) + .00364 * X(5) * X(6) - .0007715 * X(5) * X(10) + .0005354 * X(6) * X(10) - .00121 * X(8) * X(11) + .32
X(15) >= -.74 + .61 * X(2) + .163 * X(3) * X(8) - .001232 * X(3) * X(10) + .166 * X(7) * X(9) - .227 * X(2) * X(2) + .32
X(16) >= -28.98 - 3.818 * X(3) + 4.2 * X(1) * X(2) - .0207 * X(5) * X(10) - 6.63 * X(6) * X(9) + 7.7 * X(7) * X(8) - .32 * X(9) * X(10) + 32
X(17) >= -33.86 - 2.95 * X(3) - .1792 * X(10) + 5.057 * X(1) * X(2) + 11.0 * X(2) * X(8) + .0215 * X(5) * X(10) + 9.98 * X(7) * X(8) - 22.0 * X(8) * X(9) + 32
X(18) >= -46.36 + 9.9 * X(2) + 12.9 * X(1) * X(8) - .1107 * X(3) * X(10) + 32
X(19) >= -4.72 + .5 * X(4) + .19 * X(2) * X(3) + .0122 * X(4) * X(10) - .009325 * X(6) * X(10) - .000191 * X(11) * X(11) + 4
X(20) >= -10.58 + .674 * X(1) * X(2) + 1.95 * X(2) * X(8) - .02054 * X(3) * X(10) + .0198 * X(4) * X(10) - .028 * X(6) * X(10) + 9.9
X(21) >= -16.45 + .489 * X(3) * X(7) + .843 * X(5) * X(6) - .0432 * X(9) * X(10) + .0556 * X(9) * X(11) + .000786 * X(11) * X(11) + 15.7
.5<=X(i) <=1.5, i=1, 3, 4
.45<=X(2) <=1.36 , (This change of 1.35 to 1.36 comes from the 1.36000 of the last column of Table 16 of Gandomi, Yang, and Alavi [5, p. 2335, Table 16.)
.5<=X(5) <= 2.625 (This change from 0.875 to .5 comes from the 0.50000s of the row of X(5) of Table 16 of Gandomi, Yang, and Alavi [5, p. 2335, Table 16].) .
.4<=X(6), X(7) <= 1.5. (This change from 1.2 to 1.5 comes from the 1.50000s of the row of X(6) of Table 16 of Gandomi, Yang, and Alavi [5, p. 2335, Table 16])
.192<=X(8), X(9)<= .345
-30<=X(10), X(11)<=30. (These changes of .5 and 1.5 to -30 to 30, respectively, come from the Erratum of G, Y, and Alavi [8].)
The .61 (instead of 0.061) of line 207 of the following computer program comes from Youn and Choi [26, p. 250].
The following computer program has these newer numbers.
0 DEFDBL A-Z
2 DEFINT K
3 DIM B(99), N(99), A(99), H(99), L(99), U(99), X(1111), D(111), P(111), PS(33)
12 FOR JJJJ = -32000 TO 32000 STEP .01
14 RANDOMIZE JJJJ
16 M = -1D+37
72 FOR J44 = 1 TO 4
74 A(J44) = .5 + RND
79 NEXT J44
86 A(2) = .45 + RND * .9
87 A(5) = .5 + RND * 2.125
88 A(6) = .4 + RND * 1.1
89 A(7) = .4 + RND * 1.1
95 IF RND < .5 THEN A(8) = .192 ELSE A(8) = .345
96 IF RND < .5 THEN A(9) = .192 ELSE A(9) = .345
98 A(10) = -30 + RND * 60
99 A(11) = -30 + RND * 60
128 FOR I = 1 TO 5000
129 FOR KKQQ = 1 TO 11
130 X(KKQQ) = A(KKQQ)
131 NEXT KKQQ
133 FOR IPP = 1 TO (1 + FIX(RND * 4))
181 J = 1 + FIX(RND * 11)
183 r = (1 - RND * 2) * A(J)
187 X(J) = A(J) + (RND ^ (RND * 10)) * r
191 NEXT IPP
197 REM X(3) = INT(X(3))
198 IF RND < .5 THEN X(8) = .192 ELSE X(8) = .345
199 IF RND < .5 THEN X(9) = .192 ELSE X(9) = .345
201 REM X(3) =- (-.74 + .61 * X(2) + 0+ .166 * X(7) * X(9) - .227 * X(2) * X(2) + .32) / ( .163*x(8) -.001232*x(10) )
204 X(12) = -1.16 + .3717 * X(2) * X(4) + .00931 * X(2) * X(10) + .484 * X(3) * X(9) - .01343 * X(6) * X(10) + 1
205 X(13) = -.261 + .0159 * X(1) * X(2) + .188 * X(1) * X(8) + .019 * X(2) * X(7) - .0144 * X(3) * X(5) - .0008757 * X(5) * X(10) - .08045 * X(6) * X(9) - .00139 * X(8) * X(11) - .000001575 * X(10) * X(11) + .32
206 X(14) = -.214 - .00817 * X(5) + .131 * X(1) * X(8) + .0704 * X(1) * X(9) - .03099 * X(2) * X(6) + .018 * X(2) * X(7) - .0208 * X(3) * X(8) - .121 * X(3) * X(9) + .00364 * X(5) * X(6) - .0007715 * X(5) * X(10) + .0005354 * X(6) * X(10) - .00121 * X(8) * X(11) + .32
207 X(15) = -.74 + .61 * X(2) + .163 * X(3) * X(8) - .001232 * X(3) * X(10) + .166 * X(7) * X(9) - .227 * X(2) * X(2) + .32
213 X(16) = -28.98 - 3.818 * X(3) + 4.2 * X(1) * X(2) - .0207 * X(5) * X(10) - 6.63 * X(6) * X(9) + 7.7 * X(7) * X(8) - .32 * X(9) * X(10) + 32
216 X(17) = -33.86 - 2.95 * X(3) - .1792 * X(10) + 5.057 * X(1) * X(2) + 11.0 * X(2) * X(8) + .0215 * X(5) * X(10) + 9.98 * X(7) * X(8) - 22.0 * X(8) * X(9) + 32
217 X(18) = -46.36 + 9.9 * X(2) + 12.9 * X(1) * X(8) - .1107 * X(3) * X(10) + 32
218 X(19) = -4.72 + .5 * X(4) + .19 * X(2) * X(3) + .0122 * X(4) * X(10) - .009325 * X(6) * X(10) - .000191 * X(11) * X(11) + 4
219 X(20) = -10.58 + .674 * X(1) * X(2) + 1.95 * X(2) * X(8) - .02054 * X(3) * X(10) + .0198 * X(4) * X(10) - .028 * X(6) * X(10) + 9.9
220 X(21) = -16.45 + .489 * X(3) * X(7) + .843 * X(5) * X(6) - .0432 * X(9) * X(10) + .0556 * X(9) * X(11) + .000786 * X(11) * X(11) + 15.7
221 IF X(1) < .5 THEN 1670
222 IF X(1) > 1.5 THEN 1670
223 IF X(2) < .45 THEN 1670
224 IF X(2) > 1.36 THEN 1670
225 IF X(3) < .5 THEN 1670
226 IF X(3) > 1.5 THEN 1670
235 IF X(4) < .5 THEN 1670
236 IF X(4) > 1.5 THEN 1670
245 IF X(5) < .5 THEN 1670
246 IF X(5) > 2.625 THEN 1670
247 IF X(6) < .4 THEN 1670
248 IF X(6) > 1.5 THEN 1670
249 IF X(7) < .4 THEN 1670
250 IF X(7) > 1.5 THEN 1670
251 IF X(8) < .192 THEN 1670
252 IF X(8) > .345 THEN 1670
253 IF X(9) < .192 THEN 1670
254 IF X(9) > .345 THEN 1670
255 IF X(10) < -30 THEN 1670
256 IF X(10) > 30 THEN 1670
257 IF X(11) < -30 THEN 1670
258 IF X(11) > 30 THEN 1670
259 FOR J99 = 12 TO 21
269 IF X(J99) < 0 THEN X(J99) = X(J99) ELSE X(J99) = 0
270 NEXT J99
333 REM
355 POBA = -1.98 - 4.90 * X(1) - 6.67 * X(2) - 6.98 * X(3) - 4.01 * X(4) - 1.78 * X(5) - 2.73 * X(7) + 1000000 * (X(19) + X(20) + X(21) + 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 21
1455 A(KLX) = X(KLX)
1456 NEXT KLX
1557 GOTO 128
1670 NEXT I
1889 IF M < -22.59 THEN 1999
1900 PRINT A(1), A(2), A(3)
1903 PRINT A(4), A(5), A(6)
1906 PRINT A(7), A(8), A(9)
1907 PRINT A(10), A(11), A(12)
1908 PRINT A(13), A(14), A(15)
1909 PRINT A(16), A(17), A(18)
1910 PRINT A(19), A(20), A(21)
1912 PRINT M, JJJJ
1999 NEXT JJJJ
This BASIC computer program was run with qb64v1000-win [22]. The complete output through JJJJ = -31991.2900000014 is shown below:
.5000005889982524 1.11192095479818 .5000002548373358
1.30987464494098 .4999999851212227 1.499999658347107
.3999999910600426 .345 .192
-20.35644718873207 4.23138571828183D-07 0
0 0 0
0 0 0
0 0 0
-22.57111470868293 -31996.82000000051
.5004298828587872 1.111506697535371 .4999999851051984
1.31034634007081 .499999985110199 1.499998784994892
.3999999910602496 .345 .192
-20.39603494791161 -1.451902692732694D-10 0
0 0 0
0 0 0
0 0 0
-22.57234476737785 -31991.2900000014
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 [22], the wall-clock time for obtaining the output through JJJJ= -31991.2900000014 was 25 minutes.
Acknowledgment
I would like to acknowledge the encouragement of Roberta Clark and Tom Clark.
References
[1] Yuichiro Anzai (1974). On Integer Fractional Programming. Journal Operations Research Society of Japan, Volume 17, No. 1, March 1974, pp. 49-66.
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] H. Chickermane, H. C. Gea (1996) Structural optimization using a new local approximation method, International Journal for Numerical Methods in Engineering, 39, pp. 829-846.
[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] 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.
[10] Ming-Hua Lin, Jung-Fa Tsai (2014). A deterministic global approach for mixed-discrete structural optimization, Engineering Optimization (2014) 46:7, pp. 863-879.9
[11] Harry Markowitz (1952). Portfolio Selection. The Journal of Finance 7 (2008) pp. 77-91.
[12] 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/
[13] Ong Kok Meng, Ong Pauline, Sia Chee Kiong, H. A. Wahab, N. Jafferi. Application of Modified Flower Pollination Algorithm on Mechanical Engineering Design Problem. IOP Conf. Series: Materials Science and Engineering 165 (2017) 012032.
[14] 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.
[15] Sinan Melih Nigdeli, Gebrail Bekdas, Xin-She Yang (2016). Application of the Flower Pollination Algoritm in Structural Engineering. Springer International Publishing Switzerland 2016. www.springer.com/cda/content/document/cda.../
[16] 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.
[17] P. B. Thanedar, G. N. Vanderplaats (1995). Survey of discrete variable optimization for structural design, Journal of Structural Engineering, 121 (2), 301-306 (1995).
[18] Jung-Fa Tsai (2005). Global optimization of nonlinear fractional programming problems in engineering design. Engineering Optimization (2005) 37:4, pp. 399-409.
[19] 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
[20] 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.
[21] 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.
[22] Wikipedia, QB64, https://en.wikipedia.org/wiki/QB64.
[23] 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/
[24] 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.
[25] 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.
[26] B. D. Youn, K. K. Choi (2004). A new responsesurface methodology for reliability-based design optimization.Computer and Structures 82 (2004) 241-256.
Tuesday, September 5, 2017
Solving a Himmelblau Benchmark Problem Using the Method of This Blog
Jsun Yui Wong
The computer program listed below seeks to solve the Himmelblau problem on pp. 19-20 of Gandomi, Yang, and Alavi [6]; one takes note of the typos [7].
0 DEFDBL A-Z
2 DEFINT K
3 DIM B(99), N(99), A(99), H(99), L(99), U(99), X(1111), D(111), P(111), PS(33)
12 FOR JJJJ = -32000 TO 32000 STEP .01
14 RANDOMIZE JJJJ
16 M = -1D+37
72 FOR J44 = 1 TO 5
74 A(J44) = 27 + RND * 75
79 NEXT J44
128 FOR I = 1 TO 5000
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
200 X(6) = 92 - 85.334407 - .0056858 * X(2) * X(5) - .0006262 * X(1) * X(4) + .0022053 * X(3) * X(5)
202 X(7) = 110 - 80.51249 - .0071317 * X(2) * X(5) - .0029955 * X(1) * X(2) - .0021813 * X(3) * X(3)
204 X(8) = 25 - 9.300961 - .0047026 * X(3) * X(5) - .0012547 * X(1) * X(3) - .0019085 * X(3) * X(4)
207 X(9) = 0 + 85.334407 + .0056858 * X(2) * X(5) + .0006262 * X(1) * X(4) - .0022053 * X(3) * X(5)
209 X(10) = -90 + 80.51249 + .0071317 * X(2) * X(5) + .0029955 * X(1) * X(2) + .0021813 * X(3) * X(3)
211 X(11) = -20 + 9.300961 + .0047026 * X(3) * X(5) + .0012547 * X(1) * X(3) + .0019085 * X(3) * X(4)
221 IF X(1) < 78 THEN 1670
222 IF X(1) > 102 THEN 1670
223 IF X(2) < 33 THEN 1670
224 IF X(2) > 45 THEN 1670
225 IF X(3) < 27 THEN 1670
226 IF X(3) > 45 THEN 1670
235 IF X(4) < 27 THEN 1670
236 IF X(4) > 45 THEN 1670
245 IF X(5) < 27 THEN 1670
246 IF X(5) > 45 THEN 1670
268 FOR J99 = 6 TO 11
269 IF X(J99) < 0 THEN X(J99) = X(J99) ELSE X(J99) = 0
270 NEXT J99
330 POBA = 40792.141 - 5.3578547 * X(3) * X(3) - .8356891 * X(1) * X(5) - 37.293239 * X(1) + 1000000 * X(6) + 1000000 * X(7) + 1000000 * X(8) + 1000000 * X(9) + 1000000 * X(10) + 1000000 * X(11)
466 P = POBA
1111 IF P <= M THEN 1670
1452 M = P
1454 FOR KLX = 1 TO 11
1455 A(KLX) = X(KLX)
1456 NEXT KLX
1557 GOTO 128
1670 NEXT I
1889 IF M < 30665.5 THEN 1999
1900 PRINT A(1), A(2), A(3)
1903 PRINT A(4), A(5), A(6)
1906 PRINT A(7), A(8), A(9)
1908 PRINT A(10), A(11)
1909 PRINT M, JJJJ
1999 NEXT JJJJ
This BASIC computer program was run with qb64v1000-win [20]. The complete output through JJJJ=-31994.24000000092 is shown below:
78.00000000005112 33.00023762105803 29.99539016364582
44.99999513798106 36.77547568248082 0
0 0 0
0 0
30665.51753847873 -31994.24000000092
Above there is no rounding by hand; it is just straight copying by hand from the monitor screen.
The solution above is comparable to the solutions presented in Table 2 of Gandomi, Yang, and Alavi [6, p. 20].
One notes that with the present algorithm none of the six constraints is violated because of line 269, which is 269 IF X(J99) < 0 THEN X(J99) = X(J99) ELSE X(J99) = 0.
On a personal computer with a Pentium Dual-Core CPU E5200 @2.50GHz, 2.50 GHz, 960 MB of RAM and qb64v1000-win [20], the wall-clock time for obtaining the output through JJJJ=-31994.24000000092 was one minute, 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 Operations Research Society of Japan, Volume 17, No. 1, March 1974, pp. 49-66.
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] H. Chickermane, H. C. Gea (1996) Structural optimization using a new local approximation method, International Journal for Numerical Methods in Engineering, 39, pp. 829-846.
[4] Amir Hossein Gandomi, Xin-She Yang, Amir Hossein Alavi (2011). Mixed variable structural optimization using Firefly Algorithm, Computers and Structures 89 (2011) 2325-2336.
[5] 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.
[6] 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.
[7] 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.
[8] 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.
[9] Ming-Hua Lin, Jung-Fa Tsai (2014). A deterministic global approach for mixed-discrete structural optimization, Engineering Optimization (2014) 46:7, pp. 863-879.9
[10] Harry Markowitz (1952). Portfolio Selection. The Journal of Finance 7 (2008) pp. 77-91.
[11] 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/
[12] 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.
[13] Sinan Melih Nigdeli, Gebrail Bekdas, Xin-She Yang (2016). Application of the Flower Pollination Algoritm in Structural Engineering. Springer International Publishing Switzerland 2016. www.springer.com/cda/content/document/cda.../
[14] 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.
[15] P. B. Thanedar, G. N. Vanderplaats (1995). Survey of discrete variable optimization for structural design, Journal of Structural Engineering, 121 (2), 301-306 (1995).
[16] Jung-Fa Tsai (2005). Global optimization of nonlinear fractional programming problems in engineering design. Engineering Optimization (2005) 37:4, pp. 399-409.
[17] 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
[18] 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.
[19] 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.
[20] Wikipedia, QB64, https://en.wikipedia.org/wiki/QB64.
[21] 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/
[22] 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.
The computer program listed below seeks to solve the Himmelblau problem on pp. 19-20 of Gandomi, Yang, and Alavi [6]; one takes note of the typos [7].
0 DEFDBL A-Z
2 DEFINT K
3 DIM B(99), N(99), A(99), H(99), L(99), U(99), X(1111), D(111), P(111), PS(33)
12 FOR JJJJ = -32000 TO 32000 STEP .01
14 RANDOMIZE JJJJ
16 M = -1D+37
72 FOR J44 = 1 TO 5
74 A(J44) = 27 + RND * 75
79 NEXT J44
128 FOR I = 1 TO 5000
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
200 X(6) = 92 - 85.334407 - .0056858 * X(2) * X(5) - .0006262 * X(1) * X(4) + .0022053 * X(3) * X(5)
202 X(7) = 110 - 80.51249 - .0071317 * X(2) * X(5) - .0029955 * X(1) * X(2) - .0021813 * X(3) * X(3)
204 X(8) = 25 - 9.300961 - .0047026 * X(3) * X(5) - .0012547 * X(1) * X(3) - .0019085 * X(3) * X(4)
207 X(9) = 0 + 85.334407 + .0056858 * X(2) * X(5) + .0006262 * X(1) * X(4) - .0022053 * X(3) * X(5)
209 X(10) = -90 + 80.51249 + .0071317 * X(2) * X(5) + .0029955 * X(1) * X(2) + .0021813 * X(3) * X(3)
211 X(11) = -20 + 9.300961 + .0047026 * X(3) * X(5) + .0012547 * X(1) * X(3) + .0019085 * X(3) * X(4)
221 IF X(1) < 78 THEN 1670
222 IF X(1) > 102 THEN 1670
223 IF X(2) < 33 THEN 1670
224 IF X(2) > 45 THEN 1670
225 IF X(3) < 27 THEN 1670
226 IF X(3) > 45 THEN 1670
235 IF X(4) < 27 THEN 1670
236 IF X(4) > 45 THEN 1670
245 IF X(5) < 27 THEN 1670
246 IF X(5) > 45 THEN 1670
268 FOR J99 = 6 TO 11
269 IF X(J99) < 0 THEN X(J99) = X(J99) ELSE X(J99) = 0
270 NEXT J99
330 POBA = 40792.141 - 5.3578547 * X(3) * X(3) - .8356891 * X(1) * X(5) - 37.293239 * X(1) + 1000000 * X(6) + 1000000 * X(7) + 1000000 * X(8) + 1000000 * X(9) + 1000000 * X(10) + 1000000 * X(11)
466 P = POBA
1111 IF P <= M THEN 1670
1452 M = P
1454 FOR KLX = 1 TO 11
1455 A(KLX) = X(KLX)
1456 NEXT KLX
1557 GOTO 128
1670 NEXT I
1889 IF M < 30665.5 THEN 1999
1900 PRINT A(1), A(2), A(3)
1903 PRINT A(4), A(5), A(6)
1906 PRINT A(7), A(8), A(9)
1908 PRINT A(10), A(11)
1909 PRINT M, JJJJ
1999 NEXT JJJJ
This BASIC computer program was run with qb64v1000-win [20]. The complete output through JJJJ=-31994.24000000092 is shown below:
78.00000000005112 33.00023762105803 29.99539016364582
44.99999513798106 36.77547568248082 0
0 0 0
0 0
30665.51753847873 -31994.24000000092
Above there is no rounding by hand; it is just straight copying by hand from the monitor screen.
The solution above is comparable to the solutions presented in Table 2 of Gandomi, Yang, and Alavi [6, p. 20].
One notes that with the present algorithm none of the six constraints is violated because of line 269, which is 269 IF X(J99) < 0 THEN X(J99) = X(J99) ELSE X(J99) = 0.
On a personal computer with a Pentium Dual-Core CPU E5200 @2.50GHz, 2.50 GHz, 960 MB of RAM and qb64v1000-win [20], the wall-clock time for obtaining the output through JJJJ=-31994.24000000092 was one minute, 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 Operations Research Society of Japan, Volume 17, No. 1, March 1974, pp. 49-66.
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] H. Chickermane, H. C. Gea (1996) Structural optimization using a new local approximation method, International Journal for Numerical Methods in Engineering, 39, pp. 829-846.
[4] Amir Hossein Gandomi, Xin-She Yang, Amir Hossein Alavi (2011). Mixed variable structural optimization using Firefly Algorithm, Computers and Structures 89 (2011) 2325-2336.
[5] 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.
[6] 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.
[7] 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.
[8] 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.
[9] Ming-Hua Lin, Jung-Fa Tsai (2014). A deterministic global approach for mixed-discrete structural optimization, Engineering Optimization (2014) 46:7, pp. 863-879.9
[10] Harry Markowitz (1952). Portfolio Selection. The Journal of Finance 7 (2008) pp. 77-91.
[11] 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/
[12] 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.
[13] Sinan Melih Nigdeli, Gebrail Bekdas, Xin-She Yang (2016). Application of the Flower Pollination Algoritm in Structural Engineering. Springer International Publishing Switzerland 2016. www.springer.com/cda/content/document/cda.../
[14] 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.
[15] P. B. Thanedar, G. N. Vanderplaats (1995). Survey of discrete variable optimization for structural design, Journal of Structural Engineering, 121 (2), 301-306 (1995).
[16] Jung-Fa Tsai (2005). Global optimization of nonlinear fractional programming problems in engineering design. Engineering Optimization (2005) 37:4, pp. 399-409.
[17] 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
[18] 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.
[19] 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.
[20] Wikipedia, QB64, https://en.wikipedia.org/wiki/QB64.
[21] 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/
[22] 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.
Sunday, September 3, 2017
Solving a Sphere Problem in 5000 General Integers by Using the Method of This Blog
Jsun Yui Wong
The computer program listed below works on the following Sphere problem based on a problem in Gandomi et al. [5, p. 93].
Minimize
5000
(SIGMA X(i)^2)^.5
i=1
where -100<=X(i)<=100 and each X(i) is an integer, i=1, 2, 3,..., 5000.
0 DEFDBL A-Z
2 DEFINT K, X
3 DIM B(5099), N(5099), A(5099), H(5099), L(5099), U(5099), X(5011), D(5011), P(5011), PS(5033)
12 FOR JJJJ = -32000 TO 32000 STEP .01
14 RANDOMIZE JJJJ
16 M = -1D+37
75 FOR J44 = 1 TO 5000
76 A(J44) = -100 + RND * 200
79 NEXT J44
128 FOR I = 1 TO 30000
129 FOR KKQQ = 1 TO 5000
130 X(KKQQ) = A(KKQQ)
131 NEXT KKQQ
133 FOR IPP = 1 TO (1 + FIX(RND * 4))
181 J = 1 + FIX(RND * 5000)
183 R = (1 - RND * 2) * A(J)
187 X(J) = A(J) + (RND ^ (RND * 10)) * R
191 NEXT IPP
193 FOR J44 = 1 TO 5000
221 IF X(J44) < -100 THEN 1670
222 IF X(J44) > 100 THEN 1670
223 NEXT J44
241 SUMOF = 0
244 FOR J66 = 1 TO 5000
247 SUMOF = SUMOF + X(J66) ^ 2
249 NEXT J66
259 GOTO 332
292 PRODOF = 1
293 FOR J77 = 1 TO 5000
295 PRODOF = PRODOF * COS(X(J77) / J77 ^ .5)
296 NEXT J77
329 REM POBA = -1 - (1 / 4000) * (SUMOF) + (PRODOF)
332 POBA = -(SUMOF) ^ .5
466 p = POBA
1111 IF p <= M THEN 1670
1452 M = p
1454 FOR KLX = 1 TO 5000
1455 A(KLX) = X(KLX)
1456 NEXT KLX
1499 REM PRINT A(1), A(1200), M, JJJJ
1557 GOTO 128
1670 NEXT I
1889 REM IF M < -.01 THEN 1999
1900 PRINT A(1), A(2), A(3)
1933 PRINT A(94), A(95), A(96)
1935 PRINT A(1197), A(4998), A(4999)
1936 PRINT A(5000), M, JJJJ
1999 NEXT JJJJ
This BASIC computer program was run with qb64v1000-win [20]. The complete output through JJJJ= -31999.98 is shown below:
0 0 0
0 0 0
0 0 0
0 -1 -32000
0 0 0
0 0 0
0 0 0
0 0 -31999.99
0 0 0
0 0 0
0 0 0
0 0 -31999.98
Above there is no rounding by hand; it is just straight copying by hand from the monitor screen. Only the A's of line 1900 through line 1936 are shown above. M=0 is optimal; see Gandomi, Yang, Talatahari, and Alavi [5, p. 93].
On a personal computer with a Pentium Dual-Core CPU E5200 @2.50GHz, 2.50 GHz, 960 MB of RAM and qb64v1000-win [20], the wall-clock time for obtaining the output through JJJJ=-31999.98 was 40 minutes.
Acknowledgment
I would like to acknowledge the encouragement of Roberta Clark and Tom Clark.
References
[1] Yuichiro Anzai (1974). On Integer Fractional Programming. Journal Operations Research Society of Japan, Volume 17, No. 1, March 1974, pp. 49-66.
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] H. Chickermane, H. C. Gea (1996) Structural optimization using a new local approximation method, International Journal for Numerical Methods in Engineering, 39, pp. 829-846.
[4] Amir Hossein Gandomi, Xin-She Yang, Amir Hossein Alavi (2011). Mixed variable structural optimization using Firefly Algorithm, Computers and Structures 89 (2011) 2325-2336.
[5] Amir Hossein Gandomi, Xin-She Yang, Siamak Talatahari, Amir Hossein Alavi (2013). Firefly Algorithm with Chaos, Communications in Nonlinear Science and Numerical Sinulation 18 (2013) 89-98.
[6] 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.
[7] 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.
[8] 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.
[9] Ming-Hua Lin, Jung-Fa Tsai (2014). A deterministic global approach for mixed-discrete structural optimization, Engineering Optimization (2014) 46:7, pp. 863-879.9
[10] Harry Markowitz (1952). Portfolio Selection. The Journal of Finance 7 (2008) pp. 77-91.
[11] 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/
[12] 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.
[13] Sinan Melih Nigdeli, Gebrail Bekdas, Xin-She Yang (2016). Application of the Flower Pollination Algoritm in Structural Engineering. Springer International Publishing Switzerland 2016. www.springer.com/cda/content/document/cda.../
[14] 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.
[15] P. B. Thanedar, G. N. Vanderplaats (1995). Survey of discrete variable optimization for structural design, Journal of Structural Engineering, 121 (2), 301-306 (1995).
[16] Jung-Fa Tsai (2005). Global optimization of nonlinear fractional programming problems in engineering design. Engineering Optimization (2005) 37:4, pp. 399-409.
[17] 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
[18] 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.
[19] 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.
[20] Wikipedia, QB64, https://en.wikipedia.org/wiki/QB64.
[21] 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/
[22] 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.
The computer program listed below works on the following Sphere problem based on a problem in Gandomi et al. [5, p. 93].
Minimize
5000
(SIGMA X(i)^2)^.5
i=1
where -100<=X(i)<=100 and each X(i) is an integer, i=1, 2, 3,..., 5000.
0 DEFDBL A-Z
2 DEFINT K, X
3 DIM B(5099), N(5099), A(5099), H(5099), L(5099), U(5099), X(5011), D(5011), P(5011), PS(5033)
12 FOR JJJJ = -32000 TO 32000 STEP .01
14 RANDOMIZE JJJJ
16 M = -1D+37
75 FOR J44 = 1 TO 5000
76 A(J44) = -100 + RND * 200
79 NEXT J44
128 FOR I = 1 TO 30000
129 FOR KKQQ = 1 TO 5000
130 X(KKQQ) = A(KKQQ)
131 NEXT KKQQ
133 FOR IPP = 1 TO (1 + FIX(RND * 4))
181 J = 1 + FIX(RND * 5000)
183 R = (1 - RND * 2) * A(J)
187 X(J) = A(J) + (RND ^ (RND * 10)) * R
191 NEXT IPP
193 FOR J44 = 1 TO 5000
221 IF X(J44) < -100 THEN 1670
222 IF X(J44) > 100 THEN 1670
223 NEXT J44
241 SUMOF = 0
244 FOR J66 = 1 TO 5000
247 SUMOF = SUMOF + X(J66) ^ 2
249 NEXT J66
259 GOTO 332
292 PRODOF = 1
293 FOR J77 = 1 TO 5000
295 PRODOF = PRODOF * COS(X(J77) / J77 ^ .5)
296 NEXT J77
329 REM POBA = -1 - (1 / 4000) * (SUMOF) + (PRODOF)
332 POBA = -(SUMOF) ^ .5
466 p = POBA
1111 IF p <= M THEN 1670
1452 M = p
1454 FOR KLX = 1 TO 5000
1455 A(KLX) = X(KLX)
1456 NEXT KLX
1499 REM PRINT A(1), A(1200), M, JJJJ
1557 GOTO 128
1670 NEXT I
1889 REM IF M < -.01 THEN 1999
1900 PRINT A(1), A(2), A(3)
1933 PRINT A(94), A(95), A(96)
1935 PRINT A(1197), A(4998), A(4999)
1936 PRINT A(5000), M, JJJJ
1999 NEXT JJJJ
This BASIC computer program was run with qb64v1000-win [20]. The complete output through JJJJ= -31999.98 is shown below:
0 0 0
0 0 0
0 0 0
0 -1 -32000
0 0 0
0 0 0
0 0 0
0 0 -31999.99
0 0 0
0 0 0
0 0 0
0 0 -31999.98
Above there is no rounding by hand; it is just straight copying by hand from the monitor screen. Only the A's of line 1900 through line 1936 are shown above. M=0 is optimal; see Gandomi, Yang, Talatahari, and Alavi [5, p. 93].
On a personal computer with a Pentium Dual-Core CPU E5200 @2.50GHz, 2.50 GHz, 960 MB of RAM and qb64v1000-win [20], the wall-clock time for obtaining the output through JJJJ=-31999.98 was 40 minutes.
Acknowledgment
I would like to acknowledge the encouragement of Roberta Clark and Tom Clark.
References
[1] Yuichiro Anzai (1974). On Integer Fractional Programming. Journal Operations Research Society of Japan, Volume 17, No. 1, March 1974, pp. 49-66.
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] H. Chickermane, H. C. Gea (1996) Structural optimization using a new local approximation method, International Journal for Numerical Methods in Engineering, 39, pp. 829-846.
[4] Amir Hossein Gandomi, Xin-She Yang, Amir Hossein Alavi (2011). Mixed variable structural optimization using Firefly Algorithm, Computers and Structures 89 (2011) 2325-2336.
[5] Amir Hossein Gandomi, Xin-She Yang, Siamak Talatahari, Amir Hossein Alavi (2013). Firefly Algorithm with Chaos, Communications in Nonlinear Science and Numerical Sinulation 18 (2013) 89-98.
[6] 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.
[7] 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.
[8] 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.
[9] Ming-Hua Lin, Jung-Fa Tsai (2014). A deterministic global approach for mixed-discrete structural optimization, Engineering Optimization (2014) 46:7, pp. 863-879.9
[10] Harry Markowitz (1952). Portfolio Selection. The Journal of Finance 7 (2008) pp. 77-91.
[11] 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/
[12] 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.
[13] Sinan Melih Nigdeli, Gebrail Bekdas, Xin-She Yang (2016). Application of the Flower Pollination Algoritm in Structural Engineering. Springer International Publishing Switzerland 2016. www.springer.com/cda/content/document/cda.../
[14] 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.
[15] P. B. Thanedar, G. N. Vanderplaats (1995). Survey of discrete variable optimization for structural design, Journal of Structural Engineering, 121 (2), 301-306 (1995).
[16] Jung-Fa Tsai (2005). Global optimization of nonlinear fractional programming problems in engineering design. Engineering Optimization (2005) 37:4, pp. 399-409.
[17] 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
[18] 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.
[19] 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.
[20] Wikipedia, QB64, https://en.wikipedia.org/wiki/QB64.
[21] 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/
[22] 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.
Saturday, September 2, 2017
Solving a Griewank Problem in 1200 General Integers by Using the Method of This Blog
Jsun Yui Wong
The computer program listed below works on the following Griewank problem based on a problem in Gandomi et al. [5, p. 93]. (Also see www.mathworld.wolfram.com/GriewankFunction/html.)
Minimize
n n
1+(1 / 4000)*SIGMA X(i)^2-PI COS(X(i)/i^.5 )
i=1 i=1
where -600<=X(i)<=600 and each X(i) is an integer, i=1, 2, 3,..., 1200.
0 DEFDBL A-Z
2 DEFINT K, X
3 DIM B(1399), N(1399), A(1399), H(1399), L(1399), U(1399), X(1311), D(1311), P(1311), PS(1333)
12 FOR JJJJ = -32000 TO 32000 STEP .01
14 RANDOMIZE JJJJ
16 M = -1D+37
75 FOR J44 = 1 TO 1200
76 A(J44) = -600 + RND * 1200
79 NEXT J44
128 FOR I = 1 TO 10000
129 FOR KKQQ = 1 TO 1200
130 X(KKQQ) = A(KKQQ)
131 NEXT KKQQ
133 FOR IPP = 1 TO (1 + FIX(RND * 4))
181 J = 1 + FIX(RND * 1200)
183 R = (1 - RND * 2) * A(J)
187 X(J) = A(J) + (RND ^ (RND * 10)) * R
191 NEXT IPP
193 FOR J44 = 1 TO 1200
221 IF X(J44) < -600 THEN 1670
222 IF X(J44) > 600 THEN 1670
223 NEXT J44
241 SUMOF = 0
244 FOR J66 = 1 TO 1200
247 SUMOF = SUMOF + X(J66) ^ 2
249 NEXT J66
292 PRODOF = 1
293 FOR J77 = 1 TO 1200
295 PRODOF = PRODOF * COS(X(J77) / J77 ^ .5)
296 NEXT J77
329 POBA = -1 - (1 / 4000) * (SUMOF) + (PRODOF)
466 p = POBA
1111 IF p <= M THEN 1670
1452 M = p
1454 FOR KLX = 1 TO 1200
1455 A(KLX) = X(KLX)
1456 NEXT KLX
1499 REM PRINT A(1), A(1200), M, JJJJ
1557 GOTO 128
1670 NEXT I
1889 REM IF M < -.002 THEN 1999
1900 PRINT A(1), A(2), A(3)
1903 REM PRINT A(4), A(5), A(6)
1933 REM PRINT A(94), A(95), A(96)
1935 PRINT A(1197), A(1198), A(1199)
1936 PRINT A(1200), M, JJJJ
1999 NEXT JJJJ
This BASIC computer program was run with qb64v1000-win [20]. The complete output through JJJJ=-31999.90000000002 is shown below:
-3 0 0
0 0 0
0 -2.923018515638994D-02 -32000
0 0 0
0 0 0
0 -3.687477901129832D-03 -31999.99
0 0 0
0 0 0
0 -9.591360299851246D-04 -31999.98
0 0 0
0 0 0
0 -1.241634136718078D-02 -31999.97000000001
0 0 0
0 0 0
0 -5.909225555920152D-02 -31999.96000000001
0 0 0
0 0 0
0 -1.137968021479058D-03 -31999.95000000001
0 0 0
0 0 0
0 0 -31999.94000000001
0 0 0
0 0 0
0 0 -31999.93000000001
0 0 0
0 0 0
0 0 -31999.92000000001
0 0 0
0 0 0
0 0 -31999.91000000001
3 0 0
0 0 0
0 -2.456846362867342D-02 -31999.90000000002
Above there is no rounding by hand; it is just straight copying by hand from the monitor screen. Only the A's of line 1900, line 1935, and line 1936 are shown above.
On a personal computer with a Pentium Dual-Core CPU E5200 @2.50GHz, 2.50 GHz, 960 MB of RAM and qb64v1000-win [20], the wall-clock time for obtaining the output through JJJJ= -31999.90000000002 was 11 minutes.
Acknowledgment
I would like to acknowledge the encouragement of Roberta Clark and Tom Clark.
References
[1] Yuichiro Anzai (1974). On Integer Fractional Programming. Journal Operations Research Society of Japan, Volume 17, No. 1, March 1974, pp. 49-66.
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] H. Chickermane, H. C. Gea (1996) Structural optimization using a new local approximation method, International Journal for Numerical Methods in Engineering, 39, pp. 829-846.
[4] Amir Hossein Gandomi, Xin-She Yang, Amir Hossein Alavi (2011). Mixed variable structural optimization using Firefly Algorithm, Computers and Structures 89 (2011) 2325-2336.
[5] 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.
[6] 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.
[7] 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.
[8] 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.
[9] Ming-Hua Lin, Jung-Fa Tsai (2014). A deterministic global approach for mixed-discrete structural optimization, Engineering Optimization (2014) 46:7, pp. 863-879.9
[10] Harry Markowitz (1952). Portfolio Selection. The Journal of Finance 7 (2008) pp. 77-91.
[11] 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/
[12] 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.
[13] Sinan Melih Nigdeli, Gebrail Bekdas, Xin-She Yang (2016). Application of the Flower Pollination Algoritm in Structural Engineering. Springer International Publishing Switzerland 2016. www.springer.com/cda/content/document/cda.../
[14] 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.
[15] P. B. Thanedar, G. N. Vanderplaats (1995). Survey of discrete variable optimization for structural design, Journal of Structural Engineering, 121 (2), 301-306 (1995).
[16] Jung-Fa Tsai (2005). Global optimization of nonlinear fractional programming problems in engineering design. Engineering Optimization (2005) 37:4, pp. 399-409.
[17] 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
[18] 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.
[19] 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.
[20] Wikipedia, QB64, https://en.wikipedia.org/wiki/QB64.
[21] 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/
[22] 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.
The computer program listed below works on the following Griewank problem based on a problem in Gandomi et al. [5, p. 93]. (Also see www.mathworld.wolfram.com/GriewankFunction/html.)
Minimize
n n
1+(1 / 4000)*SIGMA X(i)^2-PI COS(X(i)/i^.5 )
i=1 i=1
where -600<=X(i)<=600 and each X(i) is an integer, i=1, 2, 3,..., 1200.
0 DEFDBL A-Z
2 DEFINT K, X
3 DIM B(1399), N(1399), A(1399), H(1399), L(1399), U(1399), X(1311), D(1311), P(1311), PS(1333)
12 FOR JJJJ = -32000 TO 32000 STEP .01
14 RANDOMIZE JJJJ
16 M = -1D+37
75 FOR J44 = 1 TO 1200
76 A(J44) = -600 + RND * 1200
79 NEXT J44
128 FOR I = 1 TO 10000
129 FOR KKQQ = 1 TO 1200
130 X(KKQQ) = A(KKQQ)
131 NEXT KKQQ
133 FOR IPP = 1 TO (1 + FIX(RND * 4))
181 J = 1 + FIX(RND * 1200)
183 R = (1 - RND * 2) * A(J)
187 X(J) = A(J) + (RND ^ (RND * 10)) * R
191 NEXT IPP
193 FOR J44 = 1 TO 1200
221 IF X(J44) < -600 THEN 1670
222 IF X(J44) > 600 THEN 1670
223 NEXT J44
241 SUMOF = 0
244 FOR J66 = 1 TO 1200
247 SUMOF = SUMOF + X(J66) ^ 2
249 NEXT J66
292 PRODOF = 1
293 FOR J77 = 1 TO 1200
295 PRODOF = PRODOF * COS(X(J77) / J77 ^ .5)
296 NEXT J77
329 POBA = -1 - (1 / 4000) * (SUMOF) + (PRODOF)
466 p = POBA
1111 IF p <= M THEN 1670
1452 M = p
1454 FOR KLX = 1 TO 1200
1455 A(KLX) = X(KLX)
1456 NEXT KLX
1499 REM PRINT A(1), A(1200), M, JJJJ
1557 GOTO 128
1670 NEXT I
1889 REM IF M < -.002 THEN 1999
1900 PRINT A(1), A(2), A(3)
1903 REM PRINT A(4), A(5), A(6)
1933 REM PRINT A(94), A(95), A(96)
1935 PRINT A(1197), A(1198), A(1199)
1936 PRINT A(1200), M, JJJJ
1999 NEXT JJJJ
This BASIC computer program was run with qb64v1000-win [20]. The complete output through JJJJ=-31999.90000000002 is shown below:
-3 0 0
0 0 0
0 -2.923018515638994D-02 -32000
0 0 0
0 0 0
0 -3.687477901129832D-03 -31999.99
0 0 0
0 0 0
0 -9.591360299851246D-04 -31999.98
0 0 0
0 0 0
0 -1.241634136718078D-02 -31999.97000000001
0 0 0
0 0 0
0 -5.909225555920152D-02 -31999.96000000001
0 0 0
0 0 0
0 -1.137968021479058D-03 -31999.95000000001
0 0 0
0 0 0
0 0 -31999.94000000001
0 0 0
0 0 0
0 0 -31999.93000000001
0 0 0
0 0 0
0 0 -31999.92000000001
0 0 0
0 0 0
0 0 -31999.91000000001
3 0 0
0 0 0
0 -2.456846362867342D-02 -31999.90000000002
Above there is no rounding by hand; it is just straight copying by hand from the monitor screen. Only the A's of line 1900, line 1935, and line 1936 are shown above.
On a personal computer with a Pentium Dual-Core CPU E5200 @2.50GHz, 2.50 GHz, 960 MB of RAM and qb64v1000-win [20], the wall-clock time for obtaining the output through JJJJ= -31999.90000000002 was 11 minutes.
Acknowledgment
I would like to acknowledge the encouragement of Roberta Clark and Tom Clark.
References
[1] Yuichiro Anzai (1974). On Integer Fractional Programming. Journal Operations Research Society of Japan, Volume 17, No. 1, March 1974, pp. 49-66.
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] H. Chickermane, H. C. Gea (1996) Structural optimization using a new local approximation method, International Journal for Numerical Methods in Engineering, 39, pp. 829-846.
[4] Amir Hossein Gandomi, Xin-She Yang, Amir Hossein Alavi (2011). Mixed variable structural optimization using Firefly Algorithm, Computers and Structures 89 (2011) 2325-2336.
[5] 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.
[6] 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.
[7] 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.
[8] 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.
[9] Ming-Hua Lin, Jung-Fa Tsai (2014). A deterministic global approach for mixed-discrete structural optimization, Engineering Optimization (2014) 46:7, pp. 863-879.9
[10] Harry Markowitz (1952). Portfolio Selection. The Journal of Finance 7 (2008) pp. 77-91.
[11] 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/
[12] 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.
[13] Sinan Melih Nigdeli, Gebrail Bekdas, Xin-She Yang (2016). Application of the Flower Pollination Algoritm in Structural Engineering. Springer International Publishing Switzerland 2016. www.springer.com/cda/content/document/cda.../
[14] 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.
[15] P. B. Thanedar, G. N. Vanderplaats (1995). Survey of discrete variable optimization for structural design, Journal of Structural Engineering, 121 (2), 301-306 (1995).
[16] Jung-Fa Tsai (2005). Global optimization of nonlinear fractional programming problems in engineering design. Engineering Optimization (2005) 37:4, pp. 399-409.
[17] 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
[18] 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.
[19] 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.
[20] Wikipedia, QB64, https://en.wikipedia.org/wiki/QB64.
[21] 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/
[22] 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.
Subscribe to:
Posts (Atom)