Saturday, September 2, 2017

Solving a Griewank Problem in 1200 General Integers by Using the Method of This Blog

Jsun Yui Wong

The computer program listed below works on the following Griewank problem based on a problem in Gandomi et al. [5, p. 93].  (Also see  www.mathworld.wolfram.com/GriewankFunction/html.)
     
Minimize  

                     n                     n
1+(1 / 4000)*SIGMA X(i)^2-PI COS(X(i)/i^.5 )
                     i=1                  i=1

where -600<=X(i)<=600 and each X(i) is an integer, i=1, 2, 3,..., 1200.


0 DEFDBL A-Z

2 DEFINT K, X


3 DIM B(1399), N(1399), A(1399), H(1399), L(1399), U(1399), X(1311), D(1311), P(1311), PS(1333)

12 FOR JJJJ = -32000 TO 32000 STEP .01


    14 RANDOMIZE JJJJ
    16 M = -1D+37

    75 FOR J44 = 1 TO 1200


        76 A(J44) = -600 + RND * 1200


    79 NEXT J44


    128 FOR I = 1 TO 10000


        129 FOR KKQQ = 1 TO 1200

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


            181 J = 1 + FIX(RND * 1200)


            183 R = (1 - RND * 2) * A(J)
            187 X(J) = A(J) + (RND ^ (RND * 10)) * R
        191 NEXT IPP


        193 FOR J44 = 1 TO 1200



            221 IF X(J44) < -600 THEN 1670


            222 IF X(J44) > 600 THEN 1670



        223 NEXT J44
        241 SUMOF = 0
        244 FOR J66 = 1 TO 1200

            247 SUMOF = SUMOF + X(J66) ^ 2

        249 NEXT J66



        292 PRODOF = 1

        293 FOR J77 = 1 TO 1200

            295 PRODOF = PRODOF * COS(X(J77) / J77 ^ .5)


        296 NEXT J77


        329 POBA = -1 - (1 / 4000) * (SUMOF) + (PRODOF)




        466 p = POBA

        1111 IF p <= M THEN 1670


        1452 M = p
        1454 FOR KLX = 1 TO 1200

            1455 A(KLX) = X(KLX)
        1456 NEXT KLX
        1499 REM PRINT A(1), A(1200), M, JJJJ


        1557 GOTO 128

    1670 NEXT I
    1889 REM IF M < -.002 THEN 1999


    1900 PRINT A(1), A(2), A(3)


    1903 REM PRINT A(4), A(5), A(6)


    1933 REM PRINT A(94), A(95), A(96)

    1935 PRINT A(1197), A(1198), A(1199)


    1936 PRINT A(1200), M, JJJJ

1999 NEXT JJJJ

This BASIC computer program was run with qb64v1000-win [20].  The complete output through JJJJ=-31999.90000000002 is shown below:
 
-3             0            0
0              0            0
0            -2.923018515638994D-02         -32000

0             0             0
0             0             0
0            -3.687477901129832D-03         -31999.99

0             0             0
0             0             0
0            -9.591360299851246D-04         -31999.98

0             0             0
0             0             0
0            -1.241634136718078D-02         -31999.97000000001

0             0             0
0             0             0
0            -5.909225555920152D-02         -31999.96000000001

0             0             0
0             0             0
0            -1.137968021479058D-03         -31999.95000000001

0             0              0
0             0              0
0             0                                               -31999.94000000001

0             0              0  
0             0              0
0             0                                               -31999.93000000001

0             0              0
0             0              0
0             0                                              -31999.92000000001

0             0              0
0             0              0
0             0                                              -31999.91000000001

3             0              0
0             0              0
0     -2.456846362867342D-02                   -31999.90000000002

Above there is no rounding by hand; it is just straight copying by hand from the monitor screen.  Only the A's of line 1900, line 1935, and line 1936 are shown above.

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

Acknowledgment

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

References

[1]  Yuichiro Anzai (1974).  On Integer Fractional Programming.  Journal Operations Research Society of Japan, Volume 17, No. 1, March 1974, pp. 49-66.
www..orsj.or.jp/~archiv/pdf/e_mag/Vol.17_01_049.pdf.

