We consider two generalizations of the edge coloring problem in bipartite graphs. The first problem we consider is the weighted bipartite edge coloring problem where we are given an edge-weighted bipartite graph G = (V, E) with weights w : E [0, 1]. The task is to find a proper weighted coloring of the edges with as few colors as possible. An edge coloring of the weighted graph is called a proper weighted coloring if the sum of the weights of the edges incident to a vertex of any color is at most one. We give a polynomial time algorithm for the weighted bipartite edge coloring problem which returns a proper weighted coloring using at most 2.25n colors where n is the maximum total weight incident at any vertex. This improves on the previous best bound of Correa and Goemans [5] which returned a coloring using 2.557n + o(n) colors. The second problem we consider is the Balanced Decomposition of Bipartite graphs problem where we are given a bipartite graph G = (V, E) and 1, . . . , k (0,...