Jsun Yui Wong
The computer program below tries to solve the stepped cantilever beam problem considered by Thanedar and Vanderplaats [17], Chen and Chen [2], and Jaberipour and Khorram [5], among others. Line 181 through line 1111 of the following computer program partly describe the problem.
The following computer program was originally modeled after the nuclear-chain-reaction picture on page 336 of the World Book Dictionary [1] and after the domino method of solving nonlinear systems of equations [20]. Line 505 through line 711 are illustrative. Domino one through domino eleven are slack variables X(11) through X(21) at line 505 through line 577, respectively. One notes that line 505 and line 521 indicate that when domino one, X(11), is knocked down, domino two, X(12), is down.
This paper features line 133, which is 133 FOR IPP=1 TO FIX(RND*10).
0 REM DEFDBL A-Z
2 DEFINT I,J,K
3 DIM B(519),N(519),A(2002),H(519),L(519),U(519),X(2002),D(511),P(511),PS(33),AA(1111)
12 FOR JJJJ=-32000 TO 32000
14 RANDOMIZE JJJJ
16 M=-1D+37
21 A(1)=1+RND*4
22 A(2)=30+RND*35
23 A(3)=1+RND*4
24 A(4)=30+RND*35
25 A(5)=1+FIX(RND*5 )
26 A(6)=30+FIX(RND*36 )
27 IF RND<.25 THEN A(7)=2.4 ELSE IF RND<.33 THEN A(7)=2.6 ELSE IF RND<.5 THEN A(7)=2.8 ELSE A(7)=3.1
28 IF RND<.25 THEN A(8)=45 ELSE IF RND<.33 THEN A(7)=50 ELSE IF RND<.5 THEN A(7)=55 ELSE A(7)=60
29 IF RND<.25 THEN A(9)=2.4 ELSE IF RND<.33 THEN A(9)=2.6 ELSE IF RND<.5 THEN A(9)=2.8 ELSE A(9)=3.1
30 IF RND<.25 THEN A(10)=45 ELSE IF RND<.33 THEN A(10)=50 ELSE IF RND<.5 THEN A(10)=55 ELSE A(10)=60
126 REM IMAR=10+FIX(RND*100)
128 FOR I=1 TO 5000
129 FOR KKQQ=1 TO 10
130 X(KKQQ)=A(KKQQ)
131 NEXT KKQQ
133 FOR IPP=1 TO FIX(RND*10)
181 J=1+FIX(RND*10)
182 REM GOTO 190
183 REM R=(1-RND*2)*A(J)
184 REM X(J)=A(J)+(FIX(RND*2))*.05-(FIX(RND*2))*.05
185 IF J=1 THEN 301 ELSE IF J=2 THEN 311 ELSE IF J=3 THEN 321 ELSE IF J=4 THEN 331 ELSE IF J=5 THEN 341 ELSE IF J=6 THEN 351 ELSE IF J=7 THEN 361 ELSE IF J=8 THEN 371 ELSE IF J=9 THEN 381 ELSE 391
187 REM X(J)=A(J)+ (RND^(RND*10))*R
188 REM GOTO 222
189 REM X(J)=A(J)+PA
190 REM X(J)=A(J)+FIX(RND*2 )-FIX(RND*2)
191 REM X(J)=A(J)+FIX(RND*3)-FIX(RND*3)
222 REM NEXT IPP
301 REM
302 R=(1-RND*2)*A(J)
303 X(J)=A(J)+ (RND^(RND*10))*R
305 GOTO 396
311 REM
312 R=(1-RND*2)*A(J)
313 X(J)=A(J)+ (RND^(RND*10))*R
315 GOTO 396
321 REM
322 R=(1-RND*2)*A(J)
323 X(J)=A(J)+ (RND^(RND*10))*R
325 GOTO 396
331 REM
332 R=(1-RND*2)*A(J)
333 X(J)=A(J)+ (RND^(RND*10))*R
335 GOTO 396
341 X(J)=1+FIX(RND*5 )
345 GOTO 396
351 X(J)=30+FIX(RND*36 )
355 GOTO 396
361 IF RND<.25 THEN X(J)=2.4 ELSE IF RND<.33 THEN X(J)=2.6 ELSE IF RND<.5 THEN X(J)=2.8 ELSE X(J)=3.1
365 GOTO 396
371 IF RND<.25 THEN X(J)=45 ELSE IF RND<.33 THEN X(J)=50 ELSE IF RND<.5 THEN X(J)=55 ELSE X(J)=60
375 GOTO 396
381 IF RND<.25 THEN X(J)=2.4 ELSE IF RND<.33 THEN X(J)=2.6 ELSE IF RND<.5 THEN X(J)=2.8 ELSE X(J)=3.1
385 GOTO 396
391 IF RND<.25 THEN X(J)=45 ELSE IF RND<.33 THEN X(J)=50 ELSE IF RND<.5 THEN X(J)=55 ELSE X(J)=60
396 NEXT IPP
443 FOR J44=1 TO 10
446 IF X(J44)<1 THEN 1670
449 NEXT J44
505 X(11)=-X(2)+20*X(1)
521 X(12)= -4.2857+(X(1)*X(2)^2) / 1000
536 X(13)=-X(4)+20*X(3)
537 X(14)= -2.1429+(X(3)*X(4)^2) / 1000
547 X(15)=-X(6)+20*X(5)
548 X(16)= -10.7143+(X(5)*X(6)^2) / 1000
558 X(17)=-X(8)+20*X(7)
559 X(18)= -8.5714+(X(7)*X(8)^2) / 1000
569 X(19)=-X(10)+20*X(9)
570 X(20)= -6.4268+(X(9)*X(10)^2) / 1000
577 X(21)= - 10000*( 244/(X(5)*X(6)^3 ) +148/ ( X(7)*X(8)^3 ) +76/(X(9)*X(10)^3 ) +28/ ( X(1)*X(2)^3 ) +4/ (X(3)*X(4)^3) ) +1086
601 FOR J44=11 TO 21
603 IF X(J44)<0 THEN PS(J44)=ABS(X(J44)) ELSE PS(J44)=0
605 NEXT J44
703 POBA2=-100*( X(5)*X(6)+X(7)*X(8)+X(9)*X(10) +X(1)*X(2) +X(3)*X(4) )
711 POBA= POBA2 -999999999#*( PS(11)+PS(12)+ PS(13)+PS(14)+PS(15)+PS(16)+PS(17)+PS(18)+PS(19)+PS(20)+PS(21) )
759 POB1=POBA
863 P1NEWMAY=POB1
866 P=P1NEWMAY
1111 IF P<=M THEN 1670
1452 M=P
1453 PPOBA2=POBA2
1454 FOR KLX=1 TO 21
1455 A(KLX)= ( X(KLX) )
1456 NEXT KLX
1557 GOTO 128
1670 NEXT I
1899 IF M<-63911! THEN 2222
1999 PRINT A(1),A(2),A(3),A(4),A(5)
2000 PRINT A(6),A(7),A(8),A(9),A(10)
2001 PRINT A(11),A(12),A(13),A(14),A(15)
2002 PRINT A(16),A(17),A(18),A(19),A(20)
2003 PRINT A(21),M,JJJJ,PPOBA2
2222 NEXT JJJJ
This BASIC computer program was run with Microsoft's GW BASIC 3.11 interpreter. The complete output through JJJJ=-30663 is shown below. What follows is a hand copy from the computer-monitor screen; immediately below there is no rounding by hand.
2.204837 44.08823 1.750975 34.98332 3
60 3.1 55 2.6 50
8.525848E-03 0 3.617859E-02
0 0
8.570004E-02 7 .8060999 2
7.320023E-02
1075.011 -63896.23 -31181 -63896.23
2.207199 44.06465 1.752492 34.96821 3
60 3.1 55 2.6 50
7.932663E-02 2.384186E-06 8.163834E-02
4.768372E-06 0
8.570004E-02 7 .8060999 2
7.320023E-02
1075.01 -63904.09 -30663 -63904.09
On a personal computer with an Intel 2.66 chip and the IBM basica/D interpreter, version GW BASIC 3.11, the throughput time from JJJJ=-32000 through JJJJ=-30663 was five hours.
References
[1] Clarence L. Barnhart, Robert K. Barnhart (Editors). The World Book Dictionary, 1993 World Book, Inc., a Scott Fetzer company, Chicago London Sydney Toronto.
[2] T. Y. Chen, H. C. Chen (2009): Mixed-Discrete Structural Optimization Using a Rank-Niche Evolution Strategy, Engineering Optimization, 41:1, 39-58.
[3] William Conley, Computer Optimization Techniques. New York/Princeton: Petrocelli Books, Inc., Copyright 1980.
[4] George B. Dantzig, Discrete-Variable Extremum Problems. Operations Research, Vol. 5, No. 2 (Apr., 1957), pp. 266-277.
[5] M. Jaberipour, E. Khorram (2011), A New Harmony Search Algorithm for Solving Mixed-Discrete Engineering Optimization Problems, Engineering Optimization, 43:5, 507-523.
[6] Michael Junger, Thomas M. Liebling, Dennis Naddef, George L. Nemhauser, William R. Pulleybank, Gerhart Reinelt, Giovanni Rinaldi, Lawrence A. Wolsey--Editors, 50 Years of Integer Programming 1958-2008. Berlin: Springer, 2010.
[7] A. H. Land, A. G. Doig, An Automatic Method of Solving Discrete Programming Problems. Econometrica, Vol. 28, No. 3 (Jul., 1960), pp. 497-520.
[8] E. L. Lawler, M. D. Bell, A Method for Solving Discrete Optimization Problems. Operations Research, Vol. 14, No. 6 (Nov.-Dec., 1966), pp. 1098-1112.
[9] Duan Li, Xiaoling Sun, Nonlinear Integer Programming. Boston: Springer, 2006.
[10] Han-Lin Li, Jung-Fa Tsai, A Distributed Computation Algorithm for Solving Portfolio Problems with Integer Variables. European Journal of Operational Research 186 (2008) 882-891.
[11] Harry M. Markowitz, Alan S. Manne, On the Solution of Discrete Programming Problems. Econometrica, Vol. 25, No. 1 (Jan., 1957), pp. 84-110.
[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] Christina Oberlin, Stephen J. Wright, Active Set Identification in Nonlinear Programming. SIAM J. Optim., Vol. 17, No. 2, pp. 577-605.
[14] Singiresu S. Rao (2009), Engineering Optimization: Theory and Practice, Fourth Edition. New York: Wiley.
[15] E. Sandgren (1990): Nonlinear Integer and Discrete Programming in Mechanical Design Optimization. Journal of Mechanical Design, June 1990, Vol. 112, pp. 223-229.
[16] Dong Ku Shin, Z. Gurdal, O. H. Griffin Jr. (1990): A Penalty Approach for Nonlinear Optimization with Discrete Design Variables, Engineering Optimization, 16:1,29-42.
[17] P. B. Thanedar, G. N. Vanderplaats (1995), Survey of Discrete Variable Optimization for Structural Design. Journal of Structural Engineering, ASCE, Volume 121 (2), pp. 301-306.
[18] Jung-Fa Tsai, Han-Lin Li, Nian-Ze Hu (2002): Global Optimization for Signomial Discrete Programming Problems in Engineering Design, Engineering Optimization, 34:6, 613-622.
[19] S. Wang, K. L. Teo, H. W. J. Lee (1998): A New Approach to Nonlinear Mixed Discrete Programming Problems, Engineering Optimization, 30:3-4. 249-262.
[20] Jsun Yui Wong (2011, April 17). The Domino Method of Solving Nonlinear Systems of Equations. Retrieved from http://computationalresultsfromcomputerprograms.wordpress.com/2011/04/17/
[21] Ji-Hui Zhang, Xin-He Xu, An Efficient Evolutionary Programming Algorithm. Computers & Operations Research 26 (1999) 645-663.
Comments