# File: DDP.mod param n; param m; param l; param a {i in 1..n}; param b {j in 1..m}; param c {k in 1..l}; var E {i in 1..n, k in 1..l} binary; var F {j in 1..m, k in 1..l} binary; var alpha integer >= 0; var beta integer >= 0; minimize z: alpha + beta; subject to segAerr_lb {i in 1..n}: -alpha <= a[i] - sum {k in 1..l} (E[i,k]*c[k]); subject to segAerr_ub {i in 1..n}: a[i] - sum {k in 1..l} (E[i,k]*c[k]) <= alpha; subject to segBerr_lb {j in 1..m}: -beta <= b[j] - sum {k in 1..l} (F[j,k]*c[k]); subject to segBerr_ub {j in 1..m}: b[j] - sum {k in 1..l} (F[j,k]*c[k]) <= beta; subject to Ck_in_Ai {k in 1..l}: sum {i in 1..n} E[i,k] = 1; subject to Ck_in_Bj {k in 1..l}: sum {j in 1..m} F[j,k] = 1;