1、你用的是什麼版本的Lingo?我用11.0不能識別下面的語句:
f1=@IF(a*(i+k)>1.1,(q+m)*b,-1);
f3=@IF(a*(p+n)>1.1,(t+j)*b,-1);
需要改成
f1=@IF(a*(i+k) #GT# 1.1,(q+m)*b,-1);
f3=@IF(a*(p+n) #GT# 1.1,(t+j)*b,-1);
2、輸入量和取什麼值的情況下有解?我試過幾組引數,都找不到可行解。
3、這個是整數規劃問題,MATLAB在求解整數規劃方面的能力比較有限,幾個可用的函式主要包括:
求解0-1規劃的;
2011b之後的遺傳演算法,可求解混合整數規劃問題,但對於存在整數約束的情況,不允許同時指定等式約束;
2014a引入的函式,可以處理混合整數線性規劃問題(Mixed-integer linear programming,MILP)。
第三方函式,例如和,但前者年代久遠,問題比較多,後者需要動態連結庫,配置和使用都不太方便。
對於你現在的這個問題來說,雖然約束條件都是線性的,但目標函式卻是非線性的,所以勉強可以試一試的只有、和,即使改寫了,求解結果也很難樂觀,所以,不建議使用MATLAB求解。
1、你用的是什麼版本的Lingo?我用11.0不能識別下面的語句:
f1=@IF(a*(i+k)>1.1,(q+m)*b,-1);
f3=@IF(a*(p+n)>1.1,(t+j)*b,-1);
需要改成
f1=@IF(a*(i+k) #GT# 1.1,(q+m)*b,-1);
f3=@IF(a*(p+n) #GT# 1.1,(t+j)*b,-1);
2、輸入量和取什麼值的情況下有解?我試過幾組引數,都找不到可行解。
3、這個是整數規劃問題,MATLAB在求解整數規劃方面的能力比較有限,幾個可用的函式主要包括:
求解0-1規劃的;
2011b之後的遺傳演算法,可求解混合整數規劃問題,但對於存在整數約束的情況,不允許同時指定等式約束;
2014a引入的函式,可以處理混合整數線性規劃問題(Mixed-integer linear programming,MILP)。
第三方函式,例如和,但前者年代久遠,問題比較多,後者需要動態連結庫,配置和使用都不太方便。
對於你現在的這個問題來說,雖然約束條件都是線性的,但目標函式卻是非線性的,所以勉強可以試一試的只有、和,即使改寫了,求解結果也很難樂觀,所以,不建議使用MATLAB求解。