Text this: Optimizing teaching allocation with preparation time constraint: a linear programming approach