搜索
人大经济论坛 附件下载

附件下载

所在主题:
文件名:  inflow_2012.xlsx
资料下载链接地址: https://bbs.pinggu.org/a-1341408.html
附件大小:
62.04 KB   举报本内容
  1. %水库调度homework.m
  2. clc,clear;
  3. %%
  4. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 参数设置 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  5. %-------------------------------------------------------
  6. %--------------- 径流参数输入 -----------------
  7. u=[15,6]; %径流均值
  8. p=[0.7,0.5]; %径流相关系数
  9. bb=[5,2]; %径流标准差
  10. %-------------------------------------------------------
  11. %---------------- 水库参数 ---------------------
  12. D=[5,2,3]; %最小库容
  13. C=[30,25,20]; %最大库容
  14. Si=[20,10,10]; %初始库容
  15. Se=[5,2,3]; %结束库容
  16. UPline=10; %最大饮水能力上限
  17. %-------------------------------------------------------
  18. %--------------- 用户效用参数 -----------------
  19. a=[0.01,0.01,0.01,0.01];
  20. b=[-0.4,-0.5,-0.45,-0.35];
  21. c=[4,5,5.5,3];
  22. %-------------------------------------------------------
  23. %----------------- 定义变量 -------------------
  24. S(1:101,1:3)=0; %库容变量
  25. S(1,:)=Si; %库容初值
  26. X(1:100,1:4)=0; %用户取水量
  27. R(1:100,1:3)=0; %水库下泄水量
  28. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  29. %%
  30. %%%%%%%%%%%%%%%%%%%%%%%%%%% 径流数据读入 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  31. [xx,name2]=xlsread('inflow_2012.xlsx','inflow');
  32. %%
  33. %-------------------------------------------------------
  34. %------------------- 定义初始参数 ---------------------
  35. tof(1:102)=0;
  36. Q(1:101,1:2)=0;
  37. Q(1,1:2)=[20,8]; %初始径流
  38. f(1:101,1:4)=0;
  39. for t=2:101 %t=2表示第1时段
  40. Q(t,1)=xx(5+t,4);
  41. Q(t,2)=xx(5+t,10);
  42. %-------------------------------------------------------
  43. %------------------ 写入径流数据 ----------------------
  44. %disp('input Q1'); %提示输入径流1
  45. %Q(t,1)=input(''); %输入径流数据1
  46. %disp('input Q2'); %提示输入径流2
  47. %Q(t,2)=input(''); %输入径流数据2
  48. %-------------------------------------------------------
  49. %-------------------- 径流预测 ------------------------
  50. for i=1:2
  51. % Q(t+1,i)=u(i)+p(i)*(Q(t,i)-u(i));
  52. end
  53. Q(t+1,1)=15;
  54. Q(t+1,2)=6;
  55. %%%%%%%%%%%%%%%%%%%%%%%%%%%% 约束条件 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  56. %-------------------------------------------------------
  57. %---------------- 不等式约束条件 --------------------
  58. %----------------- 取水量约束 -----------------------
  59. %各个约束方程系数,变量顺序:t(x1-x4,r1-r3);t+1(x1-x4,r1-r3).
  60. %------------------ t时段和t+1时段同
  61. uequ0=[0,0,0,0,0,0,0]; %补零矩阵
  62. uequ1=[1,0,0,0,-1,0,0];
  63. b1=0;
  64. uequ2=[0,1,0,0,0,-1,0];
  65. b2=0;
  66. uequ3=[0,0,1,1,0,0,-1];
  67. b3=0;
  68. %%
  69. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  70. if t<101
  71. %-------------------------------------------------------
  72. %------------------- 库容约束 ------------------------
  73. uequ4=[0,0,0,0,1,0,0,0,0,0,0,0,0,0];
  74. b4=S(t-1,1)+Q(t,1)-D(1);
  75. uequ5=[0,0,0,0,-1,0,0,0,0,0,0,0,0,0];
  76. b5=C(1)-S(t-1,1)-Q(t,1);
  77. uequ6=[0,0,0,0,0,1,0,0,0,0,0,0,0,0];
  78. b6=S(t-1,2)+Q(t,2)-D(2);
  79. uequ7=[0,0,0,0,0,-1,0,0,0,0,0,0,0,0];
  80. b7=C(2)-S(t-1,2)-Q(t,2);
  81. uequ8=[-1,-1,0,0,1,1,-1,0,0,0,0,0,0,0];
  82. b8=C(3)-S(t-1,3);
  83. uequ9=[1,1,0,0,-1,-1,1,0,0,0,0,0,0,0];
  84. b9=S(t-1,3)-D(3);
  85. %------------------- t+1时段
  86. uequ10=[0,0,0,0,1,0,0,0,0,0,0,1,0,0];
  87. b10=S(t-1,1)+Q(t,1)+Q(t+1,1)-D(1);
  88. uequ11=[0,0,0,0,-1,0,0,0,0,0,0,-1,0,0];
  89. b11=C(1)-S(t-1,1)-Q(t,1)-Q(t+1,1);
  90. uequ12=[0,0,0,0,0,1,0,0,0,0,0,0,1,0];
  91. b12=S(t-1,2)+Q(t,2)+Q(t+1,2)-D(2);
  92. uequ13=[0,0,0,0,0,-1,0,0,0,0,0,0,-1,0];
  93. b13=C(2)-S(t-1,2)-Q(t,2)-Q(t+1,2);
  94. uequ14=[1,1,0,0,-1,-1,1,1,1,0,0,-1,-1,1];
  95. b14=S(t-1,3)-D(3);
  96. uequ15=[-1,-1,0,0,1,1,-1,-1,-1,0,0,1,1,-1];
  97. b15=C(3)-S(t-1,3);
  98. %-------------------------------------------------------
  99. %------------------ 合成矩阵约束 ----------------------
  100. Aue1=[uequ1,uequ0;uequ2,uequ0;uequ3,uequ0;uequ0,uequ1;uequ0,uequ2;uequ0,uequ3;uequ4;uequ5;uequ6;uequ7;uequ8;uequ9];
  101. Aue2=[uequ10;uequ11;uequ12;uequ13;uequ14;uequ15];
  102. A=[Aue1;Aue2];
  103. Bue1=[b1;b2;b3;b1;b2;b3;b4;b5;b6;b7;b8;b9];
  104. Bue2=[b10;b11;b12;b13;b14;b15];
  105. B=[Bue1;Bue2];
  106. %-------------------------------------------------------
  107. %------------------ 取值边界 --------------------------
  108. lb=zeros(14,1); %取值下限
  109. ub=[10;10;10;5.7;inf;inf;inf;10;10;10;5.7;inf;inf;inf]; %取值上限
  110. %-------------------------------------------------------
  111. %------------------ 两阶段求最优解 --------------------
  112. %------------------ x0 初始可行解
  113. x01=[Q(t,1)/2;Q(t,2)/2;Q(t,1)/2;Q(t,2)/2;Q(t,1);Q(t,2);(Q(t,1)+Q(t,2))/2];
  114. x02=[Q(t+1,1)/2;Q(t+1,2)/2;Q(t+1,1)/2;Q(t+1,2)/2;Q(t+1,1);Q(t+1,2);(Q(t+1,1)+Q(t+1,2))/2];
  115. x0=[x01;x02];
  116. %-------------------------------------------------------
  117. %--------------------- 求最优解 -----------------------
  118. options=optimset('LargeScale','on','display','off','Algorithm','active-set');
  119. [x,fval] = fmincon(@benefit2,x0,A,B,[],[],lb,ub,[],options);
  120. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  121. elseif t==101
  122. %---------------- 不等式约束条件 --------------------
  123. %----------------- 取水量约束 -----------------------
  124. A=[uequ1;uequ2;uequ3];
  125. B=[b1;b2;b3];
  126. %-------------------------------------------------------
  127. %----------------- 等式约束条件 ----------------------
  128. uequ4=[0,0,0,0,1,0,0];
  129. b4=S(t-1,1)+Q(t,1)-D(1);
  130. uequ6=[0,0,0,0,0,1,0];
  131. b6=S(t-1,2)+Q(t,2)-D(2);
  132. uequ9=[1,1,0,0,-1,-1,1];
  133. b9=S(t-1,3)-D(3);
  134. AU=[uequ4;uequ6;uequ9];
  135. BU=[b4;b6;b9];
  136. %-------------------------------------------------------
  137. %------------------ 取值边界 --------------------------
  138. lb=[0,0,0,0,0,0,0]; %取值下限
  139. ub=[10,10,10,5.7,inf,inf,inf]; %取值上限
  140. %-------------------------------------------------------
  141. %--------------------- 求最优解 ----------------------
  142. options=optimset('LargeScale','off','display','off','Algorithm','active-set');
  143. x0=[Q(t,1)/2;Q(t,2)/2;Q(t,1)/2;Q(t,2)/2;Q(t,1);Q(t,2);(Q(t,1)+Q(t,2))/2];
  144. [x,fval] = fmincon(@benefit,x0,A,B,AU,BU,lb,ub,[],options);
  145. end
  146. %%
  147. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  148. %-------------------------------------------------------
  149. %------------------- 结果处理 ------------------------
  150. X(t,:)=x(1:4);
  151. R(t,:)=x(5:7);
  152. %-------------------------------------------------------
  153. %------------------- 求解效益 ------------------------
  154. for i=1:4
  155. f(t,i)=a(i)*X(t,i)^3+b(i)*X(t,i)^2+c(i)*X(t,i);
  156. end
  157. tof(t)=sum(f(t,:));
  158. final=sum(tof);
  159. %-------------------------------------------------------
  160. %----------------- 下时段水库初值 ---------------------
  161. S(t,1)=Q(t,1)+S(t-1,1)-R(t,1);
  162. S(t,2)=Q(t,2)+S(t-1,2)-R(t,2);
  163. S(t,3)=S(t-1,3)+R(t,1)+R(t,2)-R(t,3)-X(t,1)-X(t,2);
  164. %-------------------------------------------------------
  165. %------------------ 计算结果输出 ----------------------
  166. disp('calculation result:');
  167. disp('x1,x2,x3,x4,r1,r2,r3');
  168. disp(x(1:7)');
  169. end

  170. %%
  171. %%%%%%%%%%%%%%%%%%%%%%%% 结果输出 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  172. %xlswrite('final exam_test sheet_2012.xlsx',e,'results','E3');
复制代码
期末试题求解答非常感谢坛友急 急

数据在以下链接中以上是matlab程序 可是运行不出来哪位大神也可以帮忙改改不胜感激!

本人刚入论坛比较穷只有5个币辛苦了





    熟悉论坛请点击新手指南
下载说明
1、论坛支持迅雷和网际快车等p2p多线程软件下载,请在上面选择下载通道单击右健下载即可。
2、论坛会定期自动批量更新下载地址,所以请不要浪费时间盗链论坛资源,盗链地址会很快失效。
3、本站为非盈利性质的学术交流网站,鼓励和保护原创作品,拒绝未经版权人许可的上传行为。本站如接到版权人发出的合格侵权通知,将积极的采取必要措施;同时,本站也将在技术手段和能力范围内,履行版权保护的注意义务。
(如有侵权,欢迎举报)
二维码

扫码加我 拉你入群

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

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

GMT+8, 2025-12-31 23:31