Python 为变量指定类型的线性优化模型

Python 为变量指定类型的线性优化模型,python,optimization,scipy,lpsolve,Python,Optimization,Scipy,Lpsolve,python中是否有线性优化模型的实现,它允许显式定义my变量的类型。例如,我希望我的变量只能是整数。在R中使用lpSolve时,我可以定义如下: set.type(model, 1:18,type = "integer") 但我需要用python构建线性优化模型 有一个scipy的linprog实现,但它不允许定义我的变量的类型。由于IP(整数规划)和LP(线性规划)是用非常不同的算法解决的,因此一些解算器不允许两者混合(IMO):IP具有指数复杂性,LP具有多项式复杂性。您的问题是

python中是否有线性优化模型的实现,它允许显式定义my变量的类型。例如,我希望我的变量只能是整数。在R中使用lpSolve时,我可以定义如下:

    set.type(model, 1:18,type = "integer")
但我需要用python构建线性优化模型

有一个scipy的linprog实现,但它不允许定义我的变量的类型。

由于IP(整数规划)和LP(线性规划)是用非常不同的算法解决的,因此一些解算器不允许两者混合(IMO):IP具有指数复杂性,LP具有多项式复杂性。您的问题是一个MILP(混合整数线性规划),因此它具有指数复杂性,因此您需要一个。但请注意,如果引入许多整数变量,即使是小问题实例也可能很难解决。根据文档,Scipy的linprog只是一个LP解算器

顺便说一句,它看起来也有一个,和另一个界面,看起来更及时。我尝试了pylpsolve,并且能够从github repo中克隆并安装它,您可以看看这个函数(根据我前面所说的,您会注意到名称很混乱…)

>>> from pylpsolve import LP
>>> help(LP.setInteger)