基于大语言模型的组合优化

在这里插入图片描述
摘要:组合优化(Combinatorial Optimization, CO)对于提高工程应用的效率和性能至关重要。随着问题规模的增大和依赖关系的复杂化,找到最优解变得极具挑战性。在处理现实世界的工程问题时,基于纯数学推理的算法存在局限性,无法捕捉到优化所需的上下文细微差别。本研究探索了大型语言模型(Large Language Models, LLMs)在解决工程组合优化问题中的潜力,利用其推理能力和上下文知识。我们提出了一种基于LLM的新框架,该框架结合了网络拓扑和领域知识,以优化设计结构矩阵(Design Structure Matrix, DSM)的排序——这是一个常见的组合优化问题。我们在多个DSM案例上的实验表明,所提出的方法比基准方法具有更快的收敛速度和更高的解质量。此外,结果表明,尽管LLM的选择不同,融入上下文领域知识显著提高了性能。这些发现凸显了LLMs通过结合语义和数学推理来解决复杂现实世界组合优化问题的潜力。这一方法为现实世界中的组合优化开辟了新的范式。

组合优化现行解决方案

传统上,工程中的组合优化问题通常通过以下过程来解决:首先将问题建模为数学模型,然后使用特定的算法或启发式方法进行求解,最后在实际工程背景下进行解释[4]。这种问题求解和解释阶段的分离存在局限性,无法捕捉到现实世界问题优化所需的上下文细微差别。

LLM决策理论支持

1、近年来,大型语言模型(Large Language Models, LLMs)在自然语言生成、语义理解、指令跟随(instruction following)和复杂推理方面展示了强大的能力
2、研究表明,LLMs可以用于连续和具体的优化问题[7, 8, 9]。例如,DeepMind的研究人员利用LLMs作为优化器,并在经典的组合优化问题(如旅行商问题,TSP)上评估了其有效性
3、融入上下文领域知识可以通过语义洞察支持数学推理,从而提升LLMs的性能。先前的研究还强调,LLMs通过预训练获得了广泛的工程相关领域的知识,这增强了它们在工程领域的适用性。

创新点

在此基础上,我们提出了一种基于LLM的新框架,将网络拓扑和领域上下文整合到优化过程中。该框架首先从整个解空间中随机采样一个初始解。每个解都会根据预定义的标准由评估器进行评估,评估器量化了解的质量。基于这一评估,框架通过少样本学习(few-shot learning)和生成新的候选解来迭代更新解库,整个过程由精心设计的提示(prompts)引导,这些提示包括数学形式的网络信息和自然语言描述的领域知识。新生成的解及其评估结果会被添加到解库中。当达到迭代次数时,解库会返回最佳解作为最终输出。接下来,我们以DSM排序这一常见的组合优化问题为例,说明该框架的工作流程。框架的示意图如图2所示。

在这里插入图片描述
1、Initialization and solution sampling。初始化过程涉及从整个解空间中随机采样生成一个初始解。在DSM排序任务中,一个解表示一个完整且不重复的节点序列(见图2)。这个初始解随后会被评估并添加到解库中以供后续使用。在后续的迭代中,我们设计了一个采样规则,该规则从解库中选择 Kp 个表现最优的解,并从剩余的 Kn - Kp 个解中随机采样 Kq 个解,形成一个解集,其中 Kn 是解库中解的总数。Kp 和 Kq 是可调整的参数。获得的解集会被进一步优化并转化为提示(prompts)。

解库(Solution Base) 是一个核心模块,其功能包括:
(1) 存储已探索的解及其评估结果,
(2) 为后端LLM提供历史解以进行少样本学习(few-shot learning),
(3) 在迭代结束时返回表现最优的解。

2、LLM-driven optimization using network information and domain knowledge。在优化过程的每次迭代中,我们向后端LLM提供以下信息:

  • (i) 拓扑信息:这两个元素完成了DSM的数学描述。值得注意的是,描述网络的数学表示有多种等价形式,例如边列表(edge list)、根据节点序列的依赖关系列表或邻接矩阵。在本研究中,我们选择边列表作为网络拓扑的表示形式,并对所有边进行随机打乱以避免可能的偏差。
  • (ii) 上下文领域知识:这包括每个节点的名称和网络的整体描述,这些信息将DSM数学结构背后的领域知识传递给LLM。例如,在活动DSM中,每个节点代表整个设计过程中的一个活动名称。
  • (iii) 元指令:我们采用了一些常用的提示工程策略[20],包括角色扮演、任务规范和输出格式规范。这些策略使LLM能够根据指导进行推理,并以特定格式生成解。
  • (iv) 选定的历史解:如上一节所述,我们通过从解库中采样获得最多 Kp + Kq 个解,供LLM在少样本学习中使用。

