<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def moma2(self, objective, wt_obj):
 """Find the smallest redistribution vector using Euclidean distance. Minimizing the redistribution of fluxes using a quadratic objective function. The distance is minimized by minimizing the sum of (wild type - knockout)^2. Creates the constraint that the we select the optimal flux vector that is closest to the wildtype. This might still return an arbitrary flux vector the maximizes the objective function. Args: objective: Objective reaction for the model. wt_obj: The flux value for your wild type objective reactions. Can either use an expiremental value or on determined by FBA by using :meth:`.get_fba_obj_flux(objective)`. """

        obj_expr = 0
        for reaction in self._adjustment_reactions():
            v_wt = self._v_wt[reaction]
            v = self._v[reaction]
            obj_expr += (v_wt - v)**2

        self._prob.set_objective(obj_expr)

        with self.constraints(self._v_wt[objective] >= wt_obj):
            self._solve(lp.ObjectiveSense.Minimize)