NLPEC 求解器文档
NLPEC 是 GAMS 的求解器,用于求解数学规划含均衡约束(MPEC)问题,通过将互补条件转化为 NLP 约束进行求解。
目录
引言
NLPEC 专门用于求解 MPEC(Mathematical Programs with Equilibrium Constraints)问题。MPEC 问题包含标准优化约束和均衡约束(如互补条件)。NLPEC 通过将互补条件转化为一系列 NLP 约束,将 MPEC 问题转化为标准 NLP 问题,然后调用 GAMS NLP 求解器求解。
使用方法
在 GAMS 中使用 NLPEC 求解 MPEC 问题:
OPTION MPEC = NLPEC;
SOLVE mpecmodel USING MPEC MINIMIZING z;
NLPEC 会自动识别 MPEC 模型中的互补条件,将其转化为 NLP 约束,然后调用默认的 NLP 求解器求解转化后的问题。
转化方法
NLPEC 支持多种将互补条件转化为 NLP 约束的方法:
- 平滑法:使用光滑函数近似互补条件,生成平滑的 NLP 问题
- 惩罚法:将互补条件作为惩罚项加入目标函数
- 松弛法:引入松弛变量将互补条件转化为不等式约束
- 混合法:组合使用多种转化策略
选项
NLPEC 提供了丰富的选项来控制转化和求解过程:
| 选项名 | 描述 | 默认值 |
| reform_method | 转化方法(smooth/penalty/relaxation/hybrid) | smooth |
| nlp_solver | 用于求解转化后问题的 NLP 求解器 | 默认 NLP |
| penalty_param | 惩罚法初始惩罚参数 | 1.0 |
| penalty_increase | 惩罚参数增加因子 | 10 |
| smooth_param | 平滑参数初始值 | 1.0 |
| smooth_decrease | 平滑参数减少因子 | 0.1 |
| max_iter | 最大迭代次数 | 30 |
| tol_feas | 可行性容差 | 1e-6 |
| tol_opt | 最优性容差 | 1e-6 |
| output_level | 输出详细程度 | 1 |
开放架构
NLPEC 采用开放架构设计,允许用户自定义转化策略和参数。用户可以通过选项文件灵活配置转化过程,也可以编写自定义的转化例程集成到 NLPEC 中。这种设计使得 NLPEC 能够适应各种复杂的 MPEC 问题结构。
在线留言
尊敬的客户朋友,如您有任何意见建议,请通过下表反馈给我们,我们会尽快与您联系。
|