Solving a Nonlinear Programming Problem Involving Discrete Variables

Jsun Yui Wong

The two computer programs listed below are about the following discrete variable nonlinear programming problem in Siwale [58, p. 10, Example 4]:

Minimize (.6224 * X(1) * X(3) * X(4) + 1.7781 * X(2) * X(3) ^ 2 + 3.1661 * X(4) * X(1) ^ 2 + 19.84 * X(3) * X(1) ^ 2)

subject to

X(4) – 240 <= 0

-X(1) + .0193 * X(3) <= 0

-X(2) + .00954 * X(3) <= 0

-3.141592654 * X(3) ^ 2 * X(4) – (4 / 3) * 3.141592654 * X(3) ^ 3 + 1296000 <=0

X(1) and X(2) are integer multiples of .0625

10<= X(i) <=200, i=3, 4.

0 DEFDBL A-Z

1 DEFINT K

2 DIM B(99), N(99), A(2002), H(99), L(99), U(99), X(2002), D(111), P(111), PS(33), J44(2002), J(99), AA(99), HR(32), HHR(32), LHS(44), PLHS(44), LB(22), UB(22), PX(22), CC(20), RR(20), WW(20), AL(50), SW(50), SV(50), C2(22), C3(22), C4(22), C5(22)

81 FOR JJJJ = -32000 TO 32000

85 RANDOMIZE JJJJ

87 M = -3E+50
89 FOR J44 = 1 TO 2

92 A(J44) = .0625 + .0625 * FIX(RND * 50)

93 NEXT J44

95 FOR J44 = 3 TO 4

96 A(J44) = 10 + (RND * 190)

97 NEXT J44
128 FOR I = 1 TO 50000
129 FOR KKQQ = 1 TO 4
130 X(KKQQ) = A(KKQQ)
131 NEXT KKQQ
141 FOR IPP = 1 TO FIX(1 + RND * 3)

143 J = 1 + FIX(RND * 4)
154 IF J > 2.5 THEN GOTO 156 ELSE GOTO 163

156 r = (1 – RND * 2) * A(J)

158 X(J) = A(J) + (RND ^ (RND * 15)) * r

161 GOTO 169
163 IF RND < .5 THEN X(J) = A(J) – FIX(1 + RND * 2) * .0625 ELSE X(J) = A(J) + FIX(RND * 2) * .0625

168 REM IF RND < .5 THEN X(J) = A(J) – 1 ELSE X(J) = A(J) + 1

169 NEXT IPP

171 GOTO 192

172 X(1) = INT(X(1))
174 X(2) = INT(X(2))
176 X(3) = INT(X(3))
177 X(4) = INT(X(4))

192 IF X(3) < 10## THEN 1670

193 IF X(4) < 10## THEN 1670
194 IF X(3) > 200## THEN 1670
195 IF X(4) > 200## THEN 1670

198 IF X(4) – 240 > 0## THEN 1670

199 IF -X(1) + .0193 * X(3) > 0## THEN 1670
222 REM
233 IF -X(2) + .00954 * X(3) > 0## THEN 1670
311 IF -3.141592654 * X(3) ^ 2 * X(4) – (4 / 3) * 3.141592654 * X(3) ^ 3 + 1296000 > 0## THEN 1670

447 PDU = -(.6224 * X(1) * X(3) * X(4) + 1.7781 * X(2) * X(3) ^ 2 + 3.1661 * X(4) * X(1) ^ 2 + 19.84 * X(3) * X(1) ^ 2)
466 P = PDU

1111 IF P <= M THEN 1670

1450 M = P

1454 FOR KLX = 1 TO 4

1455 A(KLX) = X(KLX)
1456 NEXT KLX

1557 GOTO 128

1670 NEXT I

1889 IF M < -6059.72 THEN 1999

1924 PRINT A(1), A(2), A(3), A(4), M, JJJJ

1999 NEXT JJJJ
This BASIC computer program was run with QB64v1000-win [64]. The complete output of a single run through JJJJ= -31703 is shown below:

.8125          .4375          42.09840370156255          176.6371149499273
-6059.719436480822          -31747

