二 GAMS简明教程 由 Richard E. Rosenthal 编著 (译者:该翻译由华中科技大学能源与动力工程学院小海完成,由于译者水平有限,其中肯定会有些问题,欢迎大家阅读并批评指正!) 2 .1 简介 这本书的简介部分以一个详细的例子结束,这个例子是一个用GAMS 进行表达、解决和分析的小而简单的优化问题。由来自蒙特利尔市 Naval 研究生院的Richard E.Row nthal 编写。通过这个例子我们可以对 GAMS 有一个快速而全面的了解。很多地方引用到本书其他章节的知识,方便大家进一步查阅;而阅读这一部分即使不看本书其他章节也能看懂并且有所收获。 例子是一个关于运输的线性规划问题,这个问题在最优化技术发展过程中曾经被当做实验对象。用这个例子展示GAMS 这类代数建模语言的强大功 能是很好 的选 择 ,因 为 不管 手 头 要 处 理 的问题有多大,运输问题本身 具 有一个简单的、可用的代数结构 。你 可以发现 ,如 果 要 解决一个非 常 大的运输问题,我们将 呈 现 的用于解决小规模运输问题的GAMS 输入 文 件 中的内 容 并不需 要 改 变 多少 。 在熟 悉 的运输问题中,我们考 虑 几 个工厂 的供 应 和几 个市场 的需 求 的商 品 ,我们也给 出 从 工厂 运输商 品 到市场 的单位 花 费 。这其中的经济 学问题是:怎 样 安 排 运输使得 我们的总 运输成本最小? 这个问题的代数表达常 常 采 用下 列 方式 : Indices: i = plants j = markets Given Data: ia = supply of commodity of plant i (in cases) ijb = demand for commodity at market j ijc = cost per unit shipment between plant i and market j ($/case) Decision Variables: ijx = amount of commodity to ship from plant i to market j (cases), Where ijx≥0, for all i, j Constraints: Observe supply limit at plant i: jijjax≤∑ for all i (cases) Satisfy demand at market j: ijji xb≥∑ for all j (cases) Objective Function: Minimize ijijij c x∑ ∑ ($K) 注 意 这个例子显 示了一些一般 情 况 下 我们认 为 是好 习 惯 的建模方式 ,这些在GAMS 里 面被继 承 了。首 先 ,模型 程序中的各 组 成部分都 按 类型 分组 定义 了。其次 ,GA...