GAMS入门指南:显示表述与数据库操作

需积分: 46 35 下载量 9 浏览量 更新于2024-08-09 收藏 356KB PDF 举报
"显示表述-SAS从入门到精通-GAMS简明教程" 在SAS和GAMS这两个优化工具中,理解和掌握“显示表述”与数据库管理是至关重要的。SAS的“显示表述”主要是在执行Solve表述后,帮助用户查看模型的运行结果,包括变量的最终值和边界值。而在GAMS中,显示表述则是通过`display`语句来实现的,例如`display x.l, x.m;`,这将分别显示变量x的最终值(.l)和边界值(.m),并以表格形式呈现,便于分析和理解。 GAMS中的数据库系统是一个小型但功能强大的工具,它用于存储变量和方程的状态信息。数据库中的关键字段包括: 1. `.lo`:下边界,定义变量或方程的最小允许值。 2. `.l`:当前值或初始值,表示变量或方程在运算过程中的值。 3. `.up`:上边界,定义变量或方程的最大允许值。 4. `.m`:边界值或双重变量值,通常用于表示优化问题的解。 用户可以通过指定变量或方程的名字,加上领域名和可能的索引来访问这些值。例如,`x.up(i,j)`可以用来设置或查询变量x在索引(i,j)处的上边界。 GAMS允许用户直接操作这个数据库,进行读取和写入。这在模型构建和调试过程中非常有用,特别是在需要修改变量的边界条件或者初始化值时。例如,可以使用如下语句来设置变量的边界值: ``` x.up(i,j) = capacity(i,j) ; x.lo(i,j) = 10.0 ; x.up('seattle','new-york') = 1.2*capacity('seattle','new-york') ; ``` 这里,`x.up(i,j)`和`x.lo(i,j)`分别设置了变量x的上界和下界,而最后一行展示了如何基于已有的数据动态计算边界值。 GAMS简明教程则由Richard E. Rosenthal编著,旨在提供一个快速学习GAMS的入口。教程通过一个运输问题的线性规划案例,展示了GAMS的建模和求解能力。在这个案例中,涉及工厂供应、市场需求和运输成本,目标是最小化总运输成本。问题的建模涉及到一系列决策变量(如运输量)、约束(如供应限制和需求满足)和目标函数(总运输成本的最小化)。通过这个简单的例子,读者可以直观地理解GAMS的基本语法和优化模型的构建过程。 在深入学习GAMS的过程中,读者可以通过书中引用的其他章节进一步扩展知识,并且即便只阅读这部分内容,也可以对GAMS有基本的了解。GAMS的强大之处在于其灵活的模型构建和大规模问题的处理能力,即使面对复杂的优化问题,其基本的输入文件结构也无需做大幅度修改。