TOMLAB求解器选择说明

TOMLAB Optimization Environment 是面向 MATLAB 的优化建模与求解环境。TOMLAB Base Module 包含 MATLAB 代码、MEX 加速组件、若干内置求解器以及 TomSym 符号建模引擎;在此基础上,用户可根据线性规划、二次规划、非线性规划、混合整数规划、全局优化、半定规划等问题类型,选择相应的求解器工具箱。

TOMLAB 产品概览

TOMLAB Base Module

TOMLAB Base Module 是多数 TOMLAB 工具箱所需的基础模块。该模块包含 MATLAB 代码、MEX 加速组件、SOL 求解器 Tlsqr、PDCO、PDSCO,以及 glbDirect、glcDirect、glcCluster 等用于全局优化的 MATLAB-Fortran MEX 求解器。TomSym 符号建模引擎也包含在该模块中。

TOMLAB /CPLEX

TOMLAB /CPLEX 将 CPLEX 求解器包与 MATLAB 和 TOMLAB 集成。该工具箱面向大规模混合整数线性规划、混合整数二次规划、线性规划、二次规划以及带线性和二次约束的问题。工具箱包含用于线性、二次和锥规划的单纯形与内点类求解方法。

  • 适用于混合整数线性规划 MILP、混合整数二次规划 MIQP、线性规划 LP、二次规划 QP 等问题。
  • 支持线性和二次约束,也可用于网络规划问题。
  • 可在 MATLAB 中控制 CPLEX 参数和状态变量。
  • 可作为 TOMLAB 环境中的子问题求解器使用。

TOMLAB /SOL

TOMLAB /SOL 集成 Stanford Systems Optimization Laboratory 开发的一组常用求解器,包括 MINOS、LPOPT、QPOPT、NPSOL、NLSSOL、LSSOL、DNOPT、SNOPT、SQOPT 等。该工具箱可用于稀疏和稠密的线性、二次、非线性规划问题,并可作为 TOMLAB Base Module 中部分求解器的子问题求解器。

其中,SNOPT(Sparse Nonlinear Optimizer)适合处理大规模非线性优化问题,特别适用于函数和梯度计算成本较高的平滑非线性问题。SNOPT 采用稀疏序列二次规划 SQP 方法。

TOMLAB /KNITRO

TOMLAB /KNITRO 将稀疏非线性内点方法与活动集方法求解器 KNITRO 集成到 MATLAB 和 TOMLAB 中。KNITRO 可用于大规模非线性规划问题,并支持混合整数线性、二次和非线性问题。

  • 支持 Interior/Direct、Interior/CG、Active-set SLQP 等算法选项。
  • 可处理 MATLAB 稀疏数组。
  • 可作为其他 TOMLAB 求解器的子问题求解器。
  • 可用于带平衡约束的问题 MPEC。

TOMLAB /OQNLP

TOMLAB /OQNLP 是一种多起点启发式算法,用于寻找平滑约束非线性规划 NLP 和混合整数非线性规划 MINLP 的全局解候选。该方法会以不同初始值调用 NLP 求解器,并返回可行解以及目标点。初始点可来自 scatter search 算法,也可使用均匀分布的初始值。

OQNLP 内置可行路径 GRG 求解器 LSGRG2。对于平滑问题,OQNLP 的特点是较容易获得较好的局部解,并可处理整数变量。

TOMLAB /CGO

TOMLAB /CGO 面向函数计算成本较高的全局非凸问题,包括带整数变量的问题。该工具箱包含 EGO 和 rbfSolve 等求解器,适用于目标函数计算耗时、导数信息难以获得或不适合直接计算的场景。

TOMLAB /LGO

TOMLAB /LGO 将确定性与随机性、无导数的全局和局部优化策略集成在一起。LGO 适用于难以获得梯度、Hessian 等高阶信息的优化应用,并包含分支定界全局搜索、全局自适应随机搜索、多起点全局随机搜索、约束局部搜索等模块。

TOMLAB /MINLP

TOMLAB /MINLP 提供 MATLAB 环境中的混合整数非线性规划求解方案,包含 Roger Fletcher 和 Sven Leyffer 在 University of Dundee 开发的四个求解器。这些求解器提供稀疏和稠密两个版本,可用于 QP、NLP、混合整数二次规划和混合整数非线性规划等问题。

TOMLAB /PENBMI

