Our team won the fifth place in the competition, and the overall ranking is sixth. The uploaded code only has the optimized part
, and the predicted result has been directly given in the file (buildingTotalFinal.csv and solarTotalFinal.csv), which can be used directly.
JDK 1.8
apache-maven-3.8.2
IEEE-Predict-Optimize-Challenge
├── data
│ ├── buildingTotalFinal.csv ——Building load prediction data
│ ├── electricity_price
│ │ ├── PRICE_AND_DEMAND_202009_VIC1.csv
│ │ ├── PRICE_AND_DEMAND_202010_VIC1.csv
│ │ ├── PRICE_AND_DEMAND_202011_VIC1.csv
│ │ └── PRICE_AND_DEMAND_202012_VIC1.csv
│ ├── phase_2_data.tsf
│ ├── phase_2_instances
│ │ ├── phase2_instance_large_0.txt
│ │ ├── phase2_instance_large_1.txt
│ │ ├── phase2_instance_large_2.txt
│ │ ├── phase2_instance_large_3.txt
│ │ ├── phase2_instance_large_4.txt
│ │ ├── phase2_instance_small_0.txt
│ │ ├── phase2_instance_small_1.txt
│ │ ├── phase2_instance_small_2.txt
│ │ ├── phase2_instance_small_3.txt
│ │ └── phase2_instance_small_4.txt
│ ├── phase_3_data.tsf
│ ├── results
│ ├── solarTotalFinal.csv ——Solar power generation forecast data
│ └── submission ——Final submission results
├── images
├── README.md
└── src
└── edu
└── monash
├── io
│ ├── FileUtils.java
│ └── tsf
└── ppoi
├── checker
├── constant
├── entity
├── Evaluation.java
├── ExpandTimeTable.java
├── instance
├── Phase.java
├── RABMain.java ——Algorithm entrance
├── solution
└── utils
RABMain.java
is the entry to the algorithm. To run RABMain, you need to configure 4 parameters in Program Arguments.
large_4 10 10 xyj
Instance_of_you_running maxRun MaxBatteryIter who
The result data of the large_4 run will be saved under the file \data\results\instance14
.
We use the local search method to solve the optimization problem. At the beginning, we randomly generated an initial solution, the charging and discharging of the fixed battery remained unchanged, and the solution was searched through continuous local disturbance and mutation. When a better solution than the global one was generated, it was saved to the file. After that, the fixed schedule will not change, and the charging and discharging of the battery will also be optimized through continuous local disturbances and mutations. Good results will be saved in the file. The following flow chart shows the flow chart of the activity arrangement.
Algorithm execution order
1、Fixed battery charge and discharge
2、Optimize schedule
3、Fixed best schedule
4、Optimize battery charge and discharge
Qingling Zhu - zhuqingling@email.szu.edu.cn
YaoJian Xu: xuyaojian2021@email.szu.edu.cn
Thanks to the competition organizers.At the same time, I am very grateful to the students and teachers in the laboratory for their help.