clc
clear all
opt_minmax=1; %目标优化类型:1最大化、-1最小化
sub=-10; %变量取值下限
up=10; %变量取值上限
delt=(up-sub)/5;
yita=0.99;
trace=[]; %模拟退火迭代性能跟踪器
k_total=3000; %迭代总次数
[tx,ty]=meshgrid(sub:.1:up);
tz=fun_mutv(tx,ty);
T=max(max(tz))-min(min(tz)); %模拟温度初始化
mesh(tx,ty,tz)
xlabel('x')
ylabel('y')
zlabel('z')
title('多元函数优化结果')
hold on
x0=[sub+(up-sub)*rand,sub+(up-sub)*rand];
f0=fun_mutv(x0(1),x0(2)); %随机产生初始点
k=0;
plot3(x0(1),x0(2),f0,'ko','linewidth',2) %在函数图像上标出初始点位置
while k
opt_minmax*f0 %迭代点优于当前点,接受迭代结果并设置为当前点
x0=x1;
f0=f1;
elseif rand