2016-06-29 51 views
1

我做了一個解決混合整數線性問題(MILP)的代碼。爲了儘可能快,我的代碼使用Cplex函數來解決MILP,cplexmilpcplexoptimset。 我對cplexoptimset設置的唯一的事情就是:使用Cplex for Matlab警告cplexlink1261:不支持的Matlab版本?

options =cplexoptimset ('Display','off'); 

而且比我跑:

x = cplexmilp(var1,var2,var3,var4,var5,var6,var7,var8,var9,var10,var11,var12,options) 

當我運行代碼,我收到警告:

Warning: The function 'cplexlink1261' returned an mxArray with non-temporary scope 
In cplexoptimset/secCplexOptions 
In cplexoptimset /setCplexOptions 
In cplexoptimset 
In cplexoptimset 
In myfunction 

然而,在經過這個警告,代碼繼續運行,並且它提供了我認爲合理的結果。

我上網尋找答案,我發現原因可能是我的Matlab版本2015b不支持cplex。

因此,我的問題是:我仍然可以相信我從函數中得到的結果嗎?我的解決方案是一個包含數千個變量的二進制向量,所以我實際上無法檢查。不過,我注意到從代碼中得到的其他結果與我在使用cplexmilp函數之前記錄的結果相似。

回答

1

我在網上衝浪尋找答案,我發現原因可能是我的Matlab版本2015b不支持cplex。

是的,這是正確的;您的MATLAB版本不受支持。有關您的CPLEX版本(推測爲12.6.1),請參閱Detailed system requirements

因此,我的問題是:我仍然可以相信我從函數中得到的結果嗎?

它不受支持,所以沒有經過測試。需要您自擔風險使用它。如果你想確定你的結果,那麼使用支持的MATLAB版本。我知道這不是一個非常令人滿意的答案,但它可能是最好的。

它看起來可能會禁用警告(如圖所示here),但這並不會改變任何內容。

+0

我明白了。我想找一個支持的Matlab版本。萬分感謝。 – Patapunfate