{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/simulated-annealing-algorithm-for-the","title":"Simulated Annealing Algorithm for the Multiple Choice Multidimensional Knapsack Problem","arxiv_id":null,"date":"2020-05-01","proceeding":"ResearchGate 2020 5","authors":["Shalin Shah"],"abstract":"The multiple choice multidimensional knapsack problem (MCMK) is a harder version of the 0/1 knapsack problem, and is ever more complex than the 0/1 multidimensional knapsack problem. In MCMK, there are several groups of items. The objective is to maximize the value (profit) by choosing exactly 1 item from each group such that all the constraints are satisfied. It is difficult and NP-hard even to find a solution that does not violate all constraints. In this work, we present a simulated annealing based algorithm with open source C++ code to find good solutions to the multidimensional multiple choice knapsack problem. In all of the benchmark instances we used, the algorithm is able to find optimum (or close) solutions, thereby proving that the algorithm is suitable for solving larger instances for which optimal solutions are unknown.","url_abs":"https://www.researchgate.net/publication/341310057_Simulated_Annealing_Algorithm_for_the_Multiple_Choice_Multidimensional_Knapsack_Problem","url_pdf":"https://www.researchgate.net/publication/341310057_Simulated_Annealing_Algorithm_for_the_Multiple_Choice_Multidimensional_Knapsack_Problem","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"simulated-annealing-algorithm-for-the","repo_url":"https://github.com/shah314/samultichoiceknapsack","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"none","reach":null}],"tasks":[{"task_slug":"all","task_name":"All"},{"task_slug":"c-code","task_name":"C++ code"},{"task_slug":"multiple-choice","task_name":"Multiple-choice"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":null,"mcp":null,"developers":"https://syntology.ai/developers"},"arxiv_metadata":null,"syntology_extracted_results":null}