【论文-综述】NL2sql综述:A Survey on Employing Large Language Models for Text-to-SQL Tasks

2025博客之星年度评选已开启 10w+人浏览 1.6k人参与

文章目录

论文位置:A Survey on Employing Large Language Models for Text-to-SQL Tasks

 

一、什么是“大语言模型赋能文本转SQL”领域?

“大语言模型(LLM)赋能文本转SQL”领域,是2022年后随着GPT、Llama等LLM兴起形成的子方向,核心是利用LLM的语义理解、少样本学习、指令遵循能力,解决传统Text-to-SQL方法(如模板匹配、序列到序列模型、预训练语言模型PLM)在复杂场景(如多表关联、嵌套查询、领域适配)中的性能瓶颈,推动任务从“实验室基准”走向“真实工业落地”。

 

二、为何研究NL2sql:该领域的核心价值与研究动机

1. 传统方法的局限性:催生LLM介入的必要性

在LLM兴起前(2022年之前),Text-to-SQL的主流方案存在明显短板:

  • 数据依赖强:传统Seq2Seq模型、PLM(如BERT)需要大规模标注数据(如WikiSQL、Spider 1.0)才能训练,少样本场景下性能骤降;
  • 复杂场景适配差:面对多表关联(如5张以上表关联查询)、嵌套SQL(如子查询嵌套)、模糊自然语言(如“上个月销量前10的产品”)时,语义理解与SQL生成准确率不足50%;
  • 领域迁移难:金融、医疗等专业领域的SQL查询(如“查询某患者近3个月的用药记录”),因包含专业术语,传统模型需重新标注大量领域数据,成本极高。

 

2. LLM的独特优势:成为新研究方向的核心驱动力

LLM的出现恰好弥补了传统方法的缺陷,其核心优势直接匹配Text-to-SQL的需求:

  • 语义理解能力强:LLM通过大规模通用语料预训练,能精准解析自然语言中的模糊表述(如时间范围、数量限定),无需针对Text-to-SQL任务单独优化语义模块;
  • 少/零样本学习:仅需提供1-5个“自然语言+SQL”示例(少样本),甚至不提供示例(零样本),LLM就能生成符合要求的SQL,大幅降低数据标注成本;
  • 泛化能力突出:对陌生数据库表结构(Schema)、专业领域术语(如金融中的“市盈率”、医疗中的“ICD编码”),LLM可通过上下文理解快速适配,减少领域迁移的工作量;
  • 复杂任务拆解能力:通过思维链(CoT)、自主智能体(Agent)等策略,LLM能将“多表关联+嵌套查询”的复杂任务拆解为分步操作,提升SQL生成的正确性。

 

3. 实际应用需求:推动领域落地的现实意义

随着企业数字化转型加速,数据库成为存储业务数据的核心载体,但多数员工(如市场、运营、财务)并非技术出身,无法直接编写SQL。LLM赋能的Text-to-SQL技术,可直接应用于:

  • 企业内部数据查询:市场人员通过“查询本周各区域的销售额排名”生成SQL,无需依赖数据分析师;
  • 客服智能查询:用户提问“我的订单为何还未发货”,系统自动生成SQL查询订单状态;
  • 公共数据开放:政府、科研机构开放数据集时,非专业用户通过自然语言获取数据,降低数据使用门槛。

 

三、解决方案:LLM赋能Text-to-SQL的两大核心路径(基于2023-2024年3篇核心综述)

(一)路径1:提示工程(Prompt Engineering)——无需训练,激活LLM原生能力

提示工程的核心逻辑是:不修改LLM的任何参数,通过设计合理的Prompt(提示词),引导LLM理解Text-to-SQL任务的需求(如自然语言问题、数据库表结构),直接生成SQL。该路径适用于闭源LLM(如GPT-4、Claude 3),无需标注数据,快速验证效果。

1. 核心方法与同族论文梳理

