$title CONVERT test suite - nonlinear expression reformulations (CONVERT14,SEQ=843) $onText Tests some nonlinear expression reformulations that improve the formatted code. Contributor: Renke Kuhlmann $offText $onEcho > gamsin.gms Variables x, y, z, w, obj; Equations e01, e02, e03, e04, e05, e06, e07, e08, e09, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22; * clean formulas e01.. obj + x + x*y + x**z =e= 2; e02.. (-x) / (-y) =g= 0; e03.. (-x) * (-y) =g= 0; e04.. x / (-y) =g= 0; e05.. -exp(x) * (-exp(y)) =g= 0; e06.. x*(3*y)*4 =g= 0; e07.. x*(3/y)*4 =g= 0; e08.. (3*x)*y*4 =g= 0; e09.. (3*x)/y*4 =g= 0; e10.. x/(3*y)*4 =g= 0; e11.. x/(3/y)*4 =g= 0; e12.. (3/x)/y*4 =g= 0; e13.. (3/x)*y*4 =g= 0; e14.. x**1 =g= 0; e15.. power(x, 1) =g= 0; e16.. vcpower(x, 1) =g= 0; e17.. rpower(x, 1) =g= 0; * parenthesis e18.. exp(x) * (-exp(y)) =g= 0; e19.. x*y + (-(x*z + y*z)) =g= 0; e20.. x*y + (-(-x*z + y*z)) =g= 0; e21.. 3*x**(-1) + 4*y**(-0) =g= 0; * sums and subs e22.. -x + y - z + w =g= 0; x.l = 1; y.l = 1; z.l = 1; Model m / all /; Solve m using DNLP minimizing obj; $offEcho $onEcho > gamswant.gms e1.. x1 * x2 + x1 + x1**x3 + x5 =E= 2; e2.. x1 / x2 =G= 0; e3.. x1 * x2 =G= 0; e4.. -x1 / x2 =G= 0; e5.. exp(x1) * exp(x2) =G= 0; e6.. 12 * x1 * x2 =G= 0; e7.. 12 * x1 / x2 =G= 0; e8.. 12 * x1 * x2 =G= 0; e9.. 12 * x1 / x2 =G= 0; e10.. 1.3333333333333333 * x1 / x2 =G= 0; e11.. 1.3333333333333333 * x1 * x2 =G= 0; e12.. 12 / (x2 * x1) =G= 0; e13.. 12 * x2 / x1 =G= 0; e14.. x1 =G= 0; e15.. x1 =G= 0; e16.. x1 =G= 0; e17.. x1 =G= 0; e18.. -exp(x1) * exp(x2) =G= 0; e19.. x1 * x2 - x1 * x3 - x2 * x3 =G= 0; e20.. x1 * x2 + x1 * x3 - x2 * x3 =G= 0; e21.. 3 * x1**(-1) + 4 * x2**eps =G= 0; e22.. -x1 + x2 - x3 + x4 =G= 0; $offEcho $call gams gamsin.gms lo=%GAMS.lo% solver=convert $call grep "e[0-9]*\.\." gams.gms > gamsgot.gms $call.checkErrorLevel =diff -b gamsgot.gms gamswant.gms