|
| 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] |