2017-04-03 175 views
0

我正在嘗試使用CPLEX讀取.lp文件,並且它給了我一個錯誤1615,它無法讀取「(」或甚至「[」。我是不滿意的話,因爲我有什麼需要讀取必須對自己的括號以下是我有:如何使用CPLEX讀取括號或括號

[NUM1 + NUM2 + NUM3 + num4 + num5] * 1/12

首先, ,我不知道CPLEX將如何採取乘號所以,相反,我有:

[NUM1 + NUM2 + NUM3 + num4 + num5] 1/12

然後,它可能無法讀取分數或分標誌。我甚至不知道如何寫這個,以便它讀取它。除非CPLEX成功讀取文件,否則我無法解決問題。

現在,同樣我也使用LPsolve,它也不能讀取圓括號,分數,乘號和除號。這些對我來說目前都是無用的。在LPsolve中,我只需將內容複製並粘貼到窗口中,然後運行它。

如果您有任何人有另一種方法來編寫上述聲明或者CPLEX或LPsolve讀取它的方法,那麼這將非常有用。

回答

0

以下不是對LP文件格式有效語法:

[NUM1 + NUM2 + NUM3 + num4 + num5] 1/12

方括號([])是僅允許用二次表達式。相反,你可以做這樣的事情:

0.083333 NUM1 + 0.083333 NUM2 + 0.083333 NUM3 + 0.083333 num4 + 0.083333 num5

(請注意,你可能會失去一些精度這樣做的1/12不能準確地表示作爲浮點數)。

請參閱CPLEX LP格式文檔here。另外,請記住,根據供應商,LP文件格式可能有不同的實現(即LPsolve可能不適用於CPLEX,反之亦然)。