In the field of job scheduling, two-agent scheduling problems have been widely studied for a dozen years. Nevertheless, there are more than two agents competing for limited resources in practice. In light of the above observation, we aim to build a scheduling model for a three-agent problem. In this model, we aim to minimize the total completion time for agent 1 with the restriction that the total tardiness concerned with agent 2 cannot exceed a threshold and two maintenance activities requested by agent 3 must be conducted within two specific time windows. Due to the NP-hardness, we employ a genetic algorithm to solve this problem. Experimental results show that the genetic algorithm takes a little run time and generates near-optimal schedules.