Scaling-up many-objective combinatorial optimization with Cartesian products of scalarization functions