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