<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def lin_moma(self, wt_fluxes):
 """Minimize the redistribution of fluxes using a linear objective. The change in flux distribution is mimimized by minimizing the sum of the absolute values of the differences of wild type FBA solution and the knockout strain flux solution. This formulation bases the solution on the wild type fluxes that are specified by the user. If these wild type fluxes were calculated using FBA, then an arbitrary flux vector that optimizes the objective function is used. See [Segre`_02] for more information. Args: wt_fluxes: Dictionary of all the wild type fluxes. Use :meth:`.get_fba_flux(objective)` to return a dictionary of fluxes found by FBA. """

        reactions = set(self._adjustment_reactions())

        z_diff = self._z_diff
        v = self._v

        with self.constraints() as constr:
            for f_reaction, f_value in iteritems(wt_fluxes):
                if f_reaction in reactions:
                    # Add the constraint that finds the optimal solution, such
                    # that the difference between the wildtype flux is similar
                    # to the knockout flux.
                    constr.add(
                        z_diff[f_reaction] >= f_value - v[f_reaction],
                        f_value - v[f_reaction] >= -z_diff[f_reaction])

            # If we minimize the sum of the z vector then we will minimize
            # the |vs_wt - vs| from above
            self._prob.set_objective(z_diff.sum(reactions))

            self._solve(lp.ObjectiveSense.Minimize)