资源描述
售书问题优化模型
摘要
本题主要研究销售代理点的建设对供书人数之间的关系。
优化问题是工程技术、经济管理和科学研究等领域常见的一类问题,在解决极值问题中起着重要作用。0-1规划也是常见的数学工具,能够合理的表示事物的有效性。本文所研究的是具有实际意义的问题。随着现代信息的发展,大学生可以通过各种方法获得我们所需的知识,实物图书(如:杂志,报纸等)一直受到广大学生的青睐,而随着电子信息技术的高速发展,电子图书也逐渐在学生占有重要的位置。本文针对书籍销售这一实际问题作出了详细的分析,通过借助数学工具构造合理的模型,以解决代理销售售书的相关问题。
针对该问题,由于我们一般销售书籍所考虑的首要问题是如何使其供书的人数达到最大,但这样要求的问题也是在建立一定的条件下成立的,而假设“选择两地之间是否有销售关系”为他们的决策变量,这样就更容易理解问题和解决问题。这是基于0-1型整数规划的问题,因此我们可通过建立线性规划模型,并应用MATLAB软件和LINGO软件得到最优解,但由于每个区域大学生人数不同,所以选择在哪个区域设置代理销售点成了问题的关键,正是因为这种情况,使得最优解就有多种选择方法,并且也使得我们的选择具有灵活性。通过分析MATLAB软件和LINGO软件数据我们可以得到,在2和5之间建立代售关系即在2或5建立代售点并向2或5售书,4和7之间建立代售关系即在4或7建立代售点并向4或7售书,可以使得所销售大学生人数达到最大,为177(千人)。我们可以根据现实生活中地区人数的多少确定代理销售点怎样建立更好,易知代售点应建立在人数较多的地区,可节省实际费用,所以应将代售点建立在5和7处更好。
但该模型只适用于仅考虑人数最大的地址的选择,其最大的特色在于将实际问题中地区之间相邻关系用数学模型直观表现出来,并根据MATLAB软件和LINGO软件分析得出在问题中能使实际效率最大化的最优选择方法,具有较强的普遍性和实用性。
关键词:Lingo MATLAB 0-1规划 代理销售
一、问题重述
1.1问题的提出:
一家出版社准备在某市建立两个销售代理点,向7个区的大学生售书,每个区的大学生数量(单位:千人)已经表示在图1上。假设每个销售代理点只能向本区和一个相邻区的大学生售书,本文所解决的问题是:
(1)这两个销售代理点应该建在何处,才能使所能供应的大学生的数量最大?
二、问题分析
该问题实际就是找到一个使得问题所要求的人数最多的方案,以此得到最优解,因而我们考虑优化模型。该题目是以文字和图形的形式表达了需要解决的问题,通过分析我们可以知道,该问题是每个地区选与不选的问题,所以我们选择基于0-1整数规划的方法,所以通过建立合理的数学模型解决该问题。在该问题中,有两个主要条件:
(1) 只能建立两个销售代理点。
(2) 每个销售代理店只能向本区和相邻区销售书籍。
在该条件下,我们将每个相邻地区之间的连线表示代售关系,这种代售关系有选和不选两种选择,显然我们只选其中一个,所以我们将人数作为权值构建相应的线性关系,通过MATLAB软件和Lingo软件解决,以得到最优结果。
三、模型假设
将大学生数量为34、29、42、21、56、18、71的区分别标号为1、2、3、4、5、6、7区,并画出区域之间的相邻关系:
1
2
5
3
4
7
6
我们可以用和记第i个区和第j个区的大学生人数,为了方便引入随机变量:
而且当=1时,有,且相邻。
四、变量及符号说明
第i个地区的人数
第j个地区的人数
第i个区和第j个区的大学生是否由同一个代售点供应图书
五、 模型建立与求解:
5.1模型建立:
5.1.1决策变量:假设决策变量为(i,j=0,1,2,…7);
5.1.2目标函数:我们以问题的要求以两个销售代理点所能提供的大学生的数量的总和为最大目标:建立Max=(+)。我们可以得到:
5.1.3约束条件分析:
A.只能建立两个销售代理点:
B. 与1建立代售关系只能有一个:
C.与2建立代售关系只能有一个
D.与3建立代售关系只能有一个
E.与4建立代售关系只能有一个
F.与5建立代售关系只能有一个
G.与6建立代售关系只能有一个
H. 与7建立代售关系只能有一个
由此我们也可以分析得出其约束条件:
5.2模型的求解
5.2.1 Lingo解得最后结果如下:
Global optimal solution found.
Objective value: 177.0000
Objective bound: 177.0000
Infeasibilities: 0.000000
Extended solver steps: 0
Total solver iterations: 0
Variable Value Reduced Cost
X12 0.000000 -63.00000
X13 0.000000 -76.00000
X23 0.000000 -71.00000
X24 0.000000 -50.00000
X25 1.000000 -85.00000
X34 0.000000 -63.00000
X45 0.000000 -77.00000
X46 0.000000 -39.00000
X56 0.000000 -74.00000
X67 0.000000 -89.00000
X47 1.000000 -92.00000
Row Slack or Surplus Dual Price
1 177.0000 1.000000
2 0.000000 0.000000
3 1.000000 0.000000
4 0.000000 0.000000
5 1.000000 0.000000
6 0.000000 0.000000
7 0.000000 0.000000
8 1.000000 0.000000
9 0.000000 0.000000
5.2.2 MRATLAB解得结果如下:
X=[0 0 0 0 1 0 0 0 0 0 1]
max = 177;
通过数据我们可以分析知,在2和5之间建立代售关系即在2或5建立代售点并向2或5售书,4和7之间建立代售关系即在4或7建立代售点并向4或7售书,使大学生人数最大,为177千人。由于现实中地区人数的问题,代售点应建立在人数较多的地区,节省实际费用,还是应将代售点建立在5和7处。
六、模型的评价与推广
6.1 模型的评价:
通过查看该区的图可以粗略知道我们应该选择人数最大的地区为代售点,在题中所提出的假设的前提下,选择人数最大的地区为代售点,覆盖了大部分人口,此模型的建立,很好的应用数学知识将选择销售代理点的问题抽象化,使我们的选择不再主观、盲目、而是更全面的,更深入条理的选择了最少的变量思考了该问题,简化了模型建立的分析。
这也是模型最大的弊端,使数据的真实受到了很大的限制且对实际应用很不利。虽然假设的变量比较多,但人们可以较容易理解。
6.2 模型推广:
题中提出的太多假设,有些脱离实际;若要更加真实地应用到实际问题中,我们应该考虑现实生活中的销售点所面临的一些情况,例如:运输路程、交通便利程度、学生在校期间的对书的消费情况,以及不同人群之间的消费了解等情况。这样考虑的话,我们所得出的结果更加对实际生活中的应用有利。
参考文献
【1】.Winston W L.Operations Research.印刷版.北京:清华大学出版社,2004.
附录:
源程序:
1、Lingo程序
max=63*x12+76*x13+71*x23+50*x24+85*x25+63*x34+77*x45+39*x46+74*x56+89*x67+92*x47;
x12+x13+x23+x24+x25+x34+x45+x46+x56+x67+x47=2;
x12+x13<=1;
x12+x23+x24+x25<=1;
x13+x23+x34<=1;
x24+x34+x46+x47+x45<=1;
x25+x45+x56<=1;
x46+x56+x67<=1;
x47+x67<=1;
@gin(x12);
@gin(x13);
@gin(x23);
@gin(x24);
@gin(x25);
@gin(x34);
@gin(x45);
@gin(x46);
@gin(x56);
@gin(x67);
@gin(x47);
2、MATLAB程序:
clc
clear
f=[63,76,71,50,85,63,77,39,74,89,92];
A=[ 1,1,0,0,0,0,0,0,0,0,0;...
1,0,1,1,1,0,0,0,0,0,0;...
0,1,1,0,0,1,0,0,0,0,0;...
0,0,0,1,0,1,1,1,0,0,1;...
0,0,0,0,1,0,1,0,1,0,0;...
0,0,0,0,0,0,0,1,1,1,0;...
0,0,0,0,0,0,0,0,0,1,1];
b=[1,1,1,1,1,1,1]';
Aeq=[1,1,1,1,1,1,1,1,1,1,1];
Beq=2;
x=bintprog(-f,A,b,Aeq,Beq)
max=f*x
展开阅读全文