Abstract

We present an in-depth analysis and implementation of parallel programming on two NP-hard combinatorial optimization problems, namely, the Common Due-Date (CDD) problem and the Unrestricted CDD with Controllable Processing Times (UCDDCP). The CDD and UCDDCP require scheduling and sequencing a certain number of jobs with different processing times on a single machine against a common due-date. The goal is to minimize the total weighted penalty incurred due to earliness or tardiness of the jobs and the penalty due to the compression of the processing times of the jobs. In the UCDDCP, the processing time of a job can be reduced by letting the machine work at a faster pace, which, however, comes at a (compression penalty) cost per time unit. Optimization for both is carried out by hybrid algorithms, composed of a metaheuristic that creates good job sequences and an O(n) algorithm which finds the optimal completion times for the all the jobs in such sequences created by the metaheuristic algorithms. We investigate both Simulated Annealing (SA) and a Discrete Particle Swarm Algorithm (DPSO) for this purpose. Parallel versions of both algorithms are implemented based on CUDA. Experiments are carried out on the benchmark instances provided in the OR-library and executed on a Nvidia graphics processing unit. We find that the parallel SA algorithm performs very well while obtaining speedups of 100× within a deviation of two percent compared to the best known solutions. Furthermore, our parallel algorithms also improve the best known solution values for several benchmark instances.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call