.8125          .4375          42.09844342169498          176.636622753362
-6059.714599120028          -31703

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 [64], the wall-clock time (not CPU time) for obtaining the output through JJJJ = -31703 was 100 seconds, total, including the time for “Creating .EXE file.” One can compare the computational results above with those in the last table of Siwale [58, p. 10, Example 4].
Part 2. What If a Given Inequality Constraint Is Changed to an Equality Constraint?

When a given problem has only several constraints, sometimes it is worthwhile to change an inequality constraint to an equality constraint as follows:
0 DEFDBL A-Z

1 DEFINT K

2 DIM B(99), N(99), A(2002), H(99), L(99), U(99), X(2002), D(111), P(111), PS(33), J44(2002), J(99), AA(99), HR(32), HHR(32), LHS(44), PLHS(44), LB(22), UB(22), PX(22), CC(20), RR(20), WW(20), AL(50), SW(50), SV(50), C2(22), C3(22), C4(22), C5(22)

81 FOR JJJJ = -32000 TO 32000
85 RANDOMIZE JJJJ

87 M = -3E+50
89 FOR J44 = 1 TO 2

92 A(J44) = .0625 + .0625 * FIX(RND * 50)

93 NEXT J44

95 FOR J44 = 3 TO 4

96 A(J44) = 10 + (RND * 190)

97 NEXT J44
128 FOR I = 1 TO 50000

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

143 J = 1 + FIX(RND * 4)
154 IF J > 2.5 THEN GOTO 156 ELSE GOTO 163

156 r = (1 – RND * 2) * A(J)

158 X(J) = A(J) + (RND ^ (RND * 15)) * r

161 GOTO 169
163 IF RND < .5 THEN X(J) = A(J) – FIX(1 + RND * 2) * .0625 ELSE X(J) = A(J) + FIX(RND * 2) * .0625

168 REM IF RND < .5 THEN X(J) = A(J) – 1 ELSE X(J) = A(J) + 1

169 NEXT IPP
170 X(4) = ((4 / 3) * 3.141592654 * X(3) ^ 3 – 1296000) / (-3.141592654 * X(3) ^ 2)
171 GOTO 192

172 X(1) = INT(X(1))
174 X(2) = INT(X(2))
176 X(3) = INT(X(3))
177 X(4) = INT(X(4))

192 IF X(3) < 10## THEN 1670

193 IF X(4) < 10## THEN 1670
194 IF X(3) > 200## THEN 1670
195 IF X(4) > 200## THEN 1670

198 IF X(4) – 240 > 0## THEN 1670

199 IF -X(1) + .0193 * X(3) > 0## THEN 1670
222 REM
233 IF -X(2) + .00954 * X(3) > 0## THEN 1670
311 REM IF -3.141592654 * X(3) ^ 2 * X(4) – (4 / 3) * 3.141592654 * X(3) ^ 3 + 1296000 > 0## THEN 1670
447 PDU = -(.6224 * X(1) * X(3) * X(4) + 1.7781 * X(2) * X(3) ^ 2 + 3.1661 * X(4) * X(1) ^ 2 + 19.84 * X(3) * X(1) ^ 2)
466 P = PDU

1111 IF P <= M THEN 1670

1450 M = P

1454 FOR KLX = 1 TO 4

1455 A(KLX) = X(KLX)
1456 NEXT KLX

1557 GOTO 128

1670 NEXT I

1889 IF M < -6059.72 THEN 1999

1924 PRINT A(1), A(2), A(3), A(4), M, JJJJ

1999 NEXT JJJJ
This BASIC computer program was run with QB64v1000-win [64]. The complete output of a single run through JJJJ= -31997 is shown below:

.8125          .4375          42.09844559585492          176.6365958120462
-6059.714334337864          -32000

.8125          .4375          42.09844559585492          176.6365958120462
-6059.714334337864          -31997

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 [641], the wall-clock time (not CPU time) for obtaining the output through JJJJ = -31997 was 3 seconds, not including the time for “Creating .EXE file” (8 seconds, total, including the time for “Creating .EXE file”). One can compare the computational results above with those in the last table of Siwale [58, p. 10, Example 4].
Acknowledgment

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

