全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 MATLAB等数学软件专版
2708 3
2013-05-14
用GAMS编写了一个小程序,运行错误说目标函数不是自由变量,怎么也检查不出来。咋办啊
二维码

扫码加我 拉你入群

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

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

全部回复
2013-5-14 20:15:23
Variables
*Cost-------------------
AC(i,j)  abatement cost of measure j
ACT(i) total abatement cost of sub-watershed i
ACTAD(ad)   abatement cost of each administrition
AC_T total abatement cost of watershed

*Abatement-------------------
X(i, j) abatement quantity

Positive Variables X, ACT, AC_T, ACTAD;


Equations
ACFET(i) fertilize cost function
ACPIG(i) pig cost function
ACCA(i) CA cost function
ACWET_R(i) wetland cost function_R
ACWET_U(i)  wetland cost fuchtion_U
ACSEWAGE_L(i) large scale sewage plant
ACSEWAGE_S(i) Small scale sewage plant
TAC_i(i) cost of i
TAC total cost

ACTAD_C(ad)

RESTOTALA(i)   restriction of total abatement  ;

*cost function
ACFET(i)..  t(i)*s(i)*AC(i, "FET")=e=a(i,"FVS")*X(i, "FET")* X(i, "FET")
              + t(i)*s(i)*a(i, "FVF")*X(i, "FET") ;



*ACPIG(i)..     AC(i, "PIG") =e=f(i)* X(i, "PIG")/c ;
ACPIG(i)..     AC(i, "PIG") =e=p_c(i)* X(i, "PIG") ;

*ACCA(i)..      AC(i, "CA") =e= r(i)* X(i, "CA")/(d*t(i)) ;

ACCA(i)..      AC(i, "CA") =e= cat_c(i)* X(i, "CA");

*ACWET_R(i)..   AC(i, "WET_R") =e=r(i)* X(i, "WET_R") /(w*e(i)) ;

ACWET_R(i)..   AC(i, "WET_R") =e=wet(i,"wet_1")*X(i, "WET_R") *X(i, "WET_R")+wet(i,"wet_2")*X(i, "WET_R") ;

*ACWET_U(i)..   AC(i, "WET_U") =e=r(i)* X(i, "WET_U")/ (w*e(i)) ;

ACWET_U(i)..      AC(i, "WET_U") =e=wet(i,"wet_1")*X(i, "WET_U") *X(i, "WET_U")+wet(i,"wet_2")* X(i, "WET_U") ;
ACSEWAGE_L(i)..  AC(i, "SEWAGE_L")=e=X(i, "SEWAGE_L")*cl   ;



ACSEWAGE_S(i)..  AC(i, "SEWAGE_S")=e=X(i, "SEWAGE_S")*cs  ;
RESTOTALA(i).. sum(j,X(i,j))=l=sum(j,abt(i,j));



TAC_i(i).. ACT(i) =e=sum(j, AC(i, j)) ;
TAC.. AC_T=e=sum(i, ACT(i)) ;


ACTAD_C(ad).. ACTAD(ad)=e=sum(i,ACT(i)*ADP(ad,i));


Model optimal_scheme /all/;
solve optimal_scheme using nlp minimizing AC_T;

*optional decimals=0 ;

display ACT.l,AC_T.l;
二维码

扫码加我 拉你入群

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

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

2014-2-21 12:03:55
这不是完整的程序!
i,j等没定义和赋值
变量也没有赋值
没法帮你查!
二维码

扫码加我 拉你入群

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

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

2014-4-2 04:05:47
把AC_T从positive variable declaration中剔出去。 你的目标变量不能被定义成positive or negative variable.  It has to be a free variable.
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群