0

0

AI驱动运筹优化「光刻机」!中科大等提出分层序列模型,大幅提升数学规划求解效率

WBOY

WBOY

发布时间:2023-04-11 10:21:02

|

2183人浏览过

|

来源于51CTO.COM

转载

数学规划求解器因其重要性和通用性,被誉为运筹优化领域的「光刻机」。

其中,混合整数线性规划 (Mixed-Integer Linear Programming, MILP) 是数学规划求解器的关键组件,可建模大量实际应用,如工业排产,物流调度,芯片设计,路径规划,金融投资等重大领域。

近期,中科大 MIRA Lab 王杰教授团队和华为诺亚方舟实验室联合提出分层序列模型(Hierarchical Sequence Model, HEM),大幅提升混合整数线性规划求解器求解效率,相关成果发表于ICLR 2023。

目前,算法已整合入华为 MindSpore ModelZoo 模型库,相关技术和能力并将于今年内整合入华为天筹(OptVerse)AI求解器。该求解器旨在将运筹学和AI相结合,突破业界运筹优化极限,助力企业量化决策和精细化运营,实现降本增效!

图片

作者列表:王治海*,李希君*,王杰**,匡宇飞,袁明轩,曾嘉,张勇东,吴枫

论文链接:https://openreview.net/forum?id=Zob4P9bRNcK

开源数据集:https://drive.google.com/drive/folders/1LXLZ8vq3L7v00XH-Tx3U6hiTJ79sCzxY?usp=sharing

PyTorch 版本开源代码:https://github.com/MIRALab-USTC/L2O-HEM-Torch

MindSpore 版本开源代码:https://gitee.com/mindspore/models/tree/master/research/l2o/hem-learning-to-cut

天筹(OptVerse)AI求解器:https://www.huaweicloud.com/product/modelarts/optverse.html

图片

图1. HEM 与求解器默认策略(Default)求解效率对比,HEM 求解效率最高可提升 47.28%

1 引言

割平面(cutting planes, cuts)对于高效求解混合整数线性规划问题至关重要。

其中割平面选择(cut selection)旨在选择待选割平面的恰当子集以提高求解 MILP 的效率。割平面选择在很大程度上取决于两个子问题: (P1)应优先选哪些割平面,以及(P2)应选择多少割平面。

尽管许多现代 MILP 求解器通过手动设计的启发式方法来处理 (P1) 和 (P2),但机器学习方法有潜力学习更有效的启发式方法。

然而,许多现有的学习类方法侧重于学习应该优先选择哪些割平面,而忽略了学习应该选择多少割平面。此外,我们从大量的实验结果中观察到又一子问题,即(P3)应该优先选择哪种割平面顺序,对求解 MILP 的效率也有重大影响。

为了应对这些挑战,我们提出了一种新颖的分层序列模型(Hierarchical Sequence Model, HEM),并通过强化学习框架来学习割平面选择策略。

据我们所知,HEM 是首个可同时处理(P1),(P2)和(P3)的学习类方法。实验表明,在人工生成和大规模真实世界 MILP 数据集上,与人工设计和学习类基线相比,HEM 大幅度提高了求解 MILP 的效率。

2 背景与问题介绍

2.1 割平面(cutting planes, cuts)介绍

混合整数线性规划(Mixed-Integer Linear Programming, MILP)是一种可广泛应用于多种实际应用领域的通用优化模型,例如供应链管理 [1]、排产规划 [2]、规划调度 [3]、工厂选址 [4]、装箱问题 [5]等。

标准的MILP具有以下形式:

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

图片

(1)

给定问题(1),我们丢弃其所有整数约束,可得到线性规划松弛(linear programming relaxation, LPR)问题,它的形式为:

图片

(2)

由于问题(2)扩展了问题(1)的可行集,因此我们可有,即 LPR 问题的最优值是原 MILP 问题的下界。

