学号+姓名3.docx
- 文档编号:11015062
- 上传时间:2023-02-24
- 格式:DOCX
- 页数:13
- 大小:52.89KB
学号+姓名3.docx
《学号+姓名3.docx》由会员分享,可在线阅读,更多相关《学号+姓名3.docx(13页珍藏版)》请在冰豆网上搜索。
学号+姓名3
河南工程学院《软件综合运用》课程设计
题目:
智能优化算法
姓名:
王朋成
学号:
2
学院:
理学院
专业班级:
数学与应用数学1441班
专业课程:
软件综合运用设计
指导教师:
刘凯
2017年9月8日
本组组长
xxx
本组成员
xxx
xxx
题目
xxxxxxxxxxxx
本人分工
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
考核项目
考核内容
得分
平时考核(30分)
出勤情况、态度、效率、协作精神;知识掌握情况、基本操作技能、知识应用能力、获取知识能力
课题1(25分)
完成此实验中算法程序的正确编写并得到运行结果
课题2(25分)
完成此实验中算法程序的正确编写并得到运行结果
文档资料(20分)
表达能力、文档写作能力和文档的规范性
总评成绩
实验1.最小化加权总完工时间和问题的计算
1.1.设计目的
通过课程设计,熟练掌握最小化加权完工时间和问题的算法思想、程序设计及结果输出。
对MATLAB、JAVA等编程语言与编程环境进行复习和强化,最后进行最优排序和目标函数的输出。
本次设计本质上就是寻求一个组合最优化问题的最优解。
并通过本次的课程设计熟练掌握WSPT算法的基本思想,以此解决实际问题。
1.2.问题介绍
问题描述:
本次试验所计算问题为
,该问题即为:
有
个工件
,工件
的加工时间为
,权重为
,工件
在机器上的完工时间为
。
本问题即确定工件集
在机器上的加工顺序或加工位置,使得目标函数
达到最小。
问题背景:
考虑排序问题1||∑,其中n=5
P=(12,4,7,11,6),w=(4,2,5,5,6)
由wspt规则,可得最优排序为[],加权总完工时间为∑=435
1.3.最优算法
排列c=(c
(1),c
(2),…,c(n))是问题1∑wjCj的最优排列的充分必要条件是WSPT规则成立,即成立
(1)/
(1)≤
(2)/
(2)≤…≤(n)/(n).
1.4.算法原理
排序问题是一类重要的组合优化问题,现在已经成为运筹学研究的一个非常活跃的分支。
单机排序问题的一个重要目标函数式加权评论流时间。
由于极小化加权平均流时间等价于极小化加权完工总时间,因此下面仅以加权总完工时间为目标函数讨论问题。
首先讨论问题
1
其中
是任务
的完工时间,
是赋予任务
的权,它表示
的重要程度。
对于该问题,应用加权最短加工时间有限规则可以得到最优排序。
按照这一规则,任务按
非增的顺序进行排序。
对于
相等的特殊情况,加权最短加工时间优先规则化为加工时间优先规则。
1.5.程序代码
functionwsptt(P,W,n)%此函数可得出WSPT规则的排序和加权总完工时间
fori=1:
n
T(i)=P(i)/W(i);
I(i)=i;
end
i=n
whilei>=2%使用起泡法对上记数组排序
flag=0;%此变量作为进行元素交换的标志,当无元素交换时,排序结束
j=2
whilej<=i
ifT(j-1)>T(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
ifflag==0break
end
i=i-1;
end
total=0;%此处开始计算加权总完工时间
C
(1)=P(I
(1));
fori=2:
n
C(i)=C(i-1)+P(I(i));
end
fori=1:
n
total=total+W(I(i))*C(i);
end
I
T
Total
1.6.运行结果
图1-1
图1-2
实验2:
最小化最大延误时间问题的计算
2.1.设计目的
通过课程设计,熟练掌握最小化最大延误问题的算法思想、程序设计及结果输出。
对MATLAB、JAVA等编程语言与编程环境进行复习和强化,最后进行最优排序和目标函数的输出。
本次设计本质上就是寻求一个组合最优化问题的最优解。
并通过本次的课程设计熟练掌握EDD算法的基本思想,以此解决实际问题。
2.2.问题介绍
问题描述:
本次实验所计算的问题为
,该问题即为:
有
个工件
,工件
的加工时间为
,工期为
,在机器上的完工时间为
。
工件
的误工时间为
,最大误工时间为
。
本问题即确定
在机器上的加工顺序或加工位置,使得
达到最小。
考虑排序问题1||,其中n=6
p(3,1,4,1,3,2),d=(2,10,6,4,11,12)
由EDD规则可以求得最优排序为[],最大延误为
2.3.最优算法
edd算法,是earlestduedaterule的中文简称.其实,就是派对策略的一种.
排队策略有两种,一种是先到先服务(firstcomefirstservice,FCFS),二是优先级队头服务(headofline,HOL).前者可以充分体现公平性,即谁先到达,谁就先接受服务;后者是考虑前者并不一定会达到总体最优,采取的策略,属于绝对优先策略.
简言之,就是谁的交货期最接近(或者说最短),谁就先接受服务.
2.4.算法原理
任务没有准备时间的最大延误的排序问题1||
比较简单,只需将任务按最早工期优先(简记EDD),就可以得到最优排序。
按照这一规则的排序,均可转化为满足EDD规则的排序而目标函数不增。
2.5.程序代码
functionedd(p,d,n)
fori=1:
n
T(i)=d(i);
I(i)=i;
end
i=n
whilei>=2%使用起泡法对上记数组排序
flag=0;%此变量作为进行元素交换的标志,当无元素交换时,排序结束
j=2
whilej<=i
ifT(j-1)>T(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
ifflag==0break
end
i=i-1;
end
te
(1)=p(I
(1));%此处开始求L
fori=2:
n
te(i)=te(i-1)+p(I(i));
end
fori=1:
n
L(i)=te(i)-T(i);
end
Lmax=L
(1);%此处开始通过比较得出Lmax
fori=2:
n
ifL(i)>Lmax
Lmax=L(i);
end
end
I
T
Lmax
2.6.运行结果
图2-1
图2-2
图2-3
心得体会
经过了近一周的上机实训课程,我对软件综合运用设计这门课程有了进一步的了解。
此次实训最大的收获不是我学习到了多少知识而是这几天实训给我的感悟:
首先是心态,必须要有一个用心的心态,独立解决问题的意识,培养扎实基础的认识。
透过这次的实训,我了解到,要真真正正的掌握计算机程序还不是一件简单容易的事儿,但真正掌握后,它带给我们的将是无穷的便捷与科技。
我认为,在这次的实训中,不仅仅培养了独立思考、动手操作的潜力,在各种其它潜力上也都有了提高。
我们两人一组,合理分工,提高了我们的团结合作的能力。
更重要的是,在实验课上,我们学会了很多学习的方法。
而这是日后最实用的,真的是受益匪浅。
要应对社会的挑战,只有不断的学习、实践,再学习、再实践。
这对于我们的将来也有很大的帮忙。
最后,感谢学校为我们提供这次学习以及动手实践的机会,同时感谢老师对我们的大力支持和帮助,在今后的学习中,我一定会更加吃苦耐劳,继续努力。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学号 姓名