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

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

?? mcnf.m

?? 物流分析工具包。Facility location: Continuous minisum facility location, alternate location-allocation (ALA)
?? M
字號:
function [f,TC,XFlg,nf,out] = mcnf(IJCUL,SCUL,varargin)
%MCNF Minimum cost network flow problem.
% [f,TC,XFlg,nf,out] = mcnf(IJCUL,SCUL,opt)
% IJCUL = [i j c u l],  arc data
%  SCUL = [s nc nu nl], node data
%     i = n-element vector of arc tails nodes, where n = number of arcs
%     j = n-element vector of arc head nodes
%     c = n-element vector of arc costs
%     u = n-element vector of arc upper bounds
%       = [Inf], default
%     l = n-element vector of arc lower bounds
%       = [0], default
%     s = m-element vector of net node supply, where m = number of nodes
%            s(i) > 0 => node i is supply node        (outflow > inflow)
%            s(i) = 0 => node i is transshipment node (outflow = inflow)
%            s(i) < 0 => node i is demand node        (outflow < inflow)
%    nc = m-element vector of node costs
%    nu = m-element vector of upper bounds on total node flow
%       = [Inf], default
%    nl = m-element vector of lower bounds on total node flow
%       = [-Inf], default
%     f = n-element vector of arc flows
%    nf = m-element vector of node flows
% Options:
%   opt = options structure, with fields:
%       .LP       = linear programming solver
%                 = 1, only use LPRSM
%                 = 2, only use LINPROG, if available
%                 = 3, (default) use LPRSM for n <= LrgProb, else LINPROG
%       .LrgProb  = number of arcs in large problem instance
%                 = 1000, default
%       .TolInt   = tolerance for rounding to integer using ISINT
%                 = [1e-6], default
%       .LPargOut = return c,Alt,blt,Aeq,beq,l,u struct w/o running LP
%                 = 1, do
%                 = 0, do not (default)
%       .Lprsm    = option structure for LPRSM
%       .Linprog  = option structure for LINPROG, with MCNF default:
%                 .Display = 'none'
%       = '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 = MCNF('defaults'), to get defaults values for option structure
%    TC = total cost
%  XFlg = exitflag from LP solver
%   out = output structure, with fields:
%       .LP       = LP solver used
%       .Lmb      = set of Lagrangian multipliers from LINPROG
%       .Outrsm   = output structure from LPRSM

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

% Input Error Checking ****************************************************
linprogexist = exist('linprog','file');
if nargin == 3 && isstruct(varargin{:})     % Use opt only to check fields
   opt = struct('LP',[],'LrgProb',[],'TolInt',[],'LPargOut',[],...
      'Linprog',[],'Lprsm',[]);
else                                       % Set defaults for opt structure
   opt = struct('LP',3,...
      'LrgProb',1000,...
      'TolInt',1e-6,...
      'LPargOut',0,...
      'Linprog',[],...
      'Lprsm',lprsm('defaults'));
   if exist('linprog','file') == 2
      opt.Linprog = optimset(linprog('defaults'),'Display','none');
   end
   if nargin == 1 && strcmpi('defaults',IJCUL), f = opt; return, end
   error(nargchk(1,Inf,nargin))
end
if nargin > 2
   opt = optstructchk(opt,varargin);
   if ischar(opt), error(opt), end
end

[n,cIJCUL] = size(IJCUL);
if cIJCUL < 3 || cIJCUL > 5, error('IJCUL must be 3-5 column matrix.'), end
[i,j,c,u,l] = mat2vec(IJCUL);
I = list2incid([i j],1);
if isempty(u), u = Inf*ones(n,1); end
if isempty(l), l = zeros(n,1); end

if nargin < 2 || isempty(SCUL)
   SCUL = zeros(max(max([i abs(j)],[],1)),1);
end
[m,cSCUL] = size(SCUL);
if m == 1, SCUL = SCUL'; m = cSCUL; cSCUL = 1; end
[s,nc,nu,nl] = mat2vec(SCUL);
if isempty(nc), nc = zeros(m,1); end
if isempty(nu), nu = Inf*ones(m,1); end
if isempty(nl), nl = zeros(m,1); end