TOMLAB /PENBMI 用于求解带线性约束的大规模稀疏线性半定规划问题,也涉及双线性矩阵不等式 BMI。该工具箱由 TOMLAB 与 PENOPT Gbr,以及 Michal Kocvara 和 Michael Stingl 等研究人员合作开发。

TOMLAB /MAD

TOMLAB /MAD 是 MAD(MATLAB Automatic Differentiation)的 TOMLAB 集成版本。MAD 源自 Cranfield University,用于 MATLAB 自动微分相关工作。

按问题类型选择 TOMLAB 求解器

不同优化问题适合的求解器不同。以下内容根据 TOMLAB 产品页与问题类型菜单整理,用于帮助用户理解常见问题类型与产品模块之间的对应关系。

问题类型 可加强关注的 TOMLAB 模块 说明
线性规划 TOMLAB /CPLEX、TOMLAB /SOL、TOMLAB Base Module 可用于 LP 问题。CPLEX 包含单纯形、内点类方法及网络相关接口;SOL 包含 LPOPT、MINOS 等相关求解器。
二次规划 TOMLAB /CPLEX、TOMLAB /SOL、TOMLAB /KNITRO 可用于 QP、带二次约束的问题,以及部分二次规划子问题。
无约束优化 TOMLAB Base Module、TOMLAB /SOL、TOMLAB /KNITRO 适用于常见连续优化问题,具体选择取决于问题规模、稀疏性和导数信息。
非线性约束优化 TOMLAB /SOL、TOMLAB /KNITRO、TOMLAB /OQNLP、TOMLAB /LGO SNOPT、NPSOL、DNOPT、KNITRO 等可用于非线性规划 NLP;OQNLP 和 LGO 可用于带全局搜索需求的问题。
线性 LS 问题 TOMLAB /SOL、TOMLAB Base Module SOL 系列中包含与 LS 相关的求解器,Base Module 也包含相关基础能力。
非线性约束 LS 问题 TOMLAB /SOL、TOMLAB /KNITRO 可用于非线性 LS 和带约束的连续优化场景。
盒约束全局优化 TOMLAB Base Module、TOMLAB /LGO、TOMLAB /CGO 适用于带变量上下界的全局优化问题;若函数计算成本较高,可关注 CGO。
函数计算成本较高的全局优化 TOMLAB /CGO CGO 面向成本较高的全局优化问题,包含 EGO、rbfSolve 等求解器。
混合整数规划 TOMLAB /CPLEX CPLEX 适用于混合整数线性规划 MILP 及相关大规模问题。
混合整数二次规划 TOMLAB /CPLEX、TOMLAB /KNITRO、TOMLAB /MINLP CPLEX 可用于 MIQP;KNITRO 和 MINLP 也可处理部分混合整数二次或相关问题。
混合整数非线性规划 TOMLAB /KNITRO、TOMLAB /MINLP、TOMLAB /OQNLP 适用于 MINLP 问题。OQNLP 采用多起点启发式方法;MINLP 包含 University of Dundee 求解器;KNITRO 也支持混合整数非线性问题。
半定规划 TOMLAB /PENBMI、TOMLAB /PENSDP PENBMI 与 PENSDP 面向半定规划及矩阵不等式相关问题。

选型提示

  • 如果主要处理大规模线性、二次或混合整数线性/二次规划,可主要关注 TOMLAB /CPLEX。
  • 如果主要处理稀疏或稠密的连续非线性规划,可关注 TOMLAB /SOL 与 TOMLAB /KNITRO。
  • 如果问题属于混合整数非线性规划,可关注 TOMLAB /KNITRO、TOMLAB /MINLP、TOMLAB /OQNLP。
  • 如果目标函数计算成本较高,且属于全局非凸优化场景,可关注 TOMLAB /CGO。
  • 如果需要无导数的全局和局部优化策略,可关注 TOMLAB /LGO。
  • 如果涉及半定规划或矩阵不等式问题,可关注 TOMLAB /PENBMI 或 TOMLAB /PENSDP。
  • 如果需要自动微分相关能力,可关注 TOMLAB /MAD。

备注:以上内容根据 TOMLAB 产品页与相关产品说明整理,仅供选型参考。具体产品能力、适用平台、版本信息与交付内容,请以厂商实际交付资料为准。

热门资讯

2026-07-18 03:25
首页    技术文档    TOMLAB求解器选择说明