Я пытаюсь использовать переменные решения Y для обновления индекса переменной решения X в ограничении. Тем не менее, он не работает в Cplex. Любая помощь приветствуется, большое спасибо заранее. Вот мой код:
// Parameters
int Tmax = ...;
int u[i][r][m] = ...;
int b[i][r][m][a] = ...;
float t[i][r][j][s] = ...;
// Variables
dvar boolean X[i][r][m][j][s][n][k];
dvar boolean Y[i][r][m][k];
// Objective Function
dexpr float TotalDuration = sum(ci in i, cr in r, cm in m, cj in j, cs in s, cn in n, ck in k) t[ci][cr][cj][cs]*X[ci][cr][cm][cj][cs][cn][ck] + sum(ci in i, cr in r, cm in m, ck in k) u[ci][cr][cm]*Y[ci][cr][cm][ck];
minimize TotalDuration;
subject to {
forall(ci in i, cr in r, cm in m, cj in j, cs in s, cn in n, ck in k)
TimeConservative:
X[ci][cr][cm][cj][cs][cn][ck] == X[ci][cr][cm][cj][cs][cm+u[ci][cr][cm]*Y[ci][cr][cm][ck] + t[ci][cr][cj][cs]][ck];
}