ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Lecture02:均衡问题-优化问题以及KKT等价

2022-01-03 23:33:20  阅读:268  来源: 互联网

标签:Lecture02 .. min KKT 等价 问题 eta 均衡 N1


目录

1 竞争性博弈问题

1.1 问题转化

1.2 纳什均衡

1.3 优化问题与均衡问题的KKT等价性 

2 紧凑模型

 3 使用PATH求解器求解MCP模型的GAMS源码

3.1 源码文件

 3.2 计算结果


本系列已发布文章列表:

Lecture01:市场出清问题的优化建模

Lecture1b: 如何由原始线性规划模型得到最优条件和对偶问题

回顾之前的电力市场的问题模型:

1 竞争性博弈问题

1.1 问题转化

对发电厂而言,其目标是最大化收益;而对于用电企业而言,则是最大化效用。那么,如何计算收益和效用呢?

  • 发电厂收益:发电量 * (市场价格 - 发电成本价格)
  • 用电企业效用:用电量 * (投标价格 - 市场价格)

由此,对于每个市场参与主体,我们有如下优化问题:

根据KKT条件,我们可以将 电量平衡约束 等价为一个优化问题:

在这个优化问题中,我们试图在惩罚任何供给和需求不匹配的情况。也就是说,如果生产价格与需求价格不相等,就会有 λ 的惩罚。

由此我们得到了五个优化问题:

 那么我们可以将这五个问题分开求解吗?显然是不能的。原因是:

  • 市场出清价格  λ 在price-setter问题中是变量,而在G1,G2,D1,D2中是参数
  • 发电量和用电量在G1,G2,D1,D2中是变量,而在price-setter问题中是参数
  • 因此上述五个问题是相互关联的,我们无法将其进行拆解而单独处理。这是一个博弈论的问题。

这个问题也被称为“竞争性均衡【“competitive equilibrium】,这是一个非合作博弈,所有玩家都在追求自己的最大化利益。只有当他们作为一个联盟,实现联盟利益最大化时,他们可以构建一个合作博弈。

关于竞争性博弈的三篇经典文献:

  1. Kantorovich, L. V. (1960). Mathematical methods of organizing and planning production. Management science6(4), 366-422.
  2. Samuelson, P. A. (1952). Spatial price equilibrium and linear programming. The American economic review42(3), 283-303.
  3. Arrow, K. J., & Debreu, G. (1954). Existence of an equilibrium for a competitive economy. Econometrica: Journal of the Econometric Society, 265-290.

1.2 纳什均衡

纳什均衡:没有市场参与者可以偏离均衡点而增加他自身的利益

约束只依赖于自己,而目标却与其他参与者相关联。这样的问题,我们可以称其为一个纳什均衡问题。广义的纳什均衡问题,每个参与者的目标和约束均与其他参数者相关联。显然,我们的问题是一个纳什均衡,但不是广义纳什均衡。

我们讨论纳什均衡和广义纳什均衡,那么为什么要区别他们呢?因为纳什均衡有很多很好的性质,如解的存在性,唯一性等;而广义纳什均衡并不具备同样的优秀属性。

 那么,如何做到所有参与者都对市场出清价格保持满意,并且不愿意违背呢? 我们手头有计算纳什均衡和通过优化得到问题的解。实际中,我们应该采用那个方法呢?

 我们先讨论均衡的方法,我们先将优化问题使用 KKT 条件进行等价变换,得到一个MCP;然后使用PATH等求解器计算,或者定义辅助的目标来解决。

1.3 优化问题与均衡问题的KKT等价性 

接着又来了一个问题,我们由均衡模型得到的KKT,和由优化模型得到的KKT是等价的吗?如果等价,那么均衡模型和优化模型也就是等价的。显然,这里是等价的。

 那么,我们求解一个优化问题,实际上也是在求解一个等价的均衡问题。因此,我们可以得到以下两个结论:

  • 优化问题和均衡问题是等价的,因为他们都能推导出相同的KKT条件
  • 优化问题和均衡问题都能获得纳什均衡解,即没有市场参与者愿意偏离市场出清价格。

2 紧凑模型

优化模型版本:

 均衡模型版本:

MCP模型版本:

 3 使用PATH求解器求解MCP模型的GAMS源码

3.1 源码文件

sets
g   generators /G1*G2/
n   buses  /N1*N3/
d   demands   /D1*D2/
alias(n,m)

