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)。

4. 输出格式

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 格式)或 MPSGAMS
FileName输出文件的基本名称gams
WriteDict是否写入变量名映射字典文件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