Jsun Yui Wong
The computer program listed below seeks to solve the following heat exchanger design problem from Chootinan and Chen [4, p. 2280] and Yang and Gandomi [25, pp. 477-479]:
Minimize X(1) + X(2) + X(3)
subject to
.0025 * (X(4) + X(6))-1<=0,
.0025 * (X(5) + X(7) - X(4))-1<=0,
.01 * (X(8) - X(5))-1<=0,
833.33252 * X(4) + 100 * X(1) - X(1) * X(6)-83333.333<=0,
-1250 * X(4) + 1250 * X(5) + X(2) * X(4) - X(2) * X(7)<=0,
-2500 * X(5) - X(3) * X(8) + X(3) * X(5)+1250000<=0,
100<= X(1)<= 10000,
1000<= X(i)<= 10000, i=2, 3,
10 <= X(i)<= 1000, i=4, 5, 6, 7, 8.
X(10), X(13), and X(14) below are slack variables.
Hoping to get some domino effect, one can change some of the inequality constraints to equalility constraints, and if these changes are not satisfactory, one can make other similar changes For examples, see lines 197, 200, and 201, which are 197 X(4) = (0 + 1 - .0025 * X(6)) / .0025, 200 X(1) = (83333.333 - 833.33252 * X(4)) / (100 - X(6)), and
201 X(8) = (1 + .01 * X(5)) / .01.
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 = 4 TO 8
74 A(J44) = 10 + RND * 990
79 NEXT J44
86 A(1) = 100 + RND * 9900
87 A(2) = 1000 + RND * 9000
90 A(3) = 1000 + RND * 9000
128 FOR I = 1 TO 25000
129 FOR KKQQ = 1 TO 8
130 X(KKQQ) = A(KKQQ)
131 NEXT KKQQ
133 FOR IPP = 1 TO (1 + FIX(RND * 4))
181 J = 1 + FIX(RND * 8)
183 r = (1 - RND * 2) * A(J)
187 X(J) = A(J) + (RND ^ (RND * 10)) * r
191 NEXT IPP
197 X(4) = (0 + 1 - .0025 * X(6)) / .0025
200 X(1) = (83333.333 - 833.33252 * X(4)) / (100 - X(6))
201 X(8) = (1 + .01 * X(5)) / .01
203 X(10) = 1 - .0025 * (X(5) + X(7) - X(4))
211 X(13) = 1250 * X(4) - 1250 * X(5) - X(2) * X(4) + X(2) * X(7)
212 X(14) = -125D+04 + 2500 * X(5) + X(3) * X(8) - X(3) * X(5)
235 IF X(1) < 100 THEN 1670
236 IF X(1) > 10000 THEN 1670
245 IF X(2) < 1000 THEN 1670
246 IF X(2) > 10000 THEN 1670
247 IF X(3) < 1000 THEN 1670
248 IF X(3) > 10000 THEN 1670
249 FOR J99 = 4 TO 8
251 IF X(J99) < 10 THEN 1670
252 IF X(J99) > 1000 THEN 1670
253 NEXT J99
259 FOR J99 = 9 TO 14
269 IF X(J99) < 0 THEN X(J99) = X(J99) ELSE X(J99) = 0
270 NEXT J99
357 POBA = -X(1) - X(2) - X(3) + 1000000 * (X(10) + X(13) + X(14))
466 P = POBA
1111 IF P <= M THEN 1670
1452 M = P
1454 FOR KLX = 1 TO 14
1455 A(KLX) = X(KLX)
1456 NEXT KLX
1557 GOTO 128
1670 NEXT I
1889 IF M < -7051 THEN 1999
1900 PRINT A(1), A(2), A(3)
1903 PRINT A(4), A(5), A(6)
1906 PRINT A(7), A(8)
1910 PRINT A(10), A(13), A(14)
1912 PRINT M, JJJJ
1999 NEXT JJJJ
This BASIC computer program was run with qb64v1000-win [22]. Each candidate solution through JJJJ = -31992.77000000116 is summarized below:
-7049.937967496634 -31999.13000000014
-7049.299892835455 -31993.54000000103
582.5426733687975 1353.967849952792 5112.751288378784
182.2873486444452 295.4899484648486 217.7126513555548
286.7974001795965 395.4899484648486
0 0 0
-7049.261811700373 -31992.77000000116
Above there is no rounding by hand; it is just straight copying by hand from the monitor screen. One can compare the solutions above with the solutions in Table XII of Yang and Gandomi [25, p. 478]. One notes 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 [22], the wall-clock time for obtaining the output through
JJJJ= -31992.77000000116 was 13 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.