亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? minisumloc.m

?? 物流分析工具包。Facility location: Continuous minisum facility location, alternate location-allocation (ALA)
?? M
字號:
function [X,TC,XFlg,X0] = minisumloc(P,W,p,V,X0,varargin)
%MINISUMLOC Continuous minisum facility location.
% [X,TC,XFlg,X0] = minisumloc(P,W,p,V,X0,opt)
%     Determines locations X that minimizes TC = SUMCOST(X,P,W,p,V).
%     Uses best solution from gradient-based and Nelder-Mead searches.
%     P = m x d matrix of m d-dimensional points
%     W = n x m matrix of X-P weights
%     p = distance parameter for DISTS in SUMCOST
%     V = n x n matrix of X-X weights for multifacility problem
%         (all elements of V used)
%       = [] (default), solve n single-facility problems
%    X0 = n x d matrix of starting points
%       = RANDX(P,n) (default)
%   opt = options structure, with fields:
%       .SearchTech = search techniques to use 
%                   = 1 => only FMINUNC (gradient-based search)
%                   = 2 => only FMINSEARCH (Nelder-Mead direct search)
%                   = 3 => best of both (default)
%       .MajorityChk = check for majority single-facility solution
%                      (i.e., X = P(FIND(W >= SUM(W)),:))
%                    = 1, do check (default)
%                    = 0, do not check
%       .e = epsilon parameter for DISTS passed through SUMCOST
%          = 1e-4 (default)
%       .IterPlot = plot each X evaluated by SUMCOST
%                   (use 'delete(findobj('Tag','iterplot'))' to erase)
%                 = h, handle of axes for plotting
%                 = [] (defualt), no plotting
%       .NormLonLat = normalize lon-lat (i.e., X = NORMLONLAT(X))
%                   = 1, normalize (default)
%                   = 0, do not normalize
%       .Uopt = option structure for FMINUNC, with MINISUMLOC defaults:
%             .Display = 'off',.GradObj = 'on',.LargeScale = 'off',
%             .LineSearchType = 'cubicpoly'
%       .Sopt = option structure for FMINSEARCH, with MINISUMLOC defaults:
%             .Display = 'off',.TolFun = 1e-6,.TolX = 1e-6
%       = 'Field1',value1,'Field2',value2, ..., where multiple input
%         arguments or single cell array can be used instead of the full
%         options structure to change only selected fields
%   opt = MINISUMLOC('defaults'), to get defaults values for option struct.
%  XFlg = 3 => majority solution found
%       = 2 => best solution found using FMINSEARCH
%       = 1 => best solution found using FMINUNC
%       = 0 => maximum number of iterations reached, if best solution found
%              using FMINSEARCH; or maximum number of function evaluations
%              reached, if best solution found using FMINUNC
%       = -1 => did not converge to a solution, if only FMINUNC used
%       = -2 => all 0 row in W matrix (returns X(i,:) = X0(i,:); TC(i) = 0)
%
% Examples: 
% P = [1 1;2 0;2 3], w = [4 3 5]        % Single-facility location
% [X,TC,XFlg,X0] = minisumloc(P,w,2)    %  X = 1.2790    1.1717
%
% W = [4 3 5;2 3 0], V = [0 1;0 0],     % Multifacility location
% [X,TC,XFlg,X0] = minisumloc(P,W,2,V)  %  X = 1.3197    1.1093
%                                       %      2.0000    0.0000
%
% V = [],                               % Two single-facility locations
% [X,TC,XFlg,X0] = minisumloc(P,W,2)    %  X = 1.2790    1.1717
%                                       %      2.0000         0

