Neural Networks for Optimization Problems with Inequality Constraints: The Knapsack Problem
Abstract
A strategy for finding approximate solutions to discrete optimization problems with inequality constraints using mean field neural networks is presented. The constraints x ≤ 0 are encoded by x⊖(x) terms in the energy function. A careful treatment of the mean field approximation for the self-coupling parts of the energy is crucial, and results in an essentially parameter-free algorithm. This methodology is extensively tested on the knapsack problem of size up to 103items. The algorithm scales like NM for problems with N items and M constraints. Comparisons are made with an exact branch and bound algorithm when this is computationally possible (N ≤ 30). The quality of the neural network solutions consistently lies above 95% of the optimal ones at a significantly lower CPU expense. For the larger problem sizes the algorithm is compared with simulated annealing and a modified linear programming approach. For "nonhomogeneous" problems these produce good solutions, whereas for the more difficult "homogeneous" problems the neural approach is a winner with respect to solution quality and/or CPU time consumption. The approach is of course also applicable to other problems of similar structure, like set covering.
Cite
Text
Ohlsson et al. "Neural Networks for Optimization Problems with Inequality Constraints: The Knapsack Problem." Neural Computation, 1993. doi:10.1162/NECO.1993.5.2.331Markdown
[Ohlsson et al. "Neural Networks for Optimization Problems with Inequality Constraints: The Knapsack Problem." Neural Computation, 1993.](https://mlanthology.org/neco/1993/ohlsson1993neco-neural/) doi:10.1162/NECO.1993.5.2.331BibTeX
@article{ohlsson1993neco-neural,
title = {{Neural Networks for Optimization Problems with Inequality Constraints: The Knapsack Problem}},
author = {Ohlsson, Mattias and Peterson, Carsten and Söderberg, Bo},
journal = {Neural Computation},
year = {1993},
pages = {331-339},
doi = {10.1162/NECO.1993.5.2.331},
volume = {5},
url = {https://mlanthology.org/neco/1993/ohlsson1993neco-neural/}
}