学号+姓名3.docx

上传人:b****0 文档编号:18204028 上传时间:2023-08-13 格式:DOCX 页数:13 大小:52.21KB
下载 相关 举报
学号+姓名3.docx_第1页
第1页 / 共13页
学号+姓名3.docx_第2页
第2页 / 共13页
学号+姓名3.docx_第3页
第3页 / 共13页
学号+姓名3.docx_第4页
第4页 / 共13页
学号+姓名3.docx_第5页
第5页 / 共13页
学号+姓名3.docx_第6页
第6页 / 共13页
学号+姓名3.docx_第7页
第7页 / 共13页
学号+姓名3.docx_第8页
第8页 / 共13页
学号+姓名3.docx_第9页
第9页 / 共13页
学号+姓名3.docx_第10页
第10页 / 共13页
学号+姓名3.docx_第11页
第11页 / 共13页
学号+姓名3.docx_第12页
第12页 / 共13页
学号+姓名3.docx_第13页
第13页 / 共13页
亲,该文档总共13页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

学号+姓名3.docx

《学号+姓名3.docx》由会员分享,可在线阅读,更多相关《学号+姓名3.docx(13页珍藏版)》请在冰点文库上搜索。

学号+姓名3.docx

学号+姓名3

学号+姓名-(3)

河南工程学院《软件综合运用》课程设计

 

题目:

智能优化算法

 

姓名:

王朋成

学号:

201411003116

学院:

理学院

专业班级:

数学与应用数学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

 

心得体会

经过了近一周的上机实训课程,我对软件综合运用设计这门课程有了进一步的了解。

此次实训最大的收获不是我学习到了多少知识而是这几天实训给我的感悟:

首先是心态,必须要有一个用心的心态,独立解决问题的意识,培养扎实基础的认识。

透过这次的实训,我了解到,要真真正正的掌握计算机程序还不是一件简单容易的事儿,但真正掌握后,它带给我们的将是无穷的便捷与科技。

我认为,在这次的实训中,不仅仅培养了独立思考、动手操作的潜力,在各种其它潜力上也都有了提高。

我们两人一组,合理分工,提高了我们的团结合作的能力。

更重要的是,在实验课上,我们学会了很多学习的方法。

而这是日后最实用的,真的是受益匪浅。

要应对社会的挑战,只有不断的学习、实践,再学习、再实践。

这对于我们的将来也有很大的帮忙。

最后,感谢学校为我们提供这次学习以及动手实践的机会,同时感谢老师对我们的大力支持和帮助,在今后的学习中,我一定会更加吃苦耐劳,继续努力。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2