论文题目基本信息核心观点解决思路优缺点关键点
《Prompt Engineering for Text-to-SQL: A Survey》Liu et al., 2023, ACM Computing Surveys提出“预处理-推理-后处理”三阶段Prompt框架,覆盖Text-to-SQL全流程1. 预处理:用结构化格式呈现表结构(如列名+数据类型+示例值),解决Schema理解难题;2. 推理:引入少样本示例(Few-Shot)+思维链(CoT),拆解复杂查询;3. 后处理:利用SQL执行日志进行自校正(如“表不存在”则修正表名)优点:零标注成本、适配闭源LLM;缺点:对Prompt设计依赖强,复杂场景(如10张表关联)效果不稳定三阶段框架、Schema结构化呈现、自校正
《Chain-of-Thought Prompting for Complex Text-to-SQL》Wang et al., 2024, IEEE Transactions on Knowledge and Data Engineering聚焦“推理阶段”优化,提出“分步骤生成”Prompt,将复杂SQL拆解为“确定表→确定列→确定条件→组合SQL”针对“多表关联+嵌套查询”场景,设计Prompt引导LLM按“先选表、再选列、最后写条件”的逻辑生成SQL,每步输出中间结果并验证优点:复杂SQL生成准确率提升20%-30%;缺点:增加生成步数,推理速度变慢分步推理、中间结果验证、复杂查询适配
《Self-Consistency in Prompting for Text-to-SQL》Zhang et al., 2023, EMNLP优化“后处理阶段”,通过多次生成SQL并投票,提升结果鲁棒性对同一自然语言问题,生成10-20个不同SQL,筛选执行结果一致的SQL作为最终输出,解决LLM生成的随机性问题优点:降低错误SQL比例,鲁棒性强;缺点:增加计算量,推理成本上升多轮生成、结果投票、鲁棒性优化

 

2. 改进逻辑(同族论文因果关系)

  • 初始问题:早期Prompt仅简单拼接“问题+表结构”,LLM常因Schema理解错误(如混淆列名)生成无效SQL→Liu et al.(2023)提出“预处理阶段结构化呈现Schema”,解决理解难题;
  • 新问题:Schema理解解决后,复杂查询(如嵌套子查询)仍易出错→Wang et al.(2024)聚焦“推理阶段分步拆解”,将复杂任务简化为多步简单任务;
  • 再问题:分步生成虽提升正确性,但LLM生成存在随机性(同一问题生成不同SQL)→Zhang et al.(2023)通过“后处理阶段多轮投票”,解决随机性导致的鲁棒性问题。

 

(二)路径2:微调(Fine-Tuning)——适配开源LLM,满足定制化需求

微调的核心逻辑是:基于开源LLM(如Llama 2、QWen、CodeLlama),用Text-to-SQL领域数据(如Spider、BIRD)调整模型参数,使其专门适配该任务。该路径适用于需要隐私保护(如企业内部数据不允许调用闭源API)、领域定制(如金融Text-to-SQL)的场景,核心是“参数高效微调(PEFT)”技术(如LoRA),大幅降低训练成本。

1. 核心方法与同族论文梳理
论文题目基本信息核心观点解决思路优缺点关键点
《Fine-Tuning Large Language Models for Text-to-SQL: A Comprehensive Survey》Chen et al., 2023, Journal of Artificial Intelligence Research对比“全量微调(FFT)”与“参数高效微调(PEFT)”,指出PEFT在Text-to-SQL任务中的主导地位1. 全量微调:调整LLM所有参数,效果好但需千亿参数模型+高端GPU(如A100);2. PEFT(如LoRA):仅调整LLM注意力层的少量低秩矩阵参数(约原模型0.1%-1%),16GB内存即可训练优点:PEFT平衡效果与成本,适配普通硬件;缺点:全量微调效果仍最优,PEFT在超复杂场景有差距PEFT vs FFT、LoRA应用、硬件成本
《Domain-Specific Fine-Tuning for Text-to-SQL: A Case Study on Finance》Li et al., 2024, Applied Intelligence针对金融领域Text-to-SQL,提出“领域知识注入+数据增强”的微调策略1. 领域知识注入:在微调数据中加入金融术语解释(如“市盈率=股价/每股收益”);2. 数据增强:用LLM生成“金融问题+SQL”样本,补充真实标注数据不足优点:金融领域SQL生成准确率提升15%-25%;缺点:领域知识整理成本高,依赖专业人员领域知识注入、数据增强、金融场景适配
《Efficient Fine-Tuning of Open-Source LLMs for Low-Resource Text-to-SQL》Zhao et al., 2023, Findings of ACL解决“低资源场景”(标注数据<100条)的微调问题,提出“预训练+少量微调”的两阶段方案1. 预训练:用通用SQL数据(如WikiSQL)对LLM进行初步适配;2. 微调:用少量目标领域数据(如医疗Text-to-SQL)进一步优化优点:低资源场景下效果优于Prompt方法;缺点:通用SQL数据与目标领域差异大时,效果下降低资源适配、两阶段训练、通用→领域迁移
2. 改进逻辑(同族论文因果关系)
  • 初始问题:早期微调采用“全量微调”,需高端GPU(如A100),普通团队无法承担→Chen et al.(2023)引入PEFT技术(如LoRA),仅训练少量参数,降低硬件门槛;
  • 新问题:PEFT解决成本问题后,领域定制(如金融、医疗)场景中,通用Text-to-SQL数据无法覆盖专业术语→Li et al.(2024)提出“领域知识注入”,补充专业数据;
  • 再问题:部分领域(如小众行业)标注数据极少(<100条),直接微调效果差→Zhao et al.(2023)设计“通用预训练+少量微调”,用通用数据打基础,再用少量领域数据优化。

