fico xpress优化器python接口

xpress的Python项目详细描述


Xpress Python接口

xpress python接口是一个python模块,用于使用python编程语言和FICO Xpress优化器库创建和解决优化问题。该模块允许

  • 创建、处理、解决和查询优化问题;
  • 使用python数字库(如numpy)创建优化问题;
  • 设置并获取问题参数(控件和属性)的值;以及
  • 使用python函数作为xpress优化器和xpress非线性解算器的回调。

xpress python接口允许创建、处理和解决所有可以用fico xpress库解决的问题:线性规划(lp)、二次规划(qp)、二阶圆锥规划(socp)及其混合整数扩展:milp、miqp、miqcqp、misocp,以及一般非线性和混合整数非线性。

示例

下面是一个带二次约束和两个变量的优化问题,其中一个变量是整数:

min  x1^2 + 2 x2
s.t. x1 + 3 x2 >= 4
     -10 <= x1 <= 10
     x1 in Z
     x2 >= 0

程序的输入和求解如下(注意,所有变量都假定为非负):

importxpressasxpx=xp.var(vartype=xp.integer,name='x1',lb=-10,ub=10)y=xp.var(name='x2')p=xp.problem()p.addVariable(x,y)p.setObjective(x**2+2*y)p.addConstraint(x+3*y>=4)p.solve()print("solution: {0} = {1}; {2} = {3}".format(x.name,p.getSolution(x),y.name,p.getSolution(y)))

安装

从8.5.3版开始,可以从PyPIAnaconda下载Xpress Python接口。运行

pip install xpress

从pypi安装,然后

conda install -c fico-xpress xpress

从conda存储库安装。

下载的包中包含:一个文件夹,其中包含模块使用的几个示例,难度各不相同;一个目录license,其中包含Xpress Community License;一个目录doc,其中包含PDF版本的手册——Xpress优化器库的完整HTML文档,包括Python接口及其示例,也可以在FICO Xpress Optimization Help页上找到。

如果您没有任何FICO Xpress许可证,则模块将识别社区许可证,无需进一步操作。如果您确实拥有许可证,例如位于/users/johndoe/xpauth.xpr,请确保将全局环境变量XPRESS设置为指向包含xpauth.xpr文件的文件夹,即XPRESS=/user/johndoe

许可

位于license目录中的文件community-xpauth.xpr许可证文件允许解决最多5000行+列的问题。要获得无限制的许可证,请通过support@fico.com与FICO联系。学术许可证也是无限的,可以通过Academic Partnership Program获得。

版权所有(c)Fair Isaac 1983-2019

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Java中ArrayList的超简单问题   Java 8在一段时间后过期   java如何创建具有用户定义维度的矩阵,并使用从上到下、从左到右的递增值填充它?   java从JDBC重启mysql   带有sqlite的java LiveData未更新UI   带有JDialog的java小程序在Mac OSX中未正确隐藏   java ActionListener无法从公共类引用数组?   java Apache Digester:NoSuchMethodException:没有这样的可访问方法   安卓中数据库中的java数据没有以正确的格式检索   java快速排序实现:使用random pivot时几乎排序   安卓 Java:高效的ArrayList过滤?   java如何在单独的文件中制作GUI程序   jasper报告如何从JSP或Java代码在JasperReport中传递参数值?