Jsun Yui Wong
The computer program listed below seeks to solve the reinforced concrete beam design problem on pages 28-29 of Gandomi, Yang, and Alavi [5]--also see Gandomi, Yang, and Alavi [6].
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 IF RND < .091 THEN A(1) = 6.0 ELSE IF RND < .1 THEN A(1) = 6.16 ELSE IF RND < .111 THEN A(1) = 6.32 ELSE IF RND < .125 THEN A(1) = 6.6 ELSE IF RND < .143 THEN A(1) = 7 ELSE IF RND < .1666 THEN A(1) = 7.11 ELSE IF RND < .2 THEN A(1) = 7.2 ELSE IF RND < .25 THEN A(1) = 7.8 ELSE IF RND < .333 THEN A(1) = 7.9 ELSE IF RND < .5 THEN A(1) = 8 ELSE A(1) = 8.4
74 A(2) = 28 + FIX(RND * 13)
76 A(3) = 5 + RND * 5
128 FOR I = 1 TO 5000
129 FOR KKQQ = 1 TO 3
130 X(KKQQ) = A(KKQQ)
131 NEXT KKQQ
133 FOR IPP = 1 TO (1 + FIX(RND * 3))
181 J = 1 + FIX(RND * 3)
183 R = (1 - RND * 2) * A(J)
187 X(J) = A(J) + (RND ^ (RND * 10)) * R
191 NEXT IPP
193 X(1) = A(1)
197 X(3) = (X(3))
198 X(2) = A(2)
200 X(4) = 4 - X(2) / X(3)
202 X(5) = X(1) * X(2) - 180 - 7.375 * (X(1) ^ 2 / X(3))
221 IF X(1) < 6 THEN 1670
222 IF X(1) > 8.4 THEN 1670
223 IF X(2) < 28 THEN 1670
224 IF X(2) > 40 THEN 1670
225 IF X(3) < 5 THEN 1670
226 IF X(3) > 10 THEN 1670
268 FOR J99 = 4 TO 5
269 IF X(J99) < 0 THEN X(J99) = X(J99) ELSE X(J99) = 0
270 NEXT J99
328 POBA = -29.4 * X(1) - .6 * X(2) * X(3) + 1000000 * X(4) + 1000000 * X(5)
466 P = POBA
1111 IF P <= M THEN 1670
1452 M = P
1454 FOR KLX = 1 TO 5
1455 A(KLX) = X(KLX)
1456 NEXT KLX
1557 GOTO 128
1670 NEXT I
1889 IF M < -359.2080 THEN 1999
1900 PRINT A(1), A(2), A(3), A(4), A(5)
1909 PRINT M, JJJJ
1999 NEXT JJJJ
This BASIC computer program was run with qb64v1000-win [19]. The complete output through JJJJ= -31995.81000000067 is shown below:
6.32 34 8.5 0 0
-359.208 -31999.98
6.32 34 8.5 0 0
-359.208 -31999.18000000013
6.32 34 8.5 0 0
-359.208 -31998.1300000003
6.32 34 8.500000000000028 0
0
-359.2080000000005 -31995.81000000067
On a personal computer with a Pentium Dual-Core CPU E5200 @2.50GHz, 2.50 GHz, 960 MB of RAM and qb64v1000-win [19], the wall-clock time for obtaining the output through
JJJJ= -31995.81000000067 was 30 seconds.
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, Amir Hossein Alavi (2013). Cuckoo search algorithm: a metaheuristicapproach to solve structural optimization problem. Engineering with Computers (2013) 29:17-35.
[6] 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.
[7] 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.
[8] 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] Harry Markowitz (1952). Portfolio Selection. The Journal of Finance 7 (2008) pp. 77-91.
[10] 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/
[11] 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.
[12] 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.../
[13] 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.
[14] P. B. Thanedar, G. N. Vanderplaats (1995). Survey of discrete variable optimization for structural design, Journal of Structural Engineering, 121 (2), 301-306 (1995).
[15] Jung-Fa Tsai (2005). Global optimization of nonlinear fractional programming problems in engineering design. Engineering Optimization (2005) 37:4, pp. 399-409.
[16] 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
[17] 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.
[18] 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.
[19] Wikipedia, QB64, https://en.wikipedia.org/wiki/QB64.
[20] 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/
[21] 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.