Find the FBA solution that minimizes all the flux values.

        Maximize the objective flux then minimize all other fluxes
        while keeping the objective flux at the maximum.

        Args:
            objective: The objective reaction that is maximized.

        Returns:
            A dictionary of all the reactions and their minimized fluxes.

def get_minimal_fba_flux(self, objective):
        """Find the FBA solution that minimizes all the flux values.

        Maximize the objective flux then minimize all other fluxes
        while keeping the objective flux at the maximum.

        Args:
            objective: The objective reaction that is maximized.

        Returns:
            A dictionary of all the reactions and their minimized fluxes.
        """
        # Define constraints
        vs_wt = self._v_wt.set(self._model.reactions)
        zs = self._z.set(self._model.reactions)

        wt_obj_flux = self.get_fba_obj_flux(objective)

        with self.constraints() as constr:
            constr.add(
                zs >= vs_wt, vs_wt >= -zs,
                self._v_wt[objective] >= wt_obj_flux)
            self._prob.set_objective(self._z.sum(self._model.reactions))
            result = self._solve(lp.ObjectiveSense.Minimize)

        fba_fluxes = {}
        for key in self._model.reactions:
            fba_fluxes[key] = result.get_value(self._v_wt[key])
        return fba_fluxes