matlab课程设计

发布 2022-10-01 01:14:28 阅读 5483

大连海洋大学。

课程设计。题目利用改善法求解工件加工问题

专业自动化。

班级13级1班。

学生王继亮孙帅于松于润超

指导教师邵乾虔。

二〇一四年六月八日。

算法介绍。改善算法基于启发式策略的改进解策略,即从一个初始解开始,通过一系列的替换。分解和合并的过程来逐步修正,以提高解的可接受性。

在这个过程中,运用的是迭代改进的方法。每次迭代都从当前点出发,在当前点的邻域内选取一个新点,如果这个新点的评价值优于当前点,则它就变成当前点。否则就选取当前点邻域内的其他点来进行比较,直到没有改进的可能或者计算时间与成本变得不可忍受为止。

改善法又称为局部探索法,俗称爬山法。

改善法的核心环节在于当前点邻域的选择问题。一种极端的情形是随机的从可行解空间中选择一个潜在解,相当于完全随机探索,另一个极端的情形是将整个可行解空间作为当前点的邻域,相当于穷举搜索,解决现实问题应该避免上述两种极端情形。其折中情形就是在当前点的周围的某个合适大小的范围内进行搜索。

如果邻域的范围较小,那么就可以快速搜索该邻域,但也可能陷入局部最优,相反,如果邻域的范围较大,就不容易陷入局部最优,但探索的效率会受到影响。因此,邻域的定义就变得十分重要。有两种邻域探索策略,其一是最初改善策略,即对邻域内随机探索,一旦发现改善解,就将现行解进行更新。

其二是最大改善策略,即在对邻域内的所有解进行探索后,在选择最大的一个改善解,并用其对现行解。它是启发式算法的一种。

问题重述。如果这6种工件都要求先在车床上加工,然后再在钻床上加工(即工件在钻床加工之前必须先在车床上加工过),每种机器一次只能加工一种工件,这6种工件加工所需的时间如表1所示;

为该工厂安排工件加工的次序,使得完成这批工件加工任务所需的总时间最省。

问题分析。工件必须先经过车床加工,才能进行钻床的加工,所以只要求出工件车床的加工顺序就是整个加工顺序。

程序设计。functionexample

t=[2.8 4;3.2 1.3;1.2 1.8;4 2.2;2.7 3;0.9 4.5]';

n,m]=size(t);

txm=fmax=

tuv=fork=1:m-1

fori=1:n

tx(i,1)=sum(t(i,1:k));

tx(i,2)=sum(t(i,m+1-k:m));

endfmax,uv]=myjohnson(tx,t,n,m);

fmax=[fmax,fmax];

txm=[txm,tx];

tuv=[tuv,uv];

endtxm,fmax,tuv

optim_fmax=min(fmax)

ind=find(fmax==optim_fmax);

optim_seq=tuv(:,ind)

function [f,uv]=myjohnson(tx,t,n,m);

u=find(tx(:,1)<=tx(:,2));

v=find(tx(:,1)>tx(:,2));

u=tx(u,1);tv=tx(v,2);

stu,ind1]=sort(tu);

stv,ind2]=sort(tv,'descend');

uv=[u(ind1);v(ind2)];

st=t(uv,:)

c(1,:)cumsum(st(1,:)

c(2:n,1)=c(1,1)+cumsum(st(2:n,1));

fori=2:nfork=2:m

c(i,k)=max(c(i-1,k),c(i,k-1))+st(i,k);

endend

f=c(end);

结果分析。由上表可知,最优的工件排序为6-2-3-5-1-4,完成这批。

工件加工任务所需的最省总时间为171.8.

小组成员。王继亮:查资料,排版等。

孙帅:查资料。

于松:查资料。

于润超:查资料。

参考文献。1)靳志宏,计明军编著,物流实用优化技术。

2)唐恒永、赵传立,排序引论(第一版)[m],科学出版社。

MATLAB课程设计

1 求被控对象传递函数g s 的matlab描述。num 789 6312 11835 den 1 14 56 64 0 0 gs tf num,den transfer function 789 s 2 6312 s 11835 s 5 14 s 4 56 s 3 64 s 2 2 求被控对象脉冲...

MATLAB课程设计

课程设计。题目 matlab计算器。姓名 班级 学院 专业 完成时间。1总体设计。该计算器程序主要是matlab来制作,界面主要由四个静态文本框 21个运算按钮和两个动态文本框组成。实现的运算功能有四则运算 加 减 乘 除。而且添加了括号使人们使用时更加简单。这些计算功能主要调用了matlab的自定...

MATLAB课程设计

matlab课程设计。如图所示,为测量系统的示意图,它由两个能相互转动的连杆,角度编码器和滚轮等组成。o1为固定点,o2点为转动点,o3点为滚轮的中心,连杆的有效长度分别为l1和l2。任一位置时,连杆1相对于某基准位置的角度为 1,两连杆的相对角度为 2。其中对于 1,取垂直方向为基准线,在基准线左...