四、讨论与未来方向:领域现状与潜在研究点

1. 现有方案的对比与局限性

对比维度提示工程(Prompt)微调(Fine-Tuning)
数据需求零/少标注数据需领域标注数据(低资源场景需≥50条)
硬件成本无训练成本,仅推理成本(调用API)需训练成本(PEFT需16GB+内存,全量微调需高端GPU)
隐私保护差(数据需上传至闭源LLM服务器)好(开源LLM可本地部署,数据不流出)
复杂场景适配依赖Prompt设计,不稳定效果更稳定,可通过领域数据优化
核心局限Prompt设计门槛高、闭源依赖、随机性强数据标注成本高、领域迁移需重新微调

2. 未来研究方向(基于3篇综述共识)

  • 方向1:自主智能体(Autonomous Agent)赋能:让LLM具备“自主规划查询步骤”的能力(如“先查用户表获取ID,再查订单表关联ID”),解决企业级复杂工作流(如Spider 2.0数据集)的SQL生成问题;
方向2:实时数据与Schema适配

现有方案假设数据库表结构固定,未来需优化LLM对“动态表结构”(如新增列、表关联变化)的适应能力,无需重新设计Prompt或微调;

表SCHEMA压缩与列关联
  1. 表压缩(Table Compression):缩小表结构的“Token占用”
    核心是通过合并冗余信息、精简描述格式,减少表结构在LLM prompt中的Token长度,避免超出上下文窗口限制(如GPT-4上下文通常为8k-128k Token,工业级表可能单表列描述就超量)。
    常见做法包括:
  • 冗余字段合并:将功能相似的列(如“用户手机号”“用户邮箱”归为“用户联系方式”类)或冗余的元数据(如重复的“字段类型说明”)合并描述;
  • 格式精简:用简写代替完整表述(如“int”代替“integer”、“PK”代替“primary key”),去除表结构中与当前查询无关的注释、分区信息;
  • 关联表聚合:将多表间的关联关系(如通过外键连接的“订单表”与“用户表”)简化为“主表+关联列”的紧凑格式,而非完整罗列每张表的所有列。

例如:某电商“订单表”含200+列,表压缩后可仅保留“订单ID、用户ID、商品ID、金额、下单时间”等核心列,及其与“用户表”“商品表”的关联键,Token占用可减少60%以上。

  1. 列探索(Column Exploration):精准定位“有用列”
    核心是通过主动筛选、动态验证,从海量列中定位与用户查询相关的列,避免无关列分散LLM注意力(文档中提到“Schema链接错误是Text-to-SQL主要误差来源,占比29%-49%”)。
    常见做法包括:
  • 关键词匹配筛选:根据用户查询中的关键词(如“查询2024年销售额”中的“销售额”“2024年”),初步筛选出“订单金额”“下单时间”等相关列;
  • LLM辅助判断:让LLM基于查询意图(如“分析用户复购率”),从候选列中进一步排除无关列(如“用户注册设备”),保留“用户ID、订单次数、下单间隔”等关键列;
  • 执行反馈验证:生成含候选列的简易SQL并执行,若结果为空或偏离意图(如查询“复购率”却返回“新用户数”),则反向调整列选择,逐步逼近正确列集合。

