1.算法運(yùn)行效果圖預(yù)覽
(完整程序運(yùn)行后無(wú)水印)




2.算法運(yùn)行軟件版本
matlab2022a/matlab2024b
3.部分核心程序
(完整版代碼包含詳細(xì)中文注釋和操作步驟視頻)
for K=1:Iter??????
???[ki,ij]
???c_lb????? =max(x(x_cur)-delta,lb);?? %計(jì)算當(dāng)前鄰域上下界c_lb,c_ub
???c_ub????? =min(x(x_cur)+delta,ub);
???rand_num?=(c_ub-c_lb)*rand(1,1)+c_lb;%在當(dāng)前鄰域內(nèi)取一個(gè)隨機(jī)數(shù)
???x_randnum = round(rand_num);%定位隨機(jī)數(shù)所在的最近的X對(duì)應(yīng)的點(diǎn)
???Lusg1???? =func_obj(Vx_,Vy_,Vz_,c,NN,k,x_randnum);%建模,根據(jù)公式5-5建立
???Lusg2???? =func_obj(Vx_,Vy_,Vz_,c,NN,k,x_cur);%建模,根據(jù)公式5-5建立
???if Lusg2>Lusg1?????????? %若f(x)>f(x+1)則進(jìn)行下一步以概率p決定是否使用該點(diǎn)
???????p_rand=rand;
???????if p_rand
??????????x_cur=x_randnum;
???????end
???end
???best(K)=Lusg2;
end
dat(ij)=toc;
end
runtime(ki)=mean(dat);
end
figure;
plot(kk,runtime,'-bs',...
???'LineWidth',1,...
???'MarkerSize',6,...
???'MarkerEdgeColor','k',...
???'MarkerFaceColor',[0.9,0.0,0.0]);
% 設(shè)置 x 軸的標(biāo)簽為衛(wèi)星網(wǎng)關(guān)數(shù)量
xlabel('衛(wèi)星網(wǎng)關(guān)數(shù)量');
% 設(shè)置 y 軸的標(biāo)簽為運(yùn)行時(shí)間(s)
ylabel('運(yùn)行時(shí)間(s)');
grid on
save R1.mat kk runtime
4.算法理論概述
??????移動(dòng)自組織網(wǎng)(MANET)由一組移動(dòng)節(jié)點(diǎn)通過(guò)無(wú)線(xiàn)鏈路連接而成,網(wǎng)絡(luò)中節(jié)點(diǎn)動(dòng)態(tài)變化,且通常需要通過(guò)網(wǎng)關(guān)與外部網(wǎng)絡(luò)通信。最優(yōu)網(wǎng)關(guān)選擇旨在從網(wǎng)絡(luò)中的候選網(wǎng)關(guān)節(jié)點(diǎn)集合中,找出能使網(wǎng)絡(luò)性能最優(yōu)的網(wǎng)關(guān)節(jié)點(diǎn)或網(wǎng)關(guān)組合,優(yōu)化目標(biāo)可能包括最小化傳輸延遲、最大化吞吐量、均衡網(wǎng)絡(luò)負(fù)載等。假設(shè)網(wǎng)絡(luò)中有? 個(gè)候選網(wǎng)關(guān)節(jié)點(diǎn), 個(gè)普通節(jié)點(diǎn),網(wǎng)關(guān)選擇問(wèn)題就是在不同網(wǎng)關(guān)選擇方案下,評(píng)估網(wǎng)絡(luò)性能指標(biāo)并找出最優(yōu)方案。
??????枚舉法是一種簡(jiǎn)單直接的算法,它通過(guò)窮舉所有可能的網(wǎng)關(guān)選擇方案,計(jì)算每個(gè)方案下的網(wǎng)絡(luò)性能指標(biāo),然后比較得出最優(yōu)方案。

???????模擬退火法(SA)是一種基于物理退火過(guò)程的隨機(jī)搜索算法,用于解決組合優(yōu)化問(wèn)題。它能在一定程度上避免陷入局部最優(yōu)解,通過(guò)控制溫度參數(shù)逐漸降低搜索的隨機(jī)性,逼近全局最優(yōu)解。