References

[1] Andre R. S. Amaral (2006), On the Exact Solution of a Facility Layout Problem. European Journal of Operational Research 173 (2006), pp. 508-518.

[2] Andre R. S. Amaral (2008), An Exact Approach to the One-Dimensional Facility Layout Problem. Operations Research, Vol. 56, No. 4 (July-August, 2008), pp. 1026-1033.

[3] Andre R. S. Amaral (2011), Optimal Solutions for the Double Row Layout Problem. Optimization Letters, DOI 10.1007/s11590-011-0426-8, published on line 30 November 2011, Springer-Verlag 2011.

[4] Andre R. S. Amaral (2012), The Corridor Allocation Problem. Computers and Operations Research 39 (2012), pp. 3325-3330.

[5] Miguel F. Anjos, Anthony Vannelli, Computing Globally Optimal Solutions for Single-Row Layout Problems Using Semidefinite Programming and Cutting Planes. INFORMS Journal on Computing, Vol. 20, No. 4, Fall 2008, pp. 611-617.

[6] Miguel F. Anjos (2012), FLPLIB–Facility Layout Database. Retrieved on September 25 2012 from http://www.gerad.ca/files/Sites/Anjos/indexFR.html

[7] David L. Applegate, Robert E. Bixby, Vasek Chvatal, William J. Cook, The Traveling Salesman Problem: A Computational Study. Princeton and Oxford: Princeton University Press, 2006.

[8] Ritu Arora, S. R. Arora (2014). A cutting plane approach for multi-objective integer indefinite quadratic programming problem: OPSEARCH of the Operational Research Society of India (April-June 2015), 52(2):367-381.

[9] Jerome Bracken, Garth P. McCormick, Selected Applications of Nonlinear Programming. New York: John Wiley and Sons, Inc., 1968.

[10] R. C. Carlson and G. L. Nemhauser, Scheduling To Minimize Interaction Cost. Operations Research, Vol. 14, No. 1 (Jan. – Feb., 1966), pp. 52-58.

[11] Ta-Cheng Chen (2006). IAs based approach for reliability redundany allocation problems. Applied Mathematics and Computation 182 (2006) 1556-1567.

[12] Leandro dos Santos Coelho (2009), Self-Organizing Migrating Strategies Applied to Reliability-Redundany Optimization of Systems. IEEE Transactions on Reliability, Vol. 58, No. 3, 2009 September, pp. 501-519.

[13] William Conley (1981). Optimization: A Simplified Approach. Published 1981 by Petrocelli Books in New York.

[14] Lino Costa, Pedro (2001). Evolutionary algorithms approach to the solution of mixed integer non-linear programming problems. Computers and Chemical Engineering, Vol. 25, pp. 257-266, 2001.

[15] George B. Dantzig, Discrete-Variable Extremum Problems. Operations Research, Vol. 5, No. 2 (Apr., 1957), pp. 266-277.

[16] Pintu Das, tapan kumar Roy (2014). Multi-objective geometric programming and its application in gravel box problem. Journal of global research in computer science volume 5. no.7, july 2014. http://www.jgrcs.info

[17] Kalyanmoy Deb, Amrit Pratap, Subrajyoti Moitra (2000). Mechanical component design for multi objectives using elitist non-dominated sorting GA. Parallel Probl.Solv. Nat. PPSN VI 1917 (2000) 859-868.

[18] Kusum Deep, Krishna Pratap Singh, M. L. Kansal, C. Mohan (2009), A real coded genetic algorithm for solving integer and mixed integer optimization problems. Applied Mathematics and Computation 212 (2009) 505-518.

[19] Anoop K. Dhingra (1992). Optimal apportionment of reliability and redundancy in series systems under multiple objections. IEEE Transactions on Reliability, Vol. 41, No. 4, 1992 December, pp. 576-582.

[20] R. J. Duffin, E. L. Peterson, C. Zener (1967), Geometric Programming. John Wiley, New York (1967).

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

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