if any(j < 0) || any(i == j)
   error('All arcs must be directed without self-loops.')
elseif any(l > u) || any(l == Inf)
   error('Elements of "l" can not be greater than "u" or Inf.')
elseif size(I,1) ~= m
   error('Length of "s" must equal maximum node index in "i,j".')
elseif any(~isfinite(s))
   error('Elements of "s" must be finite.')
elseif sum(s(s >= 0)) < sum(s(s <= 0))
   error('Total supply cannot be less than total demand.')
elseif any(nl > nu)
   error('Elements of "nl" can not be greater than ''nu'' or Inf.')
elseif length(opt.LP(:)) ~= 1 || all(opt.LP ~= [1 2 3])
   error('Invalid "opt.LP" specified.')
elseif opt.LP == 2 && ~exist('linprog','file')
   error('LP Solver LINPROG not found -- use LPRSM instead.')
elseif length(opt.LrgProb(:)) ~= 1 || opt.LrgProb < 0
   error('Invalid "opt.LrgProb" specified.')
elseif length(opt.LPargOut(:)) ~= 1 || all(opt.LPargOut ~= [0 1])
   error('Invalid "opt.LPargOut" specified.')
elseif ~isempty(opt.Linprog) && ~isstruct(opt.Linprog)
   error('"opt.Linprog" must be a structure from LINPROG("defaults").')
elseif ~isempty(opt.Lprsm) && ~isstruct(opt.Lprsm)
   error('"opt.Lprsm" must be a structure from LPRSM("defaults").')
end
% End (Input Error Checking) **********************************************

[f,TC,XFlg,nf] = deal([]);
out = struct('LP',[],'Lmb',[],'Outrsm',[]);

