The multiple‐choice multi‐dimensional knapsack problem (MMKP) is an NP‐hard generalization of the classic 0–1 knapsack problem. The MMKP has a variety of important industrial and business applications. Approximate solution approaches characteristically give no guarantees on solution quality. Exact solution approaches usually generate solutions that are guaranteed to be close to the optimum but typically take excessive computation times—one to several hours have been recorded in the literature. In this article, we use both simple single‐step and multiple step strategies to demonstrate how a commercial software package (Gurobi in this case) can easily be used to generate guaranteed tightly bounded solutions for 293 MMKP instances commonly tested in the literature. These four simple strategies that require no problem‐specific algorithms are shown to perform competitively with the five best published algorithms for the MMKP. Since no problem‐specific coding is required, these simple strategies are easy for operations research practitioners to use.
A generalization of the 0-1 knapsack problem that is hard-to-solve both theoretically (NP-hard) and in practice is the multi-demand multidimensional knapsack problem (MDMKP). Solving an MDMKP can be difficult because of its conflicting knapsack and demand constraints. Approximate solution approaches provide no guarantees on solution quality. Recently, with the use of classification trees, MDMKPs were partitioned into three general categories based on their expected performance using the integer programming option of the CPLEX® software package on a standard PC: Category A—relatively easy to solve, Category B—somewhat difficult to solve, and Category C—difficult to solve. However, no solution methods were associated with these categories. The primary contribution of this article is that it demonstrates, customized to each category, how general-purpose integer programming software (CPLEX in this case) can be iteratively used to efficiently generate bounded solutions for MDMKPs. Specifically, the simple sequential increasing tolerance (SSIT) methodology will iteratively use CPLEX with loosening tolerances to efficiently generate these bounded solutions. The real strength of this approach is that the SSIT methodology is customized based on the particular category (A, B, or C) of the MDMKP instance being solved. This methodology is easy for practitioners to use because it requires no time-consuming effort of coding problem specific-algorithms. Statistical analyses will compare the SSIT results to a single-pass execution of CPLEX in terms of execution time and solution quality.
The generalized assignment problem (GAP) is a NP-hard problem that has a large and varied number of important applications in business and industry. Approximate solution approaches for the GAP do not require excessive computation time, but typically there are no guarantees on solution quality. In this article, a methodology called the simple sequential increasing tolerance (SSIT) matheuristic that iteratively uses any general-purpose integer programming software is discussed. This methodology uses a sequence of increasing tolerances in conjunction with optimization software to generate a solution that is guaranteed to be within a specified percentage of the optimum in a short time. SSIT requires no problem-specific coding and can be used with any commercial optimization software to generate bounded solutions in a timely manner. Empirically, SSIT is tested on 51 GAP instances (24 medium and 27 large) in the literature. The performance of CPLEX versus Gurobi on these 51 GAP test instances is also statistically analyzed.
The generalized assignment problem (GAP) is a NP-hard problem that has a large and varied number of important applications in business and industry. Approximate solution approaches for the GAP do not require excessive computation time, but typically there are no guarantees on solution quality. In this article, a methodology called the simple sequential increasing tolerance (SSIT) matheuristic that iteratively uses any general-purpose integer programming software is discussed. This methodology uses a sequence of increasing tolerances in conjunction with optimization software to generate a solution that is guaranteed to be within a specified percentage of the optimum in a short time. SSIT requires no problem-specific coding and can be used with any commercial optimization software to generate bounded solutions in a timely manner. Empirically, SSIT is tested on 51 GAP instances (24 medium and 27 large) in the literature. The performance of CPLEX versus Gurobi on these 51 GAP test instances is also statistically analyzed.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.