[2]  Sjirk Boon. Solving systems of nonlinear equations. Sci. Math. Num-Analysis,1992, Newsgroup Article 3529.     .

[3]  H. Chickermane, H. C. Gea (1996)  Structural optimization using a new local approximation method, International Journal for Numerical Methods in Engineering, 39, pp. 829-846.

[4]  Amir Hossein Gandomi, Xin-She Yang, Amir Hossein Alavi (2011).  Mixed variable structural optimization using Firefly Algorithm, Computers and Structures 89 (2011) 2325-2336.

[5]  Amir Hossein Gandomi, Xin-She Yang, Siamak Taratahari, Amir Hossein Alavi (2013).  Firefly Algorithm with Chaos, Communications in Nonlinear Science and Numerical Sinulation 18 (2013) 89-98.

[6]  Amir Hossein Gandomi, Xin-She Yang, Amir Hossein Alavi (2013).  Cuckoo search algorithm:  a metaheuristicapproach to solve structural optimization problem.  Engineering with Computers (2013) 29:17-35.

[7]  Amir Hossein Gandomi, Xin-She Yang, Amir Hossein Alavi (2013).  Erratum to:  Cuckoo search algorithm:  a metaheuristicapproach to solve structural optimization problem.  Engineering with Computers (2013) 29:245.

[8]  Han-Lin Li, Jung-Fa Tsai (2008).  A distributed computational algorithm for solving portfolio problems with integer variables.  European Journal of Operational Research 186 (2008) pp.882-891.

[9]  Ming-Hua Lin, Jung-Fa Tsai (2014).  A deterministic global approach for mixed-discrete structural optimization, Engineering Optimization  (2014) 46:7, pp. 863-879.9

[10]  Harry Markowitz  (1952).   Portfolio Selection.   The Journal of Finance  7 (2008) pp. 77-91.

[11]  Mathworks. Solving a mixed integer engineering design problem using the genetic algorithm - MATLAB & Simulink Example.
https://www.mathworks.com/help/gads/examples/solving-a-mixed-integer-engineering-design-problem-using-the-genetic-algorithm.html/

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

[13]  Sinan Melih Nigdeli, Gebrail Bekdas, Xin-She Yang (2016). Application of the Flower Pollination Algoritm in Structural Engineering. Springer International Publishing Switzerland 2016.  www.springer.com/cda/content/document/cda.../

[14]  H. S. Ryoo, N. V. Sahinidis (1995).  Global optimization of nonconvex NLP and MINLP with applications in process design. Computers and Chemical Engineering Vol. 19 (5) (1995) pp. 551-566.

[15]  P. B. Thanedar, G. N. Vanderplaats (1995).  Survey of discrete variable optimization for structural design,  Journal of Structural Engineering, 121 (2), 301-306 (1995).

[16]  Jung-Fa Tsai (2005).  Global optimization of nonlinear fractional programming problems in engineering design. Engineering Optimization  (2005) 37:4, pp. 399-409.

[17]  Jung-Fa Tsai, Ming-Hua Lin (2007).  Finding all solutions of systems of nonlinear equations with free variables.  Engineering Optimization  (2007) 39:6, pp. 649-659

[18]  Jung-Fa Tsai, Ming-Hua Lin, Yi-Chung Hu (2007).  On generalized geometric programming problems with non-positive variables.  European Journal of Operational Research 178 (2007) pp. 10-19.

[19]  Jung-Fa Tsai, Ming-Hua Lin (2008).  Global optimization of signomial mixed-integer nonlinear programming with free variables.  Journal of Global Optimization  (2008) 42  pp. 39-49.

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

[21] Jsun Yui Wong (2012, April 12).  The Domino Method of General Integer Nonlinear Programming Applied to a Nonlinear Fractional Programming Problem from the Literature. http://myblogsubstance.typepad.com/substance/2012/04/12/

[22] Xin-She Yang, Christian Huyck, Mehmet Karamanoglu, Nawaz Khan (2014).  True global optimality of the pressure vessel design problem:  A benchmark for bio-inspired optimisation algorithms.
https://arxiv.org/pdf/1403.7793.pdf.

No comments:

Post a Comment