基于Matlab的混合泳队接力赛选拔方案优化探究.docx

基于Matlab的混合泳队接力赛选拔方案优化探究.docx

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
? ? 基于Matlab的混合泳队接力赛选拔方案优化探究 ? ? 李丽容 (武汉学院信息工程学院,湖北 武汉 430212) 0 引言 文献[1]中例题:混合泳队接力赛选拔方案采用Lingo软件求解,下面笔者采用Matlab优化工具箱中的intlinprog函数求解,并将其同Lingo软件求解结果进行比较,分析这两种目前学生最常用的软件求解方案各自的特点及实用性,便于学生在求解过程中进行合适的选择。 题目:某泳队要从5个人中选4人参加4100米混合泳接力赛,5名候选人百米成绩见表1: 表1 5名候选人的百米成绩 请根据以上表格给出的数据,建立数学模型,解决下面问题: (1)怎样选拔组成4100米混合泳接力队? (2)甲的仰泳成绩进步到1054,丁的蛙泳成绩退步到1152,戊的自由泳成绩进步到545,组成接力队的方案需要调整吗?应该怎样调整? 1 问题分析及模型的建立 1.1 问题分析 该问题是比较常见的0-1型整数规划问题,在日常生活安排和企业生产管理工作中,常常要给人分派工作或给机器指派任务等,我们一般把这类问题也叫指派问题。它是最优化问题的一种,它的问题模型是给个人(人泛指可以执行任务的一切物体)指派完成项任务,并通过每个人完成每件任务的工作效率来研究如何分配任务资源,使完成任务所消耗的总资源最少或总利润最大。因决策变量只有0和1两种取值,在问题讨论时,通常把某个人是否执行某项任务取值为1和0,从而建立一般指派问题的0-1规划模型。 1.2 模型的建立 2 用Matlab优化工具箱中函数求解整数规划模型 Matlab作为一款非常强大的科学计算软件,在能够自己编写程序的同时,也可以利用其工具箱中已有的函数进行求解,比如Matlab优化工具箱中提供了各种优化问题的求解函数,线性规划linprog函数,二次规划quadprog函数等等。 但对于整数规划,并不能简单地把已得的非整数解舍入化整就可以了,因为化整后的数不一定是可行解和最优解,应该用特殊的方法来求解整数规划,因此就有很多学者探寻出各种不同的方法,以前Matlab是不能直接求解这类规划的,bintprog函数只可以用来求0-1整数规划,求解过程比较麻烦,而且bintprog在2014b中就取消了,官方建议用intlinprog代替,intlinprog是2014a引入的函数,是一个比较新的、专用于求解各类整数线性规划包括0-1整数规划,也可用于求解混合整数线性规划问题。其标准模型为: 绿色建筑工程造价成本的预估是在项目建设前期进行招投标环节进行的,主要是预测在项目建成所需要花费的费用,这是建筑项目能够保质保量顺利建成的重要参考标准。绿色建筑工程的造价成本需要考虑一定的精确性,与此同时,还需要兼顾成本造价的速度。对于招投标环节来说,造价成本的预估速度和精确度直接影响了投标单位能否顺利中标。工程造价估算成本的重要意义体现在以下几个方面: 该函数的使用仅仅是在linprog函数的基础上多加了一个参数──intcon,用来约束整数变量的位置,和线性规划函数linprog函数的使用很相似。例如: 改写模型成标准形式如下: 于是,调用Matlab优化工具箱中intlinprog函数,其代码可写为: Matlab优化工具箱中的优化函数都要求目标函数值最小,如果优化问题要求目标函数值最大,可使该目标函数的负值最小化来达到目的;缺省的条件用[]来替代。 下面调用Matlab优化工具箱中intlinprog函数求解文献[1]中混合泳接力选拔问题: 为了计算方便,先将所有队员各种泳姿的百米成绩进行换算,以秒为单位,有下面表2: 表2 cij(秒)队员i第j种泳姿的百米成绩 为了将模型改写成标准形式,将20个0-1决策变量按表2中从上至下,从左至右顺序改成于是用intlinprog函数求解混合泳接力选拔的,须先将模型改写成标准形式: 由于维数比较大,这里采用kron函数将矩阵A写成:A=kron(eye(5),ones(1,4)),b是由5个1构成的列向量。 于是,混合泳接力选拔模型的代码可写为: 从结果可以看到x4,x5,x10,x15=1,即被选。 表3 5名候选人被选中的4人及相应泳姿 3 模型结果分析及比较 比较Matlab优化工具箱中intlinprog函数相较Matlab2014a版之前的bintprog函数只能求解0-1整数规划类问题,它实用性更广,它可以求解一般整数规划问题,还可以解决0-1整数规划问题,只要在求解整数规划的基础上加上一个对变量最大值约束为1就行了;还可以求解混合整数规划类问题,只需用参数intcon说明整数约束变量的位置即可。另外,该函数有非常固定的标准模型,学生只需要将一般模型转化成标准模型,然后编写成代码即可求解,且结果还比较可靠,计算的精度也很高,

文档评论(0)

智慧IT + 关注
实名认证
内容提供者

微软售前技术专家持证人

生命在于奋斗,技术在于分享!

领域认证该用户于2023年09月10日上传了微软售前技术专家

1亿VIP精品文档

相关文档