I would like to know the computational complexity of a 0-1 (binary) linear program (BLP) with $ N $ variables. I am using an optimization solver (GUROBI) to get the 0-1 solution vector of a BLP program. However, I would like to have a worst-case computational complexity of the methods used by these kind of solvers. Do you have any useful reference or do you know the complexity? Any information will be welcomed.
2026-04-11 16:48:12.1775926092
Computational complexity of 0-1 program
736 Views Asked by Bumbble Comm https://math.techqa.club/user/bumbble-comm/detail At
1
There are 1 best solutions below
Related Questions in ALGORITHMS
- Least Absolute Deviation (LAD) Line Fitting / Regression
- Do these special substring sets form a matroid?
- Modified conjugate gradient method to minimise quadratic functional restricted to positive solutions
- Correct way to prove Big O statement
- Product of sums of all subsets mod $k$?
- (logn)^(logn) = n^(log10+logn). WHY?
- Clarificaiton on barycentric coordinates
- Minimum number of moves to make all elements of the sequence zero.
- Translation of the work of Gauss where the fast Fourier transform algorithm first appeared
- sources about SVD complexity
Related Questions in COMPUTATIONAL-COMPLEXITY
- Product of sums of all subsets mod $k$?
- Proving big theta notation?
- Little oh notation
- proving sigma = BigTheta (BigΘ)
- sources about SVD complexity
- Is all Linear Programming (LP) problems solvable in Polynomial time?
- growth rate of $f(x)= x^{1/7}$
- Unclear Passage in Cook's Proof of SAT NP-Completeness: Why The Machine M Should Be Modified?
- Minimum Matching on the Minimum Triangulation
- How to find the average case complexity of Stable marriage problem(Gale Shapley)?
Trending Questions
- Induction on the number of equations
- How to convince a math teacher of this simple and obvious fact?
- Find $E[XY|Y+Z=1 ]$
- Refuting the Anti-Cantor Cranks
- What are imaginary numbers?
- Determine the adjoint of $\tilde Q(x)$ for $\tilde Q(x)u:=(Qu)(x)$ where $Q:U→L^2(Ω,ℝ^d$ is a Hilbert-Schmidt operator and $U$ is a Hilbert space
- Why does this innovative method of subtraction from a third grader always work?
- How do we know that the number $1$ is not equal to the number $-1$?
- What are the Implications of having VΩ as a model for a theory?
- Defining a Galois Field based on primitive element versus polynomial?
- Can't find the relationship between two columns of numbers. Please Help
- Is computer science a branch of mathematics?
- Is there a bijection of $\mathbb{R}^n$ with itself such that the forward map is connected but the inverse is not?
- Identification of a quadrilateral as a trapezoid, rectangle, or square
- Generator of inertia group in function field extension
Popular # Hahtags
second-order-logic
numerical-methods
puzzle
logic
probability
number-theory
winding-number
real-analysis
integration
calculus
complex-analysis
sequences-and-series
proof-writing
set-theory
functions
homotopy-theory
elementary-number-theory
ordinary-differential-equations
circles
derivatives
game-theory
definite-integrals
elementary-set-theory
limits
multivariable-calculus
geometry
algebraic-number-theory
proof-verification
partial-derivative
algebra-precalculus
Popular Questions
- What is the integral of 1/x?
- How many squares actually ARE in this picture? Is this a trick question with no right answer?
- Is a matrix multiplied with its transpose something special?
- What is the difference between independent and mutually exclusive events?
- Visually stunning math concepts which are easy to explain
- taylor series of $\ln(1+x)$?
- How to tell if a set of vectors spans a space?
- Calculus question taking derivative to find horizontal tangent line
- How to determine if a function is one-to-one?
- Determine if vectors are linearly independent
- What does it mean to have a determinant equal to zero?
- Is this Batman equation for real?
- How to find perpendicular vector to another vector?
- How to find mean and median from histogram
- How many sides does a circle have?
Binary linear programs (or integer linear programs in general) are NP-complete. The easiest way to see this is to note that you can encode the minimum vertex cover problem (which is NP-hard) for a graph $G=(V,E)$ by the binary linear program which has $|V|$ variables $y_v$ for $v\in V$ and $|E|$ constraints:
this is explained on wikipedia: a solution to the above BLP tells you which vertices to pick for a covering, and conversely a covering for $G$ tells you which variables $y_v$ to set to $1$. Therefore, any solver that exactly solves general binary linear programs cannot be guaranteed to run in polynomial time unless P=NP.
According to GUROBI's site, they solve integer linear programs with the branch-and-bound method (which is intuitively a modification of a depth first search through the graph of all partial solutions, quitting a subsearch whenever the partial solution is already worst than the best one you know so far), which they complement with many heuristics and reductions to speed up the practical running time. All this being said, the computational complexity of this approach is still ultimately exponential (since the exploration space can easily be exponential in the size of the BLP instance).
For a reference, this article describes the worst-case runtime complexity as $O(Mb^d)$ where $M$ is the cost of expanding subproblems, $b$ is the branching factor, and $d$ is the search depth (while this looks like a polynomial-time algorithm, bear in mind that $d$ will depend on the size of the BLP instance, making it actually worst-case exponential time), and they also discuss heuristics and methods for speeding up the algorithm for practical purposes.
To be a bit more explicit, the method GUROBI uses to solve integer linear programs specialises to BLP's as follows:
From this description, we can see that $b=2$ (as we branch a single variable at a time), and if we continue down to depth $N$, the LP will have exhausted all of its variables, so $d=N$ in the worst case. Since an LP in $N$ varaibles without integral constraints can be solved in $O(N^{2.5})$ time, a worst-case running time for GUROBI---not accounting for their heuristics and whatnot---would be $O(N^{2.5}2^N)$.
This was a rough runtime analysis, but since BLP's are NP-hard to solve, a more careful analysis of the runtime will unlikely be much better.