Integer programming is a type of optimization problem where the goal is to find the best integer solution to a problem.
Integer programming is a powerful problem-solving tool used in many research fields. Its potential applications range from resource allocation decisions to scheduling problems. This article will provide an overview of integer programming, outlining its fundamentals and exploring how it can be applied in algorithm tasks by applying it on the congestion minimization problem.
Integer Programming and Linear Programming
In an IP (Integer Programming) problem, we want to find an integral point that maximizes or minimizes a linear objective function under a few linear constraints.
Let
which is subject to the following constraints:
If
Below shows an example of 0/1 IP problem.
In an LP (Linear Programming) problem, the point we want to find is not restricted to be integral. Namely,
An important thing to know it that: LP can be solved in polynomial time. Examples of algorithms for LP include the simplex algorithm and the ellipsoid algorithm; however, IP is NP-complete.
Congestion Minimization Problem
Problem Description
Traffic congestion occurs when a volume of traffic generates demand for space greater than the available street capacity. Given a traffic route map, for a series of trips with given starting and ending points, we need to properly arrange the routes of each trip so that they are spatially staggered as much as possible to reduce congestion on the road.
We can use a directed graph
is equivalent to .
The congestion of our arrangement for all trips (paths) is defined by
To minimize this congestion, next, we will turn this problem into the IP description format.
IP Description
Let
Let
subject to
Solving this IP is computationally hard.
Hence, we adopt the following strategy, which is a common approach in the design of approximation aglorithm.
Relaxation: Solve an LP relaxation of the IP by removing the integral constraint, and obtain an optimal fractional solution;
Rounding: Transform the fractional solution we get into the integral solution of the original IP, and hope that it solves the IP approximately.
In general, IP is hard to solve. So, the high-level idea here is to transform IP into LP, and use the LP result (which can be got in polynomial time) to estimate the IP result.
Here, we suppose that we have a good algorithm to solve the LP problem. In the next two sections, let’s take look at the details about the relaxtion and rounding process.
LP Relaxtion
We relax the integral constraints
Let
Simply speaking, this inequality holds because the solution set of IP is the subset of the solution set of LP relataxtion (fractional numbers include integral numbers), and as a result, LP relataxtion can achieve better optimization.
Randomized Rounding
Here, we write
Consider that
Here is a key lemma, described as follows.
For every edge
where
The proof of this lemma is in the end of this article.
Given this lemma, we are able to bound the congestion of paths we get via randomized rounding. Recall that
The first inequality comes from the fact in the LP Relaxtion section; the second inequality is union bound; the third inequality uses the above lemma.
Therefore, with probability at least
In other words, we can achieve an approximation ratio of
Proof
This section is optional to read.
In this section, let’s prove the lemma presented in the Randomized Rounding section.
Before we start, a special version of Chernoff bounds, which is suitable when the deviation is large, has to be introduced.
(Chernoff bounds) Let
Following is the proof of the lemma.
Let
Notice that
Therefore, by the constraint of LP we have
We deduce from the Chernoff bound that
where