楼主: mxcz
10354 11

GAMS难不难? [推广有奖]

  • 0关注
  • 1粉丝

大专生

58%

还不是VIP/贵宾

-

威望
0
论坛币
1 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
256 点
帖子
42
精华
0
在线时间
54 小时
注册时间
2009-8-21
最后登录
2019-2-2

楼主
mxcz 发表于 2011-11-29 16:31:32 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
GAMS难不难,比起Stata呢?有没有用GAMS做DEA的经验啊?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:gams AMS GAM Stata tata

回帖推荐

黄海一鸥 发表于4楼  查看完整内容

GAMS是一款最优化软件,stata是一款统计&计量软件。我对DEA没有什么了解,如果有最优化的问题,GAMS是可以搞定的。在经济学中,一般用GAMS来做可计算一般均衡,要读懂GAMS程序一个礼拜就可以了,但是要把把程序写熟练,还是需要时间的。STATA现在基本上可以实现菜单操作,当然也可以自己编程啦!
已有 1 人评分经验 收起 理由
sfhsky + 60 精彩帖子

总评分: 经验 + 60   查看全部评分

本帖被以下文库推荐

沙发
uwqd0Jzb 发表于 2011-12-7 02:57:52
支持者顶啊

藤椅
hd1G2p6l 发表于 2011-12-10 02:27:55
想法很好!

板凳
黄海一鸥 在职认证  发表于 2011-12-11 12:32:04
GAMS是一款最优化软件,stata是一款统计&计量软件。我对DEA没有什么了解,如果有最优化的问题,GAMS是可以搞定的。在经济学中,一般用GAMS来做可计算一般均衡,要读懂GAMS程序一个礼拜就可以了,但是要把把程序写熟练,还是需要时间的。STATA现在基本上可以实现菜单操作,当然也可以自己编程啦!
已有 2 人评分论坛币 学术水平 收起 理由
sfhsky + 1 精彩帖子
我的素质低 + 10 精彩帖子

总评分: 论坛币 + 10  学术水平 + 1   查看全部评分

报纸
lixiaosheng393 发表于 2011-12-31 00:32:11
$title Data Envelopment Analysis - DEA (DEA,SEQ=192)
$ontext
Data Envelopment Analysis (DEA) is a technique for measuring the relative
performance of organizational units where presence of multiple inputs and
outputs makes comparison difficult.

            efficiency = weighted sum of output / weighted sum of input

Find weights that maximize the efficiency for one unit while ensuring
that no other units has an efficiency < 1 using these weights. A primal
and dual formulation is presented.


Dyson, Thanassoulis, and Boussofiane, A DEA Tutorial.
Warwick Business School. http://www.deazone.com/tutorial/

$offtext

sets  i     units
      is(i) selected unit
      j     inputs and outputs
      ji(j) inputs
      jo(j)            outputs

Parameter data(i,j) unit input  output
          vlo       v lower bound
          ulo       u lower bound
          norm      normalizing constant

Variables v(ji) input weights
          u(jo) output weights
          eff   efficiency
          var   dual convexity

          lam(i) dual weights
          vs(ji) input duals
          us(jo) output duals
          Z

positive variables u,v,vs,us,lam;

Equations defe(i)  efficiency definition - weighted output
          denom(i) weighted input
          lime(i)  'output / input < 1'
          dii(i,ji) input duals
          dio(i,jo) output dual
          defvar    variable return to scale
          dobj      dual objective;

*  primal model

defe(is)..   eff =e= sum(jo, u(jo)*data(is,jo)) - 1*var;

denom(is)..  sum(ji, v(ji)*data(is,ji)) =e= norm;

lime(i)..    sum(jo, u(jo)*data(i,jo)) =l= sum(ji, v(ji)*data(i,ji)) + var;

*  dual model

dii(is,ji).. sum(i, lam(i)*data(i,ji)) + vs(ji) =e= z*data(is,ji);

dio(is,jo).. sum(i, lam(i)*data(i,jo)) - us(jo) =e=     data(is,jo);

defvar..     sum(i, lam(i)) =e= 1;

dobj.. eff =e= norm*z - vlo*sum(ji, vs(ji)) - ulo*sum(jo, us(jo));





