我很难将这些约束放到CPLEX中进行MILP。
我特别遇到了如何处理所有子字母的问题。
我的决策变量是
boolean x[i][j][k][d];
boolean y[i][k];
float+ a[i][d];
让我来帮助您了解语法,例如约束2
range N=1..4;
range K=1..3;
{int} Dj[N]=[{1,2},{1,3},{1},{4}];
{int} D=union(j in N) Dj[j];
tuple t
{
int i;
int j;
}
{t} A[D]=[{<1,2>,<2,3>},{<1,4>},{},{}];
dvar boolean x[N][N][K][D];
dvar boolean y[N][K];
dvar float+ a[N][D];
subject to
{
// ct2
forall(j in N,k in K,d in Dj[j])
sum(<i,j> in A[d]) x[i][j][k][d]==sum(<j,i> in A[d]) x[j][i][k][d];
}