电力设备电气绝缘国家重点实验室StateKeyLaboratoryofElectricalInsulationandPowerEquipmentGAMS的使用电力设备电气绝缘国家重点实验室StateKeyLaboratoryofElectricalInsulationandPowerEquipment主要内容•1.GAMS系统简介•2.GAMS程序基本结构•3.GAMS的输入输出功能•4.GAMS示例•5.课后作业电力设备电气绝缘国家重点实验室StateKeyLaboratoryofElectricalInsulationandPowerEquipment1.GAMS系统简介•GAMS(GeneralAlgebraicModelingSystem)即通用数学模型系统,是世界银行与美国GAMS公司在20世纪90年代初开发的一种旨在建立和求解大型复杂数学规划问题的高级计算机软件。•用户只需要使用简单的GAMS语句,便可建立各种线性规划(LP)、非线性规划(NLP)、混合整数规划(MIP)、混合整数非线性规划(MINLP)、二次约束规划(QLP)等问题的数学模型,然后由GAMS系统运行在解。电力设备电气绝缘国家重点实验室StateKeyLaboratoryofElectricalInsulationandPowerEquipment•GAMS提供一种简洁表述大型复杂模型的高级语言,并将算法封装于系统内部。•不改变用户模型的表示法,便可使用所有内嵌的算法。•最优化问题独立于它所使用的数据。逻辑和数据的分离允许一个问题在规模上增加而不引起表示法复杂性的增加。•计算机资源分配自动化。这意味着能够建立大型复杂的关系数据模型,但用户不必担心诸如数组维数、临时存储等细节问题。电力设备电气绝缘国家重点实验室StateKeyLaboratoryofElectricalInsulationandPowerEquipment2.GAMS程序基本结构集合Set声明集合成员赋值数据(Parameter,Table,Scalar)声明赋值变量Variable声明类型赋值上下边界和(或)初值赋值(可选的)方程Equation声明定义Model和Solve语句电力设备电气绝缘国家重点实验室StateKeyLaboratoryofElectricalInsulationandPowerEquipment2.GAMS程序基本结构1)Sets(集合)•是GAMS模型的基本模块,相当于模型数学表示法里的索引。•可以认为是数学模型中某个参数的下标。例:参数Pload(t)中的集合t电力设备电气绝缘国家重点实验室StateKeyLaboratoryofElectricalInsulationandPowerEquipment2.GAMS程序基本结构2)数据:Scalar、Parameter和Table•Scalar(标量)是单一的数据输入;•Parameter(参数)为定向列表数据,可以是单一数据,也可以是一维或多维数据;•Table(表格)为定向表格数据,但必须是二维或多维。电力设备电气绝缘国家重点实验室StateKeyLaboratoryofElectricalInsulationandPowerEquipment2.GAMS程序基本结构•(1)Scalar(标量)•(2)Parameter(参数)•(3)Table(表格)电力设备电气绝缘国家重点实验室StateKeyLaboratoryofElectricalInsulationandPowerEquipment2.GAMS程序基本结构3)变量Variable•变量可以有多种类型:变量类型变量的允许范围Free(默认)-~+Positive0~+Negative-~0Binary0或1Integer0,1,···,100(默认)电力设备电气绝缘国家重点实验室StateKeyLaboratoryofElectricalInsulationandPowerEquipment2.GAMS程序基本结构例:电力设备电气绝缘国家重点实验室StateKeyLaboratoryofElectricalInsulationandPowerEquipment2.GAMS程序基本结构重新定义变量的上下限:•关键字“.up”和“.lo”分别表示变量的上下限电力设备电气绝缘国家重点实验室StateKeyLaboratoryofElectricalInsulationandPowerEquipment2.GAMS程序基本结构4)Equation(方程)•方程是数学模型中的不等式和等式。•方程定义包括:被定义方程的名字、左边和右边的表达式,方程的维度,方程的维度范围等。=E=表示'equalto'(等于)=L=表示'lessthanorequalto'(小于或等于)=G=表示'greaterthanorequalto'(大于或等于)电力设备电气绝缘国家重点实验室StateKeyLaboratoryofElectricalInsulationandPowerEquipment2.GAMS程序基本结构4)Equation(方程)•首先,方程被通过指定名字来声明;•然后,具体的数学表达式被声明。方程名和数学表达式之间需要两个圆点“..”电力设备电气绝缘国家重点实验室StateKeyLaboratoryofElectricalInsulationandPowerEquipment2.GAMS程序基本结构5)Model和Solve语句•Model语句用来集中方程,是方程的集合,由此,建立数学模型并命名。Model语句最简单的形式是用关键字all,也就是说所有的方程式都是模型的一部分,也可以只集中部分方程。电力设备电气绝缘国家重点实验室StateKeyLaboratoryofElectricalInsulationandPowerEquipment2.GAMS程序基本结构5)Model和Solve语句•Solve语句用来对已经建立的模型(model)进行求解:•(1)告诉GAMS哪个模型要被求解(这里是CHP);•(2)确定模型的类型(这里是MINLP);•(3)表明优化方向,或者是求最小值(minimizing),或者是求最大值(maximizing);•(4)指定目标变量(这里是cost)。电力设备电气绝缘国家重点实验室StateKeyLaboratoryofElectricalInsulationandPowerEquipment3.GAMS的输入输出功能1)输入(可选择)•GAMS具有丰富的输入功能,除了通过文本文档,还可以通过EXCEL文件输入数据:•例:电力设备电气绝缘国家重点实验室StateKeyLaboratoryofElectricalInsulationandPowerEquipment3.GAMS的输入输出功能1)输出(可选择)•GAMS可以通过GDX工具将结果输出到EXCEL文件,主要有两种常见的方法,具体的代码如下:•(1)通过gdx2xls•(2)通过gdxxrw电力设备电气绝缘国家重点实验室StateKeyLaboratoryofElectricalInsulationandPowerEquipment4.GAMS示例•1)问题描述:•本算例是一个关于区域热电联产系统的供能成本最优化问题。热电联产系统包括热电联产机组和分布式热泵,在满足电力负荷和热力负荷平衡的基础上,使得系统的总成本最小,系统的总成本则包括燃料成本和购售电成本两部分。电力设备电气绝缘国家重点实验室StateKeyLaboratoryofElectricalInsulationandPowerEquipment•2)数学模型:•指标:•t=时间•c=机组属性•g=机组工况•已知数据:•PL(t)=电力负荷(MW)•QL(t)=热力负荷(MW)•dj(t)=分时电价(Yuan/MWh)•mj=煤价(Yuan/MWh)•cop=热泵能效系数•gk(g,c)=热电联产工况数据cg供热煤耗系数fr发电煤耗系数fd常煤耗系数fc上限斜率l1下限斜率l2上限常数项n1下限常数项n2区间g10.682.459.59-0.279-0.344151.992.06区间g20.682.459.59-0.2790.33151.935.53电力设备电气绝缘国家重点实验室StateKeyLaboratoryofElectricalInsulationandPowerEquipment•决策变量:•Pchp(t)=热电联产发电出力(MW)•Qchp(t)=热电联产供暖出力(MW)•qqchp(t,g)=分区间热电联产供暖出力(MW)•cost=系统总成本(Yuan)•ehp(t)=热泵耗电功率(MW)•qhp(t)=热泵供热功率(MW)•Pb(t)=系统外购电(MW)•Ps(t)=系统外售电(MW)•X(t,g)=热电联产热出力工况状态(0、1变量)电力设备电气绝缘国家重点实验室StateKeyLaboratoryofElectricalInsulationandPowerEquipment•约束:PL(t)=Pchp(t)-ehp(t)+Pb(t)-Ps(t)QL(t)=Qchp(t)+qhp(t)(qqchp(t,g1)gk(g1,l1)+gk(g1,n1))X(t,g1)+(qqchp(t,g2)gk(g2,l1)+gk(g2,n1))X(t,g2)Pchp(t)(qqchp(t,g1)电力负荷平衡约束:热力负荷平衡约束:热电联产上下限约束:gk(g1,l2)+gk(g1,n2))X(t,g1)+(qqchp(t,g2)gk(g2,l2)+gk(g2,n2))X(t,g2)Pchp(t)Qchp(t)=qqchp(t,g1)X(t,g1)+qqchp(t,g2)X(t,g2)X(t,g1)+X(t,g2)=1qhp(t)=copehp(t)热电联产热出力约束:热电联产热出力工况状态约束:热泵热电转换效率约束:电力设备电气绝缘国家重点实验室StateKeyLaboratoryofElectricalInsulationandPowerEquipment•目标函数:系统燃料成本和购售电成本最小:Minimizecost=mj(Qchp(t)gk(g1,fr)+Pchp(t)gk(g1,fd)+gk(g1,fc))+dj(t)Pb(t)-dj(t)Ps(t)t电力设备电气绝缘国家重点实验室StateKeyLaboratoryofElectricalInsulationandPowerEquipment•3)GAMS系统基本操作•GAMS软件安装好后,在电脑桌面上会出现GAMS的图标,请点击图标进入GAMS系统,系统基本界面如下图:电力设备电气绝缘国家重点实验室StateKeyLaboratoryofElectricalInsulationandPowerEquipment•File|New:•打开新的编辑视窗,请选择File|New指令或按键盘Ctrl+N,即可编写新的GAMS程序文件,出现画面如下图所示:电力设备电气绝缘国家重点实验室StateKeyLaboratoryofElectricalInsulationandPowerEquipment•File|Open:•打开一个或者多个已存在文件,请点选File|Open指令、或按键盘Ctrl+O、或在GAMS界面中点击按钮,然后选择文件:电力设备电气绝缘国家重点实验室StateKeyLaboratoryofElectricalInsulationandPowerEquipment•(2)GAMS系统基本操作•File|Run:•执行GAMS程式,请选择File|Run指令、或直接按键盘的F9、或在GAMS界面中点击按钮。•File|Save:•原文件名存储GAMS文件,请选择File|Save指令、或按键盘Ctrl+S、或在GAMS界面中点击按钮。•File|Saveas:•更