给定(2)中的 LPR 问题,割平面(cutting planes, cuts)是一类合法线性不等式,这些不等式在添加到线性规划松弛问题中后,可收缩 LPR 问题中的可行域空间,且不去除任何原 MILP 问题中的整数可行解。

2.2 割平面选择(cut selection)介绍

MILP 求解器在求解 MILP 问题过程中可生成大量的割平面,且会在连续的回合中不断向原问题中添加割平面。

具体而言,每一回合中包括五个步骤:

(1)求解当前的 LPR 问题;

(2)生成一系列待选割平面;

(3)从待选割平面中选择一个合适的子集;

(4)将选择的子集添加到 (1) 中的 LPR 问题,以得到一个新的 LPR 问题;

(5)循环重复,基于新的 LPR 问题,进入下一个回合。

将所有生成的割平面添加到 LPR 问题中可最大程度地收缩该问题的可行域空间,以最大程度提高下界。

然而,添加过多的割平面可能会导致问题约束过多,增加问题求解计算开销并出现数值不稳定问题 [6,7]。

因此,研究者们提出了割平面选择(cut selection),割平面选择旨在选择候选割平面的适当子集,以尽可能提升 MILP 问题求解效率。割平面选择对于提高解决混合整数线性规划问题的效率至关重要 [8,9,10]。

Joker AIx
Joker AIx

一站式AI创意生产平台,覆盖图像、视频、音频、文案全品类创作

下载

2.3 启发实验——割平面添加顺序

我们设计了两种割平面选择启发式算法,分别为 RandomAll 和 RandomNV(详见原论文第3章节)。

它们都在选择了一批割平面后,以随机顺序将选择的割平面添加到 MILP 问题中。如图2结果显示,选定同一批割平面的情况下,以不同的顺序添加这些选定割平面对求解器求解效率有极大的影响(详细结果分析见原论文第3章节)。

图片

图2. 每一个柱子代表在求解器中,选定相同的一批割平面,以10轮不同的顺序添加这些选定割平面,求解器最终的求解效率的均值,柱子中的标准差线代表不同顺序下求解效率的标准差。标准差越大,代表顺序对求解器求解效率影响越大。

3 方法介绍

在割平面选择任务中,应该选择的最优子集是不可事先获取的。

不过,我们可以使用求解器评估所选任意子集的质量,并以此评估作为学习算法的反馈。

因此,我们利用强化学习(Reinforcement Learning, RL)范式来试错学习割平面选择策略。

在本节中,我们详细阐述了我们提出的 RL 框架。

首先,我们将割平面选择任务建模为马尔科夫决策过程(Markov Decision Process, MDP);然后,我们详细介绍我们提出的分层序列模型(hierarchical sequence model, HEM);最后,我们推导可高效训练 HEM 的分层策略梯度。我们整体的 RL 框架图如图3所示。

图片

图3. 我们所提出的整体 RL 框架图。我们将 MILP 求解器建模为环境,将 HEM 模型建模为智能体。我们通过智能体和环境不断交互采集训练数据,并使用分层策略梯度训练 HEM 模型。

3.1 问题建模

状态空间:由于当前的 LP 松弛和生成的待选 cuts 包含割平面选择的核心信息,我们通过定义状态。这里  表示当前 LP 松弛的数学模型, 表示候选割平面的集合,表示 LP 松弛的最优解。为了编码状态信息,我们根据的信息为每个待选割平面设计13个特征。也就是说,我们通过一个13维特征向量来表示状态 s。具体细节请见原文第4章节。

动作空间:为了同时考虑所选 cut 的比例和顺序,我们以候选割平面集合的所有有序子集定义动作空间。

奖励函数:为了评估添加 cut 对求解 MILP 的影响,我们可通过求解时间,原始对偶间隙积分(primal-dual gap integral),对偶界提升(dual bound improvement)。具体细节请见原文第4章节。

转移函数:转移函数给定当前状态和采取的动作,输出下一状态。割平面选择任务中转移函数隐式地由求解器提供。

更多建模细节请见原文第4章节。