model deap  primal / defe, denom,lime /
      deadc dual with CRS / dobj, dii, dio /
      deadv dual with VRS / dobj, dii, dio, defvar  /

sets  i  units / Depot1*Depot20 /
      j     inputs and outputs / stock, wages, issues, receipts, reqs /
      ji(j) inputs             / stock, wages                         /
      jo(j)            outputs /               issues, receipts, reqs /


Table data(i,j)
         stock  wages  issues  receipts  reqs
Depot1     3      5      40       55      30
Depot2     2.5    4.5    45       50      40
Depot3     4      6      55       45      30
Depot4     6      7      48       20      60
Depot5     2.3    3.5    28       50      25
Depot6     4      6.5    48       20      65
Depot7     7     10      80       65      57
Depot8     4.4    6.4    25       48      30
Depot9     3      5      45       64      42
Depot10    5      7      70       65      48
Depot11    5      7      45       65      40
Depot12    2      4      45       40      44
Depot13    5      7      65       25      35
Depot14    4      4      38       18      64
Depot15    2      3      20       50      15
Depot16    3      6      38       20      60
Depot17    7     11      68       64      54
Depot18    4      6      25       38      20
Depot19    3      4      45       67      32
Depot20    3      6      57       60      40

$eolcom //
option limcol=0           // no column listing
       limrow=0           // no row listing
       solveopt=replace;  // don't keep old var and equ values



var.fx = 0;       // to run CRS with the primal model
*var.lo = -inf;   // to run VRS with the primal model
*var.up = +inf;   // to run VRS with the primal model
vlo=1e-4;
ulo=1e-4;
norm=100;

v.lo(ji) = vlo;
u.lo(jo) = ulo;

*deadc.solprint=%solprint.Quiet%;
*deadv.solprint=%solprint.Quiet%;
*deap.solprint=%solprint.Quiet%;

set ii(i) set of units to analyze / depot1,depot2,depot18 /;

*ii(i) = yes;      // use to run all depots
is(i) = no;

parameter rep summary report;

loop(ii,
   is(ii) = yes;
   solve deap us lp max eff;
   rep(i,ii) =  sum(jo, u.l(jo)*data(i,jo))/sum(ji, v.l(ji)*data(i,ji));
   rep('MStat-p',ii) = deap.modelstat;
   solve deadc us lp min eff ;
   rep('MStat-d',ii) = deadc.modelstat;
   rep('obj-check',ii) = deadc.objval - deap.objval;
   is(ii) = no);

rep(i,'Min') = smin(ii, rep(i,ii));
rep(i,'Max') = smax(ii, rep(i,ii));
rep(i,'Avg') =  sum(ii, rep(i,ii))/card(ii);

display rep;

已有 1 人评分论坛币 收起 理由
我的素质低 + 10 精彩帖子

总评分: 论坛币 + 10   查看全部评分

地板
lixiaosheng393 发表于 2011-12-31 00:32:38
上述是GAMS的DEA程序

7
lowbrow 发表于 2012-1-2 17:12:21
gams里面有DEA程序。

8
mxcz 发表于 2012-1-8 13:05:21
lowbrow 发表于 2012-1-2 17:12
gams里面有DEA程序。
是已经编好的DEA程序吗?在哪里?

9
lowbrow 发表于 2012-1-8 18:35:23
mxcz 发表于 2012-1-8 13:05
是已经编好的DEA程序吗?在哪里?
要比较新的版本才有,在"Model Libraries“菜单中的”GAMS Model Library"中找DEA,其程序如下:
$title Data Envelopment Analysis - DEA (DEA,SEQ=192)
$ontext
Data Envelopment Analysis (DEA) is a technique for measuring the relative
performance of organizational units where presence of multiple inputs and
outputs makes comparison difficult.

            efficiency = weighted sum of output / weighted sum of input

Find weights that maximize the efficiency for one unit while ensuring
that no other units has an efficiency < 1 using these weights. A primal
and dual formulation is presented.


Dyson, Thanassoulis, and Boussofiane, A DEA Tutorial.
Warwick Business School

$offtext

sets  i     units
      is(i) selected unit
      j     inputs and outputs
      ji(j) inputs
      jo(j)            outputs

Parameter data(i,j) unit input  output
          vlo       v lower bound
          ulo       u lower bound
          norm      normalizing constant

