运输问题—R实现
table { margin: auto }
运输问题
随着社会和经济的不断进步,现代物流业蓬勃发展,如何充分利用时间、信息、仓储、配送和联运体系创造更多的价值,是物流运作必须解决的问题。运输问题(transportation problem)就是要求所采用运输方案是最经济或成本最低的,日益复杂的运输活动使得运输问题变得越来越庞杂,但是其核心思想仍然是实现现有资源的最优化配置。
例:某制药公司在全国设有六个生产基地,这些生产基地每天将这些药分别运往八个地区的经销部门,已知从每个生产基地到各销售部门每箱药品的运价如下表所示,问该制药公司应如何调运(运输方案),使在满足各销售部门需要的情况下,总的运输费用最少?
| \(c_{ij}\) | B1 | B2 | B3 | B4 | B5 | B6 | B7 | B8 | 产量\(a_i\) |
|---|---|---|---|---|---|---|---|---|---|
| A1 | 6 | 2 | 6 | 7 | 4 | 2 | 5 | 9 | 60 |
| A2 | 4 | 9 | 5 | 3 | 8 | 5 | 8 | 2 | 55 |
| A3 | 5 | 2 | 1 | 9 | 7 | 4 | 3 | 3 | 51 |
| A4 | 7 | 6 | 7 | 3 | 9 | 2 | 9 | 1 | 43 |
| A5 | 2 | 3 | 9 | 5 | 7 | 2 | 6 | 5 | 41 |
| A6 | 5 | 5 | 2 | 2 | 8 | 1 | 4 | 3 | 52 |
| 销量\(b_j\) | 35 | 37 | 22 | 32 | 41 | 32 | 43 | 38 |
运输问题的数学模型
1. 运输问题类型
\]
其中\(m=6;n=8\),由于总供给大于总需求,属于供大于求的运输问题。
2. 数学模型的建立
设从产地\(i\)调运到销地\(j\)的药品数量为\(x_{ij}\),建立数学模型如下:
\]
运输问题求解
1. R计算程序
#运输问题加载包
library(lpSolve)
#运价矩阵
costs<-matrix(c(6,4,5,7,2,5,2,9,2,6,3,
5,6,5,1,7,9,2,7,3,9,3,5,2,4,8,7,
9,7,8,2,5,4,2,2,1,5,8,3,7,6,4,9,2,3,1,5,3),nrow=6)
row.signs<-rep("<=",6) #产量约束符号
row.rhs<-c(60,55,51,43,41,52) #产量约束向量
col.signs<-rep("=",8) #销量约束符号
col.rhs<-c(35,37,22,32,41,32,43,38) #销量约束向量
#最优解和最优值
res<-lp.transport(costs,"min",row.signs,row.rhs,col.signs,col.rhs)
res
res$solution
2. R计算结果
最优值
Success: the objective function is 664
最优解
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8]
[1,] 0 19 0 0 41 0 0 0
[2,] 0 0 0 32 0 0 0 1
[3,] 0 12 0 0 0 0 39 0
[4,] 0 0 0 0 0 6 0 37
[5,] 35 6 0 0 0 0 0 0
[6,] 0 0 22 0 0 26 4 0
由R输出结果可知6个生产点8个销售点的最小运费为664,相应的运送方案为A1→B2:19个单位,A1→B5:41个单位,A2→B4:32个单位,A2→B8:1个单位,A3→B2:12个单位,A3→B7:39个单位,A4→B8:37个单位,A5→B1:35个单位,A5→B2:6个单位,A6→B3:22单位,A6→B6:26个单位,A6→B7:4个单位。
总结
通过运用运筹学的知识和方法对运输问题进行资源的优化配置和人员的合理分配,不仅可以为企业节省成本,提高效益和利润还可以节约运输的时间,为科学管理带来决策支持,为广大的消费者带来优惠和便利。
参考文献
运输问题—R实现的更多相关文章
- [原]CentOS7安装Rancher2.1并部署kubernetes (二)---部署kubernetes
################## Rancher v2.1.7 + Kubernetes 1.13.4 ################ ##################### ...
- 利用python进行数据分析2_数据采集与操作
txt_filename = './files/python_baidu.txt' # 打开文件 file_obj = open(txt_filename, 'r', encoding='utf-8' ...
- Django项目:CRM(客户关系管理系统)--81--71PerfectCRM实现CRM项目首页
{#portal.html#} {## ————————46PerfectCRM实现登陆后页面才能访问————————#} {#{% extends 'king_admin/table_index.h ...
- [COGS 0011] 运输问题1
11. 运输问题1 ★★☆ 输入文件:maxflowa.in 输出文件:maxflowa.out 简单对比时间限制:1 s 内存限制:128 MB [问题描述] 一个工厂每天生 ...
- R+NLP︱text2vec包——四类文本挖掘相似性指标 RWMD、cosine、Jaccard 、Euclidean (三,相似距离)
要学的东西太多,无笔记不能学~~ 欢迎关注公众号,一起分享学习笔记,记录每一颗"贝壳"~ --------------------------- 在之前的开篇提到了text2vec ...
- R语言最优化(一维)
最优化问题是普遍存在的,以前上运筹学课的时候也接触过最优化相关的问题,当时主要是理论课,并且关注的重点是单纯形法.运输问题以及图论等,这里指的最优化是指函数的最优化,即函数的极值,由于寻找一个局部最优 ...
- [网络流24题] COGS 运输问题1
11. 运输问题1 ★★☆ 输入文件:maxflowa.in 输出文件:maxflowa.out 简单对比时间限制:1 s 内存限制:128 MB [问题描述] 一个工厂每天生 ...
- cogs.12运输问题2题解
乍一看貌似和运输问题1没有任何区别,但本题有一个有意思的东西叫做下限,我个人称之为非强制下限,因为本题中要求的实际是我走这条边这条边才至少走下限的流,虽然出题人没说,但从样例来看确实是这样的,而强制下 ...
- Cogs 739. [网络流24题] 运输问题(费用流)
[网络流24题] 运输问题 ★★ 输入文件:tran.in 输出文件:tran.out 简单对比 时间限制:1 s 内存限制:128 MB «问题描述: «编程任务: 对于给定的m 个仓库和n 个零售 ...
- Cogs 12. 运输问题2(有上下界的有源汇最大流)
运输问题2 ★★☆ 输入文件:maxflowb.in 输出文件:maxflowb.out 简单对比 时间限制:1 s 内存限制:128 MB 运输问题 [问题描述] 一个工厂每天生产若干商品,需运输到 ...
随机推荐
- oracle 存过调试 stepinto stepover stepout
step into:单步执行,遇到子函数就进入并且继续单步执行(简而言之,进入子函数): step over:在单步执行时,在函数内遇到子函数时不会进入子函数内单步执行,而是将子函数整个执行完再停止, ...
- Topsis法的python实现
TOPSIS (Technique for Order Preference by Similarity to an Ideal Solution )法是C.L.Hwang和K.Yoon于1981年首 ...
- Spring系列之基于注解的容器配置7
目录 基于注解的容器配置 @Required(弃用) `@Autowired` `@Primary` @Qualifier 使用泛型作为自动装配限定符 `@Resource` `@Value` 使用` ...
- python3中的负数整除、求余问题
注:小白问题,大神们请忽略先看示例,非整除: >>> -10/3-3.3333333333333335>>> 10/-3-3.3333333333333335> ...
- @media移动PC端fontSize响应设置
@media only screen and (min-width: 320px) and (max-width: 359px) { html, body { font-size: 8.51px; } ...
- OO_Lab1总结博客
OO_Lab1 问题描述 模拟多线程实时电梯系统,新主楼ABCDE五个楼座各楼层均有电梯,乘客发起形如"从X座x层到Y座y层"的请求,电梯模拟上下行.开关门.乘客进出等行为,以满足 ...
- Using Semaphores in Delphi, Part 2: The Connection Pool
Abstract: Semaphores are used to coordinate multiple threads and processes. That semaphores provide ...
- python中创建列表、元组、字符串、字典
>>> a = ["aaa","bbb","ccc"] ## 列表,中括号,逗号 >>> type(a) ...
- Windows下Zookeeper安装使用
Windows下Zookeeper安装使用 ZooKeeper是一种分布式协调服务,用于管理大型主机. 在分布式环境中协调和管理服务是一个复杂的过程. ZooKeeper通过其简单的架构和API解决了 ...
- 搭建简单nfs共享
1.查看是否安装nfs,rpcbind包 rpm -q nfs-utils rpm -q rpcbind 2.安装包 服务端和客户端 yum -y install nfs-utils 3.修改配置 ...