首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

涨知识!原来优化软件CPLEX,BARON,SCIP 中还有这些小心机!

『运筹OR帷幄』原创

作者:王希杰

运筹学爱好者快点看过来在这里一定会有你所感兴趣的话题,让你茅塞顿开。

✅这里还有大牛经典语录以及学界、业界前沿动态☝️定会让你满载而归。

我们将开通OR/AI下面更细分领域的学术群,鼓励相近领域的运筹学爱好者深度交流。上期文章我们进行了新开微信群的投票活动,下面让我们一起来看一下投票结果吧!

根据投票结果,我们将增加开通数据科学|挖掘混合整数规划的微信学术群,如果你是运筹学|人工智能硕博或在读,请在公众号后台留言:“加微信群”。系统会进一步提示,邀请您进全球运筹或AI学者群(群内学界、业界大佬云集)。

同时,也欢迎大家继续在文末留言,说出你最想开设的领域的微信群~

温馨提示:我们还有有【运筹|优化】【供应链|物流】【人工智能】【数据科学|分析】等运筹学|人工智能爱好者千人QQ群,请关注公众号点击“加入社区”按钮,获得入群传送门。

下面就来看看我们第六期是整理了哪些话题吧。⬇️⬇️

往期微信学术群群聊精华语录传送门

2018年8月22日 Baron求解过大规模非线性问题误差

北-敬一-计算机系统生物学:请问有谁用过Baron解过大规模非线性问题?我发现Baron得出来的解的误差明显大于设定的约束容差(feasibility tolerance),我的是一个混合整数双线性问题,两三万个连续变量,十几个整数变量,十几个非线性约束。MATLAB/Baron界面,Baron版本均为最新。

留-海德堡-组合优化AI:tolerance指的是MIP Gap,还是某个约束的tolerance呢。Baron没用过,向您学习一下。

北-敬一-计算机系统生物学:不是,我指的是对于一个约束的容差,就是你把解代入一个约束,得出来的值和约束的lhs,rhs(约束不等式两边的常数)的差值。

北-敬一-计算机系统生物学:其实我将这个问题问过Baron的开发者,但他也不知道为什么会这样。

留-海德堡-组合优化AI:试着改改这个tolerance,再跑跑。另外可以再试试其他minlp solver,比如Couenne。

北-敬一-计算机系统生物学:Tolerance 为10e-7或10e-6,有些约束的误差可以达到高于10e2,

目前只有Baron能求全局最优吧,还能怎么改容差差,我本来设定的容差就不高,对于非线性问题好像只有Baron能全局最优吧。

留-海德堡-组合优化AI:大家多读gurobi或者cplex关于分布式算法的文档吧,里面写的很清晰。minlp只是试图全局最优吧?nonconvex的时候,u never know。

2018年8月27日    海德堡大学Panda

王-东北大学-动态优化:Panda 是 Porta 的新版本 有用过Porta或者 Panda的小伙伴可以交流一下。

留-海德堡-组合优化AI:我在美国做硕士论文求convex hull所有facets的时候还用过Porta,去了海德堡才意识到原来是这里出品的。

王-东北大学-动态优化:最近有一篇论文 可以找到0-1混合整数规划凸包的一般描述,需要借助Porta软件来实现。不过貌似Porta的算法是暴力计算,决策变量维数超过30,计算时间就超长。所以我在考虑它的新版本Panda。

留-海德堡-组合优化AI:类似的还有polymake,还有一个Magdeburg大学出品的软件,忘了名字了。

ZHOU-Univ of kentucky:其他的软件还有parma polyhedra library, cddlib, lrslib, 以及新出的Normaliz。

华-统计-交通优化:panda是python的库?

Yin-SMU-Power Engineering Phd:这俩不是一个东西,py的库叫pandas。

2018年8月28日IBM CPLEX 求解binary变量做post processing

Zelene-大连理工-优化:求教各位前辈,我在用IBM ILOG CPLEX IDE求解一个混合整数规划模型时,把其中的一个二维决策变量定义为 float+ 类型,但在最后求得的结果里,该变量还是出现了负数值,请问这是为什么呢?如何可以修正?

留-海德堡-组合优化AI:决策变量不应该是binary么

Zelene-大连理工-优化:我求解的是一个混合整数规划模型,里面有部分变量是连续型的,其中有一个要求是大于零的实数,所以我按照opl建模语言教程把它定义为float+。但不知为何求出来还是有小于零的值。

李-南航大-机场交通优化:那是近似解,有Gap,小于0的值应该很小,接近于0.binary是0-1变量类型的决策变量,但好多VRP问题会有binary类型变量和float+类变量。

留-海德堡-组合优化AI:科学计算都有numerical error。可以做一下post processing~例如binary变量,解出来很有可能是+-0.0000000001,需要做一下post processing,加个判断语句,把这些变成0。