3.2 策略模型:分层序列模型

如图3所示,我们将 MILP 求解器建模为环境,将 HEM 建模为智能体,下面详细介绍所提出的 HEM 模型。为了方便阅读,我们简化方法动机,聚焦于讲清楚方法实现,欢迎感兴趣的读者参见原论文第4章节,了解相关细节。

如图3中 Agent 模块所示,HEM 由上下层策略模型组成。上下层模型分别学习上层策略(policy)  和下层policy 。

首先,上层策略通过预测恰当的比例来学习应该选择的 cuts 的数量。假设状态长度为,预测比率为,那么预测应该选择的 cut 数为AI驱动运筹优化「光刻机」!中科大等提出分层序列模型,大幅提升数学规划求解效率

,其中AI驱动运筹优化「光刻机」!中科大等提出分层序列模型,大幅提升数学规划求解效率表示向下取整函数。我们定义AI驱动运筹优化「光刻机」!中科大等提出分层序列模型,大幅提升数学规划求解效率

其次,下层策略学习选择给定大小的有序子集。下层策略可以定义AI驱动运筹优化「光刻机」!中科大等提出分层序列模型,大幅提升数学规划求解效率,其中AI驱动运筹优化「光刻机」!中科大等提出分层序列模型,大幅提升数学规划求解效率表示给定状态S和比例K的动作空间上的概率分布。具体来说,我们将下层策略建模为一个序列到序列模型(sequence to sequence model, sequence model)。

最后,通过全概率定律推导出 cut 选择策略,即

图片

3.3 训练方法:分层策略梯度

给定优化目标函数

图片

图4. 分层策略梯度。我们以此随机梯度下降的方式优化 HEM 模型。

4 实验介绍

我们的实验有五个主要部分:

实验1. 在3个人工生成的MILP问题和来自不同应用领域的6个具有挑战性的MILP问题基准上评估我们的方法。

实验2. 进行精心设计的消融实验,以提供对HEM的深入洞察。

实验3. 测试 HEM 针对问题规模的泛化性能。

实验4. 可视化我们的方法与基线所选择的割平面特点。

实验5. 将我们的方法部署到华为实际的排产规划问题中,验证 HEM 的优越性。

我们在此文章中只介绍实验1,更多实验结果,请参见原论文第5章节。请注意,我们论文中汇报的所有实验结果都是基于 PyTorch 版本代码训练得到的结果。

实验1结果如表1所示,我们在9个开源数据集上对比了 HEM 和6个基线的对比结果。实验结果显示,HEM 可平均提升约 20% 求解效率。

图片

图5. 对easy、medium 和 hard 数据集的策略评估。最优性能我们用粗体字标出。以m表示约束条件的平均数量,n表示变量的平均数量。我们展示了求解时间和primal-dual gap 积分的算术平均值(标准偏差)。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

WorkBuddy
WorkBuddy

腾讯云推出的AI原生桌面智能体工作台

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
TypeScript类型系统进阶与大型前端项目实践
TypeScript类型系统进阶与大型前端项目实践

本专题围绕 TypeScript 在大型前端项目中的应用展开,深入讲解类型系统设计与工程化开发方法。内容包括泛型与高级类型、类型推断机制、声明文件编写、模块化结构设计以及代码规范管理。通过真实项目案例分析,帮助开发者构建类型安全、结构清晰、易维护的前端工程体系,提高团队协作效率与代码质量。

1

2026.03.13

Python异步编程与Asyncio高并发应用实践
Python异步编程与Asyncio高并发应用实践

本专题围绕 Python 异步编程模型展开,深入讲解 Asyncio 框架的核心原理与应用实践。内容包括事件循环机制、协程任务调度、异步 IO 处理以及并发任务管理策略。通过构建高并发网络请求与异步数据处理案例,帮助开发者掌握 Python 在高并发场景中的高效开发方法,并提升系统资源利用率与整体运行性能。

39

2026.03.12

