2016-04-29 10 views
1

私は、次のMILP問題、コードの関連部分を持っている:GLPK MathProg - 条件付き制約

param n, integer, >= 0; 
set jobs := 1..n; 
param P{i in jobs, j in jobs}, binary; 

var s{i in jobs}, integer, >=0; 
var e{i in jobs}, integer, >=0; 

var Cmax, integer, >=0; 

minimize total: Cmax; 

s.t. crit_3{i in jobs,j in jobs}: s[i] >= e[j]; 

私は、次の式を表すための基準crit_3たい:基本的に

を、私は行列P [i、j] = 1のときに、制約をiとjの所定の組み合わせに対してのみ有効にします。これをどのようにすることができますか?

答えて

1

何かがs.t. crit_3{i in jobs,j in jobs: P[i,j]=1}: s[i] >= e[j];のような仕事をする必要があります。