GAMS基础篇-中文版-0709修订(简体版)_第1页
GAMS基础篇-中文版-0709修订(简体版)_第2页
GAMS基础篇-中文版-0709修订(简体版)_第3页
GAMS基础篇-中文版-0709修订(简体版)_第4页
GAMS基础篇-中文版-0709修订(简体版)_第5页
已阅读5页,还剩78页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

国立清华大学永续发展研究室

GAMS基础篇

中文操作手册及程序语法

黄宗煌教授

TaiSEND研究团队制作

目录

刖52

第一章GAMS的操作方法4

1.MENUSANDWINDOWS4

1.0进入GAMS系统4

1.1FILEMENU5

1.2EDITMENU14

1.3SEARCHMENU14

1.4WINDOWSMENU16

1.5HELPMENU17

第二章GAMS的程序语法19

2.GAMS程序基本结构19

2.0概述19

2.1SET、ALIAS、ANDTABLE语法范例20

2.2PARAMETERANDSCALAR语法范例21

2.3VARIABLE语法范例22

2.4EQUATION语法范例23

2.5MODEL语法范例25

2.6SOLVE语法范例26

2.7如何将数据导出至EXCEL26

2.8以实例说明输出文件的基本结构27

-1-

2.9GAMS的其它语法及注意事项37

第三章GAMS绘图功能48

3.在GAMS接口中绘图48

3.0GAMS绘图窗口介绍(CHARTWFNDOW)48

3.1GAMS图表编辑窗口(CHARTEDITOR)49

3.2GAMS绘图步骤52

3.3折线图(LINECHART)52

3.4直方图(BARCHART)56

3.5扇形图(PIECHART)57

3.6股票走势图(MULTILINECHARTFORSTOCKDATA)58

3.73D曲面图(3DSURFACECHART)59

3.8将资料导出至EXCEL60

第四章GAMS基本范例62

4.基本范例62

4.0范例一:效用最大化问题62

4.1范例二:比较静态分析问题63

4.2范例三:CGE模型66

4.3范例四:家计单位优化模型70

4.4范例五:理想化成长模型73

4.5范例六:利用GAMS绘图76

参考文献80

-2-

刖a

GAMS的全名为GeneralAlgebraicModelingSystem(一般性代数仿真系统),其最

初的研究与发展(R&D)是由国际复兴开发银行所资助(InternationalBankfor

Reconsti-uctionandDevelopment),指世界银行(TheWorldBank),并且在华盛顿特区

的发展研究中心执行这项计划。自1987年以来,GAMS的研究与发展已改由GAMS

DevelopmentCorporation所资助。

GAMS系统是在一奉数理经济学家的密切合作之下所开发,在系统的发展上,

最重要的成功因素是共同应用在经济学、计算机科学和运筹学之间。虽然数学规划

(mathematicalprogramming)和经济理论(economicstheory)交错严密,然而1975年诺

贝尔经济学奖颁给LeonidKantorovich和TjallingKoopmans,以表彰他们在数学规

划中对优化资源分配理论的"贡献"。其它诺贝尔奖得者,像1972年的Kenneth

Arrow>1973年的WassilyLeontief、及1990年的HarryMarkowitz也都在数学规划

上非常闻名。

线性规划算法起源于1940和1950年代GeorgeDantzig早期的著作中,以计算

技术和算法理论的发展较为迅速。三十年后,它有可能解决较复杂的问题,允许人

们拿真实生活中的问题来测试经济理论。在1970和1980年代世界银行的研究议程

里,创造了完善的环境,应用数学规划作研究一起带来不同的学科和经济发展运算

上的问题。

GAMS系统的推动解决了一个从大经济模型群组中令人沮丧的经验。事后看来,

你也许觉得1970年代数理经济学家,在当时使用最佳的技术,解决了当时大部分在

农业、钢铁业、肥料、及电力上的经济及仿真优化的模型,引起了令人印象深刻的

研究,但最初的成功难再突破。因为当时的技术建构,操作,和解决这样的模型,

需要人工、费时、及容易出错,而且数据的格式和解答的方法不是方便携带的。

因此GAMSDevelopmentCorporation所接手开发的GAMS软件,是为了处理模

型线性、非线性及混和整数优化的问题。GAMS尤其适合处理须精确模型之大型、

