|
From: | Michael Hennebry |
Subject: | Re: [Help-glpk] Division |
Date: | Wed, 19 Oct 2011 18:09:00 -0500 (CDT) |
User-agent: | Alpine 1.00 (DEB 882 2007-12-20) |
On Wed, 19 Oct 2011, Kasper Tordrup wrote:
s.t. phase{u in U, j in 1..3}: sum{s in S} ((ps[s] * y[s,j,u]) / o[s,u]) = d[j,u]; But since division with o[s,u] is not linear I can't do that. So can anyone explain how one could make the constraint linear? set S; set U; param ps {s in S}, integer, > 0; var y {s in S, j in 1..3, u in U}, binary; var o {s in S, u in U}, integer, >= 0; var d {j in 1..3, u in U}, integer, >= 0;
It took me a while to analyze Xypron's solution. It works if you make the change: s.t. c{u in U, j in 1..3, s in S}: sum{o in O} y[s,j,u,o] <= 1; The original y[s,j,u] is allowed to be zero. -- Michael address@hidden "Pessimist: The glass is half empty. Optimist: The glass is half full. Engineer: The glass is twice as big as it needs to be."
[Prev in Thread] | Current Thread | [Next in Thread] |