Sets
MapN(n,n) Network topology /
N1.N2
N1.N3
N2.N3
N2.N1
N3.N1
N3.N2/
MapG(g,n) Location of generators /
G1.N1
G2.N2/
MapD (d,n) Location of demands /
D1.N2
D2.N3/;

Parameter PGmax(g) Capacity of generators [MW]/
G1 100
G2 80/ ;
Parameter C(g) offer price of generators [$ per MWh]/
G1  12
G2  20/;
Parameter L(d) Maximum load of demands [Mw]/
D1  100
D2  50/;
Parameter U(d) utility of demands [$ per MWh]/
D1  40
D2  35/;

Table Fmax (n,n) capacity of transmission lines [MW]
    N1  N2  N3
N1  0   100 100
N2  100 0   100
N3  100 100 0;

Table B(n,n) susceptance of transmission lines [Ohm^{-1}]
    N1  N2  N3
N1  0   500 500
N2  500 0   500
N3  500 500 0;

free variable
p_D(d) consumption level of demand d [MW]
p_G(g) Production level of generator g[Mw]
theta(n) voltage angle of bus n [rad]
lambda(n) Dual var.: locational marginal price [$ per MWh]
gamma Dual var. associated with equality constraint introducing ref. bus
;

Positive variable
mu_D_min(d) Dual var. associated with lower bound of consumption level
mu_D_max(d) Dual var. associated with upper bound of consumption level
mu_G_min(g) Dual var. associated with lower bound of production level
mu_G_max(g) Dual var. associated with upper bound of production level
eta_min(n,m) Dual var. associated with transmission capacity constraints
eta_max(n, m) Dual var. associated with transmission capacity constraints;

Equations
cons1,cons2,cons3,cons4,cons5,cons6,cons7, cons8,cons9,cons10,cons11,cons12;
* Primer constraints
cons1(g).. p_G(g)=g= 0;
cons2(g).. - p_G(g) =g=-PGmax(g);
cons3(d).. p_D(d) =g= 0;
cons4(d).. - p_D(d) =g= -L(d);
cons5(n,m).. [B(n,m)*(theta(n)-theta(m))] =g= -Fmax(n,m);
cons6(n,m).. -[B(n,m)*(theta(n)-theta(m))] =g= -Fmax(n,m);
cons7.. theta('N1') =e= 0 ;
cons8(n).. - sum(g$MapG(g,n),p_G(g)) + sum(d$MapD(d,n),p_D(d))
           + sum(m$MapN(n,m),B(n,m)*(theta(n)-theta(m))) =e= 0;
* KKT conditions
cons9(d).. -U(d)+sum(n$MapD(d,n),lambda(n)) + mu_D_max(d) - mu_D_min(d) =e= 0;
cons10(g).. C(g)-sum(n$MapG(g,n),lambda(n)) + mu_G_max(g) - mu_G_min(g) =e= 0;
cons11(n)$(ord(n) eq 1).. sum(m$MapN(n,m),B(n,m)*[lambda(n)- lambda(m)
                            + eta_max(n, m) - eta_max(m, n) - eta_min(n,m)
                            + eta_min(m,n)]) + gamma =e= 0;
cons12(n)$(ord(n) <> 1).. sum(m$MapN(n,m),B(n,m)*[lambda(n)-lambda(m)
                            + eta_max(n,m) - eta_max(m,n) - eta_min(n,m)
                            + eta_min(m,n)]) =e= 0 ;
Model Market_clearing /
cons1.mu_G_min
cons2.mu_G_max
cons3.mu_D_min
cons4.mu_D_max
cons5.eta_min
cons6.eta_max
cons7.gamma
cons8.lambda
cons9
cons10
cons11
cons12/;
Solve Market_clearing using mcp;
option mcp =PATH;
Display p_G.l, p_D.l, lambda.l;

 3.2 计算结果

p_G.L  Production level of generator g[Mw]

G1 100.000,    G2  50.000


p_D.L  consumption level of demand d [MW]

D1 100.000,    D2  50.000


lambda.L  Dual var.: locational marginal price [$ per MWh]

N1 20.000,    N2 20.000,    N3 20.000

这与我们在Lecture01:市场出清问题的优化建模 中得到解是一致的。

标签:Lecture02,..,min,KKT,等价,问题,eta,均衡,N1
来源: https://blog.csdn.net/weixin_45624300/article/details/122293444

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有