分享好友 最新动态首页 最新动态分类 切换频道
MindOpt Tuner调参器,提升求解速度、性能(一)
2024-12-26 19:52

MindOpt 调参器MindOpt Tuner,简称 MTuner)是一款超参自动优化工具。

MindOpt Tuner调参器,提升求解速度、性能(一)

它可以帮助运筹优化工程师在使用求解器时自动搜索最佳参数组合。优化求解器往往拥有很多配置参数,例如启发式方法的开关、割平面方法的开关、预处理的配置以及各种误差容忍度等等。MindOpt Tuner会尝试不同的参数组合,评估每组参数的性能,然后基于这些结果来确定最佳参数。这样可以大大减少手动调整参数的时间和精力,并且可以帮助提升求解性能。

不同于常见的贪心算法、遗传算法、粒子群算法等调参算法,MindOpt Tuner使用了团队新研发的快速算法,只需要相对少的评估就能给出性能很好的参数。

输入:

  • 业务场景中的优化问题数据,一个或者多个均可以
  • 待调的求解器
  • (可选)这个求解器待调的参数。若没有指定,则会自动用MindOpt Tuner内部内置的能力。

输出

  • 一套最优参数。采用此参数运行该求解器,在您的业务场景上会得到更优的效果。
  • 一系列结果文件和日志,给出调参效果分析。比如会列出对效果影响更大的几个参数。

MindOpt Tuner 当前支持以下几种用法

  1. web页面作业提交:可直接在浏览器访问“作业提交”来提交和管理任务、获取结果,在其他渠道提交的任务也可在此任务管理查看到。
  2. Notebook容器:类似MindOpt求解器和建模语言,可以访问MindOpt建模求解平台的Notebook容器中使用Mtuner。其内核同单机版,但无需安装步骤直接浏览器中使用。采用Notebook项目方便记录笔记、查询接口和参数说明、混合编程、公开分享项目等。
  3. 单机版:支持在MacOS、Linux、Windows平台环境下来创建并触发调参任务。适合需要定制化集成或私有化部署的客户,安装包获取>>

