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