Home Randomized Algorithm IV— Integer Programming
Post
Cancel

Randomized Algorithm IV— Integer Programming

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 ARm×n, bRm, and cRn. In the matrix form, the objective function of IP can be written as follow. (cT denotes the transpose of c.)

maxxZncTx,

which is subject to the following constraints:

Axbx0

If x is further restricted to {0,1}n, then it is called a 0/1 IP problem.

Below shows an example of 0/1 IP problem.

Maximize 8x1+11x2+6x3 subject to 5x1+7x2+4x314x1,x2,x3{0,1}

In an LP (Linear Programming) problem, the point we want to find is not restricted to be integral. Namely, xi can be any positive real number.

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 G=(V,E) to model the traffic route map and k source-sink pairs (s1,t1),...,(sk,tk) to model trips waiting to be arranged. Our goal is to find k paths p1,...,pk where each pi is from si to ti, such that the congestion of these paths is minimized. Here, for each edge e in the graph, we define its congestion as the number of paths using e. Formally put,

cong(e)=|{i[k]:epi}|.

i[k] is equivalent to i{1,2,...,k}.

The congestion of our arrangement for all trips (paths) is defined by

congestion=maxeEcong(e).

To minimize this congestion, next, we will turn this problem into the IP description format.

IP Description

Let Pi denote the set of all possible paths from si to ti for every i[k]. For each path pi=1kPi, let xp be an indicator variable such that xp=1 if the path p is used and xp=0 otherwise.

Let WN+ denote the congestion of paths that we want to minimize. The congestion minimization problem can be solved by the following IP.

min W

subject to

pPixp=1,i[k]i=1kpPi:epxpW,eExp{0,1},pi=1kPiWN+

Solving this IP is computationally hard.

Hence, we adopt the following strategy, which is a common approach in the design of approximation aglorithm.

  1. Relaxation: Solve an LP relaxation of the IP by removing the integral constraint, and obtain an optimal fractional solution;

  2. 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 xp{0,1} to xp[0,1] and WN+ to W1.

Let (xOPTIP,WOPTIP) denote an optimal (integral) solution to the IP for congestion minimization, and let (xOPTLP,WOPTLP) denote an optimal (integral) solution to the LP relaxtion. Then we have:

WOPTIPWOPTLP

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 (x,W)=(xOPTLP,WOPTLP) for simplicity. Our randomized rounding algorihtm is given below.

Randomized Rounding

Consider that xp is a fractional value between 0 and 1, the idea of this algorithm is to regard xp as a possibility. And we use this possibility to guide the path choosing - path with larger xp has higher chance to be chosen.

Here is a key lemma, described as follows.

For every edge eE, we have

Pr(cong(e)ClognloglognW)12n2,

where C>0 is a large absolute constant.

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 congestion=maxeEcong(e). We deduce that

Pr(congestionClognloglognWOPTIP)Pr(congestionClognloglognWOPTLP)eEPr(cong(e)ClognloglognW)|E|12n212

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 1/2, the congestion of paths we find is at most Clognloglogn times minimum congestion.

In other words, we can achieve an approximation ratio of Clognloglogn with high probability.

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 X1,...,Xn be independent random variables taking values in [0, 1]. Let X=i=1nXi be their sum with mean μ=EX=i=1nEXi. Then we have:

δ0:Pr(X(1+δ)μ)(eδ(1+δ)1+δ)μ(e1+δ)(1+δ)μ; Equivalently, aμ:Pr(Xa)(eμa)a.

Following is the proof of the lemma.

Let Xi be an indicator random variable such that Xi=1 if epi and Xi=0 otherwise. Note that X1,...,Xk are jointly independent. Then we have

X=i=1kXi=cong(e).

Notice that

EXi=Pr(epi)=piPi:epiPr(choose pi)=piPi:epixpi.

Therefore, by the constraint of LP we have

EX=i=1kEXi=i=1kpiPi:epixpiW.

We deduce from the Chernoff bound that

Pr(XClognloglognW)(eEXClognloglognW)ClognloglognW(loglognlogn)Clognloglogn(EXW,eC,W1)(1logn)Clognloglogn(loglognlogn when n is sufficiently large)=e12loglognClognloglogn12n2,

where C>0 is a large constant independent of n.

This post is licensed under CC BY 4.0 by the author.

Randomized Algorithm III— Concentration Inequalities

Programming Language Pragmatics