一旦接收到上述输入,后端LLM会结合网络拓扑信息和领域知识进行推理,并提出新的解。生成的解必须通过检查器(checker)的验证,检查器会确保序列中的所有节点都恰好出现一次。一旦验证通过,该解会被评估并添加到解库中。详细的输入提示(prompts)见附录1。

3、Evaluation of DSM sequencing solutions。评估器(evaluator)用于量化每个新生成的解。对于DSM排序任务,目标是通过重新排列DSM的行和列来最小化反馈循环。为了实现这一目标,评估器会计算对应序列中的反向依赖数量。

数值试验

以设计结构矩阵(Design Structure Matrix, DSM)排序任务为例,作为组合优化问题的一个实例。DSM是工程设计中的一种建模工具,用于表示系统中任务或组件之间的依赖关系[14]。重新排序DSM的节点序列可以显著减少反馈循环并提高模块化[15, 16]。DSM排序问题也是一个NP难问题,传统方法通常使用基于启发式的算法来解决[17, 18]。图1展示了一个设计活动DSM在排序前和排序后的对比[19]。在本文中,我们在多个DSM案例上进行了广泛的实验,以证明我们基于LLM的方法在收敛速度和解质量上优于基准方法。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/892546.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【数据库】Unity 使用 Sqlite 数据库

1.找到需要三个 DLL Mono.Data.Sqlite.dllSystem.Data.dllsqlite3.dll 上面两个dll可在本地unity安装目录找到: C:\Program Files\Unity\Hub\Editor\2022.3.xxf1c1\Editor\Data\MonoBleedingEdge\lib\mono\unityjit-win32 下面dll可在sqlite官网下载到&#xff…

冒泡排序基础与实现

目录 1. 原理图 ​编辑 2. 什么是冒泡排序 3. 工作原理 3.1 具体步骤 3.2 时间复杂度 3.3 空间复杂度 4. 代码实现 5. 总结 1. 原理图 2. 什么是冒泡排序 冒泡排序(Bubble Sort)是一种简单的排序算法,它通过重复地遍历要排序的列表&am…

忘记了PDF文件的密码,怎么办?

PDF文件可以加密,大家都不陌生,并且大家应该也都知道PDF文件有两种密码,一个打开密码、一个限制编辑密码,因为PDF文件设置了密码,那么打开、编辑PDF文件就会受到限制。忘记了PDF密码该如何解密? PDF和offi…

【论文笔记】Sign Language Video Retrieval with Free-Form Textual Queries

🍎个人主页:小嗷犬的个人主页 🍊个人网站:小嗷犬的技术小站 🥭个人信条:为天地立心,为生民立命,为往圣继绝学,为万世开太平。 基本信息 标题: Sign Language Video Retr…

openEuler22.03系统使用Kolla-ansible搭建OpenStack

Kolla-ansible 是一个利用 Ansible 自动化工具来搭建 OpenStack 云平台的开源项目,它通过容器化的方式部署 OpenStack 服务,能够简化安装过程、提高部署效率并增强系统的可维护性。 前置环境准备: 系统:openEuler-22.03-LTS-SP4 配置&…

记录一下vue2项目优化,虚拟列表vue-virtual-scroll-list处理10万条数据

文章目录 封装BrandPickerVirtual.vue组件页面使用组件属性 select下拉接口一次性返回10万条数据,页面卡死,如何优化??这里使用 分页 虚拟列表(vue-virtual-scroll-list),去模拟一个下拉的内容…

【vue】vue的基础语法--上

目录 一、Vue的模板语法 1. 学会使用VsCode 2. 文本插值 3. 使用JavaScript表达式 4. 无效 5. 原始html 二、 属性绑定 1. 属性绑定 2.简写方案 3.布尔型Attribute 4. 动态邦定多个值 三、条件渲染 1. v-if 2. v-else 3. v-else-if 4. v-show 5. v-if VS v-sho…

【ANGULAR网站开发】初始环境搭建(SpringBoot)

