栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

仓库选址问题.Python实例操作

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

仓库选址问题.Python实例操作

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

目录

前言

一、题目

二、解题思想

2.1 问题1

2.2  问题2

总结


先更新部分~~需要数据集可以私信我


前言

        近段时间,训练了一道仓库选址问题研究建模,在这里详细分享给大家我的结题过程.

PS:有错误欢迎指出


一、题目

不多说了,直接上题目


二、解题思想

2.1 问题1

        网上的订货需要在一天内送达,求至少建多少的仓库。这是一道集合覆盖问题。覆盖模型适用于一些特殊场景,例如消防中心、救护车、巡逻车等应急设施的区位选址问题

Step1:处理数据Data_1.xlsx,下面给数据集的预览

 首先,对每个城市按表中数据按1-50进行编号,再将系数矩阵进行补全(这里通过Excel可以手动几步解决)得到下图

 因为题目的要求是一天内送达,所以我们系数矩阵保留所有两城市距离为一天的数据,其余数据都替换为0

# 读取数据
data = pd.read_excel("数据位置")
# 将 Nan 替换为  0
data[1:50].fillna(0,inplace=True)
#删掉无用的列 具体按个人数据实例进行操作
del data['Unnamed: 0']
del data['到达']
data.drop([0],axis=0,inplace=True)
data[1:50].fillna(0,inplace=True)
#大于1的距离进行删除
reachable = data.values #将Excel表中数据存储到数组中
reachable[reachable > 1] = 0

Step2:建立0-1整数规划模型,需要对每个城市建仓库可能性进行尝试

        代表城市

        代表城市间的距离(也可以理解为城市送达城市只要一天的集合)

限制条件:        即每个城市都可覆盖

目标函数:        求至少需要建立几个仓库

代码实现:

#写问题
SetCoverLP = pulp.LpProblem("SetCover_problem_for_Warehouse", sense=pulp.LpMinimize)
#建立变量x
Zones = list(range(50))
x = pulp.LpVariable.dicts("Zone",Zones,cat="Binary") 
#目标函数    
SetCoverLP += pulp.lpSum(x[i] for i in range(50))
#限制条件
for j in range(50):
    SetCoverLP += (pulp.lpSum([x[i] * reachable[i][j] for i in range(50)]) >= 1)
    
SetCoverLP.solve()

print(SetCoverLP.name)
# 格式化输出
temple = "区域 %(zone)d 的决策是:%(status)s"  
# 获得最优解
y = np.array(range(50))
if pulp.LpStatus[SetCoverLP.status] == "Optimal":  
        for i in range(50):
            if x[i].varValue:#将建仓位置存储到数组中
                y[i] = 1
            else:
                y[i] = 0
            output = {'zone': i+1, 'status': '建仓' if x[i].varValue else '--'}
            print(temple % output)
        print("需要建立 {} 个仓库。".format(pulp.value(SetCoverLP.objective)))

Step3:运行结果得到答案

2.2  问题2

总结

多进行实战练习,多总结才是提升自己的良好途径

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1017832.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号