transport
🧩 Syntax:
clc
clear all
c = [11 20 7 8; 21 16 10 12; 8 12 18 9];
a = [50 40 70];
b = [30 25 35 40];
m = size(c,1);
n = size(c,2);
if sum(a)==sum(b)
fprinttf('Given transportation problem is unbalanced \n');
else
fprintf('Given transporation problem is unbalanced \n');
if sum(a)<sum(b)
c(end+1,:) = zeros(1,length(b));
a(end+1) = sum(b)-sum(a);
else
c(:,end+1) = zeros(length(a),1);
b(end+1) = sum(a) - sum(b)
end
end
X = zeros(m,n);
InitialC = c;
BFS = m+n-1
for i =1:size(c,1)
for j = 1:size(c,2)
cpq = min(c(:))
[p1,q1] = find(cpq == c)
xpq = min(a(p1),b(q1))
[val,ind] = max(xpq)
p = p1(ind)
q = q1(ind)
Y = min(a(p),b(q))
X(p,q) = Y
a(p) = a(p) - Y
b(q) = b(q) - Y
c(p,q) = Inf
end
end
array2table(X)
TotalBFS = length(nonzeros(X))
if TotalBFS==BFS
fprintf('initial BFS is Non-Degenerate\n')
else
fprintf('Initial BFS is Degenerate\n')
end
z=0
for i=1:size(c,1)
for j=1:size(c,2)
z=z+InitialC(i,j)*X(i,j)
end
end
fprintf('Min Cost is %f\n',z)HD15
Member