//IStation.HydraulicModelValidationHelperJob.Execute();
|
using IStation;
|
using System.Diagnostics;
|
|
IStation.Service.ScheduleRequest _service_schedule_request = new();
|
IStation.Service.ScheduleScada _service_schedule_scada = new();
|
IStation.Service.ScheduleRule _service_schedule_rule = new();
|
IStation.Service.ScheduleConclusion _service_schedule_conclusion = new();
|
IStation.Service.SchedulePump _service_schedule_pump = new();
|
|
IStation.Service.Station _service_station = new();
|
IStation.Service.ScheduleConfig _service_schedule_config = new();
|
|
var station_info = _service_station.Get();
|
|
|
double target_flow1 = 22930.774;
|
double target_flow2 = 39599.2;
|
double target_head1 = IStation.Curve.PumpCalculateHelper.Mpa2M(0.2892);
|
double target_head2 = IStation.Curve.PumpCalculateHelper.Mpa2M(0.1756);
|
|
|
GlobalHelper.GetRealTimeZyScadaList(out List<IStation.Model.ZyScada> zy_scada_list, true);
|
|
var station1 = station_info.Station1;
|
var station2 = station_info.Station2;
|
var station1_same_type_flag_group_first = GlobalHelper.Station1SameTypeFlagGroupFirst;
|
var station2_same_type_flag_group_first = GlobalHelper.Station2SameTypeFlagGroupFirst;
|
var station1_schedule_config = _service_schedule_config.GetStation1();
|
var station2_schedule_config = _service_schedule_config.GetStation2();
|
var station1_flag_list = GlobalHelper.Station1FlagList;
|
var station2_flag_list = GlobalHelper.Station2FlagList;
|
|
GlobalHelper.GetStationOpenFlagList(zy_scada_list, out List<int> station1_open_flag_list, out List<int> station2_open_flag_list);
|
GlobalHelper.GetFlagInletWaterLevelDict(zy_scada_list, out Dictionary<int, double> station1_flag_inlet_water_level_dict, out Dictionary<int, double> station2_flag_inlet_water_level_dict);
|
|
var helper = new ScheduleHelper_Update();
|
|
//helper.Initial(station1_open_flag_list, station1_schedule_config);
|
//var optimal_combine1 = helper.Calc(station1, station1_same_type_flag_group_first, station1_flag_inlet_water_level_dict, target_flow1, target_head1);
|
//var a = optimal_combine1;
|
|
|
helper.Initial(station2_open_flag_list, station2_schedule_config);
|
var optimal_combine2 = helper.Calc(station2, station2_same_type_flag_group_first, station2_flag_inlet_water_level_dict, target_flow2, target_head2);
|
|
var sw2 = new Stopwatch();
|
|
sw2.Start();
|
helper.Init(2);
|
var optimal_2 = helper.Calc(station2, station2_same_type_flag_group_first, station2_flag_inlet_water_level_dict, target_flow2, target_head2);
|
Console.WriteLine($"2-{sw2.Elapsed}");
|
|
sw2.Restart();
|
helper.Init(1.5);
|
var optimal_1_5 = helper.Calc(station2, station2_same_type_flag_group_first, station2_flag_inlet_water_level_dict, target_flow2, target_head2);
|
Console.WriteLine($"1.5-{sw2.Elapsed}");
|
|
sw2.Restart();
|
helper.Init(1);
|
var optimal_1 = helper.Calc(station2, station2_same_type_flag_group_first, station2_flag_inlet_water_level_dict, target_flow2, target_head2);
|
Console.WriteLine($"1-{sw2.Elapsed}");
|
|
sw2.Restart();
|
helper.Init(0.5);
|
var optimal_0_5 = helper.Calc(station2, station2_same_type_flag_group_first, station2_flag_inlet_water_level_dict, target_flow2, target_head2);
|
Console.WriteLine($"0.5-{sw2.Elapsed}");
|
|
sw2.Restart();
|
helper.Init(0.3);
|
var optimal_0_3 = helper.Calc(station2, station2_same_type_flag_group_first, station2_flag_inlet_water_level_dict, target_flow2, target_head2);
|
Console.WriteLine($"0.3-{sw2.Elapsed}");
|
|
var a = 1;
|
Console.ReadKey();
|
|
//2 - 00:00:10.4550449
|
//1.5 - 00:00:03.3803798
|
//1 - 00:00:00.5834496
|
//0.5 - 00:00:00.0636343
|
//0.3 - 00:00:00.0324420
|