[英]Piecewise linear programming in CPLEX
我在 CPLEX 中構建運輸成本的表達式時遇到問題。 特別是,它是物料流的分段線性 function,反映了規模經濟。 考慮從工廠到倉庫的運輸成本,我們將 T[f][j][m] 和 Qf1[f][j][m][r] 表示為從工廠 j 運輸家庭 f 的產品的基准運輸成本分別到倉庫 m 和產品族 f 的物料從工廠 j 到倉庫 m 的流動。 r代表流所屬的范圍。 這是代碼
sum(f in Fa, j in Pl, m in Wh, r in ra)
piecewise(t in 1..NbPieces-1) {Coef[t]*T[f][j][m] -> Breakpoint[t]; Coef[NbPieces]*T[f][j][m]} Qf1[f][j][m][r];
這是 my.dat 文件
NbPieces=4;
Coef=[1, 0.95, 0.89, 0.8];
Breakpoint=[40, 100, 1000];
但是,程序無法提取表達式。 有人可以幫我解決這個錯誤嗎?
你有越界錯誤,但如果你改變
sum(f in Fa, k in DC, l in CZ, r in ra)
piecewise(t in 1..NbPieces-1) {Coef[t]*T3[f][k][l] -> Breakpoint[t]; Coef[NbPieces]*T3[f][k][l]} Qf2[f][k][l][r];
進入
sum(f in Fa, k in DC, l in CZ, r in ra)
piecewise(t in 1..NbPieces-1) {Coef[t]*T3[f][k][l] -> Breakpoint[t]; Coef[NbPieces]*T3[f][k][l]} Qf3[f][k][l][r];
然后它工作。 你確定這里有 Qf2 嗎? Qf3 工作正常
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.