This article is a research, design, and development effort, on an algorithm for Binary Linear Programming (BLP). The idea of the algorithm is based on the concepts borrowed from the Simplex method of Linear Programming (LP). The Simplex method has both column selection and row selection logics for generating a pivot. In this article we select both logics of LP to use as only the column selection logic for the BLP. The article provides the complete implementable C-language source code of this version of the BLP algorithm to show all the details of the logics. In addition, it provides a simple software requirement for embedded engineering products based on the laws of nature. It helps to design, modify, and maintain a simpler code for the algorithms. Therefore, the article uses a multidisciplinary approach. It integrates optimization theory, matrix algebra, computer programming, software engineering design requirements, social science, laws of nature, etc. This BLP algorithm will shed some light on the P-NP problem and its solution.
Read full abstract