Jsun Yui Wong
The computer program below tries to solve the function optimization problem with m=500 on pages 649-651 of Zhang and Xu [19]. Line 181 through line 1111 of the following computer program partly describe the problem. Noteworthy is line 184, which is 184 X(J)=A(J)+(FIX(RND*2))*.05-(FIX(RND*2))*.05.
Also, it also tries to solve the corresponding integer 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 [18].
0 REM DEFDBL A-Z
2 DEFINT I,J,K
3 DIM B(519),N(519),A(1002),H(519),L(519),U(519),X(1002),D(511),P(511),PS(33),AA(1111)
12 FOR JJJJ=-32000 TO 32000
14 RANDOMIZE JJJJ
16 M=-1D+37
71 FOR J44=1 TO 500
74 A(J44)=-RND*5
77 NEXT J44
126 REM IMAR=10+FIX(RND*100)
128 FOR I=1 TO 300
129 FOR KKQQ=1 TO 500
130 X(KKQQ)=A(KKQQ)
131 NEXT KKQQ
133 FOR IPP=1 TO 5
181 J=1+FIX(RND*500)
182 REM GOTO 190
183 REM R=(1-RND*2)*A(J)
184 X(J)=A(J)+(FIX(RND*2))*.05-(FIX(RND*2))*.05
187 REM X(J)=A(J)+ (RND^(RND*10))*R
188 GOTO 222
189 REM X(J)=A(J)+PA
190 X(J)=A(J)+FIX(RND*2 )-FIX(RND*2)
191 REM X(J)=A(J)+FIX(RND*3)-FIX(RND*3)
222 NEXT IPP
243 FOR J44=1 TO 500
246 IF X(J44)<-10 THEN 1670
248 IF X(J44)>10 THEN 1670
249 NEXT J44
355 PSUM=0
357 FOR J44=1 TO 500
359 PSUM=PSUM+(1/500)*( X(J44)^4-16*X(J44)^2+5*X(J44) )
366 NEXT J44
403 POBA2=-PSUM
411 POBA= POBA2
459 POB1=POBA
463 P1NEWMAY=POB1
466 P=P1NEWMAY
1111 IF P<=M THEN 1670
1452 M=P
1453 PPOBA2=POBA2
1454 FOR KLX=1 TO 500
1455 A(KLX)= ( X(KLX) )
1456 NEXT KLX
1557 GOTO 128
1670 NEXT I
1772 FOR J44=1 TO 500
1777 AA(J44) = CINT (A(J44) )
1788 NEXT J44
1799 PSUM=0
1857 FOR J44=1 TO 500
1859 PSUM=PSUM+(1/500)*( AA(J44)^4-16*AA(J44)^2+5*AA(J44) )
1866 NEXT J44
1898 PRINT A(1),A(2),A(3),A(4),A(5)
1899 PRINT A(496),A(497),A(498),A(499),A(500),M,JJJJ,PPOBA2
1998 PRINT AA(1),AA(2),AA(3),AA(4),AA(5)
2000 PRINT AA(496),AA(497),AA(498),AA(499),AA(500),PSUM,JJJJ
2222 NEXT JJJJ
This BASIC computer program was run with Microsoft's GW BASIC 3.11 interpreter. The output through JJJJ=-31997 is shown below. What follows is a hand copy of the output on the computer-monitor screen; immediately below there is no rounding by hand.
-2.894538 -2.916732 -2.897156 -2.90236 -2.884825
-2.870931 -2.934536 -2.915289 -2.895821 -2.923359
78.32247 -32000 78.32247
-3 -3 -3 -3 -3
-3 -3 -3 -3 -3
-77.99951 -32000
-2.881405 -2.883218 -2.903935 -2.9088 -2.920653
-2.89391 -2.918805 -2.890355 -2.92452 -2.913075
78.3227 -32000 78.3227
-3 -3 -3 -3 -3
-3 -3 -3 -3 -3
-77.99951 -31999
-2.883065 -2.927211 -2.925028 -2.928296 -2.915845
-2.908983 -2.889557 -2.880188 -2.898715 -2.909385
78.26743 -31998 78.26743
-3 -3 -3 -3 -3
-3 -3 -3 -3 -3
-77.93951 -31998
-2.939881 -2.884955 -2.892202 -2.880561 -2.9227
-2.902572 -2.919708 -2.88201 -2.891476 -2.911448
78.20945 -31997 78.20945
-3 -3 -3 -3 -3
-3 -3 -3 -3 -3
-77.87951 -31997
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=-31997 was 22 minutes.
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] 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.
[6] A. H. Land, A. G. Doig, An Automatic Method of Solving Discrete Programming Problems. Econometrica, Vol. 28, No. 3 (Jul., 1960), pp. 497-520.
[7] 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.
[8] Duan Li, Xiaoling Sun, Nonlinear Integer Programming. Boston: Springer, 2006.
[9] 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.
[10] Harry M. Markowitz, Alan S. Manne, On the Solution of Discrete Programming Problems. Econometrica, Vol. 25, No. 1 (Jan., 1957), pp. 84-110.
[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] Christina Oberlin, Stephen J. Wright, Active Set Identification in Nonlinear Programming. SIAM J. Optim., Vol. 17, No. 2, pp. 577-605.
[13] Singiresu S. Rao (2009), Engineering Optimization: Theory and Practice, Fourth Edition. New York: Wiley.
[14] E. Sandgren (1990): Nonlinear Integer and Discrete Programming in Mechanical Design Optimization. Journal of Mechanical Design, June 1990, Vol. 112, pp. 223-229.
[15] 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.
[16] 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.
[17] 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.
[18] Jsun Yui Wong (2011, April 17). The Domino Method of Solving Nonlinear Systems of Equations. Retrieved from http://computationalresultsfromcomputerprograms.wordpress.com/2011/04/17/
[19] Ji-Hui Zhang, Xin-He Xu (1999), An Efficient Evolutionary Programming Algorithm. Computers & Operations Research 26, 645-663.