Thursday, August 18, 2016

A Nonlinear Integer Programming Code/Software/Solver Applied to Solving a Nonlinear System of 7500 Simultaneous Diophantine Equations Based on the Brown Function, Revised Edition

Jsun Yui Wong

The following computer program seeks to solve the following nonlinear system of 7500 Diophantine equations:

           7500
x(i) + sigma x(j) - (7500+1) = 0, for i = 1, 2, 3,..., 7499,
           j=1

7500
pi    x(j) -1 = 0.
j=1

The present system is based on Brown's almost linear function in La Cruz, Marinez, and Raydan [2, p. 25]; http://www.ime.unicamp.br/~martinez/lmrreport.pdf.

The starting vectors are given in line 42, which is 42 A(J44) = -3 + FIX(RND * 7).

While line 441 of the older edition is 441 P(4500) = -ABS(PR - 1),
here line 441 is 441 P(7500) = -ABS(PR - 1).

0 REM DEFDBL A-Z
2 DEFINT I, J, X

3 DIM B(9999), N(9999), A(9999), H(9999), L(9999), U(9999), X(9999), D(9999), P(9999), PS(9999), J(9999)

12 FOR JJJJ = -32000 TO 32000

    15 RANDOMIZE JJJJ

    16 M = -1D+37

    41 FOR J44 = 1 TO 7500
        42 A(J44) = -3 + FIX(RND * 7)

    43 NEXT J44
    128 FOR I = 1 TO 30000

        129 FOR KKQQ = 1 TO 7500
            130 X(KKQQ) = A(KKQQ)
        131 NEXT KKQQ
        133 FOR IPP = 1 TO (1 + FIX(RND * 3))

            181 J = 1 + FIX(RND * 7500)

            183 REM R = (1 - RND * 2) * A(J)

            187 IF RND < .5 THEN X(J) = A(J) - 1 ELSE X(J) = A(J) + 1


            189 REM X(J) = A(J) + (RND ^ 3) * R


        192 NEXT IPP

        251 SU = 0
        254 FOR J44 = 1 TO 7499


            258 SU = SU + X(J44)


        266 NEXT J44

        311 X(7500) = -X(1) - SU + (7500 + 1)


        351 PR = 1
        353 FOR J45 = 1 TO 7500


            355 PR = PR * X(J45)

        359 NEXT J45


        422 FOR J41 = 2 TO 7499


            439 P(J41) = -ABS(X(J41) + SU + X(7500) - (7500 + 1))


        427 NEXT J41


        441 P(7500) = -ABS(PR - 1)

        451 FOR J77 = 2 TO 7500


            452 IF P(J77) < 0 THEN P(J77) = P(J77) ELSE P(J77) = 0

        454 NEXT J77


        577 SP = 0

        578 FOR J99 = 2 TO 7500


            579 SP = SP + P(J99)
        580 NEXT J99
        595 P = SP

        1111 IF P <= M THEN 1670
        1452 M = P
        1454 FOR KLX = 1 TO 7500

            1455 A(KLX) = X(KLX)
        1456 NEXT KLX
        1557 GOTO 128
    1670 NEXT I

    1889 REM IF M < -99 THEN 1999

    1947 PRINT A(1), A(2), A(3), A(4), A(7497), A(7498), A(7499), A(7500), M, JJJJ

1999 NEXT JJJJ

This computer program was run with qb64v1000-win [6]. Copied by hand from the screen, the computer program’s complete output through JJJJ=-31996 is shown below:

0    0     0    0    0
0    0     7502    -2    -32000

1    1    1    1    1
1    1    11      -11      -31999

1    1     1     1    1
1    1      2      -2    -31998

0    0    0    0    0
0    0     7503    -3    -31997

1    1    1    1    1
1    1    1    0    -31996

Above there is no rounding by hand; it is just straight copying by hand from the screen.

Above at JJJJ=-31996, M=0. Of the 7500 A's, only the eight A’s of line 1947 are shown above.

On a personal computer with a Pentium Dual-Core CPU E5200 @2.50GHz, 2.50 GHz, 960 MB of RAM and with qb64v1000-win [6], the wall-clock time for obtaining the output through JJJJ= -31996 was fifty minutes.

Acknowledgment

I would like to acknowledge the encouragement of Roberta Clark and Tom Clark.

References

[1] Jean-Marie de Konnick, Armel Mercier, 1001 Problems in Classical Number Theory. American Mathematical Society, Providence, Rhode Island, 2007.

[2] 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.

[3] 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.

[4] 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.

[5] 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.

[6] Wikipedia, QB64, https://en.wikipedia.org/wiki/QB64.

[7] 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.

No comments:

Post a Comment