6. Directrices de una pol´ıtica p´ublica, conclusiones y trabajo futuro
6.1 Directrices de una pol´ıtica p´ublica para la inclusi´on de ERNC intermitente
Single machine scenarios do not capture the complexity of the NNL facility. However, some papers on smaller problems do present interesting ideas
and solutions methods which may be of use in more complex systems. Some papers from the single machine literature are discussed next, before considering more complex scenarios.
Machine Degradation Dependent Maintenance Time
Pan et al. (2010) integrate production scheduling and maintenance plan- ning for a single machine, whilst also considering breakdowns. As machines suffer increasing wear over time they become less reliable. This also means that as time progresses the amount of preventive maintenance required might increase. Therefore the maintenance durations depend on machine degradation. Additionally, it is assumed that some jobs are more important than others. The objective is to minimise the maximum weighted tardi- ness. The authors explain how to calculate job completion times, taking into consideration the machine failure rate and breakdowns. The expected job completion time for the first job is the sum of the processing time of that job, the expected time spent on preventive maintenance prior to starting this job, and the expected time spent performing corrective maintenance. The expected completion time of the first job is then used to calculate the expected completion time of the second job, and so on. This iterative pro- cedure is rather lengthy, so we refer to the original paper for the full details. Unfortunately, Pan et al. (2010) then jump from their model presentation to their computational results without providing solution methods for the stated problem.
Single Machine with Preventive Maintenance
Batun and Azizoglu (2009) consider a single machine, deterministic schedul- ing problem with preventive maintenances. They assume known processing times and non-resumable jobs, i.e. any job in progress when the machine is stopped for maintenance will have to be completely restarted once mainte- nance has been completed. It is also assumed that maintenance activities have fixed starting times and known durations. The objective is to min- imiseflow time, also known as total completion time. This is the aggregate of times that jobs spend in the system, which carries an inventory cost. Without maintenance, flow time is minimised on single machines by or- dering jobs in increasing order of processing times (Pinedo, 2009). This shortest job first principle still holds here for the machine activity periods between maintenances, and so the problem remains to decide which jobs should be carried out during each continuous stretch of machine availability. An outline of how Batun and Azizoglu (2009) proceed is as follows:
1. Use one of two heuristics to construct an initial feasible solution which will yield an upper bound on the optimal flow time. For example, the improved shortest processing time heuristic orders the jobs from shortest to longest processing time. This sequence is then divided into batches which fit inside the machine availability windows. For all jobs in all batches, starting from the first batch, the heuristic attempts to exchange each job with longer jobs in later batches in order to reduce
machine idle time. This has complexity O(n2).
2. A lower bound on the optimal flow time can be obtained by assum- ing that jobs are resumable, in which case the shortest job first rule minimises the total flow time. Lower bounds usually result from a re- laxation of the problem and help determine the quality of the feasible solutions found (Ben Ali et al., 2011).
3. A Branch and Bound algorithm is used to find the optimal solution. The algorithm builds the feasible sequences by adding one job at a time. It avoids any branches in which batches do not follow the short- est job first rule within activity windows, since such branches cannot produce an optimal solution. Nodes are also fathomed (abandoned) when a new batch is started while any remaining jobs would have fit- ted in the previous batch. Lower bounds for nodes can be calculated using the shortest job first rule. Nodes are fathomed if this lower bound exceeds the best known upper bound.
Batun and Azizoglu (2009) report that, depending on the ratio of the maximum job length and machine operation windows, their algorithm solved to optimality instances with between 35 and 80 jobs. The algorithm tended to perform better as the difference in size of the processing times was re- duced. Finally, they note their method could be extended by considering machine breakdowns.
Preventive Maintenance and Breakdowns
Wang (2013) considers a bi-objective single machine environment which re- quires the integration of job scheduling and preventive maintenance plan- ning. It is assumed that jobs have setup times which depend on the previous job, that machines can suffer a breakdown with increasing probability as time passes, and that machines can be restored to a good-as-new state by performing preventive maintenance. Time to machine failure is modelled by a Weibull distribution. A non-homogeneous Poisson process is used to model the number of failures between each preventive maintenance. The failure rate depends on the time the machine has been in use since the last preventive maintenance. The two objectives are the minimisation of total expected completion times, and minimisation of the expected number of failures. Some compromise will have to be found, since the expected num- ber of failures would be minimised by performing preventive maintenance after each job, but this would cause considerable delays to the production process. Wang (2013) uses genetic algorithms to find good solutions.