本篇系列将重点讲解下Notebook容器中如何使用命令行(本篇PythonAPI,并且给出web页面任务提交用法示例截图。

:下面的文件包含code源码,您可复制本项目,然后在浏览项目内容页点击右上角的NoteBook按钮,进入环境后查看、运行、修改调试代码。

下文将通过以下顺序讲解

  1. 提交任务:根据一个问题调优
  2. 学习查询指令
  3. 查询结果
  4. 使用结果
  5. 提交一组数据用于调参(本地和OSS
  6. 其他常用指令

这里假设我们业务场景搜集到两个数据,nl_train_1.nl用来调参,nl_test_1.nl用来验证调参结果可用。

首先我们运行如下指令提交一个调参任务:

 
 

这里需注意:为了节省数据存储空间,同用户下的MD5值相同的数据文件,服务端仅会存一次。因此重复提交后会提醒文件已存在。此时调参任务继续执行,线上存的数据不更新。

这里小编已经提交了测试过,新提交taskID会和后文描述不一样。小编提交的taskID是 。后文将基于此ID来讲解获取结果,用户请注意更换自己的ID测试。

这段任务提交的指令可以解析为

指令段说明!使用cell magic,让可以在Python内核的Notebook的code cell里面运行命令行指令。mindopt-tuner是MindOpt Tuner调参器的可执行程序的名称create-task创建任务。还有其他指令可以通过 去查询–solver cbc选择求解器为cbc。还有其他参数可以通过 去查询–problem ‘https://blog.csdn.net/MindOpt_003/article/details/model/nl_train_1.nl’使用’https://blog.csdn.net/MindOpt_003/article/details/model/nl_train_1.nl’数据用于调参。–max-tuning-time 600设置调参任务的时间额度为600秒,到时间后会停止调优。

在上一节中我们提到了

指令段说明create-task创建任务。还有其他指令可以通过 去查询–solver cbc选择求解器为cbc。还有其他参数可以通过 去查询

这里,我们可以试运行以下指令,查询接口的用法

 
 

这里我们得到了操作词和功能说明,然后我们还可以根据 来查询对应操作词的使用说明。比如如何获取结果

 
 
 

根据上面的指令,我们可以通过以下方式来查询我们刚刚提交的任务的结果。用户测试时候,请注意更换上面自己任务的ID号。

 
 

这个日志列出了比较详细的信息,其中

  • 代表调参前的求解时间是 3.21s
  • 调参结束后的 代表的是优化调参后的建议取值和重要性评估。
  • 这句话代表,调参后的最快速度是0.09秒求解(wallclock_time,比原始参数提速 35.67 = 3.21/0.09 倍。

我们还可以运行如下指令,去获取上面表格 里面的文件信息,比如

 
 
 

这里我们可以验证下效果。刚求解的是.nl文件,可以参考MindOpt APL建模语言的设置求解器参数的指引来使用和设置参数。

如以下跑的代码

  1. 用cbc默认参数,原始参数求解完后,(Wallclock seconds):2.07 秒。
  2. 用MindOpt Tuner调参后的参数,(Wallclock seconds): 0.09 秒。

2.07 / 0.09 ≈ 23 倍

这里需要注意的是不同机器运行的耗时不一样,因此计算的提升倍数有差异,最优参数推荐值也可能不一样。上面调参器调优的结果是在云平台的远程服务器中运行,与本容器的环境并不一致,从本容器的运行结果大致也能看到速度有明显提升。

下面的指令输出的日志太长,为了优化阅读体验,我们删除了运行记录,您可以将下面的cell属性从Raw更改为Code后运行

 

这里我们还可以测试以下这个参数的迁移性,nl_test_1.nl文件是和nl_train_1.nl相似的一个问题,我们可以看看用训练出来的参数求解表现如何。

从运行结果看,花费的时间与训练数据接近,调优后的参数能提速近20倍。

下面的指令输出的日志太长,为了优化阅读体验,我们删除了运行记录,您可以将下面的cell属性从Raw更改为Code后运行

 
 

除了对于单个文件调参,还可以根据一组数据进行调参。举例:我们将数据存在 文件夹(这些数据来源于MindOpt求解器单机版的安装包的 文件夹,其访问路径(相对本运行环境)存储为一个txt文件mps_train_local.txt。

同时不仅仅支持文件存在本地容器,也支持存在云端oss。这个方式适合大文件(不适合浏览器上传或者这个容器放不下,我们可以用阿里云的对象存储OSS。这里我们举例有几个数据,存在了云端OSS(公开可访问,然后将数据的地址存入mps_train_oss.txt。

然后我们运行如下提交指令进行测试提交

 
 
 
 

小编运行的时候得到taskID:438398613857509376New 和 438398626012602368。
运行结束后,我们可以获得结果。从结果可以看出,可以得到提升。
Tips :对于求解器的调参,我们建议只在同一场景的问题上调优。如果问题结构差异很大,调参效果并不一定好

 
 
 

如果任务等待了很久,忘记了taskID,您还可以运行下面的指令查询自己账号下面的所有任务ID。任务排队也可以查看当前环境和账号支持的额度。更多的指令可以参考上文的 的 来表示。


最新文章
【Y516(移动3G)WiFi万能钥匙下载】华为Y516 移动3GWiFi万能钥匙5.1.02免费下载
下载WiFi万能钥匙,认准官方正版!免费安全WiFi热点,无忧一键连接。日常任务随时做,轻松赚现金外快~【积分赚钱】完成简单日常任务,轻轻松松赚现金【安全免费】随时随地免费连接,畅享安全免费WiFi,节省流量快人一步!【权威认证】通过
定义中国AI投资新坐标!全市场首只创业板人工智能ETF今日开创上市
中国AI产业最新权威统计数据来了!据中国互联网络信息中心最新发布的《生成式人工智能应用发展报告(2024)》统计,截至2024年6月末,我国生成式AI产品用户规模已达2.3亿人;截至目前,我国共有309个生成式AI产品完成备案,我国AI核心产业
"谷歌SEO独立站优化策略:提升外贸站点排名的关键步骤及实战案例分析
一、外贸独立站在谷歌SEO中的重要性:介绍外贸独立站的定义,以及为何在谷歌SEO中,拥有独立站是非常重要的。可以从提高品牌知名度、增加产品曝光度、方便优化和管理等方面进行阐述。外贸独立站在谷歌SEO中有着至关重要的地位,它是指专为
逆转裁判123成步堂精选集
《逆转裁判123成步堂精选集》是一款经典法庭对战手游,将玩家带入一个充满惊喜与挑战的司法世界。作为CAPCOM开发的知名电子游戏系列,该作品汇集了《逆转裁判》三部曲的精彩内容,让玩家在移动设备上体验原汁原味的剧情和独特的游戏玩法。
迅游加速器与联发科技深度合作,为手游用户解决网络延时难题
  在移动互联网领域,游戏、社交和购物是当今前三大应用。然而,对于规模最大的游戏用户来说,如何自动选择低延迟网络、避开拥堵线路,始终是个绕不开的难题。  7月30日,联发科技在上海举办以“游戏芯生 战力觉醒”为主题的新品技术发
百度爱采购代运营业务
百度爱采购代运营主要涉及的服务内容包括:1.页面模板设计:代运营公司可以帮助设计页面模板,包括封面图样式模板、详情页版式等,以提升商品的展现效果。2.问答营销:代运营公司可以协助进行问答营销,利用内部数据优势,帮助商家提高曝光
自助共享棋牌室小程序怎么开发?
自助共享棋牌室小程序怎么开发?这是当前市场中一个备受关注的话题,尤其在疫情后,很多人选择在家中进行休闲娱乐,而自助共享棋牌室的需求日益增加。作为一家专注于游戏和预约系统开发的企业,广州创智慧科技有限公司凭借其丰富的技术积累
百度中山公司
公司简介:公司简介:作为全球规模**大的中文搜索引擎,百度致力于向用户提供**便捷的搜索服务。百度拥有全球**大的中文网页库,每天处理来自一百多个国家的超过一亿人次的搜索请求。简单强大的搜索功能深受网民的信赖,每天有超过七万用户
打造高效网站导航,规划与实施全方位指南
高效实用的网站导航搭建攻略:首先明确网站定位与用户需求,规划导航结构,合理布局;选择合适的导航菜单设计,确保清晰易用;通过优化用户体验和搜索引擎优化,提升导航效果。规划阶段设计阶段实施阶段在互联网飞速发展的今天,网站如雨后
新奥2024今晚开奖结果,高效实施方法解析_WP版22.93
新奥2024彩票,作为全球最大的彩票之一,今晚的开奖结果备受瞩目。彩票爱好者们早已摩拳擦掌,准备迎接这一激动人心的时刻。新奥彩票以其公正性、透明度和高奖金而闻名,吸引了全球数以亿计的参与者。随着开奖时间的临近,彩票销售点外排起
相关文章
推荐文章
发表评论
0评