Variables v(ji) input weights
          u(jo) output weights
          eff   efficiency
          var   dual convexity

          lam(i) dual weights
          vs(ji) input duals
          us(jo) output duals
          Z

positive variables u,v,vs,us,lam;

Equations defe(i)  efficiency definition - weighted output
          denom(i) weighted input
          lime(i)  'output / input < 1'
          dii(i,ji) input duals
          dio(i,jo) output dual
          defvar    variable return to scale
          dobj      dual objective;

*  primal model

defe(is)..   eff =e= sum(jo, u(jo)*data(is,jo)) - 1*var;

denom(is)..  sum(ji, v(ji)*data(is,ji)) =e= norm;

lime(i)..    sum(jo, u(jo)*data(i,jo)) =l= sum(ji, v(ji)*data(i,ji)) + var;

*  dual model

dii(is,ji).. sum(i, lam(i)*data(i,ji)) + vs(ji) =e= z*data(is,ji);

dio(is,jo).. sum(i, lam(i)*data(i,jo)) - us(jo) =e=     data(is,jo);

defvar..     sum(i, lam(i)) =e= 1;

dobj.. eff =e= norm*z - vlo*sum(ji, vs(ji)) - ulo*sum(jo, us(jo));





model deap  primal / defe, denom,lime /
      deadc dual with CRS / dobj, dii, dio /
      deadv dual with VRS / dobj, dii, dio, defvar  /

sets  i  units / Depot1*Depot20 /
      j     inputs and outputs / stock, wages, issues, receipts, reqs /
      ji(j) inputs             / stock, wages                         /
      jo(j)            outputs /               issues, receipts, reqs /


Table data(i,j)
         stock  wages  issues  receipts  reqs
Depot1     3      5      40       55      30
Depot2     2.5    4.5    45       50      40
Depot3     4      6      55       45      30
Depot4     6      7      48       20      60
Depot5     2.3    3.5    28       50      25
Depot6     4      6.5    48       20      65
Depot7     7     10      80       65      57
Depot8     4.4    6.4    25       48      30
Depot9     3      5      45       64      42
Depot10    5      7      70       65      48
Depot11    5      7      45       65      40
Depot12    2      4      45       40      44
Depot13    5      7      65       25      35
Depot14    4      4      38       18      64
Depot15    2      3      20       50      15
Depot16    3      6      38       20      60
Depot17    7     11      68       64      54
Depot18    4      6      25       38      20
Depot19    3      4      45       67      32
Depot20    3      6      57       60      40

$eolcom //
option limcol=0           // no column listing
       limrow=0           // no row listing
       solveopt=replace;  // don't keep old var and equ values



var.fx = 0;       // to run CRS with the primal model
*var.lo = -inf;   // to run VRS with the primal model
*var.up = +inf;   // to run VRS with the primal model
vlo=1e-4;
ulo=1e-4;
norm=100;

v.lo(ji) = vlo;
u.lo(jo) = ulo;

*deadc.solprint=%solprint.Quiet%;
*deadv.solprint=%solprint.Quiet%;
*deap.solprint=%solprint.Quiet%;

set ii(i) set of units to analyze / depot1,depot2,depot18 /;

*ii(i) = yes;      // use to run all depots
is(i) = no;

parameter rep summary report;

loop(ii,
   is(ii) = yes;
   solve deap us lp max eff;
   rep(i,ii) =  sum(jo, u.l(jo)*data(i,jo))/sum(ji, v.l(ji)*data(i,ji));
   rep('MStat-p',ii) = deap.modelstat;
   solve deadc us lp min eff ;
   rep('MStat-d',ii) = deadc.modelstat;
   rep('obj-check',ii) = deadc.objval - deap.objval;
   is(ii) = no);

rep(i,'Min') = smin(ii, rep(i,ii));
rep(i,'Max') = smax(ii, rep(i,ii));
rep(i,'Avg') =  sum(ii, rep(i,ii))/card(ii);

display rep;

10
hd鞋带 发表于 2013-3-25 16:46:46
lowbrow 发表于 2012-1-8 18:35
要比较新的版本才有,在"Model Libraries“菜单中的”GAMS Model Library"中找DEA,其程序如下:
$title ...
请问这个要怎么改成自己的数据呢?

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2025-12-31 05:32