分享好友 最新动态首页 最新动态分类 切换频道
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。任务排队也可以查看当前环境和账号支持的额度。更多的指令可以参考上文的 的 来表示。


最新文章
高清美女写真一键生成!揭秘超热门AI绘图工具使用指南
限时免费,点击体验最近超火的AI生图神器,坐拥3000美女的大男主就是你! https://ai.sohu.com/pc/generate/textToImg?_trans_=030001_yljdaimn 在这个技术飞速发展的时代,AI绘图工具的出现让人们能以惊人的速度生成各种图像,尤其是美女
资产负债表模板:解读财务状况,洞悉企业经营
资产负债表是企业财务报表中最重要的组成部分之一,它像一张企业财务状况的 快照,展示了企业在特定时间点的资产、负债和所有者权益情况,为投资者、债权人、管理者等提供重要的财务信息。资产负债表的基本概念资产: 企业拥有的能够产生未
百度李彦宏:通过创业挣钱是最苦的一条路
李彦宏李彦宏创业语录□不要轻易将主动权交给投资人,在创业的过程中没有人会乐善好施。□生活与工作一样,一切都应该立足于实际。□做自己喜欢做的事情,做自己擅长做的事情。□不走康庄大道,我自己喜欢做什么要比别人怎么看我更重要。□
淘宝直通车商家选词有没有什么技巧?
选择的关键词不同,那么在关键词背后的人群、竞争环境、流量变化等等数据都是不一样的,而且和商品的匹配程度也是有所不同。所以关键词选择的好坏会直接影响到整个直通车数据表现。有很多的买家朋友都说直通车无法带动自然搜索,很可能就是
置顶开发一个小程序需要多少钱?精选热门
“经过3年的发展,如今的小程序已经基本融入了我们生活中,在购物、饮食、娱乐中都有可能用到小程序,微信小程序的出现让商家有了流量支撑,给很多想从线上发展的商家带来了商机。线下门店商家拥有自己的小程序,就能整合线下资源,把流动
【QUADX1WiFi万能钥匙下载】华为QUADX1WiFi万能钥匙5.1.02免费下载
下载WiFi万能钥匙,认准官方正版!免费安全WiFi热点,无忧一键连接。日常任务随时做,轻松赚现金外快~【积分赚钱】完成简单日常任务,轻轻松松赚现金【安全免费】随时随地免费连接,畅享安全免费WiFi,节省流量快人一步!【权威认证】通过
语音外呼机器人的优势有哪些?
‌5‌、提高工作效率‌:智能电销机器人能够在短时间内处理大量的潜在客户数据,并通过预设的脚本和算法进行高效的沟通。它们可以24小时不间断地工作,大大提高了工作效率‌。6、降低运营成本‌:智能电销机器人可以显著降低企业在人力资源
纯血鸿蒙系统内置华为分享功能:支持多人群发
快科技12月11日消息,鸿蒙官方微博发布了HarmonyOS NEXT系统“原生互联”功能展示视频,介绍了“纯血鸿蒙”系统下多设备协同的交互情况。举个例子,当用户面对一张小鸟的图片,内心泛起“这是何种鸟”的疑惑时,向小艺抛出问题,它便能即刻
音频大模型 FunAudioLLM 上线基石智算 青云科技 旗下 AI 算力云服务
来源:雪球App,作者: 青云科技,(https://xueqiu.com/8690072890/316474072)旗下 AI 算力云服务——基石智算 CoresHub 将 AI 算力云与模型开发部署服务完美融合,致力于为开发者打造完整的 AI 应用落地生态。对于初涉开发的用户而言,
网页采集工具-免费网页采集工具大全
很多人都不了解网页采集工具的作用,你以为他只是一个采集功能吗?网页数据采集可以应用于各行各业,发展到现在,它有着广泛的用途,这里列举一些比较常见的用途,当然他的用途不止这些,要列举
相关文章
推荐文章
发表评论
0评