$ontext Filename: boon.gms Author: Nick Sahinidis, August 2002 Purpose: Find all solutions of the Boon problem from neurophysiology References: S. Boon, "Solving systems of equations," Sci. Math. Num-Analysis, Newsgroup Article, 1992. J. Verschelde, "Algorithm 795: PHCpack: A general-purpose solver for polynomial systems by homotopy continuation," ACM Transactions on Mathematical Softqare, 25(2), 251-276, 1999. $offtext options limrow=0, limcol=0, solprint=off, nlp = baron, optca = 1e-6, optcr = 0; VARIABLES x1, x2, x3, x4, x5, x6, obj; x1.lo = -10; x2.lo = -10; x3.lo = -10; x4.lo = -10; x5.lo = -10; x6.lo = -10; x1.up = 10; x2.up = 10; x3.up = 10; x4.up = 10; x5.up = 10; x6.up = 10; EQUATIONS e1, e2, e3, e4, e5, e6, objective; e1.. power(x1,2) + power(x3,2) =E= 1; e2.. power(x2,2) + power(x4,2) =E= 1; e3.. x3 * x5 * power(x3,2) + x4 * x6 * power(x4,2) =E= 1.2; e4.. x1 * x5 * power(x1,2) + x2 * x6 * power(x2,2) =E= 1.2; e5.. x1 * x5 * power(x3,2) + x2 * x6 * power(x4,2) =E= 0.7; e6.. x3 * x5 * power(x1,2) + x4 * x6 * power(x2,2) =E= 0.7; objective.. obj =E= 0; model boon /all/; boon.optfile = 1; file opt /baron.opt/; set i /1*20/; parameter report(i,*); loop (i, put opt; put 'numsol ', ord(i):4:0 /; putclose opt; solve boon using nlp minimizing obj; report(i,'Nodes Used') = boon.nodusd; report(i,'CPU Time') = boon.resusd; ); display report;