1、学号+姓名3河南工程学院软件综合运用课程设计题目:智能优化算法姓 名: 王朋成 学 号: 2 学 院: 理学院 专业班级: 数学与应用数学1441班 专业课程: 软件综合运用设计 指导教师: 刘凯 2017年9月8日本组组长xxx本组成员xxxxxx题目xxxxxxxxxxxx本人分工xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx考核项目考核内容得分平时考核(30分)出勤情况、态度、效率、协作精神;知识掌握情况、基本操作技能、知识应用能力、获取知识能力课题1(25分)完成此实验中算法程序的正确编写并得到运行结果课题2(25分)完成此实验中算法程序的正确编写
2、并得到运行结果文档资料(20分)表达能力、文档写作能力和文档的规范性总评成绩 实验1.最小化加权总完工时间和问题的计算1.1.设计目的通过课程设计,熟练掌握最小化加权完工时间和问题的算法思想、程序设计及结果输出。对MATLAB、JAVA等编程语言与编程环境进行复习和强化,最后进行最优排序和目标函数的输出。本次设计本质上就是寻求一个组合最优化问题的最优解。并通过本次的课程设计熟练掌握WSPT算法的基本思想,以此解决实际问题。1.2.问题介绍问题描述:本次试验所计算问题为,该问题即为:有个工件,工件的加工时间为,权重为,工件在机器上的完工时间为。本问题即确定工件集在机器上的加工顺序或加工位置,使得
3、目标函数达到最小。问题背景:考虑排序问题1|,其中n=5P=(12,4,7,11,6),w=(4,2,5,5,6)由wspt规则,可得最优排序为,加权总完工时间为=4351.3.最优算法排列 c= (c ( 1) ,c ( 2) , ,c (n) ) 是问题 1 wjCj 的最优排列的充分必要条件是 WSPT规则成立 ,即成立 ( 1)/ ( 1) ( 2)/ ( 2) (n) / (n) .1.4.算法原理 排序问题是一类重要的组合优化问题,现在已经成为运筹学研究的一个非常活跃的分支。单机排序问题的一个重要目标函数式加权评论流时间。由于极小化加权平均流时间等价于极小化加权完工总时间,因此下面
4、仅以加权总完工时间为目标函数讨论问题。首先讨论问题 1其中是任务的完工时间,是赋予任务的权,它表示的重要程度。对于该问题,应用加权最短加工时间有限规则可以得到最优排序。按照这一规则,任务按非增的顺序进行排序。对于相等的特殊情况,加权最短加工时间优先规则化为加工时间优先规则。 1.5.程序代码function wsptt(P,W,n) %此函数可得出WSPT规则的排序和加权总完工时间for i=1:n T(i)=P(i)/W(i); I(i)=i;endi=nwhile i=2 %使用起泡法对上记数组排序 flag=0; %此变量作为进行元素交换的标志,当无元素交换时,排序结束 j=2 whil
5、e jT(j) temp=T(j); T(j)=T(j-1); T(j-1)=temp; tempi=I(j); I(j)=I(j-1); I(j-1)=tempi; flag=1; %元素交换,令flag为1 end j=j+1; end if flag=0 break end i=i-1;endtotal=0; %此处开始计算加权总完工时间C(1)=P(I(1);for i=2:n C(i)=C(i-1)+P(I(i);endfor i=1:n total=total+W(I(i)*C(i);endITTotal1.6.运行结果图1-1图1-2实验2:最小化最大延误时间问题的计算2.1.设
6、计目的通过课程设计,熟练掌握最小化最大延误问题的算法思想、程序设计及结果输出。对MATLAB、JAVA等编程语言与编程环境进行复习和强化,最后进行最优排序和目标函数的输出。本次设计本质上就是寻求一个组合最优化问题的最优解。并通过本次的课程设计熟练掌握EDD算法的基本思想,以此解决实际问题。2.2.问题介绍问题描述:本次实验所计算的问题为,该问题即为:有个工件,工件的加工时间为,工期为,在机器上的完工时间为。工件的误工时间为,最大误工时间为。本问题即确定在机器上的加工顺序或加工位置,使得达到最小。考虑排序问题1|,其中n=6p(3,1,4,1,3,2),d=(2,10,6,4,11,12)由ED
7、D规则可以求得最优排序为,最大延误为2.3.最优算法edd算法,是earlest due date rule的中文简称.其实,就是派对策略的一种.排队策略有两种,一种是先到先服务(first come first service,FCFS),二是优先级队头服务(head of line, HOL).前者可以充分体现公平性,即谁先到达,谁就先接受服务;后者是考虑前者并不一定会达到总体最优,采取的策略,属于绝对优先策略.简言之,就是谁的交货期最接近(或者说最短),谁就先接受服务.2.4.算法原理任务没有准备时间的最大延误的排序问题1|比较简单,只需将任务按最早工期优先(简记EDD),就可以得到最优
8、排序。按照这一规则的排序,均可转化为满足EDD规则的排序而目标函数不增。2.5.程序代码function edd(p,d,n)for i=1:n T(i)=d(i); I(i)=i;endi=nwhile i=2 %使用起泡法对上记数组排序 flag=0; %此变量作为进行元素交换的标志,当无元素交换时,排序结束 j=2 while jT(j) temp=T(j); T(j)=T(j-1); T(j-1)=temp; tempi=I(j); I(j)=I(j-1); I(j-1)=tempi; flag=1; %元素交换,令flag为1 end j=j+1; end if flag=0 bre
9、ak end i=i-1;endte(1)=p(I(1); %此处开始求Lfor i=2:n te(i)=te(i-1)+p(I(i);endfor i=1:n L(i)=te(i)-T(i);endLmax=L(1); %此处开始通过比较得出Lmaxfor i=2:n if L(i)Lmax Lmax=L(i); endendITLmax2.6.运行结果图2-1图2-2图2-3心得体会经过了近一周的上机实训课程,我对软件综合运用设计这门课程有了进一步的了解。此次实训最大的收获不是我学习到了多少知识而是这几天实训给我的感悟:首先是心态,必须要有一个用心的心态,独立解决问题的意识,培养扎实基础的认识。透过这次的实训,我了解到,要真真正正的掌握计算机程序还不是一件简单容易的事儿,但真正掌握后,它带给我们的将是无穷的便捷与科技。我认为,在这次的实训中,不仅仅培养了独立思考、动手操作的潜力,在各种其它潜力上也都有了提高。我们两人一组,合理分工,提高了我们的团结合作的能力。更重要的是,在实验课上,我们学会了很多学习的方法。而这是日后最实用的,真的是受益匪浅。要应对社会的挑战,只有不断的学习、实践,再学习、再实践。这对于我们的将来也有很大的帮忙。最后,感谢学校为我们提供这次学习以及动手实践的机会,同时感谢老师对我们的大力支持和帮助,在今后的学习中,我一定会更加吃苦耐劳,继续努力。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1