关于“选择图书销售代理点”的整数线性规划问题
摘要
一.问题重述
随着人们生活水平的不断提高和人们对生活质量的需求,阅读已经日益成为人们生活中一个常见的终身习惯。而大学生是购买课外读物的人群中占比最多,也是各大书店的主要购买人群。
针对下面的一种具体情况:
**(1)**两个销售代理点选择地址的情况,每个大学生区域的人数不同,每个销售代理点只能向本区和一个相邻的区域的大学生售书。
本文完成以下任务1:
对问题进行研究,使两个销售代理点向所供应的大学生数量最大。
二.问题分析
任务要求我们使两个销售代理点的资源分配效率达到最大,建立使供应的大学生数量最大的整数线性规划模型并求出模型相应的求解算法,得到最优解。
三.模型假设
1.我们假设大学生在题目规划的区域中是平均分散的并且不会跨区域流动。
2.每个销售代理点不能向不相邻的区域的大学生售书
3.学生对模型的购买力相同
四.符号说明
符号 | 含义 |
---|---|
r i r_i ri | 第i区学生人数 |
r j r_j rj | 第j区学生人数 |
x i j x_{ij} xij | i区服务点(含服务j区) |
五.模型的建立与求解
∑ i , j x i j = 2 ∑ j = 1 7 x i j + ∑ i = 1 7 x i j ≤ 1 \sum_{i,j}x_{ij}=2\\\sum_{j=1}^{7}x_{ij}+\sum_{i=1}^{7}x_{ij}\leq1 i,j∑xij=2j=1∑7xij+i=1∑7xij≤1
总的销售代理点不超过2个,而只有当销售代理点为两个时售书数量才会最大,由此得以上公式
六.模型分析与检验
m a x : 63 x 12 + 76 x 13 + 71 x 23 + 50 x 24 + 85 x 25 + 63 x 34 + 77 x 45 + 39 x 46 + 92 x 47 + 74 x 36 + 89 x 67 max:63x_{12}+76x_{13}+71x_{23}+50x_{24}+85x_{25}+63x_{34}+77x_{45}+39x_{46}+92x_{47}+74x_{36}+89x_{67} max:63x12+76x13+71x23+50x24+85x25+63x34+77x45+39x46+92x47+74x36+89x67
x 12 + x 13 ≤ 1 x 23 + x 24 + x 25 + x 12 ≤ 1 x 45 + x 46 + x 47 + x 24 + x 34 ≤ 1 x 13 + x 23 + x 34 ≤ 1 x 25 + x 45 + x 56 ≤ 1 x 46 + x 56 + x 67 ≤ 1 x 47 + x 67 ≤ 1 x 12 + x 13 + x 23 + x 24 + x 25 + x 34 + x 45 + x 46 + x 47 + x 36 + x 67 = 2 x_{12}+x_{13}\leq1\\x_{23}+x_{24}+x_{25}+x_{12}\leq1\\x_{45}+x_{46}+x_{47}+x_{24}+x_{34}\leq1\\x_{13}+x_{23}+x_{34}\leq1\\x_{25}+x_{45}+x_{56}\leq1\\x_{46}+x_{56}+x_{67}\leq1\\x_{47}+x_{67}\leq1\\x_{12}+x_{13}+x_{23}+x_{24}+x_{25}+x_{34}+x_{45}+x_{46}+x_{47}+x_{36}+x_{67}=2 x12+x13≤1x23+x24+x25+x12≤1x45+x46+x47+x24+x34≤1x13+x23+x34≤1x25+x45+x56≤1x46+x56+x67≤1x47+x67≤1x12+x13+x23+x24+x25+x34+x45+x46+x47+x36+x67=2
七.模型的评价与推广
通过本文的分析可以清楚的理解到如何建立图书销售代理点,使得所供应的大学生人数最多,面向的人群达到最大化,可以合理分配资源.但由于本文是建立在小范围的图书销售人群,不适合用于大型的书店的运营.
八.参考文献
九.附录
c=[63 76 71 50 85 63 77 39 92 74 89]
A=[1 1 0 0 0 0 0 0 0 0 0;1 0 1 1 1 0 0 0 0 0 0;0 0 0 1 0 1 1 1 1 0 0;0 1 1 0 0 1 0 0 0 0 0;0 0 0 0 1 0 1 0 0 1 0;0 0 0 0 0 0 0 1 0 1 1;0 0 0 0 0 0 0 0 1 0 1;]
b=[1;1;1;1;1;1;1]
aeq=[1 1 1 1 1 1 1 1 1 1 1]
beq=[2]
vlb=zeros(11,1)
vub=[1,1,1,1,1,1,1,1,1,1,1][x,fval]=linprog(c,A,b,aeq,beq,vlb,vub)