Skip to main content
. 2008 Apr 30;2:40. doi: 10.1186/1752-0509-2-40

Table 4.

MCS = Reduce(H, J, S)
1: // Argument:
2: // H, a collection of cut sets for objective reaction
3: // set J N in system S ∈ ℝm × n
4: // Output:
5: // MCS, a collection of MCS for J
6:
7: MCS, Done = empty collection
8: for all sets H in collection Hdo
9:   ToDo = {H};
10:   while ToDo is not empty do
11:   H¯ = a lowest cardinality set from ToDo
12:   //Apply LP based test to all
13:   //immediate subsets of H¯ to determine
14:   //which cut at least one flux in objective set J
15:   D = collection of size |H¯| - 1 subsets of H¯ that are also cut sets for objective set J in S
16:   add H¯ to collection Done
17:   if D is empty then
18:      add H¯ to collection MCS
19:   else if D contains one set then
20:      add sole set in D to MCS and Done
21:   else
22:      add sets in D to ToDo
23:   end if
24:      Remove from ToDo super sets of any set in collection Done
25:   end while
26: end for
27: return MCS