This paper describes a method developed to schedule the preventive maintenance tasks in separate and linked cogeneration plants while satisfying the maintenance and production constraints. The proposed methodology is based on a mixed integer programming model which finds the maximum number of available power and desalting units in separate and linked cogeneration plants. To verify that the model can be implemented for a real system, a case study of scheduling the preventive maintenance tasks of a cogeneration plant in Kuwait is illustrated. An efficient solution can be achieved for scheduling the preventive maintenance tasks and production in cogeneration plants. The paper offers a practical model that can be used to schedule preventive maintenance for expensive equipment in cogeneration plans. The model presented is an effective decision tool that optimises the solution of the maintenance scheduling problem for cogeneration plants under maintenance and production constraints.