ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

【TSP问题】基于蚁群算法求解TSP问题matlab源码含GUI界面

2022-01-22 18:31:57  阅读:188  来源: 互联网

标签:set 蚁群 see get handles hObject 源码 eventdata TSP


1 模型简介见这里

2 部分代码

​
​
function PhoromCoe_Callback(hObject, eventdata, handles)
% hObject    handle to PhoromCoe (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
​
% Hints: get(hObject,'String') returns contents of PhoromCoe as text
%        str2double(get(hObject,'String')) returns contents of PhoromCoe as a double
​
​
% --- Executes during object creation, after setting all properties.
function PhoromCoe_CreateFcn(hObject, eventdata, handles)
% hObject    handle to PhoromCoe (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    empty - handles not created until after all CreateFcns called
​
% Hint: edit controls usually have a white background on Windows.
%       See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
    set(hObject,'BackgroundColor','white');
end
​
​
​
function PhoromEvap_Callback(hObject, eventdata, handles)
% hObject    handle to PhoromEvap (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
​
% Hints: get(hObject,'String') returns contents of PhoromEvap as text
%        str2double(get(hObject,'String')) returns contents of PhoromEvap as a double
​
​
% --- Executes during object creation, after setting all properties.
function PhoromEvap_CreateFcn(hObject, eventdata, handles)
% hObject    handle to PhoromEvap (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    empty - handles not created until after all CreateFcns called
​
% Hint: edit controls usually have a white background on Windows.
%       See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
    set(hObject,'BackgroundColor','white');
end
​
​
​
function Q_Callback(hObject, eventdata, handles)
% hObject    handle to Q (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
​
% Hints: get(hObject,'String') returns contents of Q as text
%        str2double(get(hObject,'String')) returns contents of Q as a double
​
​
% --- Executes during object creation, after setting all properties.
function Q_CreateFcn(hObject, eventdata, handles)
% hObject    handle to Q (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    empty - handles not created until after all CreateFcns called
​
% Hint: edit controls usually have a white background on Windows.
%       See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
    set(hObject,'BackgroundColor','white');
end
​
​
​
function edit8_Callback(hObject, eventdata, handles)
% hObject    handle to edit8 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
​
% Hints: get(hObject,'String') returns contents of edit8 as text
%        str2double(get(hObject,'String')) returns contents of edit8 as a double
​
​
% --- Executes during object creation, after setting all properties.
function edit8_CreateFcn(hObject, eventdata, handles)
% hObject    handle to edit8 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    empty - handles not created until after all CreateFcns called
​
% Hint: edit controls usually have a white background on Windows.
%       See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
    set(hObject,'BackgroundColor','white');
end
​
%-------------------------------------------------------------------------%
function endgeneration_Callback(hObject, eventdata, handles)
% hObject    handle to endgeneration (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
​
% Hints: get(hObject,'String') returns contents of endgeneration as text
%        str2double(get(hObject,'String')) returns contents of endgeneration as a double
​
​
% --- Executes during object creation, after setting all properties.
function endgeneration_CreateFcn(hObject, eventdata, handles)
% hObject    handle to endgeneration (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    empty - handles not created until after all CreateFcns called
​
% Hint: edit controls usually have a white background on Windows.
%       See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
    set(hObject,'BackgroundColor','white');
end
​
% --- Executes on button press in RefreshCitiesBtn.
function RefreshCitiesBtn_Callback(hObject, eventdata, handles)
% hObject    handle to RefreshCitiesBtn (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
global AntsCod
global bContinue
global Change
bContinue = 0;
CityNum = str2num(get(handles.CityNumber,'String'));
AntsCod =round(100*rand(CityNum,2));
    cla(handles.CityMap);
    cla(handles.EffectFigure);
    plot(AntsCod(:,1),AntsCod(:,2),'mo','LineWidth',1.5,'MarkerEdgeColor','r','MarkerFaceColor','b','Parent',handles.CityMap);
    set(handles.AntNum,'Enable','on')
    set(handles.MaxIteration,'Enable','on')
    set(handles.PhoromCoe,'Enable','on')
    set(handles.Beta,'Enable','on')
    set(handles.PhoromEvap,'Enable','on')
    set(handles.Q,'Enable','on')
​
% --- Executes on button press in LoopBeginBtn.
function LoopBeginBtn_Callback(hObject, eventdata, handles)
% hObject    handle to LoopBeginBtn (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
global AntsCod
global bContinue
global Change
EditEnable = 'on';
if bContinue ~=  1
    bContinue = 1;
    EditEnable = 'off';
else
    set(handles.LoopBeginBtn,'Enable','off')
    bContinue = 0;
    return;
end
set(handles.AntNum,'Enable',EditEnable)
set(handles.MaxIteration,'Enable',EditEnable)
set(handles.PhoromCoe,'Enable',EditEnable)
set(handles.Beta,'Enable',EditEnable)
set(handles.PhoromEvap,'Enable',EditEnable)
set(handles.Q,'Enable',EditEnable)
set(handles.RefreshCitiesBtn,'Enable',EditEnable)
if bContinue == 1
    Change
    CityNum = str2num(get(handles.CityNumber,'String'));
    AntsNum =  str2num(get(handles.AntNum,'String'));
    AntsColonyNum =str2num(get(handles.MaxIteration,'String'));
    PheromCoe = str2num(get(handles.PhoromCoe,'String'));
    DistCoe =  str2num(get(handles.Beta,'String'));
    PhoremEvapCoe =str2num(get(handles.PhoromEvap,'String'));
    PheromAddCoe =str2num(get(handles.Q,'String'));
    set(handles.LoopBeginBtn,'String','停止');
   if Change==1 %刘
    ACATSP(AntsCod,AntsColonyNum,AntsNum,DistCoe,PheromCoe,PhoremEvapCoe,PheromAddCoe,handles); 
   else %陈
    ACATSP2(AntsCod,AntsColonyNum,AntsNum,DistCoe,PheromCoe,PhoremEvapCoe,PheromAddCoe,handles); 
   end
    EditEnable = 'on';
    bContinue = 0;
    set(handles.AntNum,'Enable',EditEnable)
    set(handles.MaxIteration,'Enable',EditEnable)
    set(handles.PhoromCoe,'Enable',EditEnable)
    set(handles.Beta,'Enable',EditEnable)
    set(handles.PhoromEvap,'Enable',EditEnable)
    set(handles.Q,'Enable',EditEnable)
    set(handles.RefreshCitiesBtn,'Enable',EditEnable)
    set(handles.LoopBeginBtn,'String','开始')
    set(handles.LoopBeginBtn,'Enable','on')
end
​
​
function CurrentAntsColony_Callback(hObject, eventdata, handles)
% hObject    handle to CurrentAntsColony (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
​
% Hints: get(hObject,'String') returns contents of CurrentAntsColony as text
%        str2double(get(hObject,'String')) returns contents of CurrentAntsColony as a double
​
​
% --- Executes during object creation, after setting all properties.
function CurrentAntsColony_CreateFcn(hObject, eventdata, handles)
% hObject    handle to CurrentAntsColony (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    empty - handles not created until after all CreateFcns called
​
% Hint: edit controls usually have a white background on Windows.
%       See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
    set(hObject,'BackgroundColor','white');
end
​
​
​
function CurrentMinDistance_Callback(hObject, eventdata, handles)
% hObject    handle to CurrentMinDistance (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
​
% Hints: get(hObject,'String') returns contents of CurrentMinDistance as text
%        str2double(get(hObject,'String')) returns contents of CurrentMinDistance as a double
​
​
% --- Executes during object creation, after setting all properties.
function CurrentMinDistance_CreateFcn(hObject, eventdata, handles)
% hObject    handle to CurrentMinDistance (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    empty - handles not created until after all CreateFcns called
​
% Hint: edit controls usually have a white background on Windows.
%       See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
    set(hObject,'BackgroundColor','white');
end
​
​
​
function TotalTime_Callback(hObject, eventdata, handles)
% hObject    handle to TotalTime (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
​
% Hints: get(hObject,'String') returns contents of TotalTime as text
%        str2double(get(hObject,'String')) returns contents of TotalTime as a double
​
​
% --- Executes during object creation, after setting all properties.
function TotalTime_CreateFcn(hObject, eventdata, handles)
% hObject    handle to TotalTime (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    empty - handles not created until after all CreateFcns called
​
% Hint: edit controls usually have a white background on Windows.
%       See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
    set(hObject,'BackgroundColor','white');
end
​
​
​
function edit12_Callback(hObject, eventdata, handles)
% hObject    handle to edit12 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
​
% Hints: get(hObject,'String') returns contents of edit12 as text
%        str2double(get(hObject,'String')) returns contents of edit12 as a double
​
​
% --- Executes during object creation, after setting all properties.
function edit12_CreateFcn(hObject, eventdata, handles)
% hObject    handle to edit12 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    empty - handles not created until after all CreateFcns called
​
% Hint: edit controls usually have a white background on Windows.
%       See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
    set(hObject,'BackgroundColor','white');
end
​
​
​
function AverageTime_Callback(hObject, eventdata, handles)
% hObject    handle to AverageTime (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
​
% Hints: get(hObject,'String') returns contents of AverageTime as text
%        str2double(get(hObject,'String')) returns contents of AverageTime as a double
​
​
% --- Executes during object creation, after setting all properties.
function AverageTime_CreateFcn(hObject, eventdata, handles)
% hObject    handle to AverageTime (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    empty - handles not created until after all CreateFcns called
​
% Hint: edit controls usually have a white background on Windows.
%       See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
    set(hObject,'BackgroundColor','white');
end
​
​
​
%%
​

3 仿真结果

4 参考文献

[1]吴华锋, 陈信强, 毛奇凰,等. 基于自然选择策略的蚁群算法求解TSP问题[J]. 通信学报, 2013, 000(004):165-170.

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。

标签:set,蚁群,see,get,handles,hObject,源码,eventdata,TSP
来源: https://blog.csdn.net/qq_59747472/article/details/120480006

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有