这篇论文介绍了一个名为OptiMUS的系统,它是一个基于大型语言模型(LLM)的代理,旨在从自然语言描述中构建和解决(混合整数)线性规划问题。OptiMUS通过一个模块化的结构来处理问题,使其能够处理长描述和复杂数据,而不需要过长的提示。实验表明,OptiMUS在简单数据集上的表现超过了现有最先进方法20%以上,在包括新发布的NLP4LP数据集(包含长且复杂问题)的困难数据集上表现超过30%。 论文的主要贡献包括: 1. 引入了NLP4LP数据集,这是一个包含67个复杂优化问题的开源数据集,用于展示长问题描述和大数据集的挑战。 2. 开发了OptiMUS,这是一个模块化的LLM代理,它在现有数据集上的表现超过了之前的最先进方法,并在更具有挑战性的数据集上表现更好。OptiMUS使用了一个新颖的连接图,允许它独立处理每个约束和目标,从而在不过度依赖长提示的情况下解决长描述和大数据文件的问题。 论文的结构如下: - 第1节介绍了优化问题在多个领域的普遍性和重要性,以及优化建模的挑战。 - 第2节讨论了背景和相关工作,包括LLMs在优化问题中的应用和现有的优化建模方法。 - 第3节详细描述了OptiMUS的设计,包括结构化问题、代理(包括管理者、公式化者、编程者和评估者)以及连接图的使用。 - 第4节讨论了实验设置,包括数据集的介绍、实验结果和分析,以及对系统组件影响的消融研究。 - 第5节总结了论文的成果,并提出了未来的研究方向。 论文还讨论了OptiMUS在实际应用中的潜在影响,包括在安全关键领域(如自动驾驶)和辅助领域(如定理证明或优化)中的应用前景。未来的研究方向可能包括使用较小的LLMs进行微调和集成用户反馈,以及如何使用强化学习来改进管理者选择下一个代理的能力。 "OptiMUS:基于大型语言模型的可扩展优化建模 阿里·阿哈迈迪特什尼兹1、文志高2、玛德琳·乌戴尔1 2 摘要 优化问题在制造、分销到医疗保健等多个领域普遍存在。然而,大多数这类问题仍然是通过手工启发式方法解决,而不是通过最先进的求解器进行最优解,因为制定和解决这些问题所需的专业知识限制了优化工具和技术的广泛应用。本文介绍了OptiMUS,这是一个基于大型语言模型的代理,旨在从自然语言描述中制定和解决线性规划问题。OptiMUS能够开发数学模型,编写和调试求解器代码,评估生成的解决方案,并根据这些评估改进其模型和代码。OptiMUS利用模块化结构处理问题,使其能够处理长描述和复杂数据的问题,而不需要长提示。实验表明,OptiMUS在简单数据集上的表现超过了现有最先进方法20%以上,在困难数据集上超过30%。 1. 引言 优化问题在运营、经济、工程和计算机科学等多个领域很常见。优化的重要应用包括在智能电网中降低能源成本、改善供应链和在算法交易中增加利润。过去几十年中,优化算法的重大进步已经导致了可靠和高效的优化方法,适用于多种结构化优化问题,包括线性规划和混合整数线性规划等。不幸的是,优化建模,即将商业问题转化为数学优化问题,仍然需要专业知识。根据最近的一项调查,81%的Gurobi商业求解器用户拥有高级学位,其中49%拥有运筹学学位。这种专业知识差距阻止了许多组织使用优化,即使优化可以显著改善他们的运营。例子包括超市的库存管理、医院的患者操作、小城市的交通政策、当地太阳能农场的能源管理以及小企业或非政府组织的运营。自动化优化建模将允许那些无法负担优化专家的行业使用优化技术提高效率。 大型语言模型提供了一个有希望的方式来使优化更加易于访问。LLMs已经证明了在许多任务中理解、生成和解释自然语言的能力。在优化领域,LLMs可以使问题制定和解决方案获取更容易,使专家级的优化更加易于访问。然而,在LLMs能够可靠地模拟现实世界的优化问题之前,仍然存在几个挑战: • 模糊术语:优化问题可以用多种方式描述。例如,用户可能使用不同的术语、符号或省略常识性假设。此外,定义正确的变量可能是一个挑战。例如,网络中信息的流动需要与物理商品不同的变量集,因为信息的数量不需要保持不变。 • 长问题描述:LLMs的上下文大小有限。然而,现实世界的问题可能很长且复杂:例如,能源系统问题有60页的文档。 1arXiv:2402.10172v1 [cs.AI] 2024年2月15日" 大型语言模型优化建模 工厂生产多种产品。 每种产品所需的原材料、机器时间和劳动力各不相同。每种产品都有一个价格。 工厂需要确定生产多少每种产品以最大化收入,同时不超过资源容量。预处理初始结构化问题制定者评估员程序员代理团队 收入:$4124 生产:[0, 7, ..., 2] 机器时间:[4, 8, ..., 5], 原材料需求: [[3, 2, ..., 4], ... [1, 4, ..., 2]]问题描述 参数数据 图1. OptiMUS使用一系列结构化的LLM代理有效地建模和解决优化问题。首先,将问题的自然语言表示预处理成结构化问题。然后,一个代理团队迭代地通过连接图、每个子句的数学公式和每个子句的代码来增强结构化问题。代理们继续工作直到问题解决。(虚线表示可以多次发生的通信。) 即使对于长上下文模型,随着输入上下文的增长,性能也会大幅下降(Liu等人,2023)。 因此,随着问题描述的长度增加,LLMs倾向于犯更多错误,并且在复杂问题上表现不佳。 • 大型问题数据:优化问题的规范通常涉及大量数据,例如客户属性或商品销售。以前使用LLMs进行优化建模的方法,直接将数值数据传递给LLM,因此仅限于最简单的玩具问题。 • 不可靠的输出:LLMs提供的解决方案并不总是可靠的。生成的代码可能不正确,甚至无法执行。当代码运行但输出不正确时,验证解决方案尤其具有挑战性。例如,如果代码运行并声称问题是无界的,可能是在公式化中意外遗漏了约束。 贡献。本文开发了一种新的优化建模视角,解决了这些限制,并做出了以下贡献: • 现有的自然语言优化建模数据集过于简单,无法捕捉长问题描述和大型问题数据的挑战。本工作引入了NLP4LP,一个包含67个复杂优化问题的开源数据集。表1将NLP4LP与现有数据集进行了比较,第4.1节描述了NLP4LP。 • 我们开发了一个基于LLM的模块化代理来建模和解决优化问题,我们称之为OptiMUS。OptiMUS在现有数据集上比之前的最佳方法提高了超过20%,在更具挑战性的数据集上提高了30%。OptiMUS采用了一种新颖的连接图,使其能够独立处理每个约束和目标。利用这个连接图,并将数据与问题描述分离,OptiMUS可以在不过度长的提示下解决长描述和大型数据文件的问题。 文章结构本文组织如下:第2节讨论背景和相关工作;第3节描述了我们的基于LLM的优化代理的细节;第4节讨论数据集并展示了实验和分析;第5节总结了论文,并提出了未来的发展方向和影响。附录包括提示、实验设置的详细信息和进一步分析。 2. 背景和相关工作 优化问题在数学上由目标函数和一组约束定义。例如,MILP可以数学地写成 最小化 {xj}nX j=1cjxj subject to nX j=1aijxj(≤,=,≥)bi, i= 1, . . . m lj≤xj≤uj, j= 1, . . . , n xj∈Z, j∈ I 一个优化工作流程包括1)通过识别其目标和约束,将优化问题以数学形式制定,然后2)使用通常调用优化求解器的代码从实际数据中实现问题的解决方案。 "大型语言模型用于优化建模 表1. 不同数据集在复杂性方面的比较。描述长度的单位是字符 数据集 描述长度 实例(#MILP) 多维参数 NL4Opt 518.0 ±110.7 1101(0)× ComplexOR 497.1 ±247.5 37(12)✓ NLP4LP(我们的) 908.9 ±504.6 67(13)✓ 在大型语言模型(LLMs)方面的进步。自然语言处理(NLP)的最新进展导致了大型语言模型的发展,这些模型对于回答问题、总结文本、翻译语言和编码等任务非常有用。 (OpenAI,2023;Touvron等,2023;Chowdhery等,2022;Wei等,2023;Gao等,2023;Borgeaud等,2022)。通过为代码编写和执行提供插件,与其他软件工具的连接扩展了LLMs的范围和准确性。(Yang等,2023)使用LLMs通过提示优化直接生成优化问题的解决方案,以提高性能。这种方法仅限于小问题,因为LLMs的性能随着输入上下文的增长而下降,即使是对于显式的长上下文模型(Liu等,2023)也是如此。 优化的聊天机器人。在最近的一篇论文中,Chen等(2023)开发了一个聊天机器人,帮助用户检测和修复用Pyomo代码表达的不可行优化问题,并作为一个AI助手而不是求解器提供服务。Li等(2023)设计了一个聊天机器人来回答关于优化模型的自然语言查询。阿里云(2022)也开发了一个聊天机器人来促进优化建模,但没有公开的论文或文档可用。 基准驱动的优化建模。与我们的方法更密切相关的是,(Ramamonjison等,2023)引入了一个包含1101个LP问题自然语言表示的数据集。他们提出了一个两阶段的映射,从自然语言表示到问题公式化,使用了一个中间表示。(Ramamonjison等,2022)设计了一个系统来简化和改进运筹学建模体验,但没有提供端到端的解决方案。(Anonymous,2024)提出了一个多智能体协作框架,用于自动建模和编程复杂的运筹学(OR)问题,并在NL4Opt和他们策划的另一个更复杂的数据集上进行了评估。 在传统的MILP基准测试方面,值得注意的是,MIPLIB被广泛认为是评估MILP求解器性能的基准。MIPLIB提供了一个多样化的MILP实例集合,这些实例大多与其原始公式无关。本文主要关注MILP的建模方面,因此与MIPLIB没有直接关联。 3. 方法论 本节详细介绍了OptiMUS的设计。图1提供了说明。图2中提出的问题作为一个运行示例。OptiMUS从一个自然语言描述的优化问题开始。问题首先被预处理以提取参数、约束、目标函数和背景信息。然后,OptiMUS使用一个多智能体框架来处理和解决结构化问题。附录B包括OptiMUS中使用的所有提示。为了简洁,我们使用“子句”这个词来指代约束或目标。 3.1. 结构化问题 OptiMUS预处理器将问题的自然语言描述转换为结构化问题(图2),包括以下组成部分: • 参数:优化问题参数的列表。每个参数有三个组成部分:1)符号,2)形状,和3)文本定义。OptiMUS可以选择符号,推断形状,并定义参数(如果它们没有在问题陈述中明确包含)。重要的是,可能包含在问题陈述中的数值数据被省略在参数之外,并存储以备后用。这确保了参数简短且易于包含在未来的提示中。 • 子句:优化问题的子句(目标和约束)列表。预处理器首先用其自然语言描述初始化每个子句。稍后,这些子句将被增强为L ATEX公式和代码。 • 背景:解释问题现实世界背景的简短字符串。这个字符串包含在每个提示中,以提高常识推理。 预处理使用了三个提示:第一个提示提取参数,第二个将问题分割为目标和约束,第三个消除冗余(例如,产生相同约束的两个陈述)。" 大型语言模型优化建模 一家工厂生产多种产品。每种产品需要不同数量的原材料、机器时间和劳动力。每种产品在销售时会产生特定的收入。工厂需要确定生产多少每种产品以最大化利润,同时不超过资源容量。预处理MScalarNumber 不同机器类型的数量 MachineTimeCap[M] 机器时间容量 MaterialReq[R, P] 每单位产品所需的原材料数量 参数 工厂旨在最大化其利润。目标约束 产品生产数量为非负。 产品生产数量为整数。 所有产品使用的总原材料不能超过MaterialCapacity。 所有产品使用的总劳动力不能超过LaborCapacity。一家工厂生产不同的产品,每种产品需要各种数量的原材料、机器时间和劳动力。这些产品在销售时会产生特定的收入。背景 图2. OptiMUS将问题的自然语言表示预处理成模块化状态。模块化状态的组成部分包括:1)参数及其形状,2)目标,3)背景和上下文,以及4)隐式和显式约束。 算法1 OptiMUS的工作流程 1: 输入:问题的自然语言描述P 2: P(0)←PREPROCESS (P) 3: 初始化msg ←“” 4: 初始化对话 ←[] 5: for t=1, . . .do 6: AGENT ,task←MANAGER (对话) 7: P(t+1),msg←AGENT (P(t),task) 8: 对话 +=msg 9: 如果msg=Done则退出 10:end 在第二步中,可能会遇到挑战:例如,在图2中展示的工厂示例中,每种产品的生产量应该是一个正值,但这并没有明确说明。 3.2. 代理 预处理完成后,OptiMUS定义问题变量,制定并编码每个条款。为了确保公式的一致性,OptiMUS构建并维护一个连接图,记录每个约束中出现哪些变量和参数。这个连接图是OptiMUS性能和可扩展性的关键,因为它允许LLM只关注每个提示的相关上下文,生成更稳定的结果。变量列表和LATEX公式及代码最初是空的;当所有条款都被制定、编程和验证后,过程就完成了。 经理。受(Wu et al., 2023)启发,OptiMUS使用一个经理代理来协调制定、编程和评估的工作,认识到这些步骤可能需要重复以确保一致性和正确性(见算法1)。在每一步,经理查看到目前为止的对话并选择下一个代理(制定者、程序员或评估者)来处理问题。 经理还生成并分配任务给选定的代理,例如: 审查并修正目标的制定。 制定者。制定者代理必须: 1. 编写并修正变量和条款的数学公式。 2. 定义新变量和辅助约束。 3. 更新连接图中的链接。 如果分配的任务是制定新条款,制定者会迭代尚未制定的条款,并为它们生成新的公式。在这个过程中,它还会在必要时定义辅助约束和新变量。此外,它会决定哪些参数和变量与条款相关(见图3)。这些信息用于更新连接图。另一方面,如果任务是修正评估者或程序员报告的错误公式,代理会迭代标记为错误的条款, 大型语言模型优化建模 对于每种材料,使用量不应超过可用容量。MaterialReq [R, P] 材料容量 [R] 参数 LaborCap [L] 目标是最大化生产各种产品的总收入。 变量 目标 约束 生产 [P] 对于每种材料,使用量不应超过可用容量。MaterialReq [R, P] 材料容量 [R] 参数 LaborCap [L] 目标是最大化生产各种产品的总收入。 变量目标 约束 图3. 单一约束的公式化过程。公式化代理识别约束中出现的所有参数和变量,包括它可能需要定义的新变量。它根据需要定义新变量,更新记录哪些约束使用哪些参数和变量的连接图,并用LATEX公式注释约束。 固定它们的公式,并更新连接图。 OptiMUS还有一个额外的建模层来捕获特殊的模型结构,我们在附录A中有更详细的讨论。 程序员。程序员代理的责任是编写和调试求解器代码。当程序员被管理者调用时,它首先读取任务。如果任务是编程新条款,代理会遍历尚未编码的条款,并从它们的公式中生成代码。如果任务是修复评估者报告的错误公式,代理会遍历标记为错误的条款并修复它们的代码。 在我们的实验中,程序员使用Python作为编程语言,Gurobi作为求解器。只要LLM支持,OptiMUS可以针对其他求解器和编程语言。 评估者。评估者代理的责任是执行生成的代码并识别执行过程中出现的任何错误。如果评估者遇到运行时错误,它会标记有错误代码的变量或条款,并以适当的错误解释回应管理者。这些信息将稍后被其他代理用来修正公式和调试代码。 3.3. 连接图 回想第3.2节,OptiMUS维护了一个覆盖约束、目标、参数和变量的连接图。OptiMUS使用这个图来检索每个提示的相关上下文,以便提示保持简短。这个图也用于生成和调试代码以及纠正错误的公式。图4提供了一个例子。 4. 实验 在本节中,我们对OptiMUS进行了全面的评估。我们首先详细介绍了我们实验中使用的数据集,并展示了OptiMUS在这些数据集上的优越性能,突出其优势。一个消融研究展示了不同系统组件对我们结果的影响,一个敏感性分析探讨了OptiMUS的内部动态。我们通过识别失败案例和潜在的改进领域来结束本节。 4.1. 数据集 NL4OPT。这个数据集是NL4OPT竞赛的一部分,包含了1101个简单的线性规划问题。数据集包含了每个问题的自然语言描述,以及列出参数、变量和条款的注释中间表示。 ComplexOR。ComplexOR是一个包含37个复杂运筹学问题的集合,涵盖多种应用领域。在撰写本文时,这个数据集的公开版本是不完整的。我们通过增强问题,从ComplexOR数据集中收集了21个问题用于我们的实验。 "大型语言模型用于优化建模 任务:调试材料容量限制约束的运行时错误 MaterialCap MachineTimeReq LaborReq 对于每种材料,使用量不应超过可用容量 LaborCapMachineTimeCap ProductionProd = model.addVars # 添加约束,确保原材料使用量不超过可用量 for j in range: model.addConstr 这里出现的运行时错误信息是: IndexError: index 4 is out of bounds for axis 0 with size 4 请识别错误并修复它。 import numpy as np import gurobipy as gp R = data["R"] # 标量参数 P = data["P"] # 标量参数 MaterialCap = np.array # ['R'] MaterialReq = np.array # ['R', 'P']执行以下代码会导致运行时错误:提示 图4. OptiMUS使用连接图提取并仅使用每个提示中相关上下文。在这个例子中,程序员代理通过连接图来调试一个错误的约束代码。如果没有图,LLM将不得不处理整个代码,包括其他参数、变量、约束和目标。 NLP4LP。如表1所示,现有的自然语言优化建模数据集缺乏长描述的问题。现实世界的问题通常要长得多,例如。为了解决这个问题,我们创建了NLP4LP,一个由54个线性规划和13个混合整数规划问题组成的基准。NLP4LP问题来自优化领域的教科书和讲义,包括设施选址、网络流、调度、投资组合管理和能源优化问题。这些资源是在2021年之前创建的,所以这些书中的部分内容可能已经被用来训练LLMs。然而,这些教科书中并没有包含代码。此外,我们的结果表明,LLMs仍然发现很难制定和解决这些问题。对于每个实例,NLP4LP包括描述、样本参数数据文件和最优值,这些最优值要么来自教科书解决方案手册,要么通过手工解决实例获得。 总的来说,NLP4LP和ComplexOR提供了各种具有不同长度的挑战性优化问题,促进了自动化优化建模的研究。 4.2. 总体性能 为了评估OptiMUS的整体性能,我们将其与标准提示、Reflexion和Chain-of-Experts进行了比较。Reflexion是表现最好的通用框架,CoE是自然语言优化建模的最新方法。文献中使用了三个主要指标:准确性、编译错误率和运行时错误率。然而,一种方法可以生成完全无关的短代码,或者通过完全移除相关部分的代码来修复运行时和编译错误。因此,我们只比较模型的准确性。结果呈现在表2中。OptiMUS在所有数据集中都以很大的优势超过了其他方法。这一显著的性能提升突显了模块化和结构在解决复杂问题时使用LLMs的重要性。接下来的实验将阐明OptiMUS的哪些特性对其良好性能做出了贡献。 4.3. 消融研究 表3显示了调试和LLM选择对OptiMUS性能的影响。一个有趣的观察结果是,当使用较小的LLMs代替GPT-4时,性能显著下降。第一个原因是OptiMUS的提示平均比其他方法更长,涉及更复杂的推理。较小的LLMs在推理方面表现更差。第二个原因是OptiMUS提示的新颖和模块化结构。其他方法中使用的提示大多遵循问题回答格式,这在公共领域中非常丰富。" 请注意,由于原文中的代码片段不完整,我无法提供具体的代码修复建议。如果您能提供完整的代码或更详细的错误信息,我可能能够提供更具体的帮助。 "优化建模的大型语言模型 表2. 使用GPT-4的OptiMUS和基线模型的性能对比。 NL4OPT ComplexOR NLP4LP 标准模型 47.3% 9.5% 35.8% 反射模型 53% 19.1% 46.3% CoE模型 64.2% 38.1% 53.1% OptiMUS(我们的模型) 78.8% 66.7% 72.0% 表3. OptiMUS的消融研究。 NL4OPT ComplexOR NLP4LP OptiMUS(GPT-4) 78.7% 66.7% 71.6 % 无调试功能 72.3% 57.1% 58.2% 使用GPT-3.5作为经理 74.9% 52.4% 53.7% 使用GPT-3.5 28.6% 9.5% 14.4% 使用Mixtral-8x7B 6.6% 0.0% 3.0% 在StackOverflow上常见的是,或者在优化教科书中常见的是,先写整个问题描述,然后是完整的公式化。然而,在OptiMUS中,提示更加复杂,不常见于人与人之间的互动。较小的LLM(大型语言模型)具有有限的泛化和推理能力,因此在这些提示上表现不佳(OpenAI,2023年)。在这些新颖的提示模板上微调较小的模型可能会提高它们的性能,并降低运行类似OptiMUS这样的系统的成本。 我们还评估了一个使用GPT-3.5作为经理,GPT-4作为其他代理的OptiMUS版本。我们可以看到,在NL4OPT中,性能差异很小。原因是大多数NL4OPT实例都是通过简单的公式化-编程-评估链来解决的。然而,在ComplexOR和NLP4LP中,需要代理之间更复杂的交互,经理的重要性变得更加明显。此外,我们还进行了实验,禁用了程序员代理的调试功能。与经理类似,我们发现在更复杂的数据集中,调试的重要性更高。 4.4. 敏感性分析 图5显示了允许经理选择代理的最大次数如何影响准确率。对于NL4OPT,大多数问题通过仅选择每个公式化者、程序员和评估者代理一次来解决。然而,对于ComplexOR和NLP4LP,OptiMUS在开始时经常犯错误,并通过多次选择其他代理来迭代修正它们。 4.5节显示了每个代理在每个实例中被选择的次数。正如预期的那样,ComplexOR和NLP4LP的平均选择频率更高。此外,程序员和评估者代理被选择的频率高于公式化者。这种偏差是合理的: • 编码错误更常见。LLMs经常生成带有小错误的代码,这些错误很容易修复。在OptiMUS中,程序员代理修复这样的错误。 • 编码错误更容易识别和修复。相比之下,识别公式化中的错误需要更深层次的推理,这更难。因此,OptiMUS中的经理被提示在考虑公式化错误之前优先修复代码。只有在程序员声称代码正确时,公式化者才被选择用于调试。 因此,在我们的实验中,我们观察到程序员被选择的频率高于公式化者。 表4显示了OptiMUS和CoE在不同数据集上的平均提示长度。观察到OptiMUS的提示长度在数据集之间几乎没有变化,而CoE的提示长度在更具挑战性的数据集上增加。原因是模块化方法,它允许OptiMUS仅提取和处理每个LLM调用的相关上下文。与非模块化方法不同,OptiMUS可以扩展到更大和更长的问题。 4.5. 失败案例 为了了解其优势和弱点,我们分析了OptiMUS失败的最常见原因(表5)。我们将失败案例分为以下几类: • 缺失或错误的约束:OptiMUS在预处理步骤中生成错误的约束(例如,price≥0,其中price是一个参数),或未能从描述中提取所有约束。 • 错误的模型:OptiMUS使用错误的模型来解决问题。" "大型语言模型在优化建模中的应用 编程器评估器0123平均每次实例调用代理的数量NL4OPT ComplexOR NLP4LP 图6. 在解决的问题中,每个代理的平均调用次数。在NL4OPT的简单问题上,OptiMUS只需要对每个代理进行一次调用。在更复杂的数据集上,它更多地依赖于程序员修复评估器发现的错误,但通过修复公式错误很少能带来改进。 一个错误的数学模型。 • 编码错误:即使在调试后,OptiMUS也不能生成无错误的代码。编码错误通常发生在LLM被使用的语言混淆时。 我们标准化失败率以求和为1.0。在问题更复杂的数据集上,不正确的建模更为常见,而在较容易的数据集NLP4OPT上,模型出错的可能性较小。 理解和解释问题对LLM来说也是具有挑战性的,导致公式化时遗漏约束和错误的约束。微调可能会提高LLM在这项任务上的性能,这是未来研究的重要方向。 5. 结论 LLM如何协作和分工以实现复杂目标?本文在优化领域探讨了这个问题,并展示了模块化结构的重要性。我们开发了OptiMUS,这是一个基于LLM的模块化代理,旨在从自然语言描述中制定和解决优化问题。 我们的研究作为一个概念验证,展示了通过将LLM与传统求解器结合,自动化优化过程各个阶段的潜力。 为了展示OptiMUS的性能,我们发布了NLP4LP,这是一个包含长且具有挑战性的优化问题的数据集,以展示OptiMUS内部实现的技术的有效性。OptiMUS在所有现有数据集上都实现了最先进的性能,并能够扩展到具有大量数据和长描述的问题。 现实世界的优化问题通常是复杂且多方面的。为这些问题开发基于LLM的解决方案需要考虑特定领域的因素,包括整合现有的优化技术以利用问题结构。我们正处于这项研究的早期阶段,但预计会有重大发展,使这些系统能够解决更复杂、工业级别的问题。值得注意的是,将AI应用于应用领域,特别是在自动驾驶等安全关键领域,其挑战要大得多,这些领域要求极高的准确性,而在定理证明或优化等领域,AI可以作为助手,答案容易验证,中等准确性的AI系统仍然可以有效地增强人类努力。 未来方向。较小的LLM更快、更便宜,但我们的实验表明,它们在优化建模方面的性能不佳。确定哪些提示可能从微调的小模型中受益,哪些需要大型LLM调用,是未来研究的重要课题。此外,我们认为将用户反馈整合到过程中可以提高代理在自然语言优化建模上的性能。研究这些代理与其用户之间的互动是一个令人兴奋的方向。另一个重要方向是根据准确性和运行时间要求的综合评估自动选择最佳求解器。此外,将这里展示的模块化LLM结构如何通过强化学习增强,以教导管理者如何选择下一个代理,这将很有趣。 6. 影响声明 本文展示了旨在推进优化建模领域的工作。有许多潜在的社会影响..." "大型语言模型在优化建模中的应用及其后果,我们认为这里没有必须特别强调的内容。 参考文献 Aastrup, J. 和 Kotzab, H. 四十年的缺货研究——货架仍然空空如也。《国际零售、分销与消费者研究评论》,20:147–164, 2010。 阿里巴巴云。阿里巴巴云MindOpt Copilot,2022。网址:https://opt.alibabacloud.com/chat。 匿名。当大型语言模型遇到复杂的运筹学问题。在第十二届学习表示国际会议上,2024。网址:https://openreview.net/forum?id=HobyL1B9CZ。 Antoniou, A. 和 Lu, W.-S. 实用优化:算法与工程应用,第19卷。Springer,2007。 Beale, E. 和 Forrest, J. J. 使用特殊有序集合的全局优化。《数学规划》,10:52–69, 1976。 Bertsimas, D. 和 Tsitsiklis, J. N. 线性优化导论,第6卷。Athena Scientific Belmont, MA, 1997a。 Bertsimas, D. 和 Tsitsiklis, J. N. 线性优化导论,第6卷。Athena Scientific Belmont, MA, 1997b。 Borgeaud, S., Mensch, A., Hoffmann, J., Cai, T., Rutherford, E., Millican, K., Van Den Driessche, G. B., Lespiau, J.-B., Damoc, B., Clark, A., 等。通过检索数万亿个标记来改进语言模型。在机器学习国际会议上,pp. 2206–2240. PMLR, 2022。 Chen, H., Constante-Flores, G. E., 和 Li, C. 使用大型语言模型诊断不可行的优化问题。arXiv预印本 arXiv:2308.12923, 2023。 Chowdhery, A., Narang, S., Devlin, J., Bosma, M., Mishra, G., Roberts, A., Barham, P., Chung, H. W., Sutton, C., Gehrmann, S., Schuh, P., Shi, K., Tsvyashchenko, S., Maynez, J., Rao, A., Barnes, P., Tay, Y., Shazeer, N., Prabhakaran, V., Reif, E., Du, N., Hutchinson, B., Pope, R., Bradbury, J., Austin, J., Isard, M., Gur-Ari, G., Yin, P., Duke, T., Levskaya, A., Ghemawat, S., Dev, S., Michalewski, H., Garcia, X., Misra, V., Robinson, K., Fedus, L., Zhou, D., Ippolito, D., Luan, D., Lim, H., Zoph, B., Spiridonov, A., Sepassi, R., Dohan, D., Agrawal, S., Omernick, M., Dai, A. M., Pillai, T. S., Pellat, M., Lewkowycz, A., Moreira, E., Child, R., Polozov, O., Lee, K., Zhou, Z., Wang, X., Saeta, B., Diaz, M., Firat, O., Catasta, M., Wei, J., Meier-Hellstern, K., Eck, D., Dean, J., Petrov, S., 和 Fiedel, N. Palm: 通过路径扩展语言建模,2022。 Gamrath, G., Berthold, T., Heinz, S., 和 Winkler, M. 结构基础的混合整数规划原始启发式。Springer, 2016。 Gao, L., Madaan, A., Zhou, S., Alon, U., Liu, P., Yang, Y., Callan, J., 和 Neubig, G. Pal: 程序辅助语言模型。在机器学习国际会议上,pp. 10764–10799. PMLR, 2023。 Gurobi Optimization. 2023数学优化报告,2023。网址:https://www.gurobi.com/resources/report-state-of-mathematical-optimization-2023/。 Holzer