Problem
$n$ objects have to be assigned to $m$ categories, with $n \ge m$. Assigning an object $i \in [n]$ to a category $j \in [m]$ comes with a cost $c_{ij}$. Multiple objects can be mapped to the same category. All objects have to be assigned. All categories have to be used.
What I tried
Since it seems to be a special case of the Unbalanced Assignment Problem, I looked towards the Hungarian Algorithm. Unfortunately, the way this algorithm deals with unbalanced bipartite graphs does not seem to help much here - although I'm still looking in the litterature for an adequate extension, maybe here.
So I tried to map this problem to the Minimum Cost Maximum Flow Algorithm, but despite trying some parametrizations of the edges capacities, I can never guarantee that all the jobs are actually assigned and that all machines used.
For example, in the following picture all the $n=8$ objects (right set of vertices) could be assigned to a category, only 2 of the $m=3$ categories were used, what is not what I want.
Question
Is it possible to achieve the desired result under some specific configuration of the Minimum Cost Maximal Flow algorithm, or am I looking to the wrong algorithm?

Let $c_i^* = \min_{j \in [m]} c_{ij}$ be the minimum cost of assigning object $i$ to any category. If not for the constraint that all categories must be used, we would have a solution with cost $C^* := c_1^* + c_2^* + \dots + c_n^*$ just by giving each object its best category.
To satisfy that additional constraint, consider the matching problem where each category must be assigned an object (but not all objects have to be assigned), and the cost of assigning object $i$ to category $j$ is $c_{ij} - c_i^*$. (Think of this as the cost of "reassigning" object $i$ away from its best category.) This is equivalent to the original problem for the following reason:
Therefore if we solve the new problem optimally, we can get an optimal solution to the original problem.
How can we solve the new problem optimally? There are a few methods: