# David Shmoys

Jump to: navigation, search
David Shmoys
David Shmoys
Born 1959 (age 57–58)
Fields Computer Science, Computational complexity theory
Institutions Cornell
Alma mater Princeton,
University of California, Berkeley
Thesis Approximation Algorithms for Problems in Sequencing, Scheduling, and Communication Network Design (1984)
Doctoral advisor Eugene Lawler
Notable awards Frederick W. Lanchester Prize (2013)
Website
people.orie.cornell.edu/shmoys/

David Bernard Shmoys (born 1959) is a Professor in the School of Operations Research and Information Engineering and the Department of Computer Science at Cornell University. He obtained his Ph.D. from the University of California, Berkeley in 1984. His major focus has been in the design and analysis of algorithms for discrete optimization problems.

In particular, his work has highlighted the role of linear programming in the design of approximation algorithms for NP-hard problems. He is known for his pioneering research on providing first constant factor performance guarantee for several scheduling and clustering problems including the k-center and k-median problems and the generalized assignment problem. Polynomial-time approximation schemes that he developed for scheduling problems have found applications in many subsequent works. His current research includes stochastic optimization, computational sustainability and optimization techniques in computational biology. Shmoys is married to Éva Tardos, who is the Jacob Gould Schurman Professor of Computer Science at Cornell University.

## Key contributions

Two of his key contributions are

1. Constant factor approximation algorithm for the Generalized Assignment Problem and Unrelated Parallel Machine Scheduling.
1. Constant factor approximation algorithm for k-Medians and Facility location problem.

These contributions are described briefly below:

### Generalized Assignment Problem & Unrelated Parallel Machine Scheduling

The paper[1] is a joint work by David Shmoys and Eva Tardos.

The generalized assignment problem can be viewed as the following problem of scheduling unrelated parallel machine with costs. Each of ${\displaystyle n}$ independent jobs (denoted ${\displaystyle J}$) have to be processed by exactly one of ${\displaystyle m}$ unrelated parallel machines (denoted ${\displaystyle M}$). Unrelated implies same job might take different amount of processing time on different machines. Job ${\displaystyle j}$ takes ${\displaystyle p_{i,j}}$ time units when processed by machine ${\displaystyle i}$ and incurs a cost ${\displaystyle c_{i,j},i=1,2,..,m;j=1,2,..,n;n\geq m}$. Given ${\displaystyle C}$ and ${\displaystyle T_{i},i=1,2,..,m}$, we wish to decide if there exists a schedule with total cost at most ${\displaystyle C}$ such that for each machine ${\displaystyle i}$ its load, the total processing time required for the jobs assigned to it is at most ${\displaystyle T_{i},i=1,2,..,m}$. By scaling the processing times, we can assume, without loss of generality, that the machine load bounds satisfy ${\displaystyle T_{1}=T_{2}=..=T_{m}=T}$. In other words, generalized assignment problem is to find a schedule of minimum cost subject to the constraint that the makespan, that the maximum machine load is at most ${\displaystyle T}$ ".

The work of Shmoys with Lenstra and Tardos cited here[2] gives a 2 approximation algorithm for the unit cost case. The algorithm is based on a clever design of linear program using parametric pruning and then rounding an extreme point solution of the linear program deterministically. Algorithm for the generalized assignment problem is based on a similar LP through parametric pruning and then using a new rounding technique on a carefully designed bipartite graph. We now state the LP formulation and briefly describe the rounding technique.

We guess the optimum value of makespan ${\displaystyle T}$ and write the following LP. This technique is known as parametric pruning.

${\displaystyle LP(T)::\sum _{i=1}^{m}\sum _{j=1}^{n}c_{ij}x_{ij}\leq C}$;

${\displaystyle \sum _{i=1}^{m}x_{ij}=1\qquad j=1,\ldots ,n}$;
${\displaystyle \sum _{i=1}^{m}p_{ij}x_{ij}\leq T\qquad i=1,\ldots ,m}$;
${\displaystyle x_{ij}\geq 0\qquad i=1,\ldots ,m,\quad j=1,\ldots ,n}$;
${\displaystyle x_{ij}=0\qquad {\text{if}}\qquad p_{ij}\geq T,\qquad i=1,\ldots ,m,\quad j=1,\ldots ,n}$;

The obtained LP solution is then rounded to an integral solution as follows. A weighted bipartite graph ${\displaystyle G=(W\cup V,E)}$ is constructed. One side of the bipartite graph contains the job nodes, ${\displaystyle W=\{w_{j}|j\in J\}}$, and the other side contains several copies of each machine node, ${\displaystyle V=\{v_{i,s}|i=1,2,..,m;s=1,2,..,k_{i}\}}$, where ${\displaystyle k_{i}=\lceil \sum _{j}x_{ij}\rceil }$. To construct the edges to machine nodes corresponding to say machine ${\displaystyle i}$, first jobs are arranged in decreasing order of processing time ${\displaystyle p_{ij}}$. For simplicity, suppose, ${\displaystyle p_{i1}\geq p_{i2}\geq \ldots \geq p_{in}}$. Now find the minimum index ${\displaystyle j_{1}}$, such that ${\displaystyle \sum _{i}^{j_{1}}x_{ij}\geq 1}$. Include in ${\displaystyle E}$ all the edges ${\displaystyle (w_{j},v_{i1},j=1,2,..,j_{1}-1)}$ with nonzero ${\displaystyle x_{ij}}$ and set their weights to ${\displaystyle x'_{v_{i1}j}=x_{ij}}$. Create the edge ${\displaystyle (w_{j_{1}},v_{i1})}$ and set its weight to ${\displaystyle x'_{v_{i1}j_{1}}=1-\sum _{i=1}^{j_{1}-1}x'_{v_{i1}j}}$. This ensures that the total weight of the edges incident on the vertex ${\displaystyle v_{i1}}$ is at most 1. If ${\displaystyle x'_{v_{i1}j_{1}}, then create an edge ${\displaystyle (w_{j_{1}},v_{i2})}$ with weight ${\displaystyle x'_{v_{i2}j_{1}}=x_{ij}-x'_{v_{i1}j_{1}}}$. Continue with assigning edges to ${\displaystyle v_{i2}}$ in a similar way.

In the bipartite graph thus created, each job node in ${\displaystyle W}$ has a total edge weight of 1 incident on it, and each machine node in ${\displaystyle V}$ has edges with total weight at most 1 incident on it. Thus the vector ${\displaystyle x'}$ is an instance of a fractional matching on ${\displaystyle G}$ and thus it can be rounded to obtain an integral matching of same cost.

Now considering the ordering of processing times of the jobs on the machines nodes during construction of ${\displaystyle G}$ and using an easy charging argument, the following theorem can be proved:

Theorem: If ${\displaystyle LP(T)}$ has a feasible solution then a schedule can be constructed with makespan ${\displaystyle T+max_{i,j}p_{i,j}}$ and cost ${\displaystyle C}$.

Since ${\displaystyle max_{i,j}p_{i,j}\leq T}$, a 2 approximation is obtained.

### K-medians and Facility Location Problem

The paper[3] is a joint work by Moses Charikar, Sudipto Guha, Éva Tardos and David Shmoys. They obtain a ${\displaystyle 6{\frac {2}{3}}}$ approximation to the metric k medians problem. This was the first paper to break the previously best known ${\displaystyle O(\log {k}\ \log {\log {k}})}$ approximation.

Shmoys has also worked extensively on the facility location problem. His recent results include obtaining a ${\displaystyle 3}$ approximation algorithm for the capacitated facility location problem. The joint work with Fabian Chudak,[4] has resulted in improving the previous known ${\displaystyle 5.69}$ approximation for the same problem. Their algorithm is based on a variant of randomized rounding called the randomized rounding with a backup, since a backup solution is incorporated to correct for the fact that the ordinary randomized rounding rarely generates a feasible solution to the associated set covering problem.

For the uncapacitated version of the facility location problem, again in a joint work with Chudak[5] he obtained a ${\displaystyle (1+2/e)\approx 1.736}$-approximation algorithm which was a significant improvement on the previously known approximation guarantees. The improved algorithm works by rounding an optimal fractional solution of a linear programming relaxation and using the properties of the optimal solutions of the linear program and a generalization of a decomposition technique.

## Awards & honors

David Shmoys is an ACM Fellow[1] and a Fellow of the Institute for Operations Research and the Management Sciences (INFORMS) (2013). He received College of Engineering Sonny Yau Excellence in Teaching Award three times and has been awarded NSF Presidential Young Investigator Award and the Frederick W. Lanchester Prize (2013)