## 安装内容 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万个样本),直到运行完成 ## 获得结果,绘制图表 ### 风险节点分析 1. 运行*risk_analysis_sum_result.py*文件,该程序自动产生风险节点分析统计数据并放置到output_result/risk文件夹中 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*文件中