hllqna / CI2024_lab1

Computational Intelligence course @ PoliTo; set covering problem
GNU General Public License v3.0
0 stars 0 forks source link

Lab1R #2

Open Sofia-ME opened 1 week ago

Sofia-ME commented 1 week ago

I found the initialization strategy quite creative and interesting!

Suggestions:

Initialization Optimization I suggest optimizing the computational cost by sorting the sets based on their coverage during initialization, which would organize the untaken_sums array and make the selection of the smallest set more efficient. This change eliminates the need to scan for the minimum in every iteration, allowing the algorithm to move sequentially through the sorted list. Instead of scanning for the minimum at each step (O(n)), the algorithm could take the next set in constant time (O(1)). Although sorting the sets initially takes O(n log n), this approach enhances the main loop's efficiency by avoiding unnecessary repeated scans, leading to a more efficient solution, particularly beneficial when the number of iterations is high.

Exploring Redundancy in Tweaks Another suggestion worth exploring, given the robust initialization implemented, is to restrict the tweak function to only change the sets that were selected during the initialization phase. This approach would focus on removing redundant sets from the current solution rather than exploring new sets from scratch. It could potentially make the algorithm more efficient in cases where the initialization is close to optimal, with the primary task being to fine-tune the solution by eliminating unnecessary sets.

hllqna commented 1 week ago

Thanks a lot for the constructive feedback! I appreciate these suggestions and I'm planning to include their implementation for the updated version of the algorithm.