2023-09-15 01:15:42 +08:00
|
|
|
|
## 安装内容
|
|
|
|
|
1. 数据库,推荐使用mysql 8.0以上版本
|
|
|
|
|
2. Python 3.8
|
|
|
|
|
3. 通过pip等方法安装*requirements_manual_selected_20230304.txt*文件中的包
|
|
|
|
|
|
|
|
|
|
## 前期准备工作
|
|
|
|
|
1. 复制整个代码到本地
|
|
|
|
|
2. 用root及密码登录mysql,在本地数据库中创建一个数据库,命名为*iiabmdb*
|
|
|
|
|
3. 在mysql中运行*SQL_db_user_create.sql*里的sql命令,创建数据库用户。如果创建用户报错,需打开该文件,并运行第三行被注释掉的代码。该文件后面的sql命令也需要运行,将数据库用户的权限赋予*iiabmdb*数据库
|
|
|
|
|
4. 之后直接运行controller.py文件,如果没有报错,则说明前期准备工作完成
|
|
|
|
|
|
|
|
|
|
## 运行程序
|
|
|
|
|
1. 将*conf_db_prefix.yaml*文件中的*db_prefix*改为*db_name_prefix: without_exp*
|
|
|
|
|
2. 打开命令行,进入代码所在目录,运行
|
|
|
|
|
```shell
|
|
|
|
|
python main.py --exp without_exp --reset_db True
|
|
|
|
|
```
|
|
|
|
|
3. 等待运行完成(23750个样本)。结束后,将*db_name_prefix: without_exp*改为*db_name_prefix: with_exp*,并运行
|
|
|
|
|
```shell
|
|
|
|
|
python main.py --exp with_exp --reset_db True
|
|
|
|
|
```
|
|
|
|
|
4. 漫长的等待(17.1万个样本),直到运行完成
|
|
|
|
|
|
|
|
|
|
## 获得结果,绘制图表
|
2023-09-17 08:32:46 +08:00
|
|
|
|
|
|
|
|
|
### 风险节点分析
|
2023-10-26 09:21:35 +08:00
|
|
|
|
1. 运行*risk_analysis_sum_result.py*文件,该程序自动产生风险节点分析统计数据并放置到output_result/risk文件夹中
|
2023-09-17 08:32:46 +08:00
|
|
|
|
2. 依次运行*risk_analysis_prod_network.py*,*risk_analysis_firm_network.py*文件,将自动产生相关结果放置到output_result/risk文件夹中
|
|
|
|
|
|
|
|
|
|
### 韧性影响因素分析
|
|
|
|
|
1. 运行*SQL_analysis_experiment.sql*文件,将汇总结果手工复制至output_result/resilience文件夹*experiment_result.csv*文件中
|
|
|
|
|
2. 使用Minitab进行田口设计分析
|
|
|
|
|
3. 新建田口设计(统计——DOE——田口——创建田口设计——混合水平设计),因子数选项设置为8,设计选项设置为L36,水平^列为2^3,3^5,因子选项中将列名依次修改为:is_prf_size,is_prf_conn,ex_cap_type,n_max_trial,ex_cap_para,prob_new_conn,t_max_trial,n_sourcing
|
|
|
|
|
4. 将output_result/resilience文件夹*experiment_result.csv*文件中结果复制入田口设计表格右侧列
|
|
|
|
|
5. 依次对各个韧性指标进行田口设计分析(统计——DOE——田口——分析田口设计),从mean_count_firm_prod,mean_max_ts_firm_prod,mean_n_remove_firm_prod,mean_end_ts中选择一个韧性指标,图形选项勾选均值,分析选项中显示响应表勾选均值,拟合线性模型勾选均值,点击确定
|
|
|
|
|
6. 手工汇总方差分析结果至output_result/resilience文件夹*anova.csv*文件中,汇总响应表结果至*anova_visualization.csv*文件中
|