In this section, the proposed FVA algorithm will be applied to a small metabolic network, adapted from [17]. This network model contains two compartments, with 7 reactions and 5 metabolites; this network proxies a simple bacterial metabolic network. A diagram of this system can be seen in Fig. 2. This problem will be used as an example of utilizing the solution inspection procedure to reduce the overall number of LPs required to solve the FVA problem.

In phase 1 of FVA, the FBA LP is solved as depicted in Eq. 3. For this problem, \(Z = 0\) with \(v^* = \mathbf {0}\). By inspection of the solution of the phase 1 problem, \(v^*\), we can observe that the lower bounds of \(v_1\), \(v_3\), \(v_4\), \(v_5\), and \(v_7\) were attained. As we already known that these variables can reach their lower bounds, we do not need to solve the LPs relating to finding their lower bounds. Similarly, as the FBA problem is no different from maximization of \(v_4\) the LP to find the upper bound of \(v_4\) is not needed as we can reuse this solution. In this example, by inspecting the phase 1 solution; we were able to remove 6 LPs from the total 14 LPs expected to be solved in phase 2 with the conventional algorithm.

$$\begin{aligned}&Z = \max _{v}\quad \quad v_4 \end{aligned}$$

(3a)

$$\begin{aligned} \text {s.t. }\quad \begin{bmatrix} -1 &{}0 &{}1 &{}0 &{} 1 &{}0 &{}0\\ 1 &{}-2 &{}0 &{}-1 &{} 0 &{}0 &{}0\\ 0 &{}0 &{}0 &{}2 &{} 0 &{}0 &{}0\\ -1 &{}0 &{}0 &{}0 &{} 0 &{}1 &{}0\\ 0 &{}2 &{}-1 &{}-1 &{} 0 &{}0 &{}1\\ \end{bmatrix}v&= \textbf{0} \end{aligned}$$

(3b)

$$\begin{aligned} \begin{bmatrix} 0&-10^5&0&0&0&-10^5&0 \end{bmatrix}\le v&\le \begin{bmatrix} 10^5&10^5&10^5&10^5&10^5&10^5&10^5 \end{bmatrix} \end{aligned}$$

(3c)

With phase 1 complete, we now enter phase 2 of the FVA calculation. Here we calculate the range of \(v_i\) within a \(\mu\) factor of \(Z_0\), e.g. \(c^Tv \ge \mu Z_0\), here we consider \(\mu =0.9\). This constraint is added to all LPs in phase 2. The structure of the phase 2 LP for this metabolic network can be seen in Eq. 4, with the added optimality factor constraint seen in Eq. 4c. In the case of this example problem this constraint is a entirely redundant, but is added for completeness. First, we solve for the remaining upper bound problems. We start with the upper bound of \(v_1\) LP, with resulting solution \(v^* = \langle 10^5, 5\times 10^4,10^5,0,0,10^5,0 \rangle\). We have \(v_1^\text {max} = 10^5\), and in addition \(v_3\), and \(v_6\) attain their upper bounds, which removes the need to check their upper bounds via the LP procedure. This removes an additional 2 LPs from consideration. All other upper bound LPs result in the same solution, and thus do not remove additional LPs but confirm the upper bounds of the remaining flux variables. Out of the original 7 LPs needed to find upper bounds only 4 LPs were required after introduction of the solution inspection procedure.

$$\begin{aligned}&\max _{v}/\min _{v}\quad \quad v_i \end{aligned}$$

(4a)

$$\begin{aligned} \text {s.t. }\quad \begin{bmatrix} -1 &{}0 &{}1 &{}0 &{} 1 &{}0 &{}0\\ 1 &{}-2 &{}0 &{}-1 &{} 0 &{}0 &{}0\\ 0 &{}0 &{}0 &{}2 &{} 0 &{}0 &{}0\\ -1 &{}0 &{}0 &{}0 &{} 0 &{}1 &{}0\\ 0 &{}2 &{}-1 &{}-1 &{} 0 &{}0 &{}1\\ \end{bmatrix}v&= \textbf{0} \end{aligned}$$

(4b)

$$\begin{aligned}&v_4 \ge 0 \end{aligned}$$

(4c)

$$\begin{aligned} \begin{bmatrix} 0&-10^5&0&0&0&-10^5&0 \end{bmatrix}\le v&\le \begin{bmatrix} 10^5&10^5&10^5&10^5&10^5&10^5&10^5 \end{bmatrix} \end{aligned}$$

(4d)

The same procedure is carried out for the lower bound LPs. Only flux variables \(v_2\) and \(v_6\) are not known to exist on the lower bound, thus at most 2 LPs are needed to be calculated in this step instead of the original 7. Both LPs are solved but provide no further reduction in LPs. For the entire system FVA only 7 total LPs are needed with the proposed method, compared to the 15 required without inspecting LP solutions. This FVA analysis shows \(v_\text {min} = \langle 0,0,0,0,0,0,0 \rangle\), and \(v_\text {max} = \langle 10^5, 5\times 10^4,10^5,0,0,10^5,0 \rangle\) which is the same result as the standard FVA algorithm. This result shows at the optima, reactions 4, 5, and 7 have no net flux and are not necessary, at the optimal flux values identified by FBA.