例如:用户查询“2024年Q1北京地区用户的平均订单金额”,列探索会先筛选“订单金额、下单时间、用户所在城市”,排除“商品分类、物流单号”等无关列,再通过执行简易SQL验证列的有效性。

  1. 组合价值:平衡“复杂度”与“准确性”
    工业级数据库常含上千列(如微软金融数据仓库单表超4000列),直接输入LLM会导致Token溢出或注意力分散。“表压缩+列探索”通过“先精简结构、再精准筛选”,既适配LLM上下文限制,又降低Schema链接错误率,是企业落地时“从简化到全量适配”的过渡策略(如文档中REFORCE方案用此策略优化复杂表查询,提升执行准确率)。

 

基于2407.15186v5.pdf的NL2SQL数据治理标准建立路径

一、明确数据治理核心目标(锚定痛点)

围绕消除“数据集歧义”(同一自然语言查询对应多语义SQL)与“语义不匹配”(查询意图无法用数据库回答)两大问题,以“规范标注流程、明确SQL逻辑唯一性”为核心,确保标注数据能精准匹配LLM-based NL2SQL任务需求,提升模型训练与评估的可靠性🔶3-329、🔶3-333。

二、建立标注流程规范(分阶段落地)

1. 标注前:数据库与查询筛选(源头控质)

  • 数据库筛选标准:优先选择结构清晰、字段含义明确的数据库,避免含模糊字段(如“状态”未定义取值范围)或冗余表(与核心查询场景无关)的数据集;参考BIRD数据集“37个专业领域+33.4GB真实数据”的构建逻辑,确保数据库覆盖通用与垂直领域,且数据格式(如日期、数值单位)统一🔶3-79、🔶3-329。
  • 查询筛选标准:排除“语义模糊”(如“找销量好的产品”未定义“好”的量化标准)与“数据库无法回答”(如查询“用户偏好”但数据库无用户行为字段)的自然语言查询,仅保留意图明确、可通过现有数据库字段转化为SQL的查询🔶3-329。

2. 标注中:SQL逻辑唯一性约束(核心规范)

  • 明确SQL逻辑唯一性定义:同一自然语言查询仅对应1个“语义等价”的SQL,若存在多写法(如LEFT JOININ实现同一逻辑),需统一为“最优写法”(参考C3提示词工程中“优先用JOIN而非LEFT JOIN”的语法规范)🔶3-130、🔶3-329。
  • 标注步骤规范
    1. 先标注“核心逻辑”:明确查询涉及的表、列、过滤条件(如“查询2024年北京用户订单”→表:订单表/用户表,列:订单时间/用户城市/订单ID,条件:2024年+北京);
    2. 再统一SQL语法:按“SELECT→FROM→JOIN→WHERE→GROUP BY→ORDER BY”固定顺序书写,字段别名、函数调用(如COUNT(*)而非COUNT(1))统一格式,参考Spider 2.0对“多SQL方言适配”的规范逻辑🔶3-81、🔶3-326;
    3. 最后验证执行结果:将标注SQL在对应数据库中执行,确保结果与查询意图一致,避免“语法正确但逻辑错误”(如漏加DISTINCT导致重复计数)🔶3-318。

3. 标注后:质量校验(消除歧义与不匹配)

  • 歧义校验:组织2-3名标注员对同一批数据交叉标注,若SQL逻辑差异率超10%,需重新明确查询意图并修正标注(参考MAC-SQL发现“Spider/BIRD标准答案错误率20%-30%”的校验逻辑)🔶3-318、🔶3-329;
  • 语义不匹配校验:通过“查询-数据库字段映射表”核查,确保查询中所有关键词(如“销售额”)均能对应数据库中明确字段(如“订单表.订单金额”),无“无字段匹配”的关键词(如查询“用户活跃度”但无“登录次数”字段)🔶3-329、🔶3-333。

三、配套保障措施(确保标准落地)

1. 构建标注指南文档

详细说明“SQL逻辑唯一性判定标准”“语法格式规范”“歧义与不匹配处理流程”,并附示例(如“查询每月平均订单数”的正确SQL与错误SQL对比),参考DAIL-SQL中“问题骨架+示例”的引导逻辑,降低标注员理解偏差🔶3-197、🔶3-329。

2. 引入LLM辅助校验

