lp文件格式,如何乘以变量

时间:2014-08-23 18:48:54

标签: linear-programming lpsolve

我正在尝试使用具有以下语法的lp文件:

http://www.rpi.edu/dept/math/math-programming/cplex66/sun4x_58/doc/refman/html/appendixE13.html

虽然它说乘法是这样的:

a * b

*给我一个语法错误。任何想法?
我使用的是标准的linux软件包lp_solve

2 个答案:

答案 0 :(得分:1)

我正在使用Gurobi和CoinOR(CBC)的LP文件,并且乘法的格式是不使用*符号。因此,如果您有约束a * b,只需写:

a b

不要忘记空格,否则它将被视为新变量ab(即使您的一个术语是纯数值)。

答案 1 :(得分:1)

您不能在线性程序中将两个变量相乘。这就是为什么它被称为线性程序的原因。 线性方程或不等式总是一次多项式,因此它具有以下形式:

c1*x1 + ... + cn*xn = b

其中{c1,..,cn}b是常量,{x1,..,xn}是变量。

阅读定义以获取更多信息:

https://en.wikipedia.org/wiki/Linearity

如果您正在寻找更高程度多项式的优化方法,请搜索非线性优化,例如:

https://en.wikipedia.org/wiki/Nonlinear_programming