大连海事大学Matlab作业:MATLAB期末作业2.docxVIP

大连海事大学Matlab作业:MATLAB期末作业2.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MATLAB期末作业周苗苗学号:1 问题描述本文旨在建模解决配送中心选址问题,在备选点中选址建设配送中心,并确定其对顾客的配送网络。模型以配送中心总成本最低为目标函数,考虑配送中心的建设成本、上端厂家到配送中心的运输成本、及配送中心至下端顾客的配送成本。在目标函数下,模型对配送中心建设个数进行限制,要求建设投资不超过预算,并保证每个顾客都被配送中心覆盖。本文的模型具有两层决策变量,解的规模极大,上层解又会影响下层,属于一个NP难问题。文章基于Matlab遗传算法求解本文的模型,考虑了上下层决策变量间对应关系,编码对问题解进行智能搜索,合理设置参数寻找全局最满意解。2 数学模型1)目标函数:(2-1)2)约束条件:总建设投资不超过预算: (2-2)建设配送中心的个数约束: (2-3)保证每个顾客都有对应的配送中心给予服务: (2-4)3)符号说明:① 决策变量上层的决策变量:下层的决策变量:② 其他参数:配送中心j的平均货物储备量;:从厂家运输货物到配送中心j的单位成本;:从配送中心j到顾客i的单位配送成本;:顾客i的需求量;:在第j个地点建配送中心的固定成本;:配送中心建设预算;:计划建立配送中心的个数上限3 求解方法__遗传算法(GA)遗传算法是近年来兴起的解决NP难问题的优化算法,属于一种解的人工智能随机搜索方法,其模拟了生物种群进化规律,编码寻找问题的全局最满意解,遗传算法的基本流程及作用如下:1) 参数设置:除了准确输入案例数据,合理的参数设置对遗传算法搜索能力具有极大的影响,这些参数主要有种群规模、遗传代数、及交叉概率、变异概率;2) 解的初始化:在一定的逻辑限制下编写函数,随机生成初代种群,初代种群越优化对后期择优过程越有利。基于此,除设置种群规模和遗传代数,我们也需要重复运行程序,以使初代种群更优;3) 个体适应度评价:此阶段通常需要将二进制染色体解码,转换成真实值,再根据模型约束、目标函数编写适应度函数。适应度代表染色体对环境的适应情况,往往适应度越高,解越优异;4)选择进程:参考染色体适应度筛选优异个体,复制为子代染色体。在复制时本文采用轮盘选择法,其原理是:适应度跨度越大,在选择中优化解进入子代的概率越大,但同时也有一些劣质解保留下来。通常经过此种选择过程,可以获得更优化的解,但是重复此方法容易使得解进入局部最优,对此遗传算法中巧妙的交叉、变异进程有助于破除局部限制;5)交叉进程:代表生物繁衍进化过程,交叉出种群子代。在操作中存在多种交叉方式,通常需要考虑进化方向,自行编码交叉函数,这有助于解的尽快收敛。6)变异进程:代表生物进化中染色体的基因变异过程。在一定的变异概率下,随机出变异位,把二进制染色体中0-1互换,由此获得全新的染色体。此异化解有一定几率破除局部最优,在迭代中进化出更满意解。遗传算法基本流程图上述进程是种群中染色体的进化过程,迭代结束时可以获得更接近本代优化解的子代。经过特定的遗传代数后,可以在破除局部最满意解下,尽量靠近全局最满意解。本文应用Matlab语言对文章的模型进行遗传算法编码。4 本文编码思路为了降低遗传算法编码难度,Matlab软件对遗传算法命令进行了封装,开发出了遗传算法工具箱。该工具箱编码难度相对低,但同样的灵活性不足,针对不同的问题求解效果有限。为使种群向全局最满意解方向进化,作者自行编码算法子函数,本节文章会详细阐述作者的编码思路。主函数中设有案例数据、必要参数和主要命令,是Matlab的主要运行逻辑,此处本文先介绍其他子函数的编码思路,最后阐述主函数中遗传算法的进化思路。生成初代种群子函数:种群中染色体表达的是模型的决策解,算法后期迭代过程是在初代种群上进行的,所以编写与模型解相匹配的染色体串是本步的关键。编码[pop0,initpop]=init(popsize,chromlength,J,I)子函数,用于生成初代种群,本文的模型具有上下两层决策变量,所以子函数的输出为[pop0,initpop],其中pop0是配送中心选址方案,initpop是顾客配送方案。而子函数的输入变量来自于主函数,包括种群规模popsize、染色体长度chromlength、备选配送中心数量J、顾客数量I。pop0=round(rand(popsize,J))生成一组0-1序列,是配送中心的选址方案,序列汇总”1”表示备选点被选中建设配送中心。由于被选中的配送中心才能为顾客配送,为保证上下层决策变量匹配,作者如下编码:if pop0(I,j)==1;pop(I,((j-1)*I+1):(j-1)*I+I))=round(rand(1,I));end2)种群中个体适应度子函数:适应度是评价染色体优劣的指标,是接下来选择进程的基础,适应度高的染色体更有机会进入种群子代。本文的编码如下:i

您可能关注的文档

文档评论(0)

1243595614 + 关注
实名认证
文档贡献者

文档有任何问题,请私信留言,会第一时间解决。

版权声明书
用户编号:7043023136000000

1亿VIP精品文档

相关文档