【文件属性】:
文件名称:接受准则-ansysworkbench 工程实例详解
文件大小:4.07MB
文件格式:PDF
更新时间:2021-06-11 21:57:46
数学建模
wvu << )
1021111 ππππππππ LLLL ++− wvuwvu
(4)代价函数差
对于 2 变换法,路径差可表示为
)()(
1111 +−+−
+−+=Δ
vvuuvuvu
ddddf ππππππππ
(5)接受准则
⎩
⎨
⎧
≥ΔΔ−
<Δ
=
0)/exp(
0 1
fTf
f
P
如果 0<Δf ,则接受新的路径。否则,以概率 )/exp( TfΔ− 接受新的路径,即若
)/exp( TfΔ− 大于 0 到 1 之间的随机数则接受。
(6)降温
利用选定的降温系数α 进行降温即: TT α← ,得到新的温度,这里我们取
999.0=α 。
(7)结束条件
用选定的终止温度
3010−=e ,判断退火过程是否结束。若 eT < ,算法结束,输出
当前状态。
我们编写如下的 matlab 程序如下:
clc,clear
load sj.txt %加载敌方 100 个目标的数据,数据按照表格中的位置保存在纯文本
文件 sj.txt 中
x=sj(:,1:2:8);x=x(:);
y=sj(:,2:2:8);y=y(:);
sj=[x y];
d1=[70,40];
sj=[d1;sj;d1];
sj=sj*pi/180;
%距离矩阵 d
d=zeros(102);
for i=1:101
for j=i+1:102
temp=cos(sj(i,1)-sj(j,1))*cos(sj(i,2))*cos(sj(j,2))+sin(sj(i,2))*sin(sj(j,2));
d(i,j)=6370*acos(temp);
end
end
d=d+d';
S0=[];Sum=inf;
rand('state',sum(clock));
for j=1:1000
S=[1 1+randperm(100),102];
temp=0;