动态规划_销售人员分配问题(matlab编程).doc

动态规划_销售人员分配问题(matlab编程).doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
动态规划_销售人员分配问题(matlab编程)

一、问题重述 某企业甲、乙、丙三个销售市场,其市场的利润与销售人员的分配有关,现有6个销售人员,分配到各市场所获利润如下表示,试问应如何分配销售人员才能使总利润最大? 市场甲乙丙 人数00001606575280851003105110120411514013551301601506150175180 二、问题分析 首先我们对设备的分配规定一个顺序,即先考虑分配给甲市场,其次乙市场,最后丙市场,但分配时必须保证企业的总收益最大。 将问题按分配过程分为三个阶段,根据动态规划逆序算法,可设: 1、阶段数k=1,2,3(即甲、乙、丙三个市场的编号分别为1,2,3); 2、状态变量xk表示分配给第k个市场至第3个市场的人员数(即第k阶段初尚未分配的人员数); 3、决策变量uk表示分配给第k市场的人员数; 4、状态转移方程:xk+1=xk-uk; 5、gk(uk)表示uk个销售人员分配到第k个市场所得的收益值,它由下表可查得; 6、fk(xk)表示将xk个销售人员分配到第k个市场所得到的最大收益值,因而可得出递推方程: fk(xk)= [ gk(uk)+ fk+1(xk-uk)],k=1,2,3 f4(x4)=0 三、问题求解 1)k=3时,市场丙的分配方案和总收益. 最大收益:f3(x3)=[g3(x3)] u30123456最优决策u3*最有总收益f3x30000107517520751002100307510012031204075100120135413550751001201351505150607510012013515018061802)k=2时,市场乙的分配方案和总收益. 最大收益:f2(x2)=[g2(u2)+ f3(x3)]= [g2(u2)+ f3(x2- u2)] u20123456最优决策u2*最有总收益f2x20000175650652100140851140312016516011011654135185185185140118551502002052102151604215618021522023024023517542403)k=1时,市场甲的分配方案和总收益. 最大收益:f1(x1)=[g1(u1)+ f2(x1- u1)]= max[g1(u1)+ f2(4- u1)] u10123456最优决策u2*最有总收益f2x1=62402752652702552702751275故最优方案是甲市场1人,乙市场4人,丙市场1人,总利润为275. 为此,我们可以用Matlab语言编程使问题能跟方便地得到解决,其算法设计如下图: 运用Matlab语言编程,程序如下: m=1; A=[0 60 80 105 115 130 150]; B=[0 65 85 110 140 160 175]; C=[0 75 100 120 135 150 180]; for i=1:7 for j=1:7 for k=1:7 if i+j+k==9 d(m)=A(i)+B(j)+C(k); E(m,1)=i; E(m,2)=j; E(m,3)=k; m=m+1; else continue; end end end end MAXNum=d(1); for l=1:size(d,2) if d(l)MAXNum MAXNum=d(l); p=l; else continue; end end for l=1:size(d,2) if d(l)==MAXNum E(l,:) else continue; end end MAXNum 按回车键后可得到以下结果: ans = 2

文档评论(0)

2017ll + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档