Jsun Yui Wong
The computer program listed below seeks one integer solution or more to the following given system of seven nonlinear equations:
-.5 * (X(1) * X(4) - X(2) * X(3) + X(3) * X(9) - X(5) * X(9) + X(5) * X(8) - X(6) * X(7)) = 0
-X(3) ^ 2 - X(4) ^ 2 + 2 = 0
-X(9) ^ 2 + 1 = 0
-X(5) ^ 2 - X(6) ^ 2 + 2 = 0
-X(1) ^ 2 - (X(2) - X(9)) ^ 2 + 1 = 0
-(X(1) - X(5)) ^ 2 - (X(2) - X(6)) ^ 2 = 0
-(X(1) - X(7)) ^ 2 - (X(2) - X(8)) ^ 2 = 0.
These equations are adaptations of expressions on page 117 of Hock and Schittkowski [3].
0 DEFDBL A-Z
3 DEFINT J, K, X
4 DIM X(42), A(42), L(33), K(33)
5 FOR JJJJ = -32000 TO 32000
14 RANDOMIZE JJJJ
16 M = -1D+17
91 FOR KK = 1 TO 9
94 A(KK) = -10 + FIX(RND * 21)
95 NEXT KK
128 FOR I = 1 TO 100000 STEP 1
129 FOR K = 1 TO 9
131 X(K) = A(K)
132 NEXT K
155 FOR IPP = 1 TO FIX(1 + RND * 3)
181 B = 1 + FIX(RND * 9)
182 IF RND < .5 THEN 183 ELSE GOTO 189
183 R = (1 - RND * 2) * A(B)
186 X(B) = A(B) + (RND ^ 3) * R
187 REM IF RND < .25 THEN X(B) = A(B) + RND * R ELSE IF RND < .333 THEN X(B) = A(B) + RND ^ 4 * R ELSE IF RND < .5 THEN X(B) = A(B) + RND ^ 7 * R ELSE X(B) = CINT(A(B))
188 GOTO 191
189 IF RND < .5 THEN X(B) = A(B) - 1 ELSE X(B) = A(B) + 1
191 NEXT IPP
211 N1 = -.5 * (X(1) * X(4) - X(2) * X(3) + X(3) * X(9) - X(5) * X(9) + X(5) * X(8) - X(6) * X(7))
212 N2 = -X(3) ^ 2 - X(4) ^ 2 + 2
213 N3 = -X(9) ^ 2 + 1
214 N4 = -X(5) ^ 2 - X(6) ^ 2 + 2
215 N5 = -X(1) ^ 2 - (X(2) - X(9)) ^ 2 + 1
216 N6 = -(X(1) - X(5)) ^ 2 - (X(2) - X(6)) ^ 2
217 N7 = -(X(1) - X(7)) ^ 2 - (X(2) - X(8)) ^ 2
277 P = -ABS(N1) - ABS(N2) - ABS(N3) - ABS(N4) - ABS(N5) - ABS(N6) - ABS(N7)
1451 IF P <= M THEN 1670
1657 FOR KEW = 1 TO 9
1658 A(KEW) = X(KEW)
1659 NEXT KEW
1661 M = P
1670 NEXT I
1888 IF M < 0 THEN 1999
1912 PRINT A(1), A(2), A(3), A(4), A(5)
1913 PRINT A(6), A(7), A(8), A(9), M, JJJJ
1999 NEXT JJJJ
This computer program was run with qb64v1000-win [10]. Copied by hand from the screen, the computer program’s complete output through JJJJ=-31990 is shown below:
1 -1 -1 -1 1
-1 1 -1 -1 0
-31999
1 1 1 1 1
1 1 1 1 0
-31998
1 -1 1 -1 1
-1 1 -1 -1 0
-31996
-1 1 1 1 -1
1 -1 1 1 0
-31993
1 -1 1 -1 1
-1 1 -1 -1 0
-31992
-1 -1 -1 -1 -1
-1 -1 -1 -1 0
-31991
1 1 1 1 1
1 1 1 1 0
-31990
Above there is no rounding by hand; it is just straight copying by hand from the screen.
On a personal computer with a Pentium Dual-Core CPU E5200 @2.50GHz, 2.50 GHz, 960 MB of RAM and with qb64v1000-win [10], the wall-clock time for obtaining the output through JJJJ= -31990 was 15 seconds, including "Creating .EXEC file time...".
Acknowledgment
I would like to acknowledge the encouragement of Roberta Clark and Tom Clark.
References
[1] C. A. Floudas, Deterministic Global Optimization. Kluwer Academic Publishers, 2000.
[2] Tianmin Han, Yuhuan Han, Solving large scale nonlinear equations by a new ODE numerical integration method, Applied Mathematics, 2010, 1, pp. 222-229. www.SciRP.org/journal/am.
[3] W. Hock, K. Schittkowski, Test Examples for Nonlinear Programming Codes. Springer-Verlag, 1981.
[4] William La Cruz, Jose Mario Martinez, Marcos Raydan, Spectral residual method without gradient information for solving large-scale nonlinear systems of equations: Theory and experiments. Technical Report RT-04-08, July 2004.
http://www.ime.unicamp.br/~martinez/lmrreport.pdf.
[5] William La Cruz, Jose Mario Martinez, Marcos Raydan, Spectral residual method without gradient information for solving large-scale nonlinear systems of equations, Mathematics of Computation, vol. 75, no. 255, pp.1429-1448, 2006.
[6] 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.
[7] William H. Mills, A System of Quadratic Diophantine Equations, Pacific Journal of Mathematics, 3 (1953), pp. 209-220.
[8] O. Perez, I. Amaya, R. Correa (2013), Numerical Solution of Certain Exponential and Non-linear Diophantine Systems of Equations by Using a Discrete Particles Swarm Optimization Algorithm. Applied Mathematics and Computation, Volume 225, 1 December 2013, Pages 737-746.
[9] K. Schittkowski, More Test Examples for Nonlinear Programming Codes. Springer-Verlag, 1987.
[10] Wikipedia, QB64, https://en.wikipedia.org/wiki/QB64.
[11] Wolfram Research, Inc., Diophantine Polynomial Systems. https:/reference.wolfram.com/language/tutorial/DiophantineReduce.html.
[12] Jsun Yui Wong (2013, November 11). Solving Nonlinear Systems of Equations with the Domino Method, Second Edition. http://myblogsubstance.typepad.com/substance/2013/11/solving-nonlinear-systems-of-equations-with-the-domino-method-second-edition.html.
[13] Jsun Yui Wong (2015, October 26). Testing the Domino Method of General Integer Nonlinear Programming with Brown’s Almost Linear System of Fifteen Equations, Second Edition. http://myblogsubstance.typepad.com/substance/2015/10/
No comments:
Post a Comment