In the design of microprogrammed processors, the minimization of microeode width is very crucial to reduce the required microcode ROM area. This brief contribution suggests two different procedures which are complementary in nature: first, an integer linear programming formulation which guarantees an optimal solution for small or medium size problems; and second, a heuristic algorithm based on the graph bipartitioning to deal with large size problems. Experimental results show that the proposed heuristic algorithm yields near-optimal solutions with polynomial time complexity.