⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 binaryorder.m

📁 物流分析工具包。Facility location: Continuous minisum facility location, alternate location-allocation (ALA)
💻 M
字号:
function [A,idxi,idxj] = binaryorder(A)
%BINARYORDER Binary ordering of machine-part matrix.
% [A,idxi,idxj] = binaryorder(Ain)
%   Ain = m x n 0-1 machine-part matrix
%     A = machine-part matrix in binary order, where A = Ain(idxi,idxj)
%  idxi = m-element index vector of machine orderings
%  idxj = n-element index vector of part orderings

% 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 ~all(A == 1 || A == 0)
   error('"Ain" must be a 0-1 matrix.')
end
% End (Input Error Checking) **********************************************

idxi = 1:size(A,1);
idxj = 1:size(A,2);

idxi = idxi(argsort(A * (2.^(0:size(A,2)-1))'));

done = 0;
while ~done
   idxj0 = idxj;
   idxj = idxj(argsort((2.^(0:size(A,1)-1)) * A(idxi,idxj)));
   if all(idxj0 == idxj)
      done = 1;
   else
      idxi0 = idxi;
      idxi = idxi(argsort(A(idxi,idxj) * (2.^(0:size(A,2)-1))'));
      if all(idxi0 == idxi)
         done = 1;
      end
   end
end

A = A(idxi,idxj);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -