bestfit.m
来自「an implementation of best fit in matlab」· M 代码 · 共 25 行
M
25 行
function [binAssignment,numberOfBins,occupancyInEachBin] = bestFit(binCapacity,palletDemand)
numberOfLocations = length(palletDemand);
r = binCapacity*ones(1,numberOfLocations);
w = zeros(numberOfLocations);
binCapacityMatrix=r;
binAssignment=w;
for i=1:numberOfLocations,
% indices of bins still have spaces left
idx1=find([palletDemand(i)*ones(1,numberOfLocations) <= binCapacityMatrix]);
% find the index within idx1 that best fits palletDemand(i)
[tmp,idx2]=min(binCapacityMatrix(idx1)-palletDemand(i));
binAssignment(i,idx1(idx2))=1;
% update the state
binCapacityMatrix(idx1(idx2))=tmp;
end
occupancyInEachBin=palletDemand*binAssignment;
occupancyInEachBin(occupancyInEachBin == 0) = [];
numberOfBins=sum([occupancyInEachBin > 0]);
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?