[23] C. A. Floudas, P. M. Pardalos, A Collection of Test Problems for Constrained Global Optimization Algorithms. Springer-Verlag, 1990.

[24] Diptesh Ghosh, Ravi Kothari, Population Heuristics for the Corridor Allocation Problem, W.P. No. 2012-09-02, September 2012. Retrieved on September 14 2012 from Google search.

[25] Ignacio E. Grossmann. Overview of Mixed-integer Nonlinear Programming. https://egon.cheme.cmu.edu/ewo/docs/EWOMINLPGrossmann.pdf

[26] R. Gupta, R. Malhotra (1995). Multi-criteria integer linear fractional programming problem, Optimization, 35:4, 373-389.
.
[27] M. Hashish, M. P. duPlessis (1979). Prediction equations relating high velocity jet cutting performance to stand-off-distance and multipasses. Transactions of ASME: Journal of Engineering for Industry 101 (1979) 311-318.

[28] David M. Himmelblau, Applied Nonlinear Programming. New York: McGraw-Hill Book Company, 1972.

[29] Willi Hock, Klaus Schittkowski, Test Examples for Nonlinear Programming Codes. Berlin: Springer-Verlag, 1981.

[30] Philipp Hungerlaender, Miguel F. Anjos (January 2012), A Semidefinite Optimization Approach to Free-Space Multi-Row Facility Layout. Les Cahiers du GERAD. Retrieved from http://www.gerad.ca/fichiers/cahiers/G-2012-03.pdf

[31] Philipp Hungerlaender (April 2012), Single-Row Equidistant Facility Layout as a Special Case of Single-Row Facility Layout. Retrieved from http://www.optimization-online.org./DB_HTML/2012/04/3432.html

[32] N. K. Jain, V. K. Jain, K. Deb (2007). Optimization of process parameters of mechanical type advanced machining processes using genetic algorithms. International Journal of Machine Tools and Manufacture 47 (2007), 900-919.

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

[34] Adhe Kania, Kuntjoro Adji Sidarto (2016). Solving mixed integer nonlinear programming problems using spiral dynamics optimization algorithm. AIP Conference Proceedings 1716, 020004 (2016).
https://doi.org/10.1063/1.4942987. Published by the American Institute of Physics.

[35] A. H. Land, A. G. Doig, An Automatic Method of Solving Discrete Programming Problems. Econometrica, Vol. 28, No. 3 (Jul., 1960), pp. 497-520.

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

[37] Gia-Shi Liu (2006), A combination method for reliability-redundancy optimization, Engineering Optimization, 38:04, 485-499.

[38] Yubao Liu, Guihe Qin (2014), A hybrid TS-DE algorithm for reliability redundancy optimization problem, Journal of Computers, 9, No. 9, September 2014, pp. 2050-2057.

[39] Rein Luus (1975). Optimization of System Reliability by a New Nonlinear Integer Programming Procedure. IEEE Transactions on Reliability, Vol. R-24, No. 1, April 1975, pp. 14-16.

[40] Milos Madic, Miroslav Radovanovic (2014). Optimization of machining processes using pattern search algorithm.
International Journal of Industrial Engineering Computations 5 (2014) 223-234. Homepage: http://www.GrowingScience.com/ijiec

[41] F. Masedu, M Angelozzi (2008). Modelling optimum fraction assignment in the 4X100 m relay race by integer linear programming. Italian Journal of Sports Sciences, Anno 13, No. 1, 2008, pp. 74-77.

[42] MathWorks, Mixed Integer Optimization. https://www.mathworks.com/help/gads;mixed-integer-optimization.html

[43] Mohamed Arezki Mellal, Enrico Zio (2016). A Guided Stochastic Fractal Search Approach for System Reliability Optimization. Reliability Engineering
and System Safety 152 (2016) 213-227.

[44] Mohamed Arezki Mellal, Edward J. Williams (2016). Parameter optimization of advanced machining processes using cuckoo optimization algorithm and hoopla heuristic. Journal of Intelligent Manufacturing (2016) 27 (5): 927-942.

[45] Mohamed Arezki Mellal, Edward J. Williams (2018). Large-scale reliability-redundancy allocation optimization problem using three soft computing methods. In Mangey Ram, Editor, in Modeling and simulation based analysis in reliability engineering. Published July 2018, CRC Press.

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

[47] Yuji Nakagawa, Mitsunori Hikita, Hiroshi Kamada (1984). Surrogate Constraints for Reliability Optimization Problems with Multiple Constraints. IEEE Transactions on Reliability, Vol. R-33, No. 4, October 1984, pp. 301-305.

[48] C. E. Nugent, T. E. Vollmann, J. Ruml (1968), An Experimental Comparison of Techniques for the Assignment of Facilities to Locations, Operations Research 16 (1968), pp. 150-173.

[49] Rashmi Ranjan Ota, A. K. Ojha (2015). A comparative study on optimization techniques for solving multi-objective geometric programming problems. Applied mathematical sciences, vol. 9, 2015, no. 22, 1077-1085. http://sites.google.com/site/ijcsis/

[50] OPTI Toolbox, Mixed Integer Nonlinear Program (MINLP). https://www.inverseproblem.co.nz/OPTI/index.php/Probs/MINLP

[51] Panos Y. Papalambros, Douglass J. Wilde, Principles of Optimal Design, Second Edition. Cambridge University Press, 2000.

[52] R. V. Rao, P. J. Pawar, J. P. Davim (2010). Parameter optimization of ultrasonic machining process using nontraditional optimization algorihms. Materials and Manufacturing Processes, 25 (10),1120-1130.

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

[54] Ali Sadollah, Hadi Eskandar, Joong Hoon Kim (2015). Water cycle algorithm for solvinfg constrained multi-objective optimization problems. Applied Soft Computing 27 (2015) 279-298.

[55] Vikas Sharma (2012). Multiobjective integer nonlinear fractional programming problem: A cutting plane approach, OPSEARCH of the Operational Research Society of India (April-June 2012), 49(2):133-153.

[56] Vikas Sharma, Kalpana Dahiya, Vanita Verma (2017). A ranking algorithm for bi-objective quadratic fractional integer programming problems, Optimization, 66:11, 1913-1929.

[57] Donald M. Simmons (1969), One-Dimensional Space Allocation: An Ordering Algorithm. Operations Research, Vol. 17, No. 5 (Sep. – Oct., 1969), pp. 812-826.

[58] Isaac Siwale. A Note on Multi-Objective Mathematical Problems. https://www.aptech.com/wp-content/uploads/2012/09/MultObjMath.pdf

[59] G. Stephanopoulos, A. W. Westerberg, The Use of Hestenes’ Method of Multipliers to Resolve
Dual Gaps in Engineering System Optimization. Journal of Optimization Theory and Applications, Vol.15, No. 3, pp. 285-309, 1975.

[60] Frank A. Tillman, Ching-Lai Hwang, Way Kuo (1977). Determining Component Reliability and Redundancy for Optimun System Reliability. IEEE Transactions on Reliability, Vol. R-26, No. 3, Augusr 1977, pp. 162-165.

[61] Hardi Tambunan, Herman Mawengkang (2016). Solving Mixed Integer Non-Linear Programming Using Active Constraint. Global Journal of Pure and Applied Mathematics, Volume 12, Number 6 (2016), pp. 5267-5281. http://www.ripublication.com/gjpam.htm

[62] Mohamed Tawhid, Vimal Savsani (2018). Epsilon-constraint heat transfer search (epsilon-HTS) algorithm for solvinfg multi-objective engineering design problems. journal of computational design and engineering 5 (2018) 104-119.

[63] Tawan Wasanapradit, Nalinee Mukdasanit, Nachol Chaiyaratana, Thongchai Srinophakun (2011). Solving mixed-integer nonlinear programming problems using improved genetic algorithms. Korean Joutnal of Chemical Engineering 28 (1):32-40 January 2011.

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

[65] Zhongkai Xu, Way Kuo, Hsin-Hui Lin (1990). Optimization Limits in Improving System Reliability. IEEE Transactions on Reliability, Vol. 39, No. 1, 1990 April, pp. 51-60.