Jsun Yui Wong
The following computer program seeks to solve the problem considered by Sandgren [44], Lee and Geem [30], Mahdavi, Fesanghary, and Damangir [32], Jaberipour and Khorram [19], and Gholizadeh and Barzegar [15], among others. This problem has discrete variables and continuous variables.
0 DEFDBL A-Z
1 DEFINT I,J,K
2 DIM B(99),N(99),A(2002),H(99),L(99),U(99),X(2002),D(111),P(111),PS(33),J(99),AA(99),HR(32),HHR(32),LHS(44),PLHS(44),LB(22),UB(22),PX(44),J44(44)
4 REM DIM PE(35,35)
5 REM DIM SD(35,35)
88 FOR JJJJ=-32000 TO 32000
89 RANDOMIZE JJJJ
90 M=-3D+30
107 A(1)=FIX(RND*30)*.0625
109 A(2)=FIX(RND*30)*.0625
111 A(3)=40+FIX(RND*41)
113 A(4)=20+FIX(RND*41)
126 IMAR=10+FIX(RND*1500)
128 FOR I=1 TO IMAR
129 FOR KKQQ=1 TO 4
130 X(KKQQ)=A(KKQQ)
131 NEXT KKQQ
139 FOR IPP=1 TO FIX(1+RND*3)
140 B=1+FIX(RND*4)
144 IF JJJJ<-31995 THEN 162 ELSE 145
145 IF B=3 OR B=4 GOTO 164
147 IF B=1 GOTO 150 ELSE IF B=2 GOTO 154
150 IF RND<.5 THEN X(1)=A(1)-FIX(1+RND*2)*.0625 ELSE X(1)=A(1)+FIX(1+RND*2)*.0625
152 GOTO 179
154 IF RND<.5 THEN X(2)=A(2)-FIX(1+RND*2)*.0625 ELSE X(2)=A(2)+FIX(1+RND*2)*.0625
156 GOTO 179
162 IF RND<.5 THEN X(B)=A(B)-FIX(1+RND*2) ELSE X(B)=A(B)+FIX(1+RND*2)
163 GOTO 179
164 FOR J44=1 TO 4
165 IF ABS(X(J44))>32000 THEN 1670
166 NEXT J44
176 IF RND<.9 THEN R=(1-RND*2)*A(B) ELSE IF RND<.5 THEN R=(1-RND*2)*(A(B) -.1) ELSE R=(1-RND*2)*(A(B) +.1)
177 IF RND<.1 THEN X(B)=CINT(A(B))-FIX(1+RND*3) ELSE IF RND<.1 THEN X(B)=CINT(A(B))+FIX(1+RND*3) ELSE X(B)=A(B)+(RND^(RND*10) )*R
178 REM IF RND<.1 THEN X(B)=INT(A(B))-FIX(1+RND*3) ELSE IF RND<.1 THEN X(B)=INT(A(B))+FIX(1+RND*3) ELSE X(B)=A(B)+(RND^(RND*10) )*R
179 NEXT IPP
194 X(5)=X(1) -.0193*X(3)
195 X(6)=X(2) -.00954*X(3)
199 X(7)=-1296000! + 1.3333333333333#*3.141592654#*X(3)^3 + 3.141592654#*X(3) ^2 *X(4)
212 IF X(1)<1.1 THEN 1670
215 IF X(2)<.6 THEN 1670
217 IF X(3)<40 THEN 1670
218 IF X(3)>80 THEN 1670
219 IF X(4)<20 THEN 1670
220 IF X(4)>60 THEN 1670
221 FOR J44=5 TO 7
222 IF X(J44)<0 THEN P(J44)=9000000!*X(J44) ELSE P(J44)=0
223 NEXT J44
225 PTOTAL=P(5)+P(6)+P(7)
569 P= -.6224*X(1)*X(3)*X(4) -1.7781*X(2)*X(3) ^2 -3.1611*X(1) ^2 *X(4) -19.84*X(1) ^2 *X(3) +PTOTAL
1111 IF P<=M THEN 1670
1452 M=P
1454 FOR KLX=1 TO 7
1455 A(KLX)=X(KLX)
1456 NEXT KLX
1557 GOTO 128
1670 NEXT I
1889 IF M<-7200 THEN 1999
1904 PRINT A(1),A(2),A(3)
1907 PRINT A(4),A(5),A(6)
1989 PRINT A(7),M,JJJJ
1999 NEXT JJJJ
This BASIC computer program was run via basica/D of Microsoft's GW-BASIC 3.11 interpreter for DOS. The top-two candidate solutions through JJJJ=-30062 are shown below. What follows is a hand copy from the computer-monitor screen; below there is no rounding by hand.
1.125 .625 58.28628654289647
43.71393346695399 7.462646913716786D-05 6.894882643287964D-02
1.736438644002192D-04 -7197.965676984811 -31656
1.125 .625 58.28628935954246
43.71391795959724 7.457210786745994D-05 6.894879956207689D-02
4.156150680501014D-06 -7197.965503888046 -30062
On a personal computer with a Pentium Dual-Core CPU E5200 @2.50GHz, 2.50 GHz, 960 MB of RAM, and the IBM basica/D interpreter, version GW BASIC 3.11, the wall-clock time for obtaining the output shown above was ten minutes.
The following computer program tries to improve on the solution shown above at JJJJ=-30062. The A(7)= 4.156150680501014D-06 shown above suggests that at optimality it is likely that A(7)=0; in other words, the corresponding constraint is active. That is tried with line 200 of the following computer program.
While line 199 of the computer program above is
199 X(7)=-1296000! + 1.3333333333333#*3.141592654#*X(3)^3 + 3.141592654#*X(3) ^2 *X(4),
line 199 below is
199 REM X(7)=-1296000! + 1.3333333333333#*3.141592654#*X(3)^3 + 3.141592654#*X(3) ^2 *X(4).
0 DEFDBL A-Z
1 DEFINT I,J,K
2 DIM B(99),N(99),A(2002),H(99),L(99),U(99),X(2002),D(111),P(111),PS(33),J(99),AA(99),HR(32),HHR(32),LHS(44),PLHS(44),LB(22),UB(22),PX(44),J44(44)
4 REM DIM PE(35,35)
5 REM DIM SD(35,35)
88 FOR JJJJ=-32000 TO 32000
89 RANDOMIZE JJJJ
90 M=-3D+30
107 A(1)=FIX(RND*30)*.0625
109 A(2)=FIX(RND*30)*.0625
111 A(3)=40+FIX(RND*41)
113 A(4)=20+FIX(RND*41)
126 IMAR=10+FIX(RND*1500)
128 FOR I=1 TO IMAR
129 FOR KKQQ=1 TO 4
130 X(KKQQ)=A(KKQQ)
131 NEXT KKQQ
139 FOR IPP=1 TO FIX(1+RND*3)
140 B=1+FIX(RND*4)
144 IF JJJJ<-31995 THEN 162 ELSE 145
145 IF B=3 OR B=4 GOTO 164
147 IF B=1 GOTO 150 ELSE IF B=2 GOTO 154
150 IF RND<.5 THEN X(1)=A(1)-FIX(1+RND*2)*.0625 ELSE X(1)=A(1)+FIX(1+RND*2)*.0625
152 GOTO 179
154 IF RND<.5 THEN X(2)=A(2)-FIX(1+RND*2)*.0625 ELSE X(2)=A(2)+FIX(1+RND*2)*.0625
156 GOTO 179
162 IF RND<.5 THEN X(B)=A(B)-FIX(1+RND*2) ELSE X(B)=A(B)+FIX(1+RND*2)
163 GOTO 179
164 FOR J44=1 TO 4
165 IF ABS(X(J44))>32000 THEN 1670
166 NEXT J44
176 IF RND<.9 THEN R=(1-RND*2)*A(B) ELSE IF RND<.5 THEN R=(1-RND*2)*(A(B) -.1) ELSE R=(1-RND*2)*(A(B) +.1)
177 IF RND<.1 THEN X(B)=CINT(A(B))-FIX(1+RND*3) ELSE IF RND<.1 THEN X(B)=CINT(A(B))+FIX(1+RND*3) ELSE X(B)=A(B)+(RND^(RND*10) )*R
178 REM IF RND<.1 THEN X(B)=INT(A(B))-FIX(1+RND*3) ELSE IF RND<.1 THEN X(B)=INT(A(B))+FIX(1+RND*3) ELSE X(B)=A(B)+(RND^(RND*10) )*R
179 NEXT IPP
194 X(5)=X(1) -.0193*X(3)
195 X(6)=X(2) -.00954*X(3)
199 REM X(7)=-1296000! + 1.3333333333333#*3.141592654#*X(3)^3 + 3.141592654#*X(3) ^2 *X(4)
200 X(4)= ( + 1296000! - 1.3333333333333#*3.141592654#*X(3)^3 ) / (+ 3.141592654#*X(3) ^2 )
212 IF X(1)<1.1 THEN 1670
215 IF X(2)<.6 THEN 1670
217 IF X(3)<40 THEN 1670
218 IF X(3)>80 THEN 1670
219 IF X(4)<20 THEN 1670
220 IF X(4)>60 THEN 1670
221 FOR J44=5 TO 7
222 IF X(J44)<0 THEN P(J44)=9000000!*X(J44) ELSE P(J44)=0
223 NEXT J44
225 PTOTAL=P(5)+P(6)+P(7)
569 P= -.6224*X(1)*X(3)*X(4) -1.7781*X(2)*X(3) ^2 -3.1611*X(1) ^2 *X(4) -19.84*X(1) ^2 *X(3) +PTOTAL
1111 IF P<=M THEN 1670
1452 M=P
1454 FOR KLX=1 TO 7
1455 A(KLX)=X(KLX)
1456 NEXT KLX
1557 GOTO 128
1670 NEXT I
1889 IF M<-7200 THEN 1999
1904 PRINT A(1),A(2),A(3)
1907 PRINT A(4),A(5),A(6)
1989 PRINT A(7),M,JJJJ
1999 NEXT JJJJ
This BASIC computer program was run via basica/D of Microsoft's GW-BASIC 3.11 interpreter for DOS. The complete output through JJJJ=-31988 is shown below. What follows is a hand copy from the computer-monitor screen; below there is no rounding by hand.
1.125 .625 58.29015090845521
43.69268114487037 4.421098581675054D-08 6.891196038545272D-02
0 -7197.729199130497 -31995
1.125 .625 58.29015308692593
43.69266916514552 2.166499452060933D-09 6.891193960284212D-02
0 -7197.729065837913 -31994
1.125 .625 58.29013414146686
43.69277334899321 3.678138735530023D-07 6.891212034252163D-02
0 -7197.730225041295 -31991
1.125 .625 58.2901531892509
43.69266860244574 1.916273528745904D-10 6.891193862666185D-02
0 -7197.729059577026 -31988
On a personal computer with a Pentium Dual-Core CPU E5200 @2.50GHz, 2.50 GHz, 960 MB of RAM, and the IBM basica/D interpreter, version GW BASIC 3.11, the wall-clock time for obtaining the output shown above was 4 seconds.
Acknowledgment
I would like to acknowledge the encouragement of Roberta Clark and Tom Clark.
References
[1] Dana H. Ballard, C. O Jelinek, R. Schinzinger (1974), An Algorithm for the Solution of Constrained Generalised Polynomial Programming Problems. The Computer Journal, Volume 17, Number 3, pp. 261-266.
[2] M. C. Bartholomew-Biggs, A Numerical Comparison between Two Approaches to the Nonlinear Programming Problem, in Towards Global Optimization 2, edited by L. C. W. Dixon, G. P. Szego, pp. 293-312. North-Holland Publishing Company 1978.
[3] Richard L. Burden, J. Douglas Faires, Numerical Analysis, Ninth Edition. Brooks/Cole 2011.
[4] T. Y. Chen, H. C. Chen (2009): Mixed-Discrete Structural Optimization Using a Rank-Niche Evolution Strategy, Engineering Optimization, 41:1, 39-58.
[5] George B. Dantzig, Discrete-Variable Extremum Problems. Operations Research, Vol. 5, No. 2 (Apr., 1957), pp. 266-277.
[6] K. Deb, M. Goyal (1996), A Combined Genetic Adaptive Search (GeneAS) for Engineering Design. Computer Science and Informatics, 26 (4), pp. 30-45.
[7] R. J. Duffin, E. L. Peterson, C. Zener, Geometric Programming Theory and Applications. John Wiley and Sons, 1967.
[8] M. A. Duran, I. E. Grossmann, An Outer-Approximation Algorithm for a Class of Mixed-Integer Nonlinear Programs. Mathematical Programming, Vol. 36:307-339, 1986.
[9] F. Erbatur, O. Hasancebi, I. Tutuncu, H. Kilic (2000) Optimal Design of Planar and Spcae Structures with Genetic Algorithms. Computers and Structures, 75 (2), 209-224.
[10] C. A. Floudas, A. R. Ciric (1989), Strategies for Overcoming Uncertainties in Heat Exchanger Network Synthesis. Computers and Chemical Engineering, Vol 13, No. 10, pp. 1133-1152, 1989.
[11] C. A. Floudas, A. Aggarwal, A. R. Ciric (1989), Global Optimum Search for Nonconvex NLP and MINLP Problems. Computers and Chemical Engineering, Vol 13, No. 10, pp. 1117-1132, 1989.
[12] C. A. Floudas, P. M. Pardalos, A Collection of Test Problems for Constrained Global Optimization Algorithms. Springer-Verlag, 1990.
[32] Christodoulos A. Floudas, Nonlinear and Mixed-Integer Optimization. Oxford University Press, 1995.
[14] C. A. Floudas, Deterministic Global Optimization. Kluwer Academic Publishers, 2000.
[15] S. Gholizadeh, A. Barzegar (2012), Shape Optimization of Structures for Frequency Constraints by Sequential Harmony Search Algorithm, Engineering Optimization, DOI:10.1080/0305215X.2012.704028.
[16] Amos Gilat and Vish Subramaniam, Numerical Methods for Engineers and Scientists: An Introduction with Applications Using MATLAB. John Wiley and Sons, Inc. 2008.
[17] Donald Greenspan, Vincenzo Casulli, Numerical Analysis for Applied Mathematics, Science, and Enginerring. Addison-Wesley Publishing Company, 1988.
[18] Willi Hock, Klaus Schittkowski, Test Examples for Nonlinear Programming Codes. Springer-Verlag 1981.
[19] Majid Jaberipour, Esmaile Khorram (2010), Two Improved Hormony Search Algorithms for Solving Engineering Optimization Problems. Communications in Nonlinear Science and Numerical Simulation 15 (2010) 3316-3331.
[20] M. Jaberipour, E. Khorram (2010), Solving the Sum-of-Ratios Problems by a Harmony Search Algorithm. Journal of Computational and Applied Mathematics 234 (2010) 733-742.
[21] M. Jaberipour, E. Khorram (2011), A New Harmony Search Algorithm for Solving Mixed Discrete Engineering Optimization Problems. Engineering Optimization, 05/2011, 43:507-523.
[22] Michael Junger, Thomas M. Liebling, Dennis Naddef, George L. Nemhauser, William R. Pulleybank, Gerhart Reinelt, Giovanni Rinaldi, Lawrence A. Wolsey--Editors, 50 Years of Integer Programming 1958-2008. Berlin: Springer, 2010.
[23] B. K. Kannen , S. N. Kramer (1994), An Augmented Lagrange Multiplier Based Method for Mixed Integer Discrete Continuous Optimization and its Applications to Mechanical Design. Journal of Mechanical Design, 116, pp. 405-411.
[24] R. Baker Kearfott, Some Tests of Generalized Bisection. ACM Transactions on Mathematical Software, Vol.13, No. 3, September 1987, pages 197-220.
[25] Esmaile Khorram, Majid Jaberipour, Harmony Search Algorithm for Solving Combined Heat and Power Economic Dispatch Problems. Energy Conversion and Management 52 (2011) 1550-1554.
[26] G. R. Kocis, I. E. Grossmann, Relaxation Strategy for the Structural Optimization of Process Flow Sheets. Ind. Eng. Chem. Res., 26 (9):1869 (1987).
[27} Sonia Krzyworzcka, Extension of the Lanczos and CGS Methods to Systems of Nonlinear Equations. Journal of Computational and Aplied Mathematics 69 (1996) 181-190.
[28] A. H. Land, A. G. Doig, An Automatic Method of Solving Discrete Programming Problems. Econometrica, Vol. 28, No. 3 (Jul., 1960), pp. 497-520.
[29] E. L. Lawler, M. D. Bell, A Method for Solving Discrete Optimization Problems. Operations Research, Vol. 14, No. 6 (Nov.-Dec., 1966), pp. 1098-1112.
[30] K. S. Lee, Z. W. Geem (2005), A New Meta-Heuristic Algorithm for Continuous Engineering Optimization: Harmony Search Theory and Practice. Computer Methods in Applied Mechanics and Engineering 194 (2005) 3902-3933.
[31] Ya-Zhang Luo, Guo-Jing Tang, Li-Ni Zhou, Hybrid Approach for Solving Systems of Nonlinear Equations Using Chaos Optimization and Quasi-Newton Method. Applied Soft Computing 8 (2008) 1068-1063.
[32] M. Mahdavi, M. Fesanghary, E. Damangir (2007), An Improved Harmony search Algorithm for Solving Optimization Problems. Applied Mathematics and Computation, 188 (2), 1567-1579.
[33] C. D. Maranas, C. A. Floudas, Finding All Solutions of Nonlinearly Constrained Systems of Equations. Journal of Global Optimization, 7(2):143-182, 1995.
[34] Harry M. Markowitz and Alan S. Mann. On the Solution of Discrete Programming Problems. Econometrica, Vol. 25, No. 1 (Jan., 1957) pp. 84-110.
[35] Keith Meintjes and Alexander P. Morgan, Chemical Equilibrium Systems as Numerical Test Problems. ACM Transactions on Mathematical Software, Vol. 16, No. 2, June 1990, Pages 143-151.
[36] 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.
[37] Yuanbin Mo, Hetong Liu, Qin Wang,Conjugate Direction Particle Swarm Optimization Solving Systems of Nonlinear Equations. Computers and Mathematics with Applications 57 (2009) 1877-1882.
[38] Ramon E. Moore, R. Baker Kearfott, Michael J. Cloud, An Introduction to Interval Analysis. Cambridge University Press, 2009.
[39] Panos Y. Papalambros, Douglass J. Wilde, Principles of Optimal Design: Modeling and Computation, Second Edition. Cambridge University Press, 2000.
[40] W. L. Price, Global Optimization by Controlled Random Search. Journal of Optimization Theory and Applications, July 1983, Volume 40, Issue 3, pp. 333-348.
[41] Singiresu S. Rao, Ying Xiong (2005), A Hybrid Genetic Algorithm for Mixed-Discrete Design Optimization. Transaction of the ASME, Vol. 127, November 2005, pp. 1100-1112.
[42] John R. Rice, Numerical Methods, Software, and Analysis, Second Edition. Academic Press, 1993.
[43] H. S. Ryoo, N. V. Sahinidis (1995), Global Optimization of Nonconvex NLPs and MINLPs with Applications in Process Design. Computers and Chemical Engineering, Vol. 19, No. 5, pp. 551-566, 1995.
[44] E. Sandgren (1990), Nonlinear Integer and Discrete Programming in Mechanical Design Optimization. Journal of Mechanical Design, 112, pp. 223-229.
[45] R. Schinzinger (1965), Optimization in Electromagnetic System Design, in Recent Advances in Optimization Techniques, edited by A. Lavi and T. P. Vogel, John Wiley and Sons, pp. 163-213.
[46] Jung-Fa Tsai (2010), Global Optimization for Signomial Discrete Programming Problems in Engineering Design. Engineering Optimization, 42:9, pp. 833-843.
[47] L.-W. Tsai, A. P. Morgan, Solving the Kinematics of the Most General Six- and Five-Degree-of Freedom Manipulators by Continuation Methods. Journal of Mechanisms, Transmissions, and Automation in Design, June 1985, Vol. 107, pp. 189-200.
[48] Jsun Yui Wong (2009, July 18). An Integer Programming Computer Program Applied to One-Dimensional Space Allocation. Retrieved from http://wongsllllblog.blogspot.com/2009/07/
[49] Jsun Yui Wong (2009, December 18). A Heuristic Nonlinear Integer Solver Applied to a Problem of Assignment of Facilities to Locations. Retrieved from http://wongsnewnewblog.blogspot.ca/2009/12/
[50] Jsun Yui Wong (2011, May 15). The Domino Method Applied to Solving a Nonlinear System of Ten Equations of a Model of Propane-in-Air Combustion, Fourth Edition. Retrieved from http://computationalresultsfromcomputerprograms.wordpress.com/2011/05/15/
[51] Jsun Yui Wong (2011, May 5). The Domino Method Applied to Solving a Nonlinear System of Five Equations, Third Edition. Retrieved from http://computationalresultsfromcomputerprograms.wordpress.com/2011/05/05/
[52] Jsun Yui Wong (2011, July 27). A General Nonlinear Integer/Discrete/Continuous Programming Solver Applied to an Alkylation-Process Model, Sixth Edition. Retrieved from http://computationalresultsfromcomputerprograms.wordpress.com/2011/07/27/
[53] Jsun Yui Wong (2012, April 10). The Domino Method of General Integer Nonlinear Programming Applied to a Coil Compression Spring Design. Retrieved from http://myblogsubstance.typepad.com/substance/2012/04/
[54] Jsun Yui Wong (2012, April 21). The Domino Method of General Integer Nonlinear Programming Applied to a Five-Step Cantilever Beam Design. Retrieved from http://computationalresultsfromcomputerprograms.wordpress.com/2012/04/21/
[55] Jsun Yui Wong (2012, April 24). The Domino Method of General Integer Nonlinear Programming Applied to Problem 10 of Lawler and Bell. Retrieved from http://computationalresultsfromcomputerprograms.wordpress.com/2012/4/24/
[56] Jsun Yui Wong (2013, January 14). The Domino Method of General Integer Nonlinear Programming Applied to a Nonlinear Programming Problem with Integer Variables and Continuous Variables, Revised Edition. Retrieved from http://myblogsubstance.typepad.com/substance/2013/01/
[57] Jsun Yui Wong (2013, January 24). The Domino Method of General Integer Nonlinear Programming Applied to a Nonlinear Programming Problem with Eight 0-1 Variables and Nine Continuous Variables. Retrieved from http://computationalresultsfromcomputerprograms.wordpress.com/2013/01/24/
The following computer program seeks to solve the problem considered by Sandgren [44], Lee and Geem [30], Mahdavi, Fesanghary, and Damangir [32], Jaberipour and Khorram [19], and Gholizadeh and Barzegar [15], among others. This problem has discrete variables and continuous variables.
0 DEFDBL A-Z
1 DEFINT I,J,K
2 DIM B(99),N(99),A(2002),H(99),L(99),U(99),X(2002),D(111),P(111),PS(33),J(99),AA(99),HR(32),HHR(32),LHS(44),PLHS(44),LB(22),UB(22),PX(44),J44(44)
4 REM DIM PE(35,35)
5 REM DIM SD(35,35)
88 FOR JJJJ=-32000 TO 32000
89 RANDOMIZE JJJJ
90 M=-3D+30
107 A(1)=FIX(RND*30)*.0625
109 A(2)=FIX(RND*30)*.0625
111 A(3)=40+FIX(RND*41)
113 A(4)=20+FIX(RND*41)
126 IMAR=10+FIX(RND*1500)
128 FOR I=1 TO IMAR
129 FOR KKQQ=1 TO 4
130 X(KKQQ)=A(KKQQ)
131 NEXT KKQQ
139 FOR IPP=1 TO FIX(1+RND*3)
140 B=1+FIX(RND*4)
144 IF JJJJ<-31995 THEN 162 ELSE 145
145 IF B=3 OR B=4 GOTO 164
147 IF B=1 GOTO 150 ELSE IF B=2 GOTO 154
150 IF RND<.5 THEN X(1)=A(1)-FIX(1+RND*2)*.0625 ELSE X(1)=A(1)+FIX(1+RND*2)*.0625
152 GOTO 179
154 IF RND<.5 THEN X(2)=A(2)-FIX(1+RND*2)*.0625 ELSE X(2)=A(2)+FIX(1+RND*2)*.0625
156 GOTO 179
162 IF RND<.5 THEN X(B)=A(B)-FIX(1+RND*2) ELSE X(B)=A(B)+FIX(1+RND*2)
163 GOTO 179
164 FOR J44=1 TO 4
165 IF ABS(X(J44))>32000 THEN 1670
166 NEXT J44
176 IF RND<.9 THEN R=(1-RND*2)*A(B) ELSE IF RND<.5 THEN R=(1-RND*2)*(A(B) -.1) ELSE R=(1-RND*2)*(A(B) +.1)
177 IF RND<.1 THEN X(B)=CINT(A(B))-FIX(1+RND*3) ELSE IF RND<.1 THEN X(B)=CINT(A(B))+FIX(1+RND*3) ELSE X(B)=A(B)+(RND^(RND*10) )*R
178 REM IF RND<.1 THEN X(B)=INT(A(B))-FIX(1+RND*3) ELSE IF RND<.1 THEN X(B)=INT(A(B))+FIX(1+RND*3) ELSE X(B)=A(B)+(RND^(RND*10) )*R
179 NEXT IPP
194 X(5)=X(1) -.0193*X(3)
195 X(6)=X(2) -.00954*X(3)
199 X(7)=-1296000! + 1.3333333333333#*3.141592654#*X(3)^3 + 3.141592654#*X(3) ^2 *X(4)
212 IF X(1)<1.1 THEN 1670
215 IF X(2)<.6 THEN 1670
217 IF X(3)<40 THEN 1670
218 IF X(3)>80 THEN 1670
219 IF X(4)<20 THEN 1670
220 IF X(4)>60 THEN 1670
221 FOR J44=5 TO 7
222 IF X(J44)<0 THEN P(J44)=9000000!*X(J44) ELSE P(J44)=0
223 NEXT J44
225 PTOTAL=P(5)+P(6)+P(7)
569 P= -.6224*X(1)*X(3)*X(4) -1.7781*X(2)*X(3) ^2 -3.1611*X(1) ^2 *X(4) -19.84*X(1) ^2 *X(3) +PTOTAL
1111 IF P<=M THEN 1670
1452 M=P
1454 FOR KLX=1 TO 7
1455 A(KLX)=X(KLX)
1456 NEXT KLX
1557 GOTO 128
1670 NEXT I
1889 IF M<-7200 THEN 1999
1904 PRINT A(1),A(2),A(3)
1907 PRINT A(4),A(5),A(6)
1989 PRINT A(7),M,JJJJ
1999 NEXT JJJJ
This BASIC computer program was run via basica/D of Microsoft's GW-BASIC 3.11 interpreter for DOS. The top-two candidate solutions through JJJJ=-30062 are shown below. What follows is a hand copy from the computer-monitor screen; below there is no rounding by hand.
1.125 .625 58.28628654289647
43.71393346695399 7.462646913716786D-05 6.894882643287964D-02
1.736438644002192D-04 -7197.965676984811 -31656
1.125 .625 58.28628935954246
43.71391795959724 7.457210786745994D-05 6.894879956207689D-02
4.156150680501014D-06 -7197.965503888046 -30062
On a personal computer with a Pentium Dual-Core CPU E5200 @2.50GHz, 2.50 GHz, 960 MB of RAM, and the IBM basica/D interpreter, version GW BASIC 3.11, the wall-clock time for obtaining the output shown above was ten minutes.
The following computer program tries to improve on the solution shown above at JJJJ=-30062. The A(7)= 4.156150680501014D-06 shown above suggests that at optimality it is likely that A(7)=0; in other words, the corresponding constraint is active. That is tried with line 200 of the following computer program.
While line 199 of the computer program above is
199 X(7)=-1296000! + 1.3333333333333#*3.141592654#*X(3)^3 + 3.141592654#*X(3) ^2 *X(4),
line 199 below is
199 REM X(7)=-1296000! + 1.3333333333333#*3.141592654#*X(3)^3 + 3.141592654#*X(3) ^2 *X(4).
0 DEFDBL A-Z
1 DEFINT I,J,K
2 DIM B(99),N(99),A(2002),H(99),L(99),U(99),X(2002),D(111),P(111),PS(33),J(99),AA(99),HR(32),HHR(32),LHS(44),PLHS(44),LB(22),UB(22),PX(44),J44(44)
4 REM DIM PE(35,35)
5 REM DIM SD(35,35)
88 FOR JJJJ=-32000 TO 32000
89 RANDOMIZE JJJJ
90 M=-3D+30
107 A(1)=FIX(RND*30)*.0625
109 A(2)=FIX(RND*30)*.0625
111 A(3)=40+FIX(RND*41)
113 A(4)=20+FIX(RND*41)
126 IMAR=10+FIX(RND*1500)
128 FOR I=1 TO IMAR
129 FOR KKQQ=1 TO 4
130 X(KKQQ)=A(KKQQ)
131 NEXT KKQQ
139 FOR IPP=1 TO FIX(1+RND*3)
140 B=1+FIX(RND*4)
144 IF JJJJ<-31995 THEN 162 ELSE 145
145 IF B=3 OR B=4 GOTO 164
147 IF B=1 GOTO 150 ELSE IF B=2 GOTO 154
150 IF RND<.5 THEN X(1)=A(1)-FIX(1+RND*2)*.0625 ELSE X(1)=A(1)+FIX(1+RND*2)*.0625
152 GOTO 179
154 IF RND<.5 THEN X(2)=A(2)-FIX(1+RND*2)*.0625 ELSE X(2)=A(2)+FIX(1+RND*2)*.0625
156 GOTO 179
162 IF RND<.5 THEN X(B)=A(B)-FIX(1+RND*2) ELSE X(B)=A(B)+FIX(1+RND*2)
163 GOTO 179
164 FOR J44=1 TO 4
165 IF ABS(X(J44))>32000 THEN 1670
166 NEXT J44
176 IF RND<.9 THEN R=(1-RND*2)*A(B) ELSE IF RND<.5 THEN R=(1-RND*2)*(A(B) -.1) ELSE R=(1-RND*2)*(A(B) +.1)
177 IF RND<.1 THEN X(B)=CINT(A(B))-FIX(1+RND*3) ELSE IF RND<.1 THEN X(B)=CINT(A(B))+FIX(1+RND*3) ELSE X(B)=A(B)+(RND^(RND*10) )*R
178 REM IF RND<.1 THEN X(B)=INT(A(B))-FIX(1+RND*3) ELSE IF RND<.1 THEN X(B)=INT(A(B))+FIX(1+RND*3) ELSE X(B)=A(B)+(RND^(RND*10) )*R
179 NEXT IPP
194 X(5)=X(1) -.0193*X(3)
195 X(6)=X(2) -.00954*X(3)
199 REM X(7)=-1296000! + 1.3333333333333#*3.141592654#*X(3)^3 + 3.141592654#*X(3) ^2 *X(4)
200 X(4)= ( + 1296000! - 1.3333333333333#*3.141592654#*X(3)^3 ) / (+ 3.141592654#*X(3) ^2 )
212 IF X(1)<1.1 THEN 1670
215 IF X(2)<.6 THEN 1670
217 IF X(3)<40 THEN 1670
218 IF X(3)>80 THEN 1670
219 IF X(4)<20 THEN 1670
220 IF X(4)>60 THEN 1670
221 FOR J44=5 TO 7
222 IF X(J44)<0 THEN P(J44)=9000000!*X(J44) ELSE P(J44)=0
223 NEXT J44
225 PTOTAL=P(5)+P(6)+P(7)
569 P= -.6224*X(1)*X(3)*X(4) -1.7781*X(2)*X(3) ^2 -3.1611*X(1) ^2 *X(4) -19.84*X(1) ^2 *X(3) +PTOTAL
1111 IF P<=M THEN 1670
1452 M=P
1454 FOR KLX=1 TO 7
1455 A(KLX)=X(KLX)
1456 NEXT KLX
1557 GOTO 128
1670 NEXT I
1889 IF M<-7200 THEN 1999
1904 PRINT A(1),A(2),A(3)
1907 PRINT A(4),A(5),A(6)
1989 PRINT A(7),M,JJJJ
1999 NEXT JJJJ
This BASIC computer program was run via basica/D of Microsoft's GW-BASIC 3.11 interpreter for DOS. The complete output through JJJJ=-31988 is shown below. What follows is a hand copy from the computer-monitor screen; below there is no rounding by hand.
1.125 .625 58.29015090845521
43.69268114487037 4.421098581675054D-08 6.891196038545272D-02
0 -7197.729199130497 -31995
1.125 .625 58.29015308692593
43.69266916514552 2.166499452060933D-09 6.891193960284212D-02
0 -7197.729065837913 -31994
1.125 .625 58.29013414146686
43.69277334899321 3.678138735530023D-07 6.891212034252163D-02
0 -7197.730225041295 -31991
1.125 .625 58.2901531892509
43.69266860244574 1.916273528745904D-10 6.891193862666185D-02
0 -7197.729059577026 -31988
On a personal computer with a Pentium Dual-Core CPU E5200 @2.50GHz, 2.50 GHz, 960 MB of RAM, and the IBM basica/D interpreter, version GW BASIC 3.11, the wall-clock time for obtaining the output shown above was 4 seconds.
Acknowledgment
I would like to acknowledge the encouragement of Roberta Clark and Tom Clark.
References
[1] Dana H. Ballard, C. O Jelinek, R. Schinzinger (1974), An Algorithm for the Solution of Constrained Generalised Polynomial Programming Problems. The Computer Journal, Volume 17, Number 3, pp. 261-266.
[2] M. C. Bartholomew-Biggs, A Numerical Comparison between Two Approaches to the Nonlinear Programming Problem, in Towards Global Optimization 2, edited by L. C. W. Dixon, G. P. Szego, pp. 293-312. North-Holland Publishing Company 1978.
[3] Richard L. Burden, J. Douglas Faires, Numerical Analysis, Ninth Edition. Brooks/Cole 2011.
[4] T. Y. Chen, H. C. Chen (2009): Mixed-Discrete Structural Optimization Using a Rank-Niche Evolution Strategy, Engineering Optimization, 41:1, 39-58.
[5] George B. Dantzig, Discrete-Variable Extremum Problems. Operations Research, Vol. 5, No. 2 (Apr., 1957), pp. 266-277.
[6] K. Deb, M. Goyal (1996), A Combined Genetic Adaptive Search (GeneAS) for Engineering Design. Computer Science and Informatics, 26 (4), pp. 30-45.
[7] R. J. Duffin, E. L. Peterson, C. Zener, Geometric Programming Theory and Applications. John Wiley and Sons, 1967.
[8] M. A. Duran, I. E. Grossmann, An Outer-Approximation Algorithm for a Class of Mixed-Integer Nonlinear Programs. Mathematical Programming, Vol. 36:307-339, 1986.
[9] F. Erbatur, O. Hasancebi, I. Tutuncu, H. Kilic (2000) Optimal Design of Planar and Spcae Structures with Genetic Algorithms. Computers and Structures, 75 (2), 209-224.
[10] C. A. Floudas, A. R. Ciric (1989), Strategies for Overcoming Uncertainties in Heat Exchanger Network Synthesis. Computers and Chemical Engineering, Vol 13, No. 10, pp. 1133-1152, 1989.
[11] C. A. Floudas, A. Aggarwal, A. R. Ciric (1989), Global Optimum Search for Nonconvex NLP and MINLP Problems. Computers and Chemical Engineering, Vol 13, No. 10, pp. 1117-1132, 1989.
[12] C. A. Floudas, P. M. Pardalos, A Collection of Test Problems for Constrained Global Optimization Algorithms. Springer-Verlag, 1990.
[32] Christodoulos A. Floudas, Nonlinear and Mixed-Integer Optimization. Oxford University Press, 1995.
[14] C. A. Floudas, Deterministic Global Optimization. Kluwer Academic Publishers, 2000.
[15] S. Gholizadeh, A. Barzegar (2012), Shape Optimization of Structures for Frequency Constraints by Sequential Harmony Search Algorithm, Engineering Optimization, DOI:10.1080/0305215X.2012.704028.
[16] Amos Gilat and Vish Subramaniam, Numerical Methods for Engineers and Scientists: An Introduction with Applications Using MATLAB. John Wiley and Sons, Inc. 2008.
[17] Donald Greenspan, Vincenzo Casulli, Numerical Analysis for Applied Mathematics, Science, and Enginerring. Addison-Wesley Publishing Company, 1988.
[18] Willi Hock, Klaus Schittkowski, Test Examples for Nonlinear Programming Codes. Springer-Verlag 1981.
[19] Majid Jaberipour, Esmaile Khorram (2010), Two Improved Hormony Search Algorithms for Solving Engineering Optimization Problems. Communications in Nonlinear Science and Numerical Simulation 15 (2010) 3316-3331.
[20] M. Jaberipour, E. Khorram (2010), Solving the Sum-of-Ratios Problems by a Harmony Search Algorithm. Journal of Computational and Applied Mathematics 234 (2010) 733-742.
[21] M. Jaberipour, E. Khorram (2011), A New Harmony Search Algorithm for Solving Mixed Discrete Engineering Optimization Problems. Engineering Optimization, 05/2011, 43:507-523.
[22] Michael Junger, Thomas M. Liebling, Dennis Naddef, George L. Nemhauser, William R. Pulleybank, Gerhart Reinelt, Giovanni Rinaldi, Lawrence A. Wolsey--Editors, 50 Years of Integer Programming 1958-2008. Berlin: Springer, 2010.
[23] B. K. Kannen , S. N. Kramer (1994), An Augmented Lagrange Multiplier Based Method for Mixed Integer Discrete Continuous Optimization and its Applications to Mechanical Design. Journal of Mechanical Design, 116, pp. 405-411.
[24] R. Baker Kearfott, Some Tests of Generalized Bisection. ACM Transactions on Mathematical Software, Vol.13, No. 3, September 1987, pages 197-220.
[25] Esmaile Khorram, Majid Jaberipour, Harmony Search Algorithm for Solving Combined Heat and Power Economic Dispatch Problems. Energy Conversion and Management 52 (2011) 1550-1554.
[26] G. R. Kocis, I. E. Grossmann, Relaxation Strategy for the Structural Optimization of Process Flow Sheets. Ind. Eng. Chem. Res., 26 (9):1869 (1987).
[27} Sonia Krzyworzcka, Extension of the Lanczos and CGS Methods to Systems of Nonlinear Equations. Journal of Computational and Aplied Mathematics 69 (1996) 181-190.
[28] A. H. Land, A. G. Doig, An Automatic Method of Solving Discrete Programming Problems. Econometrica, Vol. 28, No. 3 (Jul., 1960), pp. 497-520.
[29] E. L. Lawler, M. D. Bell, A Method for Solving Discrete Optimization Problems. Operations Research, Vol. 14, No. 6 (Nov.-Dec., 1966), pp. 1098-1112.
[30] K. S. Lee, Z. W. Geem (2005), A New Meta-Heuristic Algorithm for Continuous Engineering Optimization: Harmony Search Theory and Practice. Computer Methods in Applied Mechanics and Engineering 194 (2005) 3902-3933.
[31] Ya-Zhang Luo, Guo-Jing Tang, Li-Ni Zhou, Hybrid Approach for Solving Systems of Nonlinear Equations Using Chaos Optimization and Quasi-Newton Method. Applied Soft Computing 8 (2008) 1068-1063.
[32] M. Mahdavi, M. Fesanghary, E. Damangir (2007), An Improved Harmony search Algorithm for Solving Optimization Problems. Applied Mathematics and Computation, 188 (2), 1567-1579.
[33] C. D. Maranas, C. A. Floudas, Finding All Solutions of Nonlinearly Constrained Systems of Equations. Journal of Global Optimization, 7(2):143-182, 1995.
[34] Harry M. Markowitz and Alan S. Mann. On the Solution of Discrete Programming Problems. Econometrica, Vol. 25, No. 1 (Jan., 1957) pp. 84-110.
[35] Keith Meintjes and Alexander P. Morgan, Chemical Equilibrium Systems as Numerical Test Problems. ACM Transactions on Mathematical Software, Vol. 16, No. 2, June 1990, Pages 143-151.
[36] 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.
[37] Yuanbin Mo, Hetong Liu, Qin Wang,Conjugate Direction Particle Swarm Optimization Solving Systems of Nonlinear Equations. Computers and Mathematics with Applications 57 (2009) 1877-1882.
[38] Ramon E. Moore, R. Baker Kearfott, Michael J. Cloud, An Introduction to Interval Analysis. Cambridge University Press, 2009.
[39] Panos Y. Papalambros, Douglass J. Wilde, Principles of Optimal Design: Modeling and Computation, Second Edition. Cambridge University Press, 2000.
[40] W. L. Price, Global Optimization by Controlled Random Search. Journal of Optimization Theory and Applications, July 1983, Volume 40, Issue 3, pp. 333-348.
[41] Singiresu S. Rao, Ying Xiong (2005), A Hybrid Genetic Algorithm for Mixed-Discrete Design Optimization. Transaction of the ASME, Vol. 127, November 2005, pp. 1100-1112.
[42] John R. Rice, Numerical Methods, Software, and Analysis, Second Edition. Academic Press, 1993.
[43] H. S. Ryoo, N. V. Sahinidis (1995), Global Optimization of Nonconvex NLPs and MINLPs with Applications in Process Design. Computers and Chemical Engineering, Vol. 19, No. 5, pp. 551-566, 1995.
[44] E. Sandgren (1990), Nonlinear Integer and Discrete Programming in Mechanical Design Optimization. Journal of Mechanical Design, 112, pp. 223-229.
[45] R. Schinzinger (1965), Optimization in Electromagnetic System Design, in Recent Advances in Optimization Techniques, edited by A. Lavi and T. P. Vogel, John Wiley and Sons, pp. 163-213.
[46] Jung-Fa Tsai (2010), Global Optimization for Signomial Discrete Programming Problems in Engineering Design. Engineering Optimization, 42:9, pp. 833-843.
[47] L.-W. Tsai, A. P. Morgan, Solving the Kinematics of the Most General Six- and Five-Degree-of Freedom Manipulators by Continuation Methods. Journal of Mechanisms, Transmissions, and Automation in Design, June 1985, Vol. 107, pp. 189-200.
[48] Jsun Yui Wong (2009, July 18). An Integer Programming Computer Program Applied to One-Dimensional Space Allocation. Retrieved from http://wongsllllblog.blogspot.com/2009/07/
[49] Jsun Yui Wong (2009, December 18). A Heuristic Nonlinear Integer Solver Applied to a Problem of Assignment of Facilities to Locations. Retrieved from http://wongsnewnewblog.blogspot.ca/2009/12/
[50] Jsun Yui Wong (2011, May 15). The Domino Method Applied to Solving a Nonlinear System of Ten Equations of a Model of Propane-in-Air Combustion, Fourth Edition. Retrieved from http://computationalresultsfromcomputerprograms.wordpress.com/2011/05/15/
[51] Jsun Yui Wong (2011, May 5). The Domino Method Applied to Solving a Nonlinear System of Five Equations, Third Edition. Retrieved from http://computationalresultsfromcomputerprograms.wordpress.com/2011/05/05/
[52] Jsun Yui Wong (2011, July 27). A General Nonlinear Integer/Discrete/Continuous Programming Solver Applied to an Alkylation-Process Model, Sixth Edition. Retrieved from http://computationalresultsfromcomputerprograms.wordpress.com/2011/07/27/
[53] Jsun Yui Wong (2012, April 10). The Domino Method of General Integer Nonlinear Programming Applied to a Coil Compression Spring Design. Retrieved from http://myblogsubstance.typepad.com/substance/2012/04/
[54] Jsun Yui Wong (2012, April 21). The Domino Method of General Integer Nonlinear Programming Applied to a Five-Step Cantilever Beam Design. Retrieved from http://computationalresultsfromcomputerprograms.wordpress.com/2012/04/21/
[55] Jsun Yui Wong (2012, April 24). The Domino Method of General Integer Nonlinear Programming Applied to Problem 10 of Lawler and Bell. Retrieved from http://computationalresultsfromcomputerprograms.wordpress.com/2012/4/24/
[56] Jsun Yui Wong (2013, January 14). The Domino Method of General Integer Nonlinear Programming Applied to a Nonlinear Programming Problem with Integer Variables and Continuous Variables, Revised Edition. Retrieved from http://myblogsubstance.typepad.com/substance/2013/01/
[57] Jsun Yui Wong (2013, January 24). The Domino Method of General Integer Nonlinear Programming Applied to a Nonlinear Programming Problem with Eight 0-1 Variables and Nine Continuous Variables. Retrieved from http://computationalresultsfromcomputerprograms.wordpress.com/2013/01/24/
Comments
You can follow this conversation by subscribing to the comment feed for this post.