版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
国立清华大学永续发展研究室
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年长护险基金会计核算补充规定实施指南
- 2026年智能网联汽车路测与场景数据集应用
- 2026年浙江金台丘陵山区农机集群1900家企业协同创新经验
- 2026年碳普惠与绿色普惠金融融合创新实践手册
- 2026年高通骁龙可穿戴平台至尊版与AI PC技术同源分析
- 2026年深海采矿车与扬矿系统对接技术规范
- 2026年风光火储一体化项目利益共享机制设计
- 2026年粮油单产提升丘陵山区急需农机装备推广应用项目可行性报告
- 2026广东南山二外(集团)海德学校招聘教师2人备考题库带答案详解(模拟题)
- 2026中国电信云南公司春季校园招聘备考题库完美版附答案详解
- 扶贫致富电商培训课件
- 化州介绍教学课件
- 2026年全国中学生天文知识竞赛(中学组)经典试题及答案
- 药店课件教学课件
- 现场勘查课件
- 2025年高效能项目管理系统开发项目可行性研究报告
- 建筑项目施工安全检查表含整改措施
- 2026年安徽卫生健康职业学院单招职业技能考试题库及参考答案详解
- 投资银行并购业务课件
- 油品泄漏应急处置措施
- 建筑工地洗车槽施工方案
评论
0/150
提交评论