EXAMINER 求解器手册 — 解检查与KKT条件验证

目录

1. 引言

EXAMINER 是一个 GAMS 求解器,用于检查解的准确性和验证最优性条件。它不是一个优化求解器,而是一个验证和诊断工具。EXAMINER 可以检查:

  • KKT(Karush-Kuhn-Tucker)一阶最优性条件
  • 原始可行性和对偶可行性
  • 互补松弛条件
  • 解的数值精度

EXAMINER 特别适用于以下场景:

  • 验证求解器返回的解是否满足最优性条件
  • 诊断数值问题(如缩放不良)
  • 比较不同求解器的解质量
  • 教学和研究目的(可视化 KKT 条件)

2. 使用方法

要在 GAMS 中使用 EXAMINER 求解器:

    Option LP = EXAMINER;
          Solve mymodel using LP minimizing z;

EXAMINER 支持所有 GAMS 模型类型(LP、NLP、MIP、QCP 等)。运行后,EXAMINER 会输出解的检查结果,包括任何违反最优性条件或可行性条件的情况。

3. 检查项

EXAMINER 执行以下检查:

检查项描述
原始可行性检查所有变量是否在其边界内,所有约束是否满足
对偶可行性检查简化成本是否具有正确的符号
互补松弛检查变量-边界互补松弛和约束-对偶互补松弛
KKT 条件检查拉格朗日函数的梯度是否为零
数值精度检查求解过程中是否有数值问题

KKT 条件检查

EXAMINER 会打印出解的详细信息,包括原始变量值、边界、简化成本(reduced costs)、对偶变量值和约束松弛量。这使得用户可以直观地检查和验证 KKT 一阶最优性条件。

4. 容差选项

选项描述默认值
dualCSTol对偶互补松弛容差1e-6
primalCSTol原始互补松弛容差1e-6
feasTol可行性检查容差1e-6
optTol最优性检查容差1e-6

5. 选项参考

选项描述默认值
checkDual检查对偶可行性1
checkKKT检查 KKT 条件并打印详细信息0
checkPrimal检查原始可行性1
dualCSTol对偶互补松弛容差1e-6
feasTol可行性容差1e-6
optTol最优性容差1e-6
primalCSTol原始互补松弛容差1e-6
returnGamsPoint将 GamsPoint 作为解返回给 GAMS0
returnInitPoint将 InitPoint 作为解返回给 GAMSauto
returnSoluPoint将 SoluPoint 作为解返回给 GAMSauto
returnSolvPoint将 SolvPoint 作为解返回给 GAMSauto
scaled是否对缩放后的模型进行检查0
scaleLB行缩放因子的下界1
scaleUB行缩放因子的上界maxdouble
showSlacks对失败的检查明确显示不可行性或松弛量0
subSolver运行的子求解器(默认使用模型类型的默认求解器)auto
subSolverOpt传递给子求解器的 optfile 值auto
trace将跟踪信息计算并追加到此文件none
traceStyle跟踪文件样式0
unScaled是否对原始未缩放的模型进行检查1

 

 


 

在线留言

尊敬的客户朋友,如您有任何意见建议,请通过下表反馈给我们,我们会尽快与您联系。

 

 

 

 

联系我们

 

微信公众号

咨询微信

企业店铺

400-621-1085

(节假日期间办公室座机如无人接听,请选择其他联系方式,感谢理解!祝您节日快乐!)

 

联系我们 快速链接 相关产品 上海卡贝信息技术有限公司

©2025  上海卡贝信息技术有限公司

产品中心

下载中心

站点地图

隐私政策

 

销售QQ咨询

产品QQ咨询

淘宝店铺

 

GAMS:概述

最近更新

相关文档

下载试用

购买咨询

Berkeley Madonna

iThink

Stella Architect

IBM SPSS Modeler

DecisionTools Suite

NeuralTools

Frontier Analyst

Vensim

RISKOptimizer

PrecisionTree

LINGO

LINDO API

What'sBest!

@RISK

BARON

BayesiaLab

Oracle Crystal Ball

GEMPACK

GTAP Database

TreeAge