% Node costs
c = c + (nc'*(I==1))';  % Add node cost nc(i) to arc [i j] cost

% Node bounds
isnb = nu < Inf | nl ~= 0;

% Augment network by adding nodes for nonzero finite node bounds
if any(isnb)
   a = (I(isnb,:) == 1) + 0;
   I(isnb,:) = I(isnb,:) - a;
   I = [I zeros(m,sum(isnb))];
   I(isnb,n+1:end) = eye(sum(isnb));
   I = [I; a -eye(sum(isnb))];
   
   s2 = zeros(sum(isnb),1);
   s2(s(isnb) < 0) = s(isnb & s < 0);
   s(isnb & s < 0) = 0;
   s = [s; s2];
   
   c = [c; zeros(sum(isnb),1)];
   u = [u; nu(isnb)];
   l = [l; nl(isnb)];
end

% Add dummy demand node if excess supply
excess = sum(s(s >= 0)) + sum(s(s <= 0));
idxsup = find(s > 0);
idxdem = find(s < 0);
idxdummy = [];
if excess > 0
   s = [s; -excess];
   idxdummy = length(s);
   idxdem = [idxdem; idxdummy];
   [i,j] = incid2list(I);
   i = [i; idxsup];
   j = [j; idxdummy*ones(length(idxsup),1)];
   c = [c; zeros(length(idxsup),1)];
   u = [u; Inf*ones(length(idxsup),1)];
   l = [l; zeros(length(idxsup),1)];
   I = list2incid([i j],1);
end

if opt.LPargOut == 1
   f = struct('c',c,'Alt',I,'blt',s,'Aeq',[],'beq',[],'LB',l,'UB',u);
   return
end

% Solve LP
if ((opt.LP == 3 && n > opt.LrgProb) || opt.LP == 2) && ...
      exist('linprog','file') == 2
   out.LP = 2;
   if opt.LPargOut == 1
      f = struct('c',c,'Alt',I,'blt',s,'Aeq',[],'beq',[],'LB',l,'UB',u);
      return
   end
   
   [f,TC,XFlg,a_,out.Lmb] = linprog(c,I,s,[],[],l,u,[],opt.Linprog);
   
else
   out.LP = 1;
   if opt.LPargOut == 1
      f = struct('c',c,'Alt',[],'blt',[],'Aeq',I(1:end-1,:),...
         'beq',s(1:end-1),'LB',l,'UB',u);
      return
   end
   
   [f,TC,XFlg,out.Outrsm] = lprsm(c,[],[],I(1:end-1,:),s(1:end-1),...
      l,u,[],opt.Lprsm);
end

% Solution feasibility
if nargout < 3
   if XFlg < 0
      error('LP solver failed (XFlg < 0).')
   elseif XFlg == 0
      warning(...
         'LP solver reached max number iter w/o converging (LP XFlg = 0).')
   end
elseif XFlg < 0
   return
end

% Make integer all flows within tolerance
f(isint(f,opt.TolInt)) = round(f(isint(f,opt.TolInt))); 
TC = c'*f;

% Add cost of demand nodes
s = s(1:m);
if any(s<0)
   TC = TC + -nc(s<0)'*s(s<0);
end

% Calc. node flows
if nargout > 3
   nf = (I == 1)*f;
   nf = nf(1:m);
   if ~isempty(idxsup) && ~isempty(idxdummy)
      nf(idxsup) = nf(idxsup) - f(j == idxdummy);
   end
   nf(s<0) = -s(s<0);
end

f = f(1:n);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色8久久人人97超碰香蕉987| 国产成人av电影| 成人欧美一区二区三区黑人麻豆 | 国产欧美精品国产国产专区| 欧美一区二区三区在线视频| 9191久久久久久久久久久| 欧美日韩国产另类一区| 3atv在线一区二区三区| 日韩欧美一级在线播放| 精品久久久久久久久久久久久久久久久| 欧美一区二区三区在| xnxx国产精品| 国产精品网站在线观看| 亚洲男人的天堂在线观看| 亚洲最大的成人av| 天堂av在线一区| 国产美女久久久久| 99视频一区二区| 7777精品伊人久久久大香线蕉超级流畅| 欧美人妖巨大在线| 精品国产百合女同互慰| 国产精品无圣光一区二区| 亚洲一区二区三区中文字幕| 欧美a一区二区| 成人性色生活片免费看爆迷你毛片| 波波电影院一区二区三区| 在线精品亚洲一区二区不卡| 91精品一区二区三区久久久久久| 2020国产精品| 亚洲一区二区三区四区五区黄 | 偷拍一区二区三区四区| 热久久国产精品| 成人av网址在线| 在线电影国产精品| 国产精品免费av| 免费人成网站在线观看欧美高清| 成人黄色电影在线| 日韩欧美中文一区| 成人欧美一区二区三区小说| 免费久久精品视频| 日本高清不卡aⅴ免费网站| 日韩精品在线看片z| 亚洲男人的天堂在线观看| 国产一区视频网站| 欧美精选午夜久久久乱码6080| 亚洲国产精品高清| 久久精品国产亚洲aⅴ| 色8久久精品久久久久久蜜| 国产婷婷一区二区| 另类中文字幕网| 欧美日韩国产123区| 亚洲激情在线播放| 国产69精品久久777的优势| 日韩精品专区在线| 日本成人超碰在线观看| 欧美亚洲一区二区在线| 亚洲国产精品传媒在线观看| 久久99这里只有精品| 欧美亚洲国产怡红院影院| 中文字幕高清一区| 国产激情视频一区二区三区欧美| 在线播放日韩导航| 亚洲va中文字幕| 欧美日韩一区二区三区高清| 自拍偷拍欧美精品| 91在线免费看| 18欧美乱大交hd1984| 成人av小说网| 国产精品电影院| 成人免费视频一区| 国产精品高潮久久久久无| 成人免费看片app下载| 久久精品水蜜桃av综合天堂| 久久精品免费看| 精品粉嫩aⅴ一区二区三区四区| 日产欧产美韩系列久久99| 欧美一级二级在线观看| 美女视频黄久久| 精品国产精品网麻豆系列| 国产在线视频精品一区| 天天亚洲美女在线视频| 欧美日韩亚洲不卡| 日欧美一区二区| 精品国偷自产国产一区| 国产自产视频一区二区三区| 久久久久久毛片| 国产99一区视频免费| 国产精品久久久久久久久免费丝袜 | 一区在线播放视频| 91麻豆产精品久久久久久| 一级女性全黄久久生活片免费| 色诱亚洲精品久久久久久| 亚洲午夜久久久久久久久久久| 欧美精品三级在线观看| 久久99国产精品麻豆| 国产欧美精品区一区二区三区| 成人黄色大片在线观看| 亚洲午夜久久久久| 久久午夜国产精品| 91同城在线观看| 日韩精品三区四区| 久久久精品黄色| 色综合网色综合| 免费成人在线视频观看| 国产精品网站导航| 在线播放日韩导航| 丰满少妇在线播放bd日韩电影| 亚洲你懂的在线视频| 日韩一区二区三区视频在线观看| 国产精品1区二区.| 亚洲成av人**亚洲成av**| 久久久久久99久久久精品网站| 99久久久无码国产精品| 老司机午夜精品| 亚洲欧美成人一区二区三区| 精品少妇一区二区三区视频免付费| 成人精品高清在线| 99r精品视频| 日韩国产欧美在线视频| 国产精品欧美久久久久无广告 | 亚洲欧美成aⅴ人在线观看| 日韩视频在线观看一区二区| 成人的网站免费观看| 日韩va亚洲va欧美va久久| 日韩理论电影院| 久久久久97国产精华液好用吗| 欧美三级在线看| 色偷偷久久人人79超碰人人澡| 国产一区啦啦啦在线观看| 天天av天天翘天天综合网| 中文字幕av资源一区| 精品国产免费一区二区三区香蕉| 欧美日韩免费一区二区三区| 99免费精品在线观看| 国产成人亚洲综合a∨猫咪| 轻轻草成人在线| 亚洲国产视频a| 一区二区三区四区不卡在线| 国产精品免费久久久久| 久久亚洲综合色一区二区三区| 欧美日韩精品一区视频| 色哟哟日韩精品| 色诱视频网站一区| 91蜜桃传媒精品久久久一区二区| 成人综合在线网站| 日韩一区二区三区高清免费看看| 欧美午夜一区二区| 在线免费观看一区| 色吧成人激情小说| 在线观看欧美精品| 欧美午夜免费电影| 欧美日韩1234| 欧美日韩在线三区| 欧美另类高清zo欧美| 欧美精品一级二级三级| 欧美日韩成人一区二区| 欧美美女一区二区在线观看| 在线观看不卡视频| 欧美三级日本三级少妇99| 欧美三区在线视频| 欧美一区二区播放| 精品盗摄一区二区三区| 国产亚洲成aⅴ人片在线观看| 国产日本欧美一区二区| 国产精品区一区二区三| 中文字幕在线免费不卡| 一区二区激情小说| 午夜欧美视频在线观看| 久久精品国产99| 北条麻妃一区二区三区| 欧日韩精品视频| 日韩欧美高清一区| 国产欧美日韩亚州综合 | 久久综合久久99| 中国av一区二区三区| 亚洲一级二级三级| 捆绑调教一区二区三区| 成人高清视频在线观看| 在线免费一区三区| 日韩精品一区在线观看| 日本一区二区三级电影在线观看 | 床上的激情91.| 欧美亚洲国产一卡| 久久一留热品黄| 亚洲综合视频网| 精品一区二区三区免费| 91天堂素人约啪| 精品久久久久久综合日本欧美| 亚洲欧洲av在线| 精品综合久久久久久8888| 91丝袜美女网| 欧美大片在线观看一区二区| 亚洲人被黑人高潮完整版| 久久99热99| 在线观看国产精品网站| 国产日产欧美一区| 丝袜美腿一区二区三区| 99re免费视频精品全部| 亚洲精品一区二区三区福利| 亚洲一区二区黄色|