复杂及独特的问题,使得问题符合高度精确及自然的法则等,也允许使用者自行快

速且简便的修改公式以便于求解其它的问题,甚至于只要稍加费心就能转换线性公

-3-

式成非线性公式,近年来已广泛地被世界各经济学家所使用。对初学者来讲,需要

掌握三个学习重点:解决含有限制式之目标函数优化问题、解决经济上一般平衡的

问题、及解决非线性系统程序之问题。

数月前承蒙清华大学经济系黄宗煌教授的建议,因有感于GAMS的操作手册及

程序语法皆为英文且较为深入复杂,对初学者来讲会有阅读及学习上的困扰,因此

编写此讲义,期盼对于初学GAMS的使用者有所帮助。此外,特别感谢杨晴雯小姐

适时提供部份的GAMS基本范例,及陈谷泛先生对本人在编写此讲义时的一些建

议。对操作GAMS过程之技术询问,以及对本讲义之内容建议,请洽TaiSEND研

究团队:

中央大学产经所博士班杨晴雯

电话:(03)572-3685

E-mail:93444008@.tw

,清华大学永续发展研究室研究专任助理陈谷泛

电话:(03)572-3685

E-mail:kfchen@.tw

,及清华大学永续发展研究室研究专任助理黄耿信

电话:(03)572-3685

E-mail:g4huang@

黄耿信谨识

民国九十七年七月九日

于清华大学永续发展研究室

-4-

第一章GAMS的操作方法:

1.MenusandWindows

1.0进入GAMS系统

1.1FileMenu

1.2EditMenu

1.3SearchMenu

1.4WindowsMenu

1.5HelpMenu

1.0进入GAMS系统:

当GAMS软件安装好之后,在计算机桌面上会出现GAMS-IDE之图像也,

点击此按钮进入GAMS系统,出现画面如下图所示:

圈gamride:C:\DocmenkandSettingsUtndenftMyDocmnei^VgamMiriproMiiAgmtproj.gpr

fileEditgeaichWindowsUtilitiesHelp

回回3a|i|>[I3阈,

-5-

1.1FileMenu:

1.1.1File|New:

打开新的编辑窗口,请点选由招36亚指令或按键盘©皿+犯即可编写新的

GAMS程序,出现画面如下图所示:

1.1.2File|Open:

打开一个或多个已存在档案,请点选File|Open指令、或按键盘Ctrl+O、或

在GAMS接口中点击回按钮,会出现开启档案的窗口,然后按照档案储存

的路径开启档案,按Shift+Ctrl+I可选择多个GAMS档案,出现画面如下图

所示:

-6-

1.1.3File|OpeninNewWindow:

打开一个或多个已存在档案在新的编辑窗口,其操作方法同1.1.2。

1.1.4File|ViewinExplorer:

先开启一个已存在的GAMS档案,再点选File|ViewinExplorer指令,

会出现其档案的储存窗口,出现画面如下图所示:

2学「阊分

malhl.gms

'TitleMathematicalLinearProgrammingvithGJLKS9

positivevariablesxl,x2;9

R*Ca$eStodyvithGAMS

variableY;夕笛案⑥.蟠⑥也屈笆鼓的最曼西工具①睨明⑧

equationsobjfcn,ineql,ineq2zinec

a

Jobjfen..Y«e«8»xl+S»x2;fjF'CsaStudywiihGAMSV0穆至

iineql..2»xl+x2=1=1000;91苜案及青料夹工作

'ineq2..3"X1+4»X2=1=2400;!出虎遑政5案重新命名

百格瞬旬密宴

iineq3..700;ID根梨逐甸惨案

-WRL2495tmp

。将隹醐藻凌而同朝玷IMF柏案

:ineq4..350;5"J359KB

J以电子邨件停送适留福案

X删隙适磁案

modeltest/all/;3-WRL3625.tmp

Dd■宿家

356KB

solvetestmaximizingYusinglp;9l

其他位造

04-h-CEmHoawCh2.£msMb-He到P30比较箭熊晔

displayxl.1,x2.1,Y.〜卸除用as(F)-朦**

4KB

□我的文件

Execute_Unload'mathl.gdx',xl,x2,

□共用文件AOptumzatcnProblemfora0司\CaseStudyviftGAMS.ppt

W粉的雷搐HouseholdwithGAMEfftn

Execute1Gdxxrw.exenathl.gdx0■KHGAMSIDEf«hg757KB

可河路上的芳部

Execute1Gdxxrw.exewathl.gdx0=CGEModel.ppt

MicrosoftPoverPotnt副E

230KB

Execute1Gdxxrw.exenathl.gdx0

0f

3

Du¥be

mathlgmt,-

):

