This is the code implementation for the paper: Silicon Content Prediction in Blast Furnace Ironmaking Process Based on Closed-loop Multiobjective Evolutionary Ensemble Learning (Accepted by IEEE TIM).
This public GitHub repository contains:
-
All source code related to our proposed algorithm;
-
The benchmark dataset files (Residential Building Data set):
data/Residential Building Data Set/Residential-Building-Data-Set-preprocessed.xlsx
; -
The practical industrial dataset files (Silicon Content Prediction Data Set):
data/Silicon Content Prediction Data Set/Si_predict.xlsx
;
Note: Some code is inspired by jMetalPy. A paper introducing jMetalPy is available at: jMetalPy: A Python framework for multi-objective optimization with metaheuristics.
- Proposed CL-MOEEL Algorithm:
core/algorithm/moeec_nsgaii.py
, class name:MOEEC_NSGAII_v5
; - Proposed Variable-Length Encoding Scheme:
core/problem/solution.py
; - Proposed Knowledge-Guided Selection (KGS) Method:
core/algorithm/moeec_nsgaii.py
, lines 205–277; - Two Proposed Variable-Length Crossover Operators (inside-cluster crossover and outside-cluster crossover):
core/algorithm/moeec_nsgaii.py
, lines 364–443; - Precomputation Technique (to reduce the algorithm's time complexity):
core/problem/ensemble_model.py
, located in theMultiKernelTransformer
class.
python "scripts/run_moeec_nsgaii_v5_kfold.py" --dataset=""
--dataset
: the dataset name, e.g., "UCI14_ResidentialBuilding" (benchmark dataset ), or "Si_predict" (practical industrial dataset).
python "scripts/processing_results_kfold.py" --dataset="" --path=""
-
--dataset
: the dataset name, e.g., "UCI14_ResidentialBuilding" (benchmark dataset ), or "Si_predict" (practical industrial dataset). -
--path
: the result path, e.g., "MOEEC_NSGAII_v5_[year]-[month]-[day]_kfold", where "[year]-[month]-[day]" is the time stamp of the folder. Note that this name will be automatically generated after running the script "run_moeec_nsgaii_v5_kfold.py".
After running the above command, two result files, "results.csv" and "inds.csv" , will be generated in the directory specified by the --path
parameter. The "results.csv" file contains detailed records of all metrics (e.g., RMSE,
Create a new script in the "core/dataset/" directory, defining your own dataset class (which should inherit from the MyDatasetKFold
class), and import the newly defined class name in the __init__.py
file.
Execute the following command to run the algorithm and process the experimental results.
# run algorithm
python "scripts/run_moeec_nsgaii_v5_kfold.py" --dataset=""
# process results
python "scripts/processing_results_kfold.py" --dataset="" --path=""
Note that the dataset parameter (--dataset
) should be changed to the name of your defined dataset class, and the algorithm results will be saved in the "models/" directory. After processing the results, the evaluation metrics (RMSE,
If you find our work useful, please cite our paper:
@article{xxx, author = {xxx}, title = {xxx}, year = {xxx}, publisher = {xxx}, url = {xxx}, doi = {xxx}, journal = {xxx} }