Page 120 - IJOCTA-15-2
P. 120

Parallel late acceptance hill-climbing for binary-encoded optimization problems
            random initial solution. It then creates a history  number of facilities, customers, and optimal so-
            list of length L filled with this initial fitness value.  lutions. The problem size is denoted as n × m,
            This list acts as a memory of recent solution qual-  where n represents the number of facilities and m
            ities.                                            represents the number of customers.
                The core of LAHC is its main loop, which
            runs for a given number of iterations. At each    Table 1. ORLib problem instances for UFLP
            iteration, each threads generates a new candidate
                                                                 Instance      Size          Optimal cost
            solution using random bit flipping. This process
                                                                 Cap71         16 x 50       932,615.75
            takes the current solution, represented as a bit
                                                                 Cap72         16 x 50       977,799.40
            string, and randomly selects one or more bits
                                                                 Cap73         16 x 50       1,010,641.45
            to flip - changing 0s to 1s or vice versa. This      Cap74         16 x 50       1,034,976.98
            method of solution generation is crucial because
            it creates small, random changes to the current so-  Cap101        25 x 50       796,648.44
            lution, allowing the algorithm to explore nearby     Cap102        25 x 50       854,704.20
            points in the search space while maintaining the     Cap103        25 x 50       893,782.11
                                                                 Cap104        25 x 50       928,941.75
            overall structure of the solution.  The threads
            continue to generate candidate solutions and at-
                                                                 Cap131        50 x 50       793,439.56
            tempt to improve the quality of the results until a  Cap132        50 x 50       851,495.33
            predetermined stopping criterion (e.g., a specific   Cap133        50 x 50       893,076.71
            number of iterations) is met. Upon satisfaction      Cap134        50 x 50       928,941.75
            of the stopping criterion, the parallel section is
            completed. The best solution of each thread is       CapA          100 x 1000    17,156,454.48
            stored in an shared array accessible to all threads,  CapB         100 x 1000    12,979,071.58
                                                                 CapC          100 x 1000    11,505,594.33
            and the master thread identifies the best solution
            among them and displays it as the global best
            solution.
                                                                  First, we test different history list lengths
                We use multi-threaded programming with        (L) to demonstrate the performance of sequential
            OpenMP to speed up the LAHC. Furthermore,         LAHC on UFLP instances in ORLib. Note that
            different numbers of threads (4, 8, 16 and 32) are  the termination criterion is a predetermined num-
            tested and the effect on the overall performance  ber of function evaluations = 80,000. Each experi-
            of the proposed approach is analyzed.
                                                              ment is run for 30 trials for each problem instance.
            4. Computational experiments and                  Table 2 shows the sequential LAHC results using
                results                                       the gap score, which is the ratio of the mean to
                                                              the distance between the mean and the optimum
            We perform all experiments on a PC with an        in percent. The results show a clear trend of im-
            eight-core processor (Intel(R) Xeon(R) E5-2630    proved performance as L increases from 10 to 100.
            CPU @ 2.40 GHz), with 64 GB of RAM, running       The average gap score consistently decreases, with
            the Windows 10 64-bit operating system. PLAHC     L = 100 yielding the best overall results at 0.84.
            is implemented in standard C using the gcc com-   Smaller problem instances (cap71-cap74) perform
            piler with OpenMP version 4.5.                    well across all L values, often reaching optimal so-
                To systematically tune effective parameter    lutions, while larger instances benefit more signif-
            settings for PLAHC, we performed different pa-    icantly from increasing L values. This is particu-
            rameter configurations on a subset of represen-   larly evident for the extra large instances (capa,
            tative problem instances. We explore the length   capb, capc), where significant decreases in gap
            of the history list (L) ∈ {10, 20, 50, 100} and the  scores are observed.
            number of threads (nt) ∈ {4, 8, 16, 32}. A fixed
            computational budget of 80,000 objective func-        Table 3 shows the gap scores of PLAHC us-
            tion evaluations was allocated for each parameter  ing 4 threads.  The best overall performance
            combination, with 30 independent runs performed   is achieved with L = 50, with an average gap
            to ensure statistical significance.               score of 0.35, closely followed by L = 100 with
                                                              0.44. Small and medium instances consistently
            4.1. Computational results for UFLP
                                                              achieve optimal or near-optimal solutions, even
            We tested PLAHC on UFLP using the ORLib           with shorter history lists. Larger instances still
            benchmark set. 41  This problem set has 15 UFLP   benefit from larger L values, with L = 100 gen-
            problems in 4 groups. Table 1 shows the main      erally performing best for complex problems. For
            characteristics of these problems, including the  the largest instances (capa, capb, capc), L = 50
                                                           315
   115   116   117   118   119   120   121   122   123   124   125