GAMSIDEfifeG,

I-

修改日期:2008年4月15日,下午0

0335

大小:863超位元铤

1:1Inseit

-7-

1.1.5File|Run:

执行GAMS程序,请点选File|Run指令、或直接按键盘的F9、或在GAMS

界面中点击Q按钮。

1.1.6File|Save:

原档名存储GAMS档案,请点选File|Save指令、或按键盘Ctrl+S、或在

GAMS界面中点击倒按钮。

1.1.7File|Saveas:

更改档名储存GAMS档案,请点选File|Saveas。

1.1.8File|Close:

关闭GAMS档案,请点选File|Close指令或点击编辑窗口右上角。

1.1.9File|Print:

打印GAMS档案,请点选File|Print指令、或在GAMS接口中点击国按

钮,出现画面如下图。打印之前可选择打印内容,如档案路径及页数(Header

&pagenumber)>每列程序的编号(LineNumbers)>程序格式栏印(Syntax

print,如粗体字和斜体字)、彩色打印(Colorprint)、双面打印(Twopages)、

打印预览(Preview)、及字号和样式(Printerfont)等。

-8-

1.1.10File|Preview:

打开之前曾经开启过的档案,请点选File〔Preview指令,出现画面如下

所示:

1.1.11File|Exit:

点选File|Exit指令,或点击GAMS系统窗口右上角.,可离开GAMS

系统。

1.1.12File|ModelLibrary:

点选File|ModelLibrary指令,可打开GAMS标准模型图书馆(Open

GAMSModelLibrary)里的范例档案(着重于ModelType,如LP或NLP

-9-

等),出现画面如下图所示:

或可打开式样模型图书馆(OpenUserModelLibrary)里的范例档案(着重于语

法格式,例如变量、方程式、及模型的宣告),其文件名为modlib.glb,路径

如下:C:\ProgramFiles\GAMS22.6\docs\bigdocs\gams2002\modlib.glbo

File|Project:

(1)NewProject:

点选File|Project|NewProject后,再决定NewProject的槽名(例如:

HarryPotter)及路径,其功能在使所有跟HarryPotter.gpr有关的档案都

-10-

会储存在相同的路径底下,gpr为Project的扩展名,出现画面如下图所

示:

tor.CSD03-PC\MyDocumente\gainsdii\pioidix\ginsproj.gpr

0a|昌|[>]]

田|圜|。|、"variable旦|且|叫F

mathl.gmsmathl.1st|

pTitleMathematlealLinearPrograiwmingwithGAMS31

gi

positivevariablesxlzx2;31

31

varlaBXeY;31

equationsotojfcnzineql,ineq2,ineq3,ineq4;91

gi

objfcn..Y=e=8*xl+5*x2;SI

•icarl*v1-4-=1=1Finn-GT

-11-

洞址h^F:VGAMSProject

过料灾

3点前WHarryPotter.gpr

+我的文性£d).lo^

日我白勺重陷h]matHl.1st

田一终3.5^谏侬(A:)Si]nxatKl.Lxi

田一本班电棒(C:)Tmathl.fijdx

国二一本城踢碎(D)国]mathl.xls在HarryPotter.gpr下打^

