Similar to the computer program of the preceding paper, the following computer program seeks to solve an integer version of Schittkowski's Problem 272 [11, p. 96]; only integer solutions are of interest in the present paper. Hence in the present paper the problem is to minimize the following:
13
SIGMA ( X(4)*EXP(-X(1)*T(i) )-X(5)*EXP(-X(2)*T(i) ) +X(6)*EXP(-X(3)*T(i) ) -Y(i) )^2
i=1
where Y(i)=EXP( -T(i) )-5*EXP(-10*T(i) ) +3*EXP(-4*T(i) ),
T(i)=i/10
subject to -20<= X(j)<=20, X(j) integer, j=1, 2, 3,..., 6. See Schittkowski [11, p. 96].
One notes line 203 and line 204, which are 203 IF X(J44)<-20 THEN X(J44)=A(J44) and
204 IF X(J44)>20 THEN X(J44)=A(J44), respectively.
0 REM DEFDBL A-Z
1 DEFINT J,K,X,B
2 DIM A(1001),X(1001),T(111),Y(111)
72 FOR J44=1 TO 13
73 T(J44)=J44/10
74 NEXT J44
75 FOR J44=1 TO 13
76 Y(J44)=EXP( -T(J44) )-5*EXP(-10*T(J44) ) +3*EXP(-4*T(J44) )
78 NEXT J44
88 FOR JJJJ=-32000 TO 32000
89 RANDOMIZE JJJJ
90 M=-3D+30
110 FOR J44=1 TO 6
112 A(J44)=-20+FIX( RND*41)
113 NEXT J44
128 FOR I=1 TO 32000
129 FOR KKQQ=1 TO 6
130 X(KKQQ)=A(KKQQ)
131 NEXT KKQQ
139 FOR IPP=1 TO FIX(1+RND*3)
140 B=1+FIX(RND*6)
144 GOTO 167
150 R=(1-RND*2)*A(B)
155 IF RND<.5 THEN 160 ELSE 167
160 X(B)=(A(B) +RND^3*R)
165 GOTO 168
167 IF RND<.5 THEN X(B)=CINT(A(B)-1) ELSE X(B)=CINT(A(B) +1)
168 REM IF A(B)=0 THEN X(B)=1 ELSE X(B)=0
169 NEXT IPP
170 REM GOTO 220
202 FOR J44=1 TO 6
203 IF X(J44)<-20 THEN X(J44)=A(J44)
204 IF X(J44)>20 THEN X(J44)=A(J44)
205 NEXT J44
220 SUMM=0
222 FOR J44=1 TO 13
223 SUMM=SUMM+( X(4)*EXP(-X(1)*T(J44) )-X(5)*EXP(-X(2)*T(J44) ) +X(6)*EXP(-X(3)*T(J44) ) -Y(J44) )^2
226 NEXT J44
229 REM SUMX=SUMM^(1/3)
333 PD1=-SUMM
1111 IF PD1<=M THEN 1670
1452 M=PD1
1454 FOR KLX=1 TO 6
1455 A(KLX)=X(KLX)
1456 NEXT KLX
1457 GOTO 1557
1544 IF M<-8 THEN 1557
1546 PRINT I,A(30),M,JJJJ
1557 GOTO 128
1670 NEXT I
1889 IF M<-.01 THEN 1999
1904 PRINT A(1),A(2),A(3),A(4),A(5)
1905 PRINT A(6),M,JJJJ
1927 REM PRINT M,JJJJ
1999 NEXT JJJJ
This BASIC computer program was run via basica/D of Microsoft's GW-BASIC 3.11 interpreter for DOS. See [8]. The complete output through JJJJ=-31742 is copied by hand from the screen and shown below. Immediately below there is no rounding by hand.
10 1 4 -5 -1
3 0 -31999
1 10 4 1 5
3 0 -31924
1 10 4 1 5
3 0 -31891
10 1 4 -5 -1
3 0 -31849
4 10 1 3 5
1 -8.881784E-16 -31791
1 10 4 1 5
3 0 -31762
4 1 10 3 -1
-5 -5.684342E-14 -31742
On a personal computer with a Pentium Dual-Core CPU E5200 @2.50GHz, 2.50 GHz, 960 MB of RAM, and the IBM basica/D interpreter, version GW BASIC 3.11, the wall-clock time for obtaining the output through JJJJ=-31742 was 22 minutes.
Acknowledgment
I would like to acknowledge the encouragement of Roberta Clark and Tom Clark.
References
[1] E. Balas, An Additive Algorithm for Solving Linear Programs with Zero-One Variables. Operations Research, Vol. 13, No. 4 (1965), pp. 517-548.
[2] E. Balas, Discrete Programming by the Filter Method. Operations Research, Vol. 15, No. 5 (Sep. - Oct., 1967), pp. 915-957.
[3] F. Cajori (1911) Historical Note on the Newton-Raphson Method of Approximation. The American Mathematical Monthly, Volume 18 #2, pp. 29-32.
[4] Jack Lashover (November 12, 2012). Monte Carlo Marching. www.academia.edu/5481312/MONTE_ CARLO_MARCHING
[5] 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.
[6] E. L. Lawler, M. D. Bell, Errata: A Method for Solving Discrete Optimization Problems. Operations Research, Vol. 15, No. 3 (May - June, 1967), p. 578.
[7] Duan Li, Xiaoling Sun, Nonlinear Integer Programming. Publisher: Springer Science+Business Media,LLC (2006). http://www.books.google.ca/books?isbn=0387329951
[8] Microsoft Corp., BASIC, Second Edition (May 1982), Version 1.10. Boca Raton, Florida: IBM Corp., Personal Computer, P. O. Box 1328-C,Boca Raton, Floridda 33432, 1981.
[9] Harvey M. Salkin, Integer Programming. Menlo Park, California: Addison-Wesley Publishing Company (1975).
[10] Harvey M. Salkin, Kamlesh Mathur, Foundations of Integer Programming. Publisher: Elsevier Science Ltd (1989).
[11] K. Schittkowski, More Test Examples for Nonlinear Programming Codes. Springer-Verlag, 1987.
[12] Jsun Yui Wong (2012, April 23). The Domino Method of General Integer Nonlinear Programming Applied to Problem 2 of Lawler and Bell. http://computationalresultsfromcomputerprograms.wordpress.com/2012/04/23/
[13] Jsun Yui Wong (2013, September 4). A Nonlinear Integer/Discrete/Continuous Programming Solver Applied to a Literature Problem with Twenty Binary Variables and Three Constraints, Third Edition. http://myblogsubstance.typepad.com/substance/2013/09/