% Copyright (c) 1994-2006 by Michael G. Kay
% Matlog Version 9 13-Jan-2006 (http://www.ie.ncsu.edu/kay/matlog)

% Input Error Checking ****************************************************
if nargin == 6 && isstruct(varargin{:})	   % Use opt only to check fields
   opt = struct('SearchTech',[],'MajorityChk',[],'e',[],'IterPlot',[],...
      'NormLonLat',[],'Uopt',[],'Sopt',[]);
else													 % Set defaults for opt structure
   opt = struct('SearchTech',3,...
      'MajorityChk',1,...
      'e',1e-4,...
      'IterPlot',[],...
      'NormLonLat',1,...
      'Uopt',[],...
      'Sopt',optimset(fminsearch('defaults'),...
      	'Display','off',...
      	'TolFun',1e-6,...
      	'TolX',1e-6));
   if exist('fminunc','file') == 2
      opt.Uopt = optimset(fminunc('defaults'),...
         'Display','off',...
         'GradObj','on',...
         'LargeScale','off',...
         'LineSearchType','cubicpoly');
   end
   if nargin == 1 && strcmpi('defaults',P), X = opt; return, end
   error(nargchk(3,Inf,nargin))
end

if nargin < 4, V = []; end
if nargin < 5, X0 = []; end

if nargin > 5
   opt = optstructchk(opt,varargin);
   if ischar(opt), error(opt), end
end

m = size(P,1);
[n,cW] = size(W);
if isempty(X0), X0 = randX(P,n); end

if m ~= cW
   error('Number of rows in P must equal number of columns in W.')
elseif ~isempty(V) && n == 1
   error('V matrix must be empty since "n" == 1.')
elseif size(X0,1) ~= n
   error('Number of rows in X0 and W must be the same.')
elseif length(opt.SearchTech(:)) ~= 1 || ~any(opt.SearchTech == [1 2 3])
   error('Invalid "opt.SearchTech" specified.')
elseif opt.SearchTech ~= 2 && exist('fminunc','file') ~= 2
   if opt.SearchTech == 1
      error('M-file FMINUNC from OPTIM Toolbox (Ver. 2.0) not found.')
   else
      opt.SearchTech = 2;
   end
elseif length(opt.MajorityChk(:)) ~= 1 || ~any(opt.MajorityChk == [0 1])
   error('Invalid "opt.MajorityChk" specified.')
elseif ~isempty(opt.IterPlot) && ~strcmp(get(opt.IterPlot,'type'),'axes')
      error('Invalid handle "opt.IterPlot" (not axes object).')
elseif length(opt.NormLonLat(:)) ~= 1 || ~any(opt.NormLonLat == [0 1])
   error('Invalid "opt.NormLonLat" specified.')
elseif length(opt.e) ~= 1 || ~isreal(opt.e) || opt.e < 0
   error('"opt.e" must be a positive scalar')
elseif ~isempty(opt.Uopt) && ~isstruct(opt.Uopt)
   error('"opt.Uopt" must be a structure from FMINUNC("defaults").')
elseif ~isempty(opt.Sopt) && ~isstruct(opt.Sopt)
   error('"opt.Sopt" must be a structure from FMINSEARCH("defaults").')
end

% Use DISTS to error check X0, P, and p
try dists(X0,P,p); catch error(lasterror), end

% End (Input Error Checking) **********************************************

if isempty(V) && n > 1	% Multiple single-facility problems
   X = zeros(size(X0)); TC = zeros(n,1); XFlg = zeros(n,1);
   for i = 1:n
      a = find(W(i,:)>0);
      [X(i,:),TC(i),XFlg(i)] = ...
         minisumlocrun(P(a,:),W(i,a),p,[],X0(i,:),opt);
   end
else                    % One single- or multifacility problem
   [X,TC,XFlg] = minisumlocrun(P,W,p,V,X0,opt);
end



% *************************************************************************
% *************************************************************************
% *************************************************************************
function [X,TC,XFlg] = minisumlocrun(P,W,p,V,X0,opt)
%MINISUMLOCRUN One Single- or Multifacility Run

% Check for Majority Solution (only for single-facility problems)
if opt.MajorityChk == 1 && isempty(V)
   i = find(W >= sum(W)/2);
   if ~isempty(i) && length(i) == 1	% Unique i only if all W(j) >= 0
      X = P(i,:);
      TC = sumcost(X,P,W,p);
      XFlg = 3;
      return
   end
end

% Check for All 0 Row in W (only for single-facility problems)
if isempty(V) && (isempty(W) || all(W == 0))
   X = X0; TC = 0; XFlg = -2;
   return
end

% Plot Initial IterPlot
if ~isempty(opt.IterPlot)
   pplot(X0,'o','Color',[.5 0 .5],'Tag','iterplot')
   pauseplot
end

% FMINUNC (Gradient-based search)
if opt.SearchTech ~= 2  
   if ischar(p) || isinf(p)		% Gradient not provided by SUMCOST
      opt.Uopt.GradObj = 'off';
      opt.Uopt.LargeScale = 'off';
      opt.Uopt.LineSearchType = 'quadcubic';
   end
   [XU,TCU,XFU] = ...
      fminunc('sumcost',X0,opt.Uopt,P,W,p,V,opt.e,opt.IterPlot);
   TCS = Inf;
end

% FMINSEARCH (Nelder-Mead direct search)
if opt.SearchTech ~= 1
   if opt.SearchTech == 3
      XS0 = XU;
   else
      XS0 = X0;
      TCU = Inf;
   end
   [XS,TCS,XFS] = ...
      fminsearch('sumcost',XS0,opt.Sopt,P,W,p,V,0,opt.IterPlot);
end

% Output min TC
if TCS >= TCU || opt.SearchTech == 1
   X = XU;
   TC = TCU;
   XFlg = XFU;
else
   X = XS;
   TC = TCS;
   XFlg = XFS;
   if XFS > 0, XFlg = 2; end
end

% Normalize lon-lat pairs
if opt.NormLonLat == 1 && ischar(p)
   X = normlonlat(X);
end

% Plot Final IterPlot
if ~isempty(opt.IterPlot)
   pplot(X,'x','Color',[.5 0 .5],'Tag','iterplot')
end


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
激情综合色综合久久| 亚洲日本在线天堂| 久久国产人妖系列| 精品国产91亚洲一区二区三区婷婷| 久久成人免费日本黄色| 欧美精品一区二区三| 床上的激情91.| 一区二区三区国产精品| 91精品久久久久久蜜臀| 久色婷婷小香蕉久久| 中文字幕 久热精品 视频在线| 99精品久久久久久| 性欧美大战久久久久久久久| 欧美大片国产精品| 成人午夜大片免费观看| 一区二区三区美女视频| 欧美一级免费观看| 国产精品亚洲视频| 亚洲一区二区三区精品在线| 91精品福利在线一区二区三区 | 欧美aaa在线| 国产区在线观看成人精品| 成人网在线播放| 亚洲国产欧美在线| 精品久久久久久久久久久久久久久久久| 国产精品一区2区| 亚洲精品视频观看| 精品国产自在久精品国产| 99久久久久久| 九九热在线视频观看这里只有精品| 中文av一区二区| 在线播放中文一区| 国产成人精品亚洲777人妖| 亚洲一区二区高清| 国产婷婷色一区二区三区四区| 色婷婷综合久久久久中文一区二区| 免费观看久久久4p| 亚洲一区二区在线免费看| 欧美大片一区二区三区| 欧美中文字幕不卡| 国产成人免费在线视频| 青椒成人免费视频| 亚洲午夜久久久久| 国产精品免费丝袜| 精品久久五月天| 欧美精品日韩一区| 91片黄在线观看| 国产成人亚洲综合色影视| 天堂在线一区二区| 亚洲欧美日韩一区二区三区在线观看 | 精品久久一区二区| 欧美日韩中文字幕精品| 成人av午夜影院| 精品中文字幕一区二区 | 日本一区中文字幕| 亚洲日本在线观看| 中文字幕乱码一区二区免费| 精品免费国产二区三区| 欧美高清视频一二三区 | 在线影院国内精品| 99久久精品久久久久久清纯| 国产精品一区在线| 久久国产福利国产秒拍| 视频在线观看国产精品| 亚洲午夜久久久久中文字幕久| 亚洲欧美日韩一区| 亚洲天堂久久久久久久| 国产精品欧美极品| 国产精品久久久久久久久快鸭| 久久综合久久综合久久| 2021久久国产精品不只是精品| 欧美一区二区播放| 欧美另类变人与禽xxxxx| 欧美日韩中文一区| 欧美日本韩国一区| 欧美老年两性高潮| 91精品国产综合久久久蜜臀图片 | 欧美精品一区在线观看| 精品国产电影一区二区| 欧美变态口味重另类| 26uuu国产一区二区三区| 久久午夜色播影院免费高清 | 这里只有精品电影| 日韩视频123| 欧美电影免费提供在线观看| 日韩一区二区在线看片| 精品国一区二区三区| 国产欧美日韩在线| 亚洲日本成人在线观看| 亚洲综合精品自拍| 免费一级片91| 国产自产2019最新不卡| 丁香六月综合激情| 91免费小视频| 欧美三区在线观看| 日韩精品一区二区三区视频| 久久久久久久综合色一本| 亚洲国产精品黑人久久久| 亚洲毛片av在线| 日韩影院免费视频| 国产成人午夜视频| 91视频观看视频| 7777女厕盗摄久久久| 久久久天堂av| 亚洲色图丝袜美腿| 日韩va亚洲va欧美va久久| 狠狠v欧美v日韩v亚洲ⅴ| 国产精品一二三四| 在线观看日韩高清av| 日韩一区二区精品在线观看| 国产拍欧美日韩视频二区| 一区二区三区小说| 免费日韩伦理电影| 成人av免费在线观看| 欧美日韩国产综合一区二区 | 免费人成网站在线观看欧美高清| 精久久久久久久久久久| 成人ar影院免费观看视频| 欧美视频在线一区二区三区| 久久奇米777| 亚洲精品成人悠悠色影视| 久久99久久久欧美国产| 色婷婷久久久久swag精品| 精品国产一区二区三区四区四| 成人免费一区二区三区在线观看| 免费欧美高清视频| 日本精品一区二区三区高清 | 美女视频网站黄色亚洲| 91啪在线观看| 精品国产乱码久久久久久图片 | 欧美日韩国产在线观看| 国产精品伦理一区二区| 麻豆91在线观看| 欧美性色黄大片手机版| 亚洲国产精品高清| 韩日精品视频一区| 欧美久久久久久久久| 亚洲精品免费播放| 成人国产在线观看| 亚洲精品一区二区三区福利| 水野朝阳av一区二区三区| 色欧美日韩亚洲| 国产精品成人免费精品自在线观看| 免费高清成人在线| 欧美伦理影视网| 亚洲一区免费观看| 色婷婷亚洲一区二区三区| 国产拍欧美日韩视频二区| 久久99热这里只有精品| 欧美一级久久久| 视频一区二区三区在线| 欧美三级乱人伦电影| 亚洲精品成人少妇| 91毛片在线观看| 国产精品高清亚洲| www.亚洲色图.com| 国产精品国产a级| 成人开心网精品视频| 国产无遮挡一区二区三区毛片日本| 久久精品国产精品亚洲综合| 欧美一卡2卡3卡4卡| 亚洲电影视频在线| 欧美色电影在线| 午夜av一区二区三区| 欧美日韩亚洲另类| 午夜欧美在线一二页| 欧美人成免费网站| 日韩国产一区二| 制服视频三区第一页精品| 蜜臀av一区二区三区| 精品91自产拍在线观看一区| 国产真实乱对白精彩久久| 国产亚洲精品bt天堂精选| 波多野结衣亚洲| 日韩理论在线观看| 欧美日韩亚洲综合一区二区三区| 三级欧美在线一区| 日韩欧美一级片| 国内成+人亚洲+欧美+综合在线| 久久久美女毛片| www.色精品| 一区二区在线观看av| 欧美精品久久99久久在免费线| 日本不卡不码高清免费观看| 久久这里只有精品视频网| 成人国产精品免费网站| 亚洲欧美国产三级| 欧美一区二区三区四区五区 | 不卡区在线中文字幕| 亚洲男女毛片无遮挡| 欧美日韩精品电影| 精品午夜一区二区三区在线观看| 国产日韩欧美麻豆| 色综合久久久久综合99| 午夜不卡av免费| 国产欧美视频一区二区三区| 91国产丝袜在线播放| 人人狠狠综合久久亚洲| 国产精品美女久久福利网站| 欧美三级日本三级少妇99|