如何使用CPLEX读取括号或括号

时间:2017-04-03 22:05:14

标签: constraints cplex lpsolve mixed-integer-programming

我正在尝试使用CPLEX读取.lp文件,并且它给我一个错误1615,它无法读取"("或者甚至" [&#34]我对此并不满意,因为我需要阅读的内容中必须有括号。这就是我所拥有的:

[num1 + num2 + num3 + num4 + num5] * 1/12

首先,我不知道CPLEX如何采用乘法符号。所以,我有:

[num1 + num2 + num3 + num4 + num5] 1/12

然后,它可能无法读取分数或分裂符号。我甚至不确定如何写这个,所以它读它。除非CPLEX成功读取文件,否则我无法解决问题。

现在,类似地我也在使用LPsolve,它也无法读取括号,分数,乘法符号和除法符号。这两个对我来说目前都没用。在LPsolve中,我只需要将内容复制并粘贴到窗口中,然后运行它。

如果你们中的任何一个人有另一种方法来编写我上面的语句或者CPLEX或LPsolve阅读它的方法,那么这将非常有用。

1 个答案:

答案 0 :(得分: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,反之亦然)。