This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
gams:model_an_absolute_value_in_a_linear_model [2007/11/06 21:12] Franz Nelissen |
gams:model_an_absolute_value_in_a_linear_model [2008/10/29 12:34] support |
||
---|---|---|---|
Line 1: | Line 1: | ||
===== How do I model an absolute value in a linear model? ===== | ===== How do I model an absolute value in a linear model? ===== | ||
- | You can not put an absolute term for a variable x(j) directly | + | You can not put an absolute term for a variable directly |
into a linear model. The model fragment below will **not** work: | into a linear model. The model fragment below will **not** work: | ||
<code> | <code> | ||
obj.. z=e=sum(j, abs(x(j))); | obj.. z=e=sum(j, abs(x(j))); | ||
- | cons(i) sum(j, a(i,j)*x(j)) =l= b(i); | + | cons(i).. sum(j, a(i,j)*x(j)) =l= b(i); |
model foo /all/; | model foo /all/; | ||
Line 19: | Line 19: | ||
positive variable xplus(j), xneg(j); | positive variable xplus(j), xneg(j); | ||
obj.. z=e=sum(j, xplus(j) + xneg(j)); | obj.. z=e=sum(j, xplus(j) + xneg(j)); | ||
- | cons(i) sum(j, a(i,j)*(xplus(j) - xneg(j))) =l= b(i); | + | cons(i).. sum(j, a(i,j)*(xplus(j) - xneg(j))) =l= b(i); |
model foo /all/; | model foo /all/; |