下面来介绍一下在大型赛事或者大型庆典活动中的超市布局问题,利用模拟退火算法来在MATLAB中进行建模分析,具体如下:
1、在MATLAB主界面编辑器中写入下列代码:
%MYFSAPLP SOLVE THE PLP IN THE THIRD PROBLEM BY SA ALGORITHM.
%首先只考虑n为偶数的情况
%变量初始化
clc
clf
clear;
xmin = 0; xmax = 200; ymin = 0; ymax = 150;
r = 25; n =6;
fval_every=1; fval_best=fval_every; fval_pro=fval_every;
lamdao=1e30; fs_every=1;
t0=98; tf=3; a=0.98; t=t0; t_mid=50;
p=1;
dfo=0;
while(t>tf)
if p==1
%产生新解
for i=1:n./2
x(i.*2-1)=r+2*r*(i-1);
x(i*2)=r+2*r*(i-1);
y(2*i-1)=r;
y(2*i)=3*r;
end
for i=1:(n-1)
for j=(i+1):n
fs_every=fs_every.*sqrt((x(i)-x(j)).^2+(y(i)-y(j)).^2);
end
end
fs_every=fs_every.^(1./n);
fval_every=fs_every;
dfval=fval_pro-fval_every;
if dfv