网站大量收购独家精品文档,联系QQ:2885784924
  1. 1、本文档共20页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
POA算法

POA算法 using System; using HydroOptimUtility; using HydroOptimPlace; namespace TJOptim.OptimClass { /// summary /// Cascade适合梯级水电站短期优化调度。 /// 2004.9.1 /// liuzl_ah@163.com /// /summary public class CascadePOA { int NPS;//时段数目 int NHP;//电站数目 double INCOME=0.0; private double[][] vtop,vbottom; public CascadePOA(int NPS,int NHP) { this.NPS=NPS; this.NHP=NHP; vtop=new double[NHP][]; vbottom=new double[NHP][]; for(int i=0;iNHP;i++) { vtop[i]=new double[NPS]; vbottom[i]=new double[NPS]; } } public void HYOptimize(ref TPSInCascade psic,ref THydroSystem hysys) { int i3e; const int MEASURE=1000; const double MINIMUM=-1.0E300,BREAKAGE=1.0E100; double SUMERROR=0.0005; double TIME=24*60*60/NPS; int Ttime=0;//水流滞时 int pos=-1; //水库水位 double dv; double zb,ze; double Hloss, discharge,pdischarge,adischarge,odischarge,tmpdischarge, head,output,income=0.0,ve,qe,vb,qb,qq,vv,zz,zd;//maxv, double zzj; double DET=NPS/8.64;//库容单位为万立方米 double NOWincome=0.0,MAXincome=0.0; double[][][]NDCdischarge; //计算时的临时变量 double[]liuliang; liuliang=new double[2]; //计算时的临时流量 double[][]H; int [][]position; double[][]ptr_1; Treservoir[]rsv=psic.rsv; Tplant[] plnt=psic.plnt; //--------------------- ptr_1=new double[NHP][]; //-----------确定初始轨迹 position=new int[NHP][]; H=new double[NHP][]; double []deta=new double[NHP]; NDCdischarge=new double[NHP][][]; for(int i=0;iNHP;i++) { //ccc均匀离散初始水位 dv=(rsv[i].elevel-rsv[i].blevel)/NPS;//按时段离散第i个水库水位 rsv[i].Zlevel[0]=rsv[i].blevel;// 第i个水电站第0时水位为初始水位 rsv[i].Zlevel[NPS] = rsv[i].elevel;// 第i个水电站第NPS时水位为末水位 H[i] = new double[NPS];// 定义数组装第i个水电站每个时间点的水位 NDCdischarge[i] = new double[NPS][]; // 第i个水电站第NPS时间点对应的流量 for(int j=0;jNPS;j++) { rsv[i].Zlevel[j] = rsv[i].blevel + dv * j; // 第i个水电站J时间点的水位

文档评论(0)

mg60065 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档