{'fraction_non_alphanumeric': 0.018535681186283594, 'fraction_numerical': 0.010194624652455977, 'mean_word_length': 4.901639344262295, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
A parallel solution for the 0–1 knapsack problem using firefly algorithm

The knapsack problem is known as a NP-hard problem. There is a dynamic programming solution for this problem which is called the 0-1 knapsack. Firefly's innovative optimization algorithm is an algorithm, inspired by the behavior of fireflies flashing. This study represents a parallel solution for the 0-1 knapsack problem using firefly algorithm. Regarding parallel nature of most optimization algorithms they can be used successfully in a graphical processing unit (GPU). Since it is time consuming to test all the cases, when increasing the items and iterations, Compute Unified Device Architecture (CUDA) is used to implement the solution in a parallel way. The results of simulating the 0-1 knapsack problem using firefly algorithm on GPU hardware showed that the execution time of this method in a parallel way decreases with the increase of the population of fireflies and it is 320 times faster than serial solution and this rate is because of synchrony in execution of the blocks on GPU hardware.