田2DVD-RW图碎用(E

一•农口除/说课(F:)math1.gms槽案(储存在F槽)>

*93-CGE_b

93-1®蟀上

+一94-TaiSEND然彳发轨行程式,其所筐生的翰

1951®曲至庐孚——

.95画侬金至滴分二出槽曾跟HarryPotter.gpr储存

、96画能卷沟率一

+..fCaseStudywithG在相同的路彳里。

!_3CGEW*4

、F16艘隼式勒门(4

_jF22狂福式歌产弓粒

口iGAMSProject

+GAMS分考君料

(2)OpenProject:

打开一个已存在的Project,则GAMS系统会要求你储存正在修改中的

档案,且会自动关闭。

File|Options:

Options的功能如同GAMS系统的管家一般,总管GAMS系统的设定,

包括Editor、Execute、Output、Solvers、LicensesColors、FileExtensions、

Charts/GDX、及Execute2。

(1)Options|Editor:

可设定字型及其样式和大小、Tab键的型式及大小、页边空白、段落标

记、及语法颜色等,Options]Editor出现画面如下图所示:

(2)Options|Execute:

设定GAMS系统执行程序时的环境,显示执行过程的窗口、及执行完

成后显示1st文件的窗口等,Options|Execute出现画面如下图所示:

-12-

(3)Options|Output:

设定输出档页面宽度和高度、日期和时间的型式,通常页面宽度的范围

介于72~255,页面高度为0或99999,Options|Output出现画面如下图

所示:

(4)Options|Solvers:

显示可使用的Solvers和Model的型态,以便解决问题。第一行显示可

使用的Solvers,第二行显示Solvers的license状态。Full表示可完全使

用其Solvers的功能,Demo表示试用版本,可部份使用其Solvers的功

能。小长方形表示对某个Model型态来说,此Solvers选择了GAMS

系统的隐含值;X表示对某个Model型态来说,现行所使用的Solvers;

-(adash)表示对某个Model型态来说,无法使用的Solvers«

例如:CPLEX适用于LP、MIP、MIQCP、QCP等模型。

-13-

(5)Options|Licenses:

在安装GAMS系统时,即可上传license档案,或在Options|Licenses

选择替代的license档案,出现画面如下图所示:

(6)Options|Colors:

设定GAMS程序语法的颜色(分为前景(Foreground)及背景(Background)

及字体(包括粗体(Bold)、斜体(Italics)、及底线(Underline))。例如保留

-14-

字(Reservedwords),前景为蓝色,背景为Default值,粗体字。Options

|Colors出现画面如下图所示:

1.2EditMenu(其功能和MicrosoftWords编辑字段的功能一样):

1.2.1Edit|Undo(Ctrl+Z):

回复至上一次更改程序的画面。

1.2.2Edit|Redo(Shift+Ctrl+Z):

再次回复至上一次更改程序的画面。

1.2.3Edit|Cut(Ctrl+X):

删除某一段程序内容,并复制到你想要贴上的地方。

1.2.4Edit|Copy(Ctrl+C):

复制所选择的程序内容。

1.2.5Edit|Paste(Ctrl+V):

贴上所选择的程序内容。

1.2.6Edit|Delete:

删除所选择的程序内容。

-15-

1.2.7Edit|SelectAll(Ctrl+A):

选择档案全部的内容。

1.3SearchMenu:

1.3.1Search|Find(Ctrl+F):

寻找程序里的指令或语法。

1.3.2Search|Replace(Ctrl+R):

寻找程序里错误的语法,并用正确的语法来取代,131和132的画面窗口如

下图所示:

1.3.1画面窗口1.3.2画面窗口

1.3.3Search|Gotoline(Ctrl+G):

输入某列错误程序的号码列数(可由输出文件得知此号码列数),并修改其程

式,出现的画面窗口如下图所示:

-16-

r~jgwmsidrF:\GAMSProjcctMlnrryHottergj»»StudywithGAMSKiwoth1ansJ

M

司回I%]、|,llqsi*__zJ耳鼻|r

mathl.gms

$TlcleMacnemaclealLInestir

91

positivevaHAal>JLe,x1,xZ;SI

,31

vax*ldl>XeY;91

otoJ£cn,Ineql,IneqZ4

otoJ£cn..+5*xz;gr

,31

Ineql..

,31

1neq2..

St

1rxeq3..x1+x2700;gi

St

1neq4..x2-l**350;SI程式中第七行彝•生

gxl打字籍霞。

<1

重x2.1,Y.1;SI

Ex«ec»it.«*Unload'rmathl.gdx',x2,Y;91

M

Execute'Gdxxxrw.exeme*thl.gdxO-machl.xIsvacxlRng-Sheet.1•al,;31

a

Execute'Gdxxrw.esxeroeathl.gdxO-mat.hl.xIsvacx2Rng-Shc«=t1!k>2';SI

SE

Exccutct'Gdxxrw.cxemeathl.gedxO-mnchl.xIsve*rYRna-Sheet1•c3,;91

9

1

1.4WindowMenu:

1.4.1Windows|Cascade:

多个编辑窗口呈阶梯式排列,出现的画面窗口如下图所示:

&leEditgraxhHu>dow«Uhhb»Help

日喀|WW向H三]*)|4»|B»|「

