Given a Riemannian manifold, I have a notion of volume for each of my chains, so it makes sense to ask for a representative of a homology class with the smallest volume. Are there conditions for when such a representative exists?

I know it is not always possible: for example, the generator of $H^1$ of the punctured plane doesn't have a shortest representative. But perhaps if we required our space to be compact?

I'm especially interested in the case where the class has a submanifold representative. In that case, I would like to run a generalized mean curvature flow on the representative to get one with (locally) smallest volume.