亲爱的MindOpt用户,
感谢对MindOpt的支持和关注。
一直以来,我们MindOpt 求解器的API在使用上收到了很多的咨询和反馈,V0.x版本的API在使用上有些不便,为了解决用户的问题,我们团队努力开发了一版全新的API,升级软件版本号为V1.x。
诚邀您参与测试新版beta,帮忙多提意见!我们的目标是让新版API能非常好用,不再有吐槽!!!
- 新研发的算法的如涉及API新增的,后续将仅在新版本上更新。如Callback功能在V1.x上有。
- 此版本改变非常的大,为了防止用户用混,大部分API的名称都进行了修改,即V1.x的API与V0.x不兼容。
- 主要的算法性能改进,在V1.x上更新。
内测版本:MindOpt-1.0.0-beta版本 C/C++/Java/Python
参与方式:在钉钉答疑群钉钉群:32451444,私聊群主悠悠喵喵(钉钉号:wy186633) 或管理员向金平(钉钉号:hw2-wwffqg05p)或者邮箱solver.damo@list.alibaba-inc.com
参与要求:拥有阿里云账号(钉钉扫码登录即可获得阿里云账号)
API修改示例:
添加变量和约束
V0.x API Python |
V1.x API Python |
MdoModel.add_vars(indices,lb,ub,obj,name,is_integer) MdoModel.add_cons(lhs,rhs,expr,name)
|
Model.addMVar(shape, lb=0.0, ub=float('inf'), obj=0.0, vtype='C', name='') Model.addMConstr(A, x, sense, b, name='')
|
设置目标
V0.x API Python |
V1.x API Python |
MdoModel.add_vars(indices,lb,ub,obj,name,is_integer)
|
Model.setObjective(expr, MDO.MINIMIZE)
|
新增:callback回调功能
- 可用于获取中间结果,进行求解过程跟踪;
- 也可设置启发式决策来优化求解速度,比如:添加割平面,裁剪不会出现最优解的分支;干预 MindOpt 的分支选择策略,控制节点二分方法及遍历顺序;添加自定义可行解(比如通过某种启发式算法得到),一个较好的可行解可以加速 MindOpt 的求解效率。
接口如:
model.cbGet(MDO.Callback.PRE_LB, var) model.cbGet(MDO.Callback.OBJBST) model.cbSetSolution(sol)