KESliNtywitkGAMSUaathl£■»-LX

\C»eSlualywithOAMSUUMNxmiins;

ln»«nl

1.4.2Windows|TileHorizontal:

多个编辑窗口呈水平排列,出现的画面窗口如下图所示:

-17-

camndr.C.WtociamFile*SOAMS22.6\docf\bi|:<locr\c>UD«2002\>t.cpt国笆区|

pileEditgt«ith出uviow2UblitmKelp

&|I3|%|<>3w|>|E»|I3»|

1.4.3Windows|TileVertical:

多个编辑窗口呈垂直排列,出现的画面窗口如下图所示:

filegdstgeuchWurfowsJl&btJKelp

日理m2_|耳可阈寓分I「三壁

liwcrt

-18-

1.5HelpMenu:可查询GAMS语法及其操作方法

1.5.1点选Help|GAMSIDEHelpTopics,出现的画面窗口如下图所示:

◎GAMSIDE

蠹Ai&

内容©I索引@I搜尊图I频:业.GAMSIntegratedDevelopmentEnvironment

portentsTheGAMSIDEisageneraltexteditorwrththeabilitytolaunchandmonitorthecompilation/executionofGAMSmodels.Progr

GuidedTourcompilation/executioncanbemonitoredintheprocesswindow.Theprocesswindowisalsousedasanavigationtooltolocate

*,GAMSIDEWindowsinthesourcecodeandtofindvariousanchorpointsinthelistingfile.TheIDEalsofacilitatestheselectionofdefaultsolversand

♦,InstallationNotesGAMSparametersonafilebyfilebasis.

TheIDEusessomenewGAMSfeatureswhicharenotavailableinversionspriortoversion95.

Theon-linehelponlycoverstheuseoftheIDE,nottheGAMSlanguage.ThereisamechanismhowevertoaccesstheGAMSdi

fromtheeditor;seeOnlineDocumentation

TheinteractivenatureoftheWindowsenvironmentoftenmakesitdifficulttoreproduceaprogrambugreportedbyauser.Ifpossi

reproducethebugafterafreshstart,notingthestepsleadingtotheproblem.

GuidedTouroftheGAMSIDE

Menu$andWindows

1.5.2可供查询的GAMS文件:

(1)Help|GAMSUsersGuide:

EIntroduction

1+1EJAGAMSTutorialby

RichardE.Rosenthal

GAMSPrograms

巴|SotDefinitions

*+!ffjDataEntry.

Paramotors.Scalars

8-Tables

**151DataManipulations

withParameters

i+JdJVariables

i旬BEquations

mffjModelandSolve

Statements

+ffjGAMSOutput

•+-'P|Conditional

Expressions,

Assignmentsand

EquationsGAJVISAUser'sGui<le

i*EDynamicSets

l+!tlSetsasSequences

OrderedSets1titorinlbyKE.Kowontht«l

mCJTheDisplay

Statement

(2)Help|SolverManual:

-19-

AdobeAcrobatProfcwiionftl

RmcntQommcnteFarmslookAdvancedWindowHelp

LJI..EU,1♦图I”—[fll曾<i❷❷iiH区

国C。…ex.书EXPO”(«^3StartMeeting•jSecure-/Sign-Forms-?Review&Comment-

;1

TheSolverManuals-TableofContents

SolverManuals

hmoductionUsingSolverSpecificOptions

AlnhaECPMIXLPsolverbasedontheextendedcuttingplane(ECP)method

BARSBranch-And-ReduceOptimizationNavigatorforprovenglobalsolutionsfromTlie

OptimizationFinn

BD、1LPLPsolverthatconieswithanyGAMSsystem

BE、4HAutilitytofacilitatebeiicluiiarkiiigofGAMSsolversandsolutionvenfication.

CCI'-ORLinktothesolversintheCOIN-ORproject(ComputationalInfiastnicnue-Operations

Research)

(3)Help|ExpandedGAMSGuide(McCarl):

ursiOD»•«>|«<l►McCartGAMSUserGuide

■HRA.iKIWaa'1*F*(JtD

m;

ai«.W0

Il."M

McCarlExpandedGAMSUserGuide

V

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论