The computer program listed below seeks to solve the nonconvex example on pp. 45-47 of Tsai and Lin [7].
The X(6), X(7), and X(8) of the following computer program are slack variables. Line 403 below refers to the given objective function.
0 REM DEFDBL A-Z
2 DEFINT I, J, K
3 DIM B(99), N(99), A(99), H(99), L(99), U(99), X(1111), D(111), P(111), PS(33)
12 FOR JJJJ = -32000 TO 32111
14 RANDOMIZE JJJJ
16 M = -1D+37
64 FOR J44 = 1 TO 5
65 A(J44) = 1 + RND * 9
66 NEXT J44
77 A(1) = -7 + RND * 12
126 REM IMAR=10+FIX(RND*32000)
128 FOR I = 1 TO 10000
129 FOR KKQQ = 1 TO 5
130 X(KKQQ) = A(KKQQ)
131 NEXT KKQQ
133 FOR IPP = 1 TO (1 + FIX(RND * 3))
181 J = 1 + FIX(RND * 5)
183 R = (1 - RND * 2) * A(J)
187 X(J) = A(J) + (RND ^ (RND * 10)) * R
222 NEXT IPP
223 REM GOTO 233
225 REM FOR J23 = 1 TO 4
227 X(3) = INT(X(3))
229 REM NEXT J23
233 X(6) = 2 - X(1) - 6 * X(2) + X(3) + 5 * X(4)
244 X(7) = -10 - (X(3) ^ 1.5) * X(4) - .5 * X(2) - 3 * X(1)
249 X(8) = 6 + X(1) + .5 * X(4) - X(5)
283 IF X(1) < -7 THEN 1670
284 IF X(1) > 5 THEN 1670
286 IF X(2) < 1 THEN 1670
287 IF X(2) > 10 THEN 1670
288 IF X(3) < 1 THEN 1670
289 IF X(3) > 5 THEN 1670
291 IF X(4) < 2 THEN 1670
292 IF X(4) > 8 THEN 1670
297 IF X(5) < 2 THEN 1670
298 IF X(5) > 9 THEN 1670
331 FOR J44 = 6 TO 8
335 IF X(J44) < 0 THEN PS(J44) = ABS(X(J44)) ELSE PS(J44) = 0
339 NEXT J44
403 POBA2 = -(X(1) ^ 2 * X(2) ^ -2 * X(3) - 2 * X(2) ^ .7 * X(3) ^ .2 + X(4) * X(5) ^ -2 - 2 * X(1) - 4 * X(3))
411 POBA = POBA2 - 1000000 * PS(6) - 1000000 * PS(7) - 1000000 * PS(8)
422 REM POBA = POBA2 + (PS(4))
459 POB1 = POBA
463 P1NEWMAY = POB1
466 P = P1NEWMAY
1111 IF P <= M THEN 1670
1452 M = P
1453 PPOBA2 = POBA2
1454 FOR KLX = 1 TO 8
1455 A(KLX) = X(KLX)
1456 NEXT KLX
1557 REM GOTO 128
1670 NEXT I
1889 IF M < -2.906 THEN 1999
1900 PRINT A(1), A(2), A(3), A(4)
1904 PRINT A(5), A(6), A(7), A(8), M, JJJJ, PPOBA2
1999 NEXT JJJJ
This BASIC computer program was run with qb64v1000-win [8]. The complete output through JJJJ=-30627 is shown below:
-5.341226 4.52466 1 3.761347
2.539448 1.907349E-06 2.384186E-07
0 -2.905618 -31874 -2.905618
-5.321954 4.488379 1 3.721663
2.538877 9.536743E-07 1.001358E-05
0 -2.905934 -31454 -2.905934
-5.333839 4.510576 1 3.745927
2.53912 1.502037E-05 3.020763E-04
3.933907E-06 -2.905985 -31356 -2.905985
-5.374219 4.586674 1 3.829311
2.540405 7.281303E-04 1.0252E-05 3.147125E-05
-2.905988 -30627 -2.905988
Above there is no rounding by hand; it is just straight copying by hand from the monitor screen.
On a personal computer with a Pentium Dual-Core CPU E5200 @2.50GHz, 2.50 GHz, 960 MB of RAM and qb64v1000-win [8], the wall-clock time for obtaining the output through JJJJ=-30627 was 35 seconds.
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] 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.
[3] Harry Markowitz (1952). Portfolio Selection. The Journal of Finance 7 (2008) pp. 77-91.
[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] 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.
[6] 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.
[7] 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.
[9] 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/