C# ASP.NET Core微服务架构与API网关实践
C# ASP.NET Core微服务架构与API网关实践

本专题围绕 C# 在现代后端架构中的微服务实践展开,系统讲解基于 ASP.NET Core 构建可扩展服务体系的核心方法。内容涵盖服务拆分策略、RESTful API 设计、服务间通信、API 网关统一入口管理以及服务治理机制。通过真实项目案例,帮助开发者掌握构建高可用微服务系统的关键技术,提高系统的可扩展性与维护效率。

140

2026.03.11

Go高并发任务调度与Goroutine池化实践
Go高并发任务调度与Goroutine池化实践

本专题围绕 Go 语言在高并发任务处理场景中的实践展开,系统讲解 Goroutine 调度模型、Channel 通信机制以及并发控制策略。内容包括任务队列设计、Goroutine 池化管理、资源限制控制以及并发任务的性能优化方法。通过实际案例演示,帮助开发者构建稳定高效的 Go 并发任务处理系统,提高系统在高负载环境下的处理能力与稳定性。

47

2026.03.10

Kotlin Android模块化架构与组件化开发实践
Kotlin Android模块化架构与组件化开发实践

本专题围绕 Kotlin 在 Android 应用开发中的架构实践展开,重点讲解模块化设计与组件化开发的实现思路。内容包括项目模块拆分策略、公共组件封装、依赖管理优化、路由通信机制以及大型项目的工程化管理方法。通过真实项目案例分析,帮助开发者构建结构清晰、易扩展且维护成本低的 Android 应用架构体系,提升团队协作效率与项目迭代速度。

90

2026.03.09

JavaScript浏览器渲染机制与前端性能优化实践
JavaScript浏览器渲染机制与前端性能优化实践

本专题围绕 JavaScript 在浏览器中的执行与渲染机制展开,系统讲解 DOM 构建、CSSOM 解析、重排与重绘原理,以及关键渲染路径优化方法。内容涵盖事件循环机制、异步任务调度、资源加载优化、代码拆分与懒加载等性能优化策略。通过真实前端项目案例,帮助开发者理解浏览器底层工作原理,并掌握提升网页加载速度与交互体验的实用技巧。

102

2026.03.06

Rust内存安全机制与所有权模型深度实践
Rust内存安全机制与所有权模型深度实践

本专题围绕 Rust 语言核心特性展开,深入讲解所有权机制、借用规则、生命周期管理以及智能指针等关键概念。通过系统级开发案例,分析内存安全保障原理与零成本抽象优势,并结合并发场景讲解 Send 与 Sync 特性实现机制。帮助开发者真正理解 Rust 的设计哲学,掌握在高性能与安全性并重场景中的工程实践能力。

226

2026.03.05

PHP高性能API设计与Laravel服务架构实践
PHP高性能API设计与Laravel服务架构实践

本专题围绕 PHP 在现代 Web 后端开发中的高性能实践展开,重点讲解基于 Laravel 框架构建可扩展 API 服务的核心方法。内容涵盖路由与中间件机制、服务容器与依赖注入、接口版本管理、缓存策略设计以及队列异步处理方案。同时结合高并发场景,深入分析性能瓶颈定位与优化思路,帮助开发者构建稳定、高效、易维护的 PHP 后端服务体系。

506

2026.03.04

AI安装教程大全
AI安装教程大全

2026最全AI工具安装教程专题:包含各版本AI绘图、AI视频、智能办公软件的本地化部署手册。全篇零基础友好,附带最新模型下载地址、一键安装脚本及常见报错修复方案。每日更新,收藏这一篇就够了,让AI安装不再报错!

170

2026.03.04

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
10分钟--Midjourney创作自己的漫画
10分钟--Midjourney创作自己的漫画

共1课时 | 0.1万人学习

Midjourney 关键词系列整合
Midjourney 关键词系列整合

共13课时 | 0.9万人学习

AI绘画教程
AI绘画教程

共2课时 | 0.2万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号