利用SQLCoder等Text-to-SQL专用模型,对标注后的“查询-SQL”对进行批量验证:若模型生成的SQL与标注SQL逻辑差异超20%,则标记为“待核查数据”,人工二次确认,提升校验效率(参考LLM Comparator“从‘何时/为何/如何’维度分析模型差异”的思路)🔶3-252、🔶3-269。

3. 动态迭代标准

定期收集模型训练反馈(如模型在某类标注数据上准确率低),若因“标注标准与实际场景脱节”(如未覆盖“复杂嵌套查询”标注),则更新标注流程与规范,保持与LLM-based NL2SQL技术演进(如自主智能体、多轮交互)的适配性🔶3-328、🔶3-333。

  • 方向3:多模态Text-to-SQL:结合表格数据(如Excel)、图表(如柱状图)的视觉信息,让LLM理解“图表中的数据关系”并生成SQL,拓展任务边界;
  • 方向4:低资源+隐私保护的融合方案:结合联邦学习与PEFT,在多机构数据不共享的前提下,联合训练Text-to-SQL模型,解决医疗、金融等领域“数据隐私+标注少”的双重难题。

五、总结:领域认知框架梳理

  1. 领域定义:利用LLM的语义理解、少样本学习能力,优化Text-to-SQL任务,降低数据库使用门槛,推动落地;
  2. 研究动机:传统方法数据依赖强、复杂场景适配差,LLM弥补缺陷,且实际应用需求迫切;
  3. 核心方案
    • 提示工程:三阶段框架(预处理-推理-后处理),适配闭源LLM,零成本快速验证;
    • 微调:以PEFT为核心,适配开源LLM,满足隐私与领域定制需求;
  4. 改进逻辑:从“解决基础问题(如Schema理解、成本)”到“优化细分场景(如复杂查询、低资源、领域定制)”;
  5. 未来重点:智能体规划、动态Schema适配、多模态融合、隐私保护融合方案。

通过以上梳理,可快速建立对“LLM赋能Text-to-SQL”领域的完整认知,明确现有方案的逻辑脉络与未来研究缺口。

创新点

基于2407.15186v5.pdf的NL2SQL数据治理标准建立路径

一、明确数据治理核心目标(锚定痛点)

围绕消除“数据集歧义”(同一自然语言查询对应多语义SQL)与“语义不匹配”(查询意图无法用数据库回答)两大问题,以“规范标注流程、明确SQL逻辑唯一性”为核心,确保标注数据能精准匹配LLM-based NL2SQL任务需求,提升模型训练与评估的可靠性🔶3-329、🔶3-333。

二、建立标注流程规范(分阶段落地)

1. 标注前:数据库与查询筛选(源头控质)
  • 数据库筛选标准:优先选择结构清晰、字段含义明确的数据库,避免含模糊字段(如“状态”未定义取值范围)或冗余表(与核心查询场景无关)的数据集;参考BIRD数据集“37个专业领域+33.4GB真实数据”的构建逻辑,确保数据库覆盖通用与垂直领域,且数据格式(如日期、数值单位)统一🔶3-79、🔶3-329。
  • 查询筛选标准:排除“语义模糊”(如“找销量好的产品”未定义“好”的量化标准)与“数据库无法回答”(如查询“用户偏好”但数据库无用户行为字段)的自然语言查询,仅保留意图明确、可通过现有数据库字段转化为SQL的查询🔶3-329。
2. 标注中:SQL逻辑唯一性约束(核心规范)
  • 明确SQL逻辑唯一性定义:同一自然语言查询仅对应1个“语义等价”的SQL,若存在多写法(如LEFT JOININ实现同一逻辑),需统一为“最优写法”(参考C3提示词工程中“优先用JOIN而非LEFT JOIN”的语法规范)🔶3-130、🔶3-329。
  • 标注步骤规范
    1. 先标注“核心逻辑”:明确查询涉及的表、列、过滤条件(如“查询2024年北京用户订单”→表:订单表/用户表,列:订单时间/用户城市/订单ID,条件:2024年+北京);
    2. 再统一SQL语法:按“SELECT→FROM→JOIN→WHERE→GROUP BY→ORDER BY”固定顺序书写,字段别名、函数调用(如COUNT(*)而非COUNT(1))统一格式,参考Spider 2.0对“多SQL方言适配”的规范逻辑🔶3-81、🔶3-326;
    3. 最后验证执行结果:将标注SQL在对应数据库中执行,确保结果与查询意图一致,避免“语法正确但逻辑错误”(如漏加DISTINCT导致重复计数)🔶3-318。
