0
我正在嘗試查找帶有函數的CPLEX的小工作示例。不好的例子here怎麼不行。在CPLEX中如何定義函數?如何在CPLEX中執行功能?
P.s.我正在爲阿爾託大學的線性優化 - 課程2.3140 here提交工作。
我正在嘗試查找帶有函數的CPLEX的小工作示例。不好的例子here怎麼不行。在CPLEX中如何定義函數?如何在CPLEX中執行功能?
P.s.我正在爲阿爾託大學的線性優化 - 課程2.3140 here提交工作。
你把它寫成一個數學問題,你有一個索引超出界限的錯誤。
// Decision variables
dvar float+ z[0..4];
dvar float a[0..4];
dvar float+ x[0..5];
dvar float+ v[0..5];
minimize sum(myZ in 0..4) z[myZ];
subject to {
startX: x[0]==0;
startV: v[0]==0;
endX: x[4]==1;
x[5]==1;
endV: v[4]==0;
v[5]==0;
forall(t in 0..4){
a[t]<=z[t];
-a[t]<=z[t];
x[t+1]==x[t]+v[t];
v[t+1]==v[t]+a[t];
}
}
這是解決方案:
// solution (optimal) with objective 0.666666666666667
// Quality There are no bound infeasibilities.
// There are no reduced-cost infeasibilities.
// Maximum Ax-b residual = 1.11022e-016
// Maximum c-B'pi residual = 1.11022e-016
// Maximum |x| = 1
// Maximum |slack| = 0.666667
// Maximum |pi| = 1.66667
// Maximum |red-cost| = 1
// Condition number of unscaled basis = 2.1e+001
//
z = [0.33333
0 0 0.33333 0];
x = [0 0 0.33333 0.66667 1 1];
v = [0 0.33333 0.33333 0.33333 0 0];
a = [0.33333 0 0 -0.33333 0];
相關
如果你沒有使用它,就不會有標籤線性優化 – Mark