Use the size of tasks to directly partition the workload instead of tiers per
task.
Keep a separate function for printing the optimal values.