Jsun Yui Wong
Based on the publication of Floudas and Pardalos [2], of Visweswaran and Floudas [5], of Ryoo and Sahinidis [4], and of Adjiman, Androulakis, and Floudas [1], the present paper tries to solve three instances of the Haverly pooling problem. One notes line 435, line 439, and line 454 of each of the three computer programs.
Instance One of the Haverly Pooling Problem:
0 REM DEFSNG 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),PP(22)
12 FOR JJJJ=-32000 TO 32000
14 RANDOMIZE JJJJ
16 M=-1D+37
88 A(10)=1+RND*2
89 FOR J44=1 TO 9
90 A(J44)=RND*50
91 NEXT J44
126 IMAR=10+FIX(RND*3000)
128 FOR I=1 TO IMAR
129 FOR KKQQ=1 TO 10
130 X(KKQQ)=A(KKQQ)
131 NEXT KKQQ
133 FOR IPP=1 TO (1+FIX(RND*9))
181 J=1+FIX(RND*10)
183 R=(1-RND*2)*A(J)
191 IF RND<.14 THEN X(J)=A(J)+RND^5*R ELSE IF RND<.17 THEN X(J)=A(J)+R ELSE IF RND<.2 THEN X(J)=A(J)+RND*R ELSE IF RND<.25 THEN X(J)=A(J)+RND^2*R ELSE IF RND<.33 THEN X(J)=A(J)+RND^3*R ELSE IF RND<.5 THEN X(J)=A(J)+RND^4*R ELSE X(J)=INT(X(J))
192 NEXT IPP
193 IF RND<.5 THEN 201 ELSE 211
201 FOR J44=1 TO 9
202 X(J44)=INT(X(J44))
203 NEXT J44
211 X(6)=X(7)+X(8)
214 X(4)=X(9)-X(8)
215 X(5)=X(3)+X(7)
223 X(1)=X(3)+X(4)-X(2)
224 IF (X(3)+X(4) ) =0 THEN 1670
225 X(10)=( 3*X(1)+X(2) ) / (X(3)+X(4) )
231 IF ( X(10)*X(3)+2*X(7) -2.5*X(5) )>0 THEN 1670
234 IF ( X(10)*X(4)+2*X(8) -1.5*X(9) )>0 THEN 1670
426 FOR J49 =1 TO 9
427 IF X(J49)<0 THEN 1670
428 NEXT J49
429 IF X(10)<1 THEN 1670
430 IF X(10)>3 THEN 1670
431 IF X(1)>500 THEN 1670
432 IF X(2)>500 THEN 1670
433 IF X(3)>500 THEN 1670
434 IF X(4)>500 THEN 1670
435 IF X(5)>100 THEN 1670
436 IF X(6)>500 THEN 1670
437 IF X(7)>500 THEN 1670
438 IF X(8)>500 THEN 1670
439 IF X(9)>200 THEN 1670
454 P1NEWMAY=9*X(5)+15*X(9)-6*X(1)-16*X(2)-10*X(6)
455 P=P1NEWMAY
1451 IF P<=M THEN 1670
1452 M=P
1454 FOR KLX=1 TO 10
1455 A(KLX)=X(KLX)
1456 NEXT KLX
1557 GOTO 128
1670 NEXT I
1889 IF M<398 THEN 1999
1929 PRINT A(1),A(2),A(3),A(4),A(5),A(6),A(7),A(8),A(9),A(10),M,JJJJ
1999 NEXT JJJJ
This BASIC computer program was run with Microsoft's GW BASIC 3.11 interpreter. The complete output through -30476 is shown below . What immediately follows is a hand copy from the computer-monitor screen.
0 100 0 100 0
100 0 100 200 1
400 -31541
0 100 0 100 0
100 0 100 200 1
400 -31374
0 100 0 100 0
100 0 100 200 1
400 -30890
7.629395E-06 99.99999 0 100
0 100 0 100 200
1 400.0001 -30476
On a personal computer with an Intel 2.66 chip and the IBM basica/D interpreter, version GW BASIC 3.11, the running time (throughput time) from JJJJ=-32000 through JJJJ=-30476 was 16 minutes.
Instance Two of the Haverly Pooling Problem:
0 REM DEFSNG 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),PP(22)
12 FOR JJJJ=-32000 TO 32000
14 RANDOMIZE JJJJ
16 M=-1D+37
88 A(10)=1+RND*2
89 FOR J44=1 TO 9
90 A(J44)=RND*50
91 NEXT J44
126 IMAR=10+FIX(RND*3000)
128 FOR I=1 TO IMAR
129 FOR KKQQ=1 TO 10
130 X(KKQQ)=A(KKQQ)
131 NEXT KKQQ
133 FOR IPP=1 TO (1+FIX(RND*9))
181 J=1+FIX(RND*10)
183 R=(1-RND*2)*A(J)
191 IF RND<.14 THEN X(J)=A(J)+RND^5*R ELSE IF RND<.17 THEN X(J)=A(J)+R ELSE IF RND<.2 THEN X(J)=A(J)+RND*R ELSE IF RND<.25 THEN X(J)=A(J)+RND^2*R ELSE IF RND<.33 THEN X(J)=A(J)+RND^3*R ELSE IF RND<.5 THEN X(J)=A(J)+RND^4*R ELSE X(J)=INT(X(J))
192 NEXT IPP
193 IF RND<.5 THEN 201 ELSE 211
201 FOR J44=1 TO 9
202 X(J44)=INT(X(J44))
203 NEXT J44
211 X(6)=X(7)+X(8)
214 X(4)=X(9)-X(8)
215 X(5)=X(3)+X(7)
223 X(1)=X(3)+X(4)-X(2)
224 IF (X(3)+X(4) ) =0 THEN 1670
225 X(10)=( 3*X(1)+X(2) ) / (X(3)+X(4) )
231 IF ( X(10)*X(3)+2*X(7) -2.5*X(5) )>0 THEN 1670
234 IF ( X(10)*X(4)+2*X(8) -1.5*X(9) )>0 THEN 1670
426 FOR J49 =1 TO 9
427 IF X(J49)<0 THEN 1670
428 NEXT J49
429 IF X(10)<1 THEN 1670
430 IF X(10)>3 THEN 1670
431 IF X(1)>500 THEN 1670
432 IF X(2)>500 THEN 1670
433 IF X(3)>500 THEN 1670
434 IF X(4)>500 THEN 1670
435 IF X(5)>600 THEN 1670
436 IF X(6)>500 THEN 1670
437 IF X(7)>500 THEN 1670
438 IF X(8)>500 THEN 1670
439 IF X(9)>200 THEN 1670
454 P1NEWMAY=9*X(5)+15*X(9)-6*X(1)-16*X(2)-10*X(6)
455 P=P1NEWMAY
1451 IF P<=M THEN 1670
1452 M=P
1454 FOR KLX=1 TO 10
1455 A(KLX)=X(KLX)
1456 NEXT KLX
1557 GOTO 128
1670 NEXT I
1889 IF M<598 THEN 1999
1929 PRINT A(1),A(2),A(3),A(4),A(5),A(6),A(7),A(8),A(9),A(10),M,JJJJ
1999 NEXT JJJJ
This BASIC computer program was run with Microsoft's GW BASIC 3.11 interpreter. The complete output through -28477 is shown below . What immediately follows is a hand copy from the computer-monitor screen.
299 0 299 0 598
299 299 0 0 3
598 -31990
299.0001 0 299.0001 0 598
298.9999 298.9999 0 0 3
598.0008 -31880
300 0 300 0 600
300 300 0 0 3
600 -31642
299.0001 0 299.0001 0 598
298.9999 298.9999 0 0 3
598.0008 -31625
299 0 299 0 598
299 299 0 0 3
598 -31156
299.0002 0 299.0002 0 598.0002
299 299 0 0 3
598.0003 -31031
299.0002 0 299.0002 0 598.0002
299 299 0 0 3
598.0005 -30836
299.0332 0 299.0332 0 598.0662
299.033 299.033 0 0 3
598.0671 -30599
299 0 299 0 598
299 299 0 0 3
598 -30413
299 0 299 0 598
299 299 0 0 3
598 -29513
300 0 300 0 599.9998
299.9998 299.9998 0 0 3
600.0008 -29374
299.0332 0 299.0332 598.0662
299.033 299.033 0 0 3
598.0671 -28862
300 0 300 0 599.9999
299.9999 299.9999 300 0 0 3
600.0003 -28477
On a personal computer with an Intel 2.66 chip and the IBM basica/D interpreter, version GW BASIC 3.11, the running time (throughput time) from JJJJ=-32000 through JJJJ=-28477 was 18 minutes.
Instance Three of the Haverly Pooling Problem:
0 REM DEFSNG 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),PP(22)
12 FOR JJJJ=-32000 TO 32000
14 RANDOMIZE JJJJ
16 M=-1D+37
88 A(10)=1+RND*2
89 FOR J44=1 TO 9
90 A(J44)=RND*50
91 NEXT J44
126 IMAR=10+FIX(RND*3000)
128 FOR I=1 TO IMAR
129 FOR KKQQ=1 TO 10
130 X(KKQQ)=A(KKQQ)
131 NEXT KKQQ
133 FOR IPP=1 TO (1+FIX(RND*9))
181 J=1+FIX(RND*10)
183 R=(1-RND*2)*A(J)
191 IF RND<.14 THEN X(J)=A(J)+RND^5*R ELSE IF RND<.17 THEN X(J)=A(J)+R ELSE IF RND<.2 THEN X(J)=A(J)+RND*R ELSE IF RND<.25 THEN X(J)=A(J)+RND^2*R ELSE IF RND<.33 THEN X(J)=A(J)+RND^3*R ELSE IF RND<.5 THEN X(J)=A(J)+RND^4*R ELSE X(J)=INT(X(J))
192 NEXT IPP
193 IF RND<.5 THEN 201 ELSE 211
201 FOR J44=1 TO 9
202 X(J44)=INT(X(J44))
203 NEXT J44
211 X(6)=X(7)+X(8)
214 X(4)=X(9)-X(8)
215 X(5)=X(3)+X(7)
223 X(1)=X(3)+X(4)-X(2)
224 IF (X(3)+X(4) ) =0 THEN 1670
225 X(10)=( 3*X(1)+X(2) ) / (X(3)+X(4) )
231 IF ( X(10)*X(3)+2*X(7) -2.5*X(5) )>0 THEN 1670
234 IF ( X(10)*X(4)+2*X(8) -1.5*X(9) )>0 THEN 1670
426 FOR J49 =1 TO 9
427 IF X(J49)<0 THEN 1670
428 NEXT J49
429 IF X(10)<1 THEN 1670
430 IF X(10)>3 THEN 1670
431 IF X(1)>500 THEN 1670
432 IF X(2)>500 THEN 1670
433 IF X(3)>500 THEN 1670
434 IF X(4)>500 THEN 1670
435 IF X(5)>100 THEN 1670
436 IF X(6)>500 THEN 1670
437 IF X(7)>500 THEN 1670
438 IF X(8)>500 THEN 1670
439 IF X(9)>200 THEN 1670
454 P1NEWMAY=9*X(5)+15*X(9)-6*X(1)-13*X(2)-10*X(6)
455 P=P1NEWMAY
1451 IF P<=M THEN 1670
1452 M=P
1454 FOR KLX=1 TO 10
1455 A(KLX)=X(KLX)
1456 NEXT KLX
1557 GOTO 128
1670 NEXT I
1889 IF M<748 THEN 1999
1929 PRINT A(1),A(2),A(3),A(4),A(5),A(6),A(7),A(8),A(9),A(10),M,JJJJ
1999 NEXT JJJJ
This BASIC computer program was run with Microsoft's GW BASIC 3.11 interpreter. The complete output through -31968 is shown below . What immediately follows is a hand copy from the computer-monitor screen.
49.9287 149.7706 0 199.6935 0
0 0 0 199.6935 1.499995
748.8473 -31997
50 150 0 200 0
0 0 0 200 1.5
750 -31987
49.96364 149.891 0 199.8574 0
0 0 0 199.8574 1.5
749.4547 -31984
50 150 0 200 0
0 0 0 200 1.5
750 -31981
50 150 0 200 0
0 0 0 200 1.5
750 -31975
50 150 0 200 0
0 0 0 200 1.5
750 -31968
On a personal computer with an Intel 2.66 chip and the IBM basica/D interpreter, version GW BASIC 3.11, the running time (throughput time) from JJJJ=-32000 through JJJJ=-31968 was 25 seconds.
References
[1] C. S. Adjiman, I. P. Androulatis, and C. A. Floudas. A global optimization method, alphaBB, for general twice-differentiable constrained NLPs--II. Implementation and computational results. Computers and Chemical Engineering Vol. 22, No. 9. pp. 1159-1179, 1998.
[2] C. A. Floudas and P. M. Pardalos. A collection of test problems for constrained optimization algorithms. Springer-Verlag, 1990.
[3] 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.
[4] H. S. Ryoo and N. V. Sahinidis. Global optimization of nonconvex NLPs and MINLPs with applications in process design. Computers and Chemical Engineering Vol. 19, No. 5. pp. 551-566, 1995.
[5] V. Visweswaran and C.A. Floudas . A global optimization algorithm (GOP) for certain classes of nonconvex NLPs--II. Application of theory and test problems. Computers and Chemical Engineering Vol. 14, No. 12. pp. 1419-1434, 1990.