3. 标注后:质量校验(消除歧义与不匹配)
  • 歧义校验:组织2-3名标注员对同一批数据交叉标注,若SQL逻辑差异率超10%,需重新明确查询意图并修正标注(参考MAC-SQL发现“Spider/BIRD标准答案错误率20%-30%”的校验逻辑)🔶3-318、🔶3-329;
  • 语义不匹配校验:通过“查询-数据库字段映射表”核查,确保查询中所有关键词(如“销售额”)均能对应数据库中明确字段(如“订单表.订单金额”),无“无字段匹配”的关键词(如查询“用户活跃度”但无“登录次数”字段)🔶3-329、🔶3-333。

三、配套保障措施(确保标准落地)

1. 构建标注指南文档

详细说明“SQL逻辑唯一性判定标准”“语法格式规范”“歧义与不匹配处理流程”,并附示例(如“查询每月平均订单数”的正确SQL与错误SQL对比),参考DAIL-SQL中“问题骨架+示例”的引导逻辑,降低标注员理解偏差🔶3-197、🔶3-329。

2. 引入LLM辅助校验

利用SQLCoder等Text-to-SQL专用模型,对标注后的“查询-SQL”对进行批量验证:若模型生成的SQL与标注SQL逻辑差异超20%,则标记为“待核查数据”,人工二次确认,提升校验效率(参考LLM Comparator“从‘何时/为何/如何’维度分析模型差异”的思路)🔶3-252、🔶3-269。

3. 动态迭代标准

定期收集模型训练反馈(如模型在某类标注数据上准确率低),若因“标注标准与实际场景脱节”(如未覆盖“复杂嵌套查询”标注),则更新标注流程与规范,保持与LLM-based NL2SQL技术演进(如自主智能体、多轮交互)的适配性🔶3-328、🔶3-333。

 

In optimization models, particularly within mixed-integer programming (MIP), the presence of unbounded variables in IMPLIES constraints can lead to a poor big-M relaxation, which affects the efficiency and robustness of the solution process. To address this issue, several strategies can be employed to improve the formulation and avoid numerical instability. One approach is to tighten the bounds on variables whenever possible. Even if variables are theoretically unbounded, practical knowledge about the problem can often provide reasonable bounds. For instance, if a variable represents a physical quantity, such as production capacity, it is unlikely to exceed certain limits. By setting tighter bounds, the big-M value can be reduced, leading to a stronger relaxation[^1]. Another strategy involves the use of indicator constraints, which are supported by some MIP solvers. Indicator constraints allow the direct expression of logical conditions without the need for a big-M formulation. This can significantly improve the model's performance since the solver can handle these constraints more efficiently than traditional big-M approaches[^1]. Additionally, reformulating the problem to avoid IMPLIES constraints altogether can be beneficial. This might involve restructuring the model to use alternative formulations that do not rely on big-M values. For example, using a convex hull formulation for piecewise linear functions can provide a tighter relaxation and better computational performance. When dealing with complex logical conditions, introducing auxiliary variables and constraints can help. These auxiliary variables can be used to decompose the problem into smaller, more manageable parts, which can then be solved more efficiently. This approach can also help in reducing the overall impact of the big-M values on the relaxation quality. Lastly, employing preprocessing techniques can also aid in identifying and mitigating issues related to unbounded variables. Preprocessing can help in tightening the formulation by analyzing the structure of the problem and adjusting the model parameters accordingly. ### Example Code Here is an example of how to implement a tighter bound on a variable in a MIP model using Python and the PuLP library: ```python from pulp import LpProblem, LpVariable, LpMaximize # Create a new problem prob = LpProblem("Example_Problem", LpMaximize) # Define variables with tighter bounds x = LpVariable("x", lowBound=0, upBound=100) # Tightened upper bound y = LpVariable("y", lowBound=0, upBound=50) # Tightened upper bound # Objective function prob += 3 * x + 2 * y # Constraints prob += x + y <= 80 prob += x - y >= 10 # Solve the problem prob.solve() # Print the results for v in prob.variables(): print(v.name, "=", v.varValue) ``` This code snippet demonstrates how to define variables with tighter bounds, which can help in reducing the big-M value and improving the relaxation quality. ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

roman_日积跬步-终至千里

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值