91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

matlab如何模擬退火算法

發布時間:2022-01-14 10:17:06 來源:億速云 閱讀:195 作者:iii 欄目:大數據

這篇文章主要介紹“matlab如何模擬退火算法”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“matlab如何模擬退火算法”文章能幫助大家解決問題。

matlab如何模擬退火算法  
clc;
clear;
close all;
%%
T0=1000;   % 初始溫度
Tend=1e-3;  % 終止溫度
L=500;    % 各溫度下的迭代次數(鏈長)
q=0.9;    %降溫速率

   
%% 加載數據
load CityPosition1;
%%
D=Distanse(X);  %計算距離矩陣
N=size(D,1);    %城市的個數
%% 初始解
S1=randperm(N);  %隨機產生一個初始路線

   
%% 畫出隨機解的路徑圖
DrawPath(S1,X)
matlab如何模擬退火算法  
pause(0.0001)
%% 輸出隨機解的路徑和總距離
disp('初始種群中的一個隨機值:')
OutputPath(S1);
Rlength=PathLength(D,S1);
disp(['總距離:',num2str(Rlength)]);

   
%% 計算迭代的次數Time
Time=ceil(double(solve(['1000*(0.9)^x=',num2str(Tend)])));
count=0;        %迭代計數
Obj=zeros(Time,1);         %目標值矩陣初始化
track=zeros(Time,N);       %每代的最優路線矩陣初始化
%% 迭代
while T0>Tend
    count=count+1;     %更新迭代次數
    temp=zeros(L,N+1);
    for k=1:L
        %% 產生新解
        S2=NewAnswer(S1);
        %% Metropolis法則判斷是否接受新解
        [S1,R]=Metropolis(S1,S2,D,T0);  %Metropolis 抽樣算法
        temp(k,:)=[S1 R];          %記錄下一路線的及其路程
    end
    %% 記錄每次迭代過程的最優路線
    [d0,index]=min(temp(:,end)); %找出當前溫度下最優路線
    if count==1 || d0<Obj(count-1)
        Obj(count)=d0;           %如果當前溫度下最優路程小于上一路程則記錄當前路程
    else
        Obj(count)=Obj(count-1);%如果當前溫度下最優路程大于上一路程則記錄上一路程
    end
    track(count,:)=temp(index,1:end-1);  %記錄當前溫度的最優路線
    T0=q*T0;     %降溫
    fprintf(1,'%d\n',count)  %輸出當前迭代次數
end
%% 優化過程迭代圖
figure
plot(1:count,Obj)
xlabel('迭代次數')
ylabel('距離')
title('優化過程')
matlab如何模擬退火算法  
%% 最優解的路徑圖      
   
DrawPath(track(end,:),X)
matlab如何模擬退火算法  
%% 輸出最優解的路線和總距離      
   
disp('最優解:')
S=track(end,:);
p=OutputPath(S);
disp(['總距離:',num2str(PathLength(D,S))]);
disp('-------------------------------------------------------------')

關于“matlab如何模擬退火算法”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

墨玉县| 永福县| 青铜峡市| 焦作市| 新平| 平陆县| 健康| 正宁县| 遂平县| 澄迈县| 湄潭县| 郓城县| 金坛市| 长武县| 南乐县| 阿克| 吉安市| 丰台区| 昭通市| 岢岚县| 博罗县| 府谷县| 吐鲁番市| 都昌县| 郸城县| 西华县| 平凉市| 木里| 商南县| 读书| 东辽县| 枣强县| 三都| 会东县| 峡江县| 澄迈县| 康马县| 阳朔县| 柘荣县| 长泰县| 三原县|