2018年8月29日优化软件 CPLEX & GUROBI &SCIP

李-西南交大-运输优化系统:想问下我在用yalmip求解的时候,cplex和gurobi都能找到,可是为啥scip一直都是Solver not found,明明这三个软件我都装了~

小千-东普-数据分析:试试重新安装一下,可能是注册表信息损坏。

李-西南交大-运输优化系统:嗯嗯,就是重新装了两遍~,还把原来旧的5.0.1卸载了,装了新的6.0.0。然后我用path在matlab里面搜,确实没看到scip的path,cplex和gurobi的path都有,难道是scip没写matlab的接口?我确实在scip的安装文件夹里没找到跟matlab相关的,装完具体的solver软件还需要在matlab里面添加路径吗,我有点忘记了我之前装cplex和gurobi时候的了~

杨-西南交大-运筹优化:需要添加路径。

李-西南交大-运输优化系统:可是SCIP安装文件夹里面没有m文件。

杨-西南交大-运筹优化:用yalmiptest 命令看看对应的solver是否起作用。

李-西南交大-运输优化系统:添加了一堆空文件夹,yalmiptest查过了,SCIP就是 solver not found。

杨-西南交大-运筹优化:没用过scip,之前折腾过没成功。

李-西南交大-运输优化系统:那yalmip官网上都是骗人的,说可以支持scip,我之前折腾scip也没成功,现在又要用还是不行~我去看看SCIP主页上有没有说相关情况。

杨-西南交大-运筹优化:可以发邮件问问Johan。

李-西南交大-运输优化系统:哈哈,有道理!~可以试试,说不定下个release他就修复这个bug了

杨-西南交大-运筹优化:Scip对mip模型的效率没有gurobi和cplex高。

李-西南交大-运输优化系统:我主要看重SCIP能解nonlinea。但其实我感觉应该SCIP的问题,它安装文件里没写个m文件接入matlab,我看gurobi和cplex都有。

杨-西南交大-运筹优化:我用这两个都没问题。

李-西南交大-运输优化系统:嗯嗯,我也是,cplex和gurobi都没问题,但是这俩好像解不了nonlinear。

王-巴黎六大-运筹:有接口告诉我哈 我两年前试过 没找到接口

杨-西南交大-运筹优化:我之前scip没弄成功啊。

伍-杉数科技:https://www.inverseproblem.co.nz/OPTI/这个的学术版提供了来布接口。

李-西南交大-运输优化系统:

伍-杉数科技:yalmip应该是依赖这个工具包。

李-西南交大-运输优化系统:我好像看到了SCIP官网上说接口要自己整,附了code。

伍-杉数科技:

王-巴黎六大-运筹:这个只能windows用,其他平台不能用的 小心哈。

伍-杉数科技:我不用来布,opti的作者应该是提供了接口的源。

李-西南交大-运输优化系统:我先看看SCIP的官网的,它好像附了code

伍-杉数科技:可以自行调整编译,确实是依赖这个库。

王-巴黎六大-运筹:Opti是windows接口 其他都不能用。

伍-杉数科技:https://github.com/jonathancurrie/OPTI/tree/master/Solvers/Source/scip,这是接口源码,我想有源码可以调整调整,自己编译一下,不是什么难事

李-西南交大-运输优化系统:恩,我就是在windows的~谢谢,我瞅瞅~SCIP官方在GitHub上的代码已经放弃matlab了。。。

伍-杉数科技:这是opti的作者写的。

李-西南交大-运输优化系统:没放matlab的,SCIP Interfaces · GitHub,https://github.com/SCIP-Interfaces。

王-巴黎六大-运筹:没必要scip 好多替代的solver啊。

李-西南交大-运输优化系统:我刚刚看的scip官方的,除了lingo,其他解nonlinear的求解器我感觉我都用不了。scip是唯一开源的了。

王-巴黎六大-运筹:Ipopt

李-西南交大-运输优化系统:我的是minlp,就这几个里面选,Baron下来应该就到scip了。

伍-杉数科技:couenne目前只有ampl接口,opti也支持,当然也可以pyomo调用。

王-巴黎六大-运筹:Jump不支持吗?

伍-杉数科技:支持,也是hook的nl那套。以ampl接口为原型。

李-西南交大-运输优化系统:不过你说yalmip也用的OPTI Toolbox,为啥yalmip识别不出SCIP。

伍-杉数科技:不用来布,不用yalmip。

李-西南交大-运输优化系统:果然是要用它的code,不过不知道为什么只能识别linear,却识别不了nonlinear,应该还是它的bug,更新过一次patch的,

—— 完 ——

温馨提示

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180924G1D7HC00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券