1. 初始化SpringBoot 1.1 创建SpringBoot项目 清理spring-boot-starter-test,有需要的可以留着 1.2 application.properties 将application.properties改为yaml,个人习惯问题,顺便设置端口8888,和前端设置的一样 server:por…

OpenCV的对比度受限的自适应直方图均衡化算法

OpenCV的对比度受限的自适应直方图均衡化(CLAHE)算法是一种图像增强技术,旨在改善图像的局部对比度,同时避免噪声的过度放大。以下是CLAHE算法的原理、步骤以及示例代码。 1 原理 CLAHE是自适应直方图均衡化(AHE&…

1.1.2 配置静态IP和远程SSH登录

一、开放22端口 方法一:开放SSH服务(推荐,不需要改动) 查看配置文件,已经默认开放ssh服务端口了,ssh默认为22端口,所以不需要改动文件 方法二:开放22端口 (1&#xff0…

Soildworks的学习【2025/1/12】

右键空白处,点击选项卡,即可看到所有已调用的选项卡: 点击机械小齿轮选项卡,选择文档属性,选择GB国标: 之后点击单位,选择MMGS毫米单位: 窗口右下角有MMGS,这里也可以选择…

web前端第五次作业---制作菜单

制作菜单 代码: <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title><style…

GAN的应用

5、GAN的应用 ​ GANs是一个强大的生成模型&#xff0c;它可以使用随机向量生成逼真的样本。我们既不需要知道明确的真实数据分布&#xff0c;也不需要任何数学假设。这些优点使得GANs被广泛应用于图像处理、计算机视觉、序列数据等领域。上图是基于GANs的实际应用场景对不同G…

分治算法——优选算法

本章我们要学习的是分治算法&#xff0c;顾名思义就是分而治之&#xff0c;把大问题分为多个相同的子问题进行处理&#xff0c;其中我们熟知的快速排序和归并排序用的就是分治算法&#xff0c;所以我们需要重新回顾一下这两个排序。 一、快速排序&#xff08;三路划分&#xf…

解决el-table表格数据量过大导致页面卡顿问题 又名《umy-ui---虚拟表格仅渲染可视区域dom的神》

后台管理系统的某个页面需要展示多个列表 数据量过多 页面渲染dom卡顿 经调研发现两个组件 pl-table和umy-ui &#xff08;也就是u-table&#xff09; 最终决定使用umy-ui 它是专门基于 Vue 2.0 的桌面端组件库 流畅渲染表格万级数据 而且他是对element-ui的表格做了二次优化…

单元测试概述入门

引入 什么是测试&#xff1f;测试的阶段划分&#xff1f; 测试方法有哪些&#xff1f; 1.什么是单元测试&#xff1f; 单元测试&#xff1a;就是针对最小的功能单元&#xff08;方法&#xff09;&#xff0c;编写测试代码对其正确性进行测试。 2.为什么要引入单元测试&#x…

Xcode 正则表达式实现查找替换

在软件开发过程中&#xff0c;查找和替换文本是一项常见的任务。正则表达式&#xff08;Regular Expressions&#xff09;是一种强大的工具&#xff0c;可以帮助我们在复杂的文本中进行精确的匹配和替换。Xcode 作为一款流行的开发工具&#xff0c;提供了对正则表达式的支持。本…

基于微信小程序的电影交流平台设计与实现(LW+源码+讲解)

专注于大学生项目实战开发,讲解,毕业答疑辅导&#xff0c;欢迎高校老师/同行前辈交流合作✌。 技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;…

GAMES101学习笔记(三):Rasterization 光栅化(三角形的离散化、抗锯齿、深度测试)

文章目录 视口变换 Viewport三角形网格 Triangle Mesh采样 Sampling走样/反走样 Aliasing/Antialiasing采样频率、空间域与频率域深入理解采样、走样、反走样反走样总结深度测试 Depth testing 课程资源&#xff1a;GAMES101-现代计算机图形学入门-闫令琪 Lec5 ~ Lec6 学习笔记…

《分布式光纤传感:架设于桥梁监测领域的 “智慧光网” 》

桥梁作为交通基础设施的重要组成部分&#xff0c;其结构健康状况直接关系到交通运输的安全和畅通。随着桥梁建设规模的不断扩大和服役年限的增长&#xff0c;桥梁结构的安全隐患日益凸显&#xff0c;传统的监测方法已难以满足对桥梁结构健康实时、全面、准确监测的需求。分布式…