项目简介
本项目是针对内容分发网络(CDN)的部署优化系统,运用图优化和机器学习技术,旨在寻找最优的服务器部署方案,以降低网络成本并提升服务质量。项目包含多个文件,各文件功能相互协作,共同构建起这个复杂的优化系统。
项目的主要特性和功能
- 读取网络结构数据:从文件读取节点、边、需求等网络结构信息。
- 建立数学模型:依据网络结构数据定义决策变量、约束条件和目标函数。
- 求解优化模型:借助线性规划求解器(如Gurobi)获取最优服务器部署方案。
- 机器学习方法预测:采用朴素贝叶斯等机器学习方法预测服务器等级配置,优化部署方案。
- 测试网络流算法:验证网络流算法的有效性,保障模型准确性与性能。
- 输出结果:输出目标函数值、服务器部署方案等优化结果。
安装使用步骤
环境准备
- 安装Python 2.7.11(推荐使用Anaconda2)。
- 安装Gurobi 7.0.2。
下载源码
从项目仓库下载源码文件。
运行项目
- 用
read_graph.py
读取网络结构数据。 - 用
solver.py
建立并求解优化模型。 - 用
autorun.py
批量求解多个用例。 - 用
test_network_simplex.py
测试网络流算法。 - 用
select_server.py
和text_naive_bayes.py
进行机器学习方法的预测和实验。
查看结果
查看输出的目标函数值和服务器部署方案等优化结果。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】