User Tools

Site Tools


gams:should_i_use_bounds_or_singleton_equations

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
Last revision Both sides next revision
gams:should_i_use_bounds_or_singleton_equations [2007/09/28 13:30]
127.0.0.1 external edit
gams:should_i_use_bounds_or_singleton_equations [2020/05/28 15:16]
Michael Bussieck
Line 7: Line 7:
 and and
 <​code>​ <​code>​
-equation ​xmin(i);+Equation ​xmin(i);
 xmin(i) .. x(i) =g= 1000; xmin(i) .. x(i) =g= 1000;
 </​code>​ </​code>​
Line 16: Line 16:
 and and
 <​code>​ <​code>​
-equation ​xinit;+Equation ​xinit;
 xinit .. x('​i0'​) =e= 777; xinit .. x('​i0'​) =e= 777;
 </​code>​ </​code>​
Line 22: Line 22:
 In general bounds (i.e. ''​x.lo'',​ and ''​x.up''​) are more efficient than equations: a bound does not make the model bigger while an equation does. For solvers with good presolvers this advantage is less pronounced, as the presolver will convert "​singleton equations"​ like x(i) =g= 1000; into bounds automatically. In general bounds (i.e. ''​x.lo'',​ and ''​x.up''​) are more efficient than equations: a bound does not make the model bigger while an equation does. For solvers with good presolvers this advantage is less pronounced, as the presolver will convert "​singleton equations"​ like x(i) =g= 1000; into bounds automatically.
  
-Similarly preferably you should not generate many ''​.fx''​ fixed variables. In many cases you can use dollar conditions in the model so that GAMS will not generate them. You can also use the ''​.holdfixed'' ​model suffix; this will cause GAMS to consider fixed variables as constants. Again, for a solver with a good presolver many fixed +Similarly preferably you should not generate many ''​.fx''​ fixed variables. In many cases you can use dollar conditions in the model so that GAMS will not generate them. You can also use the [[https://​www.gams.com/​latest/​docs/​UG_GamsCall.html#​GAMSAOholdfixed|.holdfixed]] model suffix; this will cause GAMS to consider fixed variables as constants. Again, for a solver with a good presolver many fixed variables are not an issuethey will be removed from the model automatically
-variables are not an issue:they will be removed from the model automatically.+ 
 +Nonlinear solvers usually do not violate bounds, because bounds describe the region where function and derivative calculations are possible, e.g. ''​log(x)''​ with ''​x.lo=1e-6;''​. A constraint ''​xlo.. x =g= 1e-6;''​ can in principle be violated by the solvers feasibility tolerance. If this tolerance is larger than 1e-6 then the 0 (and negative numbers) becomes part of the region where the solver can evaluate points and hence might triggers evaluation errors.
  
IMPRESSUM / LEGAL NOTICEPRIVACY POLICY gams/should_i_use_bounds_or_singleton_equations.txt · Last modified: 2020/05/28 15:29 by Michael Bussieck