LINE Solver
MATLAB API documentation
Loading...
Searching...
No Matches
mmap_normalize.m
1function MMAP = mmap_normalize(MMAP)
2% Fixes MMAP feasibility by setting negative values to zero and forcing
3% the other conditions.
4
5if isempty(MMAP)
6 return
7end
8K = size(MMAP{1},1);
9C = length(MMAP)-2;
10
11for i = 1:K
12 for j = 1:K
13 if i ~= j
14 MMAP{1}(i,j) = max(MMAP{1}(i,j), 0);
15 end
16 end
17end
18
19MMAP{2} = 0 *MMAP{1};
20for c = 1:C
21 MMAP{2+c}(MMAP{2+c} < 0) = 0;
22 if isnan(MMAP{2+c})
23 MMAP{2+c} = zeros(size(MMAP{2+c}));
24 end
25 MMAP{2} = MMAP{2} + MMAP{2+c};
26end
27
28for k = 1:K
29 MMAP{1}(k,k) = 0;
30 MMAP{1}(k,k) = -sum(MMAP{1}(k,:)) - sum(MMAP{2}(k,:));
31end
32end