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   [email protected]
"Pessimist: The glass is half empty.
Optimist:   The glass is half full.
Engineer:   The glass is twice as big as it needs to be."

_______________________________________________
Help-glpk mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/help-glpk

Reply via email to