• 大小: 223KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-18
  • 语言: Matlab
  • 标签: MATLAB  TSP  数学建模  

资源简介

MATLAB下,用遗传算法解决旅行商问题(TSP)、多旅行商问题(MTSP)及其变体(共计39种情况)的代码,具体说明详见README

资源截图

代码片段和文件信息

%FIGSTATUS Creates a status bar in a figure to show loop progress
%
% Description: Displays loop progress as a status bar in a figure window
%
% Inputs:
%     i       - (numeric) current loop index
%     n       - (numeric) total number of loop iterations
%     hStatus - (optional) handle to status object
%     hFig    - (optional) handle to figure
%
% Outputs:
%     hStatus     - handle to status object
%     isCancelled - scalar logical indicating user has clicked “cancel“ button
%
% Usage:
%     [hStatusisCancelled] = figstatus(in);
%       -or-
%     hStatus = figstatus(in);
%       -or-
%     figstatus(inhStatus);
%       -or-
%     figstatus(inhStatushFig);
%
% Example:
%     n = 1e3;
%     hStatus = figstatus(0n);
%     for i = 1:n
%         % Computations go here ...
%         figstatus(inhStatus);
%     end
%
% Example:
%     n = 1e7;
%     hStatus = figstatus(0n);
%     for i = 1:n
%         % Computations go here ...
%         if ~mod(iceil(n/100))
%             figstatus(inhStatus);
%         end
%     end
%
% Example:
%     n = 1e7;
%     figstatus(0n);
%     for i = 1:n
%         % Computations go here ...
%         if ~mod(iceil(n/100))
%             figstatus(in);
%         end
%     end
%
% Example:
%     % Create a button to quit early if desired
%     n = 1e3;
%     [hStatusisCancelled] = figstatus(0n);
%     for i = 1:n
%         % Computations go here ...
%         [hStatusisCancelled] = figstatus(in);
%         if isCancelled
%             % Normal use in a function would be to break out of the loop but
%             %   if this example is run in the Command Window just throw error
%             % break
%             error(‘??? User killed processing‘);
%         end
%     end
%
% See also: progress uipanel uicontrol patch
%
function varargout = figstatus(inhStatushFig)
    
    
    %
    % Check for between 2 and 4 inputs
    %
    narginchk(24);
    
    
    %
    % Set persistent quit trigger
    %
    persistent IS_CANCELLED;
    
    
    %
    % Initialize cancel button trigger
    %
    if isempty(IS_CANCELLED)
        IS_CANCELLED = false;
    end
    
    
    %
    % Send quit signal if triggered
    %
    if IS_CANCELLED
        IS_CANCELLED = false;
        varargout = {[]true};
        return
    end
    
    
    %
    % Check for status handle
    %
    if (nargin < 3) || isempty(hStatus) || ~ishandle(hStatus)
        
        %
        % Get current figure if not provided
        %
        if (nargin < 4) || isempty(hFig) || ~ishandle(hFig)
            hFig = gcf;
        end
        
        %
        % Look for handle to status
        %
        hStatus = findobj(hFig‘Tag‘‘_figstatus_‘);
        if isempty(hStatus) && (i ~= n)
            
            %
            % Create status panel and bar
            %
            figColor = get(hFig‘Color‘);
            hStatusPanel = uipanel(hFig ...
                ‘Units‘           ‘normalized‘ ...
                ‘Position‘

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2020-06-12 20:48  rubikscubeguy-matlab-tsp-ga-035d9b7\
     文件         117  2020-06-12 20:48  rubikscubeguy-matlab-tsp-ga-035d9b7\.gitattributes
     文件         281  2020-06-12 20:48  rubikscubeguy-matlab-tsp-ga-035d9b7\.gitignore
     文件       50982  2020-06-12 20:48  rubikscubeguy-matlab-tsp-ga-035d9b7\GA-Mutation-Descriptions.pdf
     文件        1068  2020-06-12 20:48  rubikscubeguy-matlab-tsp-ga-035d9b7\LICENSE
     文件        6619  2020-06-12 20:48  rubikscubeguy-matlab-tsp-ga-035d9b7\README.md
     文件        5438  2020-06-12 20:48  rubikscubeguy-matlab-tsp-ga-035d9b7\figstatus.m
     文件        1425  2020-06-12 20:48  rubikscubeguy-matlab-tsp-ga-035d9b7\get_config.m
     文件       18061  2020-06-12 20:48  rubikscubeguy-matlab-tsp-ga-035d9b7\mtsp_ga.m
     文件       18190  2020-06-12 20:48  rubikscubeguy-matlab-tsp-ga-035d9b7\mtsp_ga_combo.m
     文件       18125  2020-06-12 20:48  rubikscubeguy-matlab-tsp-ga-035d9b7\mtsp_ga_max.m
     文件       17547  2020-06-12 20:48  rubikscubeguy-matlab-tsp-ga-035d9b7\mtsp_ga_minmax.m
     文件       18173  2020-06-12 20:48  rubikscubeguy-matlab-tsp-ga-035d9b7\mtsp_ga_minsum.m
     文件       18082  2020-06-12 20:48  rubikscubeguy-matlab-tsp-ga-035d9b7\mtsp_ga_turbo.m
     文件       15393  2020-06-12 20:48  rubikscubeguy-matlab-tsp-ga-035d9b7\mtsp_rs.m
     文件       18976  2020-06-12 20:48  rubikscubeguy-matlab-tsp-ga-035d9b7\mtspf_ga.m
     文件       19226  2020-06-12 20:48  rubikscubeguy-matlab-tsp-ga-035d9b7\mtspf_ga_bases.m
     文件       18249  2020-06-12 20:48  rubikscubeguy-matlab-tsp-ga-035d9b7\mtspf_ga_minmax.m
     文件       18177  2020-06-12 20:48  rubikscubeguy-matlab-tsp-ga-035d9b7\mtspo_ga.m
     文件       19394  2020-06-12 20:48  rubikscubeguy-matlab-tsp-ga-035d9b7\mtspof_ga.m
     文件       20008  2020-06-12 20:48  rubikscubeguy-matlab-tsp-ga-035d9b7\mtspof_ga_bases.m
     文件       18642  2020-06-12 20:48  rubikscubeguy-matlab-tsp-ga-035d9b7\mtspofs_ga.m
     文件       18991  2020-06-12 20:48  rubikscubeguy-matlab-tsp-ga-035d9b7\mtspofs_ga_bases.m
     文件       22215  2020-06-12 20:48  rubikscubeguy-matlab-tsp-ga-035d9b7\mtspofs_ga_depots.m
     文件       17775  2020-06-12 20:48  rubikscubeguy-matlab-tsp-ga-035d9b7\mtspv_ga.m
     文件       17717  2020-06-12 20:48  rubikscubeguy-matlab-tsp-ga-035d9b7\mtspvf_ga.m
     文件       17018  2020-06-12 20:48  rubikscubeguy-matlab-tsp-ga-035d9b7\mtspvo_ga.m
     文件       18135  2020-06-12 20:48  rubikscubeguy-matlab-tsp-ga-035d9b7\mtspvof_ga.m
     文件       17684  2020-06-12 20:48  rubikscubeguy-matlab-tsp-ga-035d9b7\mtspvofs_ga.m
     文件         245  2020-06-12 20:48  rubikscubeguy-matlab-tsp-ga-035d9b7\seed_tsp.m
     文件         257  2020-06-12 20:48  rubikscubeguy-matlab-tsp-ga-035d9b7\seed_tsp_turbo.m
............此处省略14个文件信息

评论

共有 条评论