补充与修改:
12.31
补充:无
修改:
1.修改了孱醴、葛岗不调度时传入计划值为24列的错误,实为96列,详见表格;
2.修改了祁韶、孱醴、葛岗送电功率上下限写成“provininter_energy...”的错误,实为“provininter_powerlimits...”,详见表格
12.30
补充:增加了修改火电优化值的功能,即给定部分时刻的火电功率,并设置了清除该修改的功能。参见下表火电部分最前两栏。
修改:无
12.28:
补充:
其他需要后台通过arg_in函数传入matlab中的变量:
火电:一个类型的参数有37个,代表37个火电机组。参数类型:1.初始开关机状态(v_start);2.初始出力(p_start);3.已开机时间(thermal_T_initial_on);4.已关机时间(thermal_T_initial_off)。
水电:一个类型的参数有10个,代表10个水电厂。参数类型:1.期初水位(H_set_start);2.期末水位(H_set_final);3.综合出力系数K(K_hydro)。
修改:无
12.26晚:
补充:
1.增加了日内总调度时刻NT_inday的设置。如当前时刻为00:15,则还剩余95个时刻需要优化调度(96-1=95),则使用arg_in函数令NT_inday=95。具体使用方法详见输入函数arg_in表格的第一栏。
2.调用日内模块时,调用逻辑如下:
①如果当前时刻为00:00,即96个点需要调度优化,调用arg_in函数赋值NT_inday=96后,运行Main_inday。
②如果当前时刻不为00:00,则调用arg_in函数赋值NT_inday为还需优化调度的时刻,运行Main_inday_normal。
12.26早:
补充:
需要后台直接通过arg_in函数传入我们matlab中的变量,无需修改界面显示,详细操作见表格:
1.水电自然来水量:Q_na(10行96列),日内调度时数据如果可以更新,则更新Q_na中对应时刻的数据,其他时刻位置不变,数据格式仍为10行96列即可。
2.预测误差0.01的系数:deviation_pre(12行24列)。
3.风电预测值P_wind_pre(47行96列),日内调度时预测值如果可以更新,则更新该索引变量中对应时刻的数据,其他时刻位置不变,数据格式仍为47行96列即可。
4.气象数据:Weather。
5.月份:Month。
6.不调度电厂的出力:UndispatchedPower(79行96列),日内调度时预测值如果可以更新,则更新该索引变量中对应时刻的数据,其他时刻位置不变,数据格式仍为79行96列即可。
7.其他不调度的电厂功率之和(地区火电、水电、风电等):lil_undispatched(1行96列),日内调度时预测值如果可以更新,则更新该索引变量中对应时刻的数据,其他时刻位置不变,数据格式仍为1行96列即可。lil_undispatched为所有地区小电厂功率之和,为1行96列的矩阵,需要将对应表的所有地区小电厂的计划值进行求和。
8.负荷预测:load_total(1行96列),日内调度时预测值如果可以更新,则更新该索引变量中对应时刻的数据,其他时刻位置不变,数据格式仍为1行96列即可。
9.对于鄂湘联络线,经过讨论决定只对鄂湘联络线进行设置,而不分成孱醴与葛岗两条线进行设置。则交互逻辑如下:如果选中鄂湘联络线参与调度,并确定鄂湘一日送电量为a,每时刻送电功率上下限为b与c。则通过arg_in函数设置chanli_uc、gegang_uc均为1,孱醴对应的送电量provininter_energy_chanli为a2/3,葛岗对应送电量provininter_energy_gegang为a/3;孱醴送电功率上下限provininter_powerlimits_chanli设置为b2/3,c2/3,葛岗送电功率上下限provininter_powerlimits_gegang设置为b/3,c/3即可。如果选中鄂湘联络线不参与调度,并确定鄂湘联络线计划送电功率为A(1行96列)。则通过arg_in函数设置chanli_uc、gegang_uc均为0,设置chanli_uc时的Value设置为A2/3,gegang_uc的Value为A/3。
10.增加了贡献度分析及其百分比数据提取的功能,详见文档末尾。
修改:无
输入函数:arg_in
标准调用方式及基本说明:arg_in(Varname,Position,Value),其中Varname为索引变量名,为一字符串。如’DeleteUnits’代表删除(划去)火电机组的操作。Position为位置指针,和为一数字,部分情况下可以是数组。如要修改碗米坡电厂的参数,则位置指针为1,代表我们表中第一个水电机组碗米坡。不过部分修改参数的情况不需要该位置指针,赋值为0即可(随便赋值)。Value为修改的参数值,如要修改碗米坡机组最大出力为1200,则Value=1200。同样,部分修改参数的情况下用不到Value,赋值为0即可(随便赋值)。下面对具体功能进行详细介绍。
功能介绍:
修改参数的各种功能 | 索引变量名 | 函数调用形式举例说明 | 命令语句的意义 | 注意事项 |
---|---|---|---|---|
日内还需调度的时刻 | NT_inday | arg_in(‘NT_inday’,0,80) | Position无意义,此处赋值为0.Value=80,代表本日还有80个需要优化调度的时刻,即现在为05:00,从05:00到23:45,有80个时刻。 |
火电
修改参 数的 各种功能 | 索引变量名 | 函数调用形式举例说明 | 命令语句的意义 | 注意事项 |
---|---|---|---|---|
火电给定功率 | PowerModification | arg_in(‘PowerModification’,[5,30;3,70],[400;500]) | 此处Position第一行第一个元素5代表第5个火电机组,第二个元素30代表第30个时刻。Value第一行为400,即指定第5台机组第30个时刻的出力为400MW,第二行同理。若要修改多个位置的出力值,则写多行即可 | Position和Value的行数必须对应 |
清除火电给定功率设置 | Clear_PowerModification | arg_in(‘Clear_PowerModification’,0,0) | Position、Value均无意义,赋值为0 | |
删除火电机组 | DeleteUnits | arg_in(‘DeleteUnits’,[1,3,5],0)arg_in(‘DeleteUnits’,1,0) | 位置指针Position=[1,3,5]或1,代表删除原始表中序号为1、3、5或1的火电机组,Value此处无意义,赋值为0 此处Position可为数组,代表可一次性执行删除多台机组的操作,也可以为一个数,代表删除一台机组 | |
增加火电机组 | AddUnits | arg_in(‘AddUnits’,[1,3,5],0) arg_in(‘AddUnits’,1,0) | 位置指针Position=[1,3,5]或1,代表增加原始表中序号为1、3、5或1的火电机组,Value此处无意义,赋值为0 增加机组的各项参数即为初始化中(原始表中)该机组的参数,如果有修改的需要,则需要重新修改 | |
修改初始开关机状态 | v_start | arg_in(‘v_start’,1,0) | Position=1,代表修改序号为1的火电机组的参数,Value=0,代表将其开关机状态修改为0 Position不能为数组,只能对各机组逐一修改参数,以下所有修改功能Position均只能为一个数字(指针)。 | |
修改初始出力 | p_start | arg_in(‘p_start’,1,100) | Position=1,代表修改序号为1的火电机组,Value=100MW,代表将其初始出力修改为100 如果v_start=0则此处Value必须为0 | |
已开机时间 | thermal_T_initial _on | arg_in(‘thermal_T_initial _on’,1,2) | Position=1,代表修改序号为1的火电机组,Value=2代表修改已开机时间为2h 如果v_start=0则此处value必须=0,v_start=1则此处value必须>0 | |
已关机时间 | thermal_T_initial _off | arg_in(‘thermal_T_initial _off’,1,2) | Position=1,代表修改序号为1的火电机组,Value=2代表修改已关机时间为2h 如果v_start=1则此处value必须=0,v_start=0则此处value必须>0 | |
最大出力 | P_thermal_max | arg_in(‘P_thermal_max’,1,650) | Position解释多次不再赘述,Value=650代表修改该机组最大出力为650MW 不建议修改 | |
最小出力 | P_thermal_min | arg_in(‘P_thermal_min’,1,100) | Position解释多次不再赘述,Value=100代表修改该机组最小出力为100MW | |
最小开机时间 | thermal_T_on | arg_in(‘thermal_T_on’,1,3) | Value=3代表修改该机组最小开机时间为3h | |
最小关机时间 | thermal_T_off | arg_in(‘thermal_T_off’,1,3) | Value=3代表修改该机组最小关机时间为3h | |
向上爬坡 | P_ramp_up | arg_in(‘P_ramp_up’,1,150) | Value=150代表修改该机组最大上爬坡为150MW 建议在所给范围内修改 | |
向下爬坡 | P_ramp_down | arg_in(‘P_ramp_down’,1,150) | Value=150代表修改该机组最大下爬坡为150MW 建议在所给范围内修改 |
水电
修改参数的各种功能 | 索引变量名 | 函数调用形式举例说明 | 命令语句的意义 | 注意事项 | |
---|---|---|---|---|---|
网调是否参与调度 | Wangdiao_uc | arg_in(‘Wangdiao_uc’,1,0) arg_in(‘Wangdiao_uc’,0,Value) | Position=1代表网调参与调度,此时Value无意义,赋值为0;Position=0代表网调不参与调度,此时Value为大数据平台推送的4台网调机组24个时刻的出力,为一4行24列的矩阵。 | 设置网调不调必须要将推送功率按既定格式写入Value当中 | |
水电机组最小出力 | P_hydro_min | arg_in(‘P_hydro_min’,1,20) | Position=1代表原始表中序号为1的水电机组,Value=20修改最小出力为20MW | ||
最大出力 | P_hydro_max | arg_in(‘P_hydro_max’,1,1200) | Position=1代表原始表中序号为1的水电机组,Value=1200修改最大出力为1200MW | 不建议修改 | |
最大出库流量 | Q_out_max | arg_in(‘Q_out_max’,1,200) | Value=200代表修改最大出库流量为200MW | 为防止以后功能需要,此处设置接口,但界面上暂时不要修改。 | |
最小出库流量 | Q_out_min | arg_in(‘Q_out_min’,1,200) | Value=200代表修改最小出库流量为200MW | 为防止以后功能需要,此处设置接口,但界面上暂时不要修改。 | |
综合出力系数 | K_hydro | arg_in(‘K_hydro’,1,8) | Value=8代表修改该机组综合出力系数为8 | ||
最高水位 | H_max | arg_in(‘H_max’,1,100) | Value=100代表修改该机组最高水位为100m | ||
最低水位 | H_min | arg_in(‘H_min’,1,100) | Value=100代表修改该机组最低水位为100m | ||
期初水位 | H_set_start | arg_in(‘H_set_start’,1,100) | Value=100代表修改该机组期初水位为100m | ||
期末水位 | H_set_final | arg_in(‘H_set_final’,1,100) | Value=100代表修改该机组期末水位为100m | ||
自然流量 | Q_na | arg_in(‘Q_na’,0,Value) | 此处位置指针Position没有意义,故赋值为0。Value为原始表中10个 | 水电机组96个时刻的自然来水量,为一10行96列的数组 | 需要特别注意如果网调不调度,则代表网调机组的3到7行无意义,必须赋值为0!!! |
风电
修改参数的各种功能 | 索引变量名 | 函数调用形式举例说明 | 命令语句的意义 | 注意事项 |
---|---|---|---|---|
气象数据 | Weather | arg_in(‘Weather’,0,Value) | 此处位置指针Position没有意义,故赋值为0。Value为47*4行96列的矩阵,每四行代表一个风电厂在96个时刻的风速、风向、气温、气压数据,共47个风电厂 需严格按照数据格式与相关风电厂顺序导入 | |
月份 | Month | arg_in(‘Month’,0,10) | 此处位置指针Position没有意义,故赋值为0。Value=10,代表使用气象的月份为10月 | |
预测误差为0.01的系数 | deviation_pre | arg_in(‘deviation_pre’,0,Value) | 此处位置指针Position没有意义,故赋值为0。Value为风电厂划分为12个区域后各个区域24个时刻的系数,为一12行24列的矩阵 需要严格按照数据格式与相应区域顺序填写 | |
风电预测值 | P_wind_pre | arg_in(‘P_wind_pre’,0,Value) | 此处位置指针Position没有意义,故赋值为0。Value为一47行96列的矩阵,代表47个风电场第二天的预测值 | |
不调度的电厂 | ||||
不调度的所有电厂出力 | UndispatchedPower | arg_in(‘UndispatchedPower’,0,Value) | 此处位置指针Position没有意义,故赋值为0。Value为一79行96列的矩阵,其中前44行代表44个不参与调度的水电机组在96个时刻的出力,最后14行代表光伏电厂的出力,中间21行代表不调度的小火电厂的出力 此处不调度的水电机组不包括网调,不要混淆!!需要严格按照数据格式,按顺序导入各个电厂的出力 |
联络线
修改参数的各种功能 | 索引变量名 | 函数调用形式举例说明 | 命令语句的意义 | 注意事项 |
---|---|---|---|---|
祁韶是否参与调度 | qishao_uc | arg_in(‘qishao_uc’,1,0) arg_in(‘qishao_uc’,0,Value) | Position=1,代表祁韶参与调度,此时Value无意义,赋值为0。Position=0,代表祁韶不参与调度,此时Value为祁韶直流的计划送电功率,为一行96列的数组。代表96个时刻的出力,单位为MW | |
孱澧是否参与调度 | chanli_uc | arg_in(‘chanli_uc’,1,0) arg_in(‘chanli_uc’,0,Value) | Position=1,代表孱澧参与调度,此时Value无意义,赋值为0。Position=0,代表孱澧不参与调度,此时Value为孱澧线的计划送电功率,为一行96列的数组。代表24个时刻的出力,单位为MW 需要特别注意,界面上只有鄂湘是否调度,实际上鄂湘由两条线组成,是可以分别优化的。如果只能保持现在的界面,就调用两次arg_in函数给两条线Position均赋值为1或者均赋值为0 | |
葛岗是否参与调度 | gegang_uc | arg_in(‘gegang_uc’,1,0) arg_in(‘gegang_uc’,0,Value) | Position=1,代表葛岗参与调度,此时Value无意义,赋值为0。Position=0,代表葛岗不参与调度,此时Value为葛岗线的计划送电功率,为一行96列的数组。代表96个时刻的出力,单位为MW | |
祁韶一日总送电量 | provininter_energy_qishao | arg_in(‘provininter_energy_qishao’,0,1440) | 此处位置指针Position没有意义,故赋值为0。Value=1440,代表祁韶当日送电量总和,单位为MW 只有当联络线参与调度时,相应总送电量和功率上下限才需要进行设置,下同 | |
孱澧一日总送电量 | provininter_energy_qishao | arg_in(‘provininter_energy_chanli’,0,1000) | 此处位置指针Position没有意义,故赋值为0。Value=1000,代表孱醴线当日送电量总和,单位为MW 注意孱醴、葛岗线属于鄂湘联络线,在设置时,二者送电量的总和才是鄂湘联络线的送电量 | |
葛岗一日总送电量 | provininter_energy_qishao | arg_in(‘provininter_energy_gegang’,0,500) | 此处位置指针Position没有意义,故赋值为0。Value=500,代表葛岗线当日送电量总和,单位为MW 孱醴+葛岗=1500MW,代表鄂湘联络线当日总送电量为1500MW | |
祁韶送电功率上下限 | provininter_powerlimits_qishao | arg_in(‘provininter_powerlimits_qishao’,0,[700,0]) | 此处位置指针Position没有意义,故赋值为0。Value=[70,0],代表祁韶各个时刻送电功率上限为70MW,下限为0MW 建议按所给范围进行设置 | |
孱澧送电功率上下限 | provininter_powerlimits_qishao | arg_in(‘provininter_powerlimits_chanli’,0,[300,-300]) | 此处位置指针Position没有意义,故赋值为0。Value=[300,-300],代表孱醴各个时刻送电功率上限为300MW,下限为-300MW(即反送) 建议按所给范围进行设置 | |
葛岗送电功率上下限 | provininter_powerlimits_qishao | arg_in(‘provininter_powerlimits_gegang’,0,[150,-150]) | 此处位置指针Position没有意义,故赋值为0。Value=[150,-150],代表葛岗线各个时刻送电功率上限为150MW,下限为-150MW 建议按所给范围进行设置 | |
负荷 | load_total | arg_in(‘load_total’,0,Value) | 此处位置指针Position没有意义,故赋值为0。Value为1行96列的数组,代表第二天的96点负荷预测值 | |
其他不调度的电厂功率之和(地区火电、水电、风电等) | lil_undispatched | arg_in(‘lil_undispatched’,0,Value) | 此处位置指针Position没有意义,故赋值为0。Value为1行96列的数组,代表第二天的其他不调度的电厂每个时刻的功率总和。 |
输出函数arg_out
基本用法:VarValue=arg_out(Varname),Varname为索引变量名,为一字符串,VarValue是函数通过计算传出来的值,赋值变量。下面介绍具体功能:
火电
功能 | 索引变量名 | 函数调用形式举例说明 | 命令语句的意义 | 注意事项 |
---|---|---|---|---|
日前优化计划出力 | P_m_96 P_m_96=arg_out(‘P_m_96’) | Varname=’P_m_96’,是火电优化计划值的索引变量VarValue为P_m_96,这个变量名可以随意设置,只要方便你们自己程序中调用该变量就行,所有赋值变量名都可以按你们自己的需要设置。P_m_96为一个37行96列的矩阵,代表37个火电机组在96个时刻的优化计划出力,单位为MW | 具体用法见说明文档 | |
日内优化计划出力 | P_m_inday_96 | P_m_inday_96=arg_out(‘P_m_inday_96’) | P_m_inday_96为一个37行96列的矩阵,代表37个火电机组在日内96个时刻的优化计划出力,单位为MW | 具体用法见说明文档 |
开关机状态 | V_96 | V_96=arg_out(‘V_96’) | Varname=‘V_96’是开关机状态的索引变量,V_96赋值变量为一37行96列的矩阵,代表37个火电机组在96个时刻的开关机状态 | 具体用法见说明文档 |
水电
功能 | 索引变量名 | 函数调用形式举例说明 | 命令语句的意义 | 注意事项 |
---|---|---|---|---|
优化计划出力 | P_h_96 | P_h_96=arg_out(‘P_h_96’) | Varname和VarValue不再赘述。P_h_96为一10行96列的矩阵,代表10个水电机组在96个时刻的优化计划值,单位为MW | 具体用法见说明文档 |
日内优化计划出力 | P_h_inday_96 | P_h_inday_96=arg_out(‘P_h_inday_96’) | Varname和VarValue不再赘述。P_h_inday_96为一10行96列的矩阵,代表日内10个水电机组在96个时刻的优化计划值,单位为MW | 具体用法见说明文档 |
调度水电上备用 | hydro_stb_96 | hydro_stb_96=arg_out(‘hydro_stb_96’) | Varname和VarValue不再赘述。hydro_stb_96为一10行96列的矩阵,代表10个水电机组在96个时刻的水电备用值,单位为MW | 具体用法见说明文档 |
日内水电上备用 | hydro_stb_inday_96 | hydro_stb_inday_96=arg_out(‘hydro_stb_inday_96’) | Varname和VarValue不再赘述。hydro_stb_inday_96为一10行96列的矩阵,代表日内10个水电机组在96个时刻的水电备用值,单位为MW | 具体用法见说明文档 |
日前用于计算的最大可发电量 | Q_hydro_max | Q_hydro_max=arg_out(‘Q_hydro_max’) | Q_hydro_max为10行1列的数组,代表十个电厂每天最大可发电量 | 具体用法见说明文档 |
日内用于计算的最大可发电量 | Q_hydro_max_inday | Q_hydro_max_inday=arg_out(‘Q_hydro_max_inday’) | Q_hydro_max_inday为10行1列的数组,代表十个电厂日内最大可发电量 | 具体用法见说明文档 |
风电
功能 | 索引变量名 | 函数调用形式举例说明 | 命令语句的意义 | 注意事项 |
---|---|---|---|---|
日前优化计划出力 | P_w_96 | P_w_96=arg_out(‘P_w_96’) | P_w_96为一47行96列的矩阵,代表47个风电场在96个时刻的优化计划出力,单位为MW | 具体用法见说明文档 |
日内优化计划出力 | P_w_inday_96 | P_w_inday_96=arg_out(‘P_w_inday_96’) | P_w_inday_96为一47行96列的矩阵,代表47个风电场在日内96个时刻的优化计划出力,单位为MW | 具体用法见说明文档 |
气象模式识别后的1%模型边界 | area_model_001 | area_model_001=arg_out(‘area_model_001’) | area_model_001为12行24列的矩阵 读出该数据,再用arg_in函数填入deviation_pre中,即arg_in(‘deviation_pre’0,area_model_001),无需进行别的处理 | |
气象模式 | farm_model | farm_model=arg_out(‘farm_model’) | farm_model为48行96列的矩阵,代表电厂在各个时刻的气象模式识别结果 | |
日前部分用于计算的风电预测值 | P_w_pre_96 | P_w_pre_96=arg_out(‘P_w_pre_96’) | P_w_pre_96为47行96列的矩阵,代表47个电厂的预测值 | 具体用法见说明文档 |
日内部分用于计算的风电预测值 | P_w_pre_inday_96 | P_w_pre_inday_96=arg_out(‘P_w_pre_inday_96’) | P_w_pre_inday_96为47行96列的矩阵,代表47个电厂的预测值 | 具体用法见说明文档 |
联络线
功能 | 索引变量名 | 函数调用形式举例说明 | 命令语句的意义 | 注意事项 |
---|---|---|---|---|
祁韶送电功率 | P_qishao_96 | P_qishao_96=arg_out(‘P_qishao_96’) | P_qishao_96为1行96列的数组,代表祁韶直流在96个时刻的送电功率,单位为MW | 具体用法见说明文档 |
孱醴送电功率 | P_chanli_96 P_chanli_96=arg_out(‘P_chanli_96’) | P_qishao_96为1行96列的数组,代表孱醴线在96个时刻的送电功率,,单位为MW | 具体用法见说明文档 | |
葛岗送电功率 | P_gegang_96 | P_gegang_96=arg_out(‘P_gegang_96’) | P_qishao_96为1行96列的数组,代表葛岗线在96个时刻的送电功率,单位为MW | 鄂湘联络线96点的送电功率=P_chanli_96+P_gegang_96 |
日前省内断面功率 | P_shengnei_96 | P_shengnei_96=arg_out(‘P_shengnei_96’) | P_shengnei_96为6行96列的矩阵,从1到6行分别为长民、韶船、牌长一回、牌长二回、艳宗、艳牌线在96个时刻的功率,单位为MW | 具体用法见说明文档 |
日内省内断面功率 | P_shengnei_inday_96 | P_shengnei_inday_96=arg_out(‘P_shengnei_inday_96’) | P_shengnei_inday_96为6行96列的矩阵,从1到6行分别为长民、韶船、牌长一回、牌长二回、艳宗、艳牌线在96个时刻的功率,单位为MW | 具体用法见说明文档 |
清洁能源优化消纳量,位于主页右上角总值
功能 | 索引变量名 | 函数调用形式举例说明 | 命令语句的意义 | 注意事项 |
---|---|---|---|---|
清洁能源优化消纳量 | CleanPower_all | CleanPower_all=arg_out(‘CleanPower_all’) | CleanPower_all为消纳量,单位MW | 计划值需要另外计算具体用法见说明文档 |
贡献度计算所需百分比 | sensitivity | sensitivity=arg_out(‘sensitivity’) | 导出变量sensitivity为1行3列的数组,分别代表负荷率、断面限额、最小技术出力贡献度的百分比 注意若弃电量相对于容量而言很小,可以忽略不计时,所有百分比为0 |