|
|
|
CONVERT 求解器手册 — GAMS模型格式转换工具
1. 引言
CONVERT 是 GAMS 的一个特殊求解器,用于将 GAMS 模型转换为其他格式。它不是传统意义上的 NLP 求解器,而是一个模型转换工具。当您在 GAMS 中指定使用 CONVERT 求解器时,它不会求解模型,而是将模型翻译成选定的输出格式。
CONVERT 支持将 GAMS 模型输出为多种格式,包括标量 GAMS 模型、LP 格式、MPS 格式等。这对于模型调试、与其他优化系统的集成、以及模型分析非常有用。
2. 功能特性
CONVERT 求解器的主要功能包括:
- 将 GAMS 模型转换为标量 GAMS 模型(所有索引被展开为单个标量变量和方程)
- 输出为标准的 LP 格式(如 CPLEX LP 格式)
- 输出为 MPS 格式(一种广泛使用的数学规划系统格式)
- 保留模型的结构化信息
- 支持模型调试和验证
3. 使用方法
要在 GAMS 中使用 CONVERT 求解器,请在 Solve 语句中指定求解器选项:
Option NLP = CONVERT;
Solve mymodel using NLP minimizing z;
或者通过命令行选项指定:
gams mymodel NLP=CONVERT
CONVERT 将读取模型并在当前目录中生成输出文件。默认情况下,CONVERT 生成一个标量 GAMS 模型文件(gams.gms)和一个包含变量和方程名称映射的字典文件(dict.txt)。
CONVERT 支持多种输出格式,由选项控制:
| 输出格式 | 描述 | 文件扩展名 |
| 标量 GAMS 模型 | 将模型展开为标量形式,所有索引被替换为单个标量变量和方程 | .gms |
| LP 格式 | CPLEX LP 格式,广泛用于线性规划模型 | .lp |
| MPS 格式 | 标准的 MPS 格式,用于数学规划系统 | .mps |
5. 示例
以下是一个简单的运输问题的输出示例。原始 GAMS 模型:
$Title A simple transportation model
Sets
i / Seattle, San-Diego /
j / New-York, Chicago, Topeka /;
Parameters
a(i) / Seattle 350
San-Diego 600 /
b(j) / New-York 325
Chicago 300
Topeka 275 /;
Table d(i,j)
New-York Chicago Topeka
Seattle 2.5 1.7 1.8
San-Diego 2.5 1.8 1.4;
Variables
x(i,j) shipment quantities
z total cost;
Positive Variable x;
Equations
cost define objective
supply(i) observe supply limit
demand(j) satisfy demand;
cost.. z =e= sum((i,j), d(i,j)*x(i,j));
supply(i).. sum(j, x(i,j)) =l= a(i);
demand(j).. sum(i, x(i,j)) =g= b(j);
Model transport /all/;
Solve transport using LP minimizing z;
CONVERT 生成的标量模型输出将包含:
Variables
x(seattle,new-york),x(seattle,chicago),x(seattle,topeka),
x(san-diego,new-york),x(san-diego,chicago),x(san-diego,topeka),z;
Positive Variables
x(seattle,new-york),x(seattle,chicago),x(seattle,topeka),
x(san-diego,new-york),x(san-diego,chicago),x(san-diego,topeka);
Equations
cost,supply(seattle),supply(san-diego),
demand(new-york),demand(chicago),demand(topeka);
同时会生成一个 dict.txt 文件,其中包含原始变量名与编号的映射关系。可以使用 sed 命令将标量模型中的编号名称替换回原始名称:
sed -n -e "s:^ *\([exbi][0-9][0-9]*\) \(.*\):s/\1/\2/g:gp" dict.txt | sed -n '1!G;h;$p' > mod.txt
sed -f mod.txt gams.gms
执行后,变量名将恢复为 x(seattle,new-york) 等形式,便于阅读和调试。
6. 选项
CONVERT 求解器的可用选项:
| 选项 | 描述 | 默认值 |
| OutputFormat | 输出格式:GAMS(标量 GAMS 模型)、LP(CPLEX LP 格式)或 MPS | GAMS |
| FileName | 输出文件的基本名称 | gams |
| WriteDict | 是否写入变量名映射字典文件 | 1 |
在线留言
尊敬的客户朋友,如您有任何意见建议,请通过下表反馈给我们,我们会尽快与您联系。
|
|
|