Solve the problem with the current objective.

def _solve(self):
        """Solve the problem with the current objective."""

        # Remove temporary constraints
        while len(self._remove_constr) > 0:
            self._remove_constr.pop().delete()

        try:
            self._prob.solve(lp.ObjectiveSense.Maximize)
        except lp.SolverError as e:
            raise_from(FluxBalanceError('Failed to solve: {}'.format(
                e), result=self._prob.result), e)
        finally:
            # Set temporary constraints to be removed on next solve call
            self._remove_constr = self._temp_constr
            self._temp_constr = []