Common Operation Scheduling (and a Branch-and-cut Algorithm to Minimize the Weighted Number of Tardy Jobs on Parallel Machines)