动态规划进行单库优化调度计算C++程序代码

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

//类的定义

#ifndef SRDP_H

#define SRDP_H

class SRDP

{

private:

//1.阶段变量stage variable

long m_StageNum; //阶段数存储量

double m_Delta_t; //时间间隔T=2626560s

double m_DeltaHour; //一个月的小时数:h

//2.决策变量decision variable

//double **m_OptDeciVar_q;

//3.状态变量state variable

long *m_StateNum; //库容离散点数

//double **m_StateV; //库容离散

//4.指标函数target function

double **m_TarFun; //阶段指标函数

//5.目标函数object function

double m_ObjFun; //目标函数

//最优轨迹记录数组

long **m_OptArray;

//原始资料记录数组

double *m_RunoffArray; //长系列径流

double *m_EvapArray; //蒸发量

//时间(年月)记录数组

long *m_YearArray;

long *m_MonthArray;

//计算结果

double *m_OptVolumnArray; //最优轨迹对应库容数据数组序列double *m_OptNArray; //最优轨迹对应出力数据数组序列

double *m_OptAbandonQ; //最优轨迹对应的弃水量序列

double *m_OptUpWaterLevelArray; //最优轨迹对应的水库上游水位序列double *m_OptDownWaterLevelArray;//最优轨迹对应的水库下游水位序列double *m_OptVarialbe_q; //最优轨迹对应的发电流量序列

double *m_OptMeanWaterHeadArray; //最优轨迹对应的平均发电水头

double *m_OptNmaxArray; //最优轨迹对应的预想出力

double *m_OptDamageDepth; //最优轨迹中低于保证出力时的破坏深度double m_OptReliability; //最优轨迹对应的保证率

double m_OptGenerationProduction; //发电量

double m_OptAnnualMaxPower;

//Parameters of Hydropower Station

//

double m_DeadWaterLevel; //死水位m

double m_DeadVolumn; //死库容.03亿m3

double m_NormalWaterLevel; //正常蓄水位835m

double m_FloodLimitLevel; //汛期防洪限制水位m

double m_FloodVmax; //汛期最大库容.03亿m3

double m_NFloodVmax; //非汛期最大库容.37亿m3

int m_UnitsNum; //机组台数

double m_InstallCapacity; //装机容量*2MW

double m_FirmCapacity_N; //保证出力.2MW

//预想出力

double m_PotentialWaterLevel1;

double m_PotentialCapacity_N1;

double m_PotentialWaterLevel2;

double m_PotentialCapacity_N2;

double m_DesignAnnualGeneration; //设计年发电量.99×kW•e V); //上游水位计算double DownWaterLevelCalculation(double q); //下游水位计算

void ReverseSearchCalculation(); //反向寻优计算

void TerminalOptionalResultCalculation(); //最终结果计算

};

#endif

//类的实现

// SRDP.cpp: implementation of the SRDP class.

//

//////////////////////////////////////////////////////////////////////

#include"stdafx.h"

#include"SRDP.h"

#include

#include"assert.h"

#include"fstream"

#include"iomanip"

#include"iostream"

#include

using namespace std;

//////////////////////////////////////////////////////////////////////

// Construction/Destruction

//////////////////////////////////////////////////////////////////////

SRDP::SRDP()

{

//原始资料

this->m_RunoffArray = NULL; //长系列径流数据

this->m_EvapArray = NULL; //蒸发数据

////动态规划模型数据

//this->m_StageNum=100; //阶段数

//this->m_Delta_t=2626560; //时间间隔

//this->m_DeltaHour=730; //一个月的小时数

this->m_StateNum = NULL; //状态数

this->m_TarFun = NULL; //阶段指标

相关文档
最新文档