Prepare the following exercises for discussion in class on Friday December 3.
Given: an undirected graph G(V,E) and a non-negative weight function ω on V (ω : V → R)
Task: A largest weight independent set (aka, stable set) of vertices, i.e., a subset V′ ⊆ V such that no two vertices in V′ are joined by an edge in E.
Related problems:
Given: an undirected graph G(V,E) and a non-negative weight function ω on V (ω : V → R)
Task: A smallest weight vertex cover, i.e., a subset V′ ⊆ V such that each edge of G has at least one endpoint in V′.
Given: an undirected graph G(V,E)
Task: A maximum cardinality clique, i.e., a subset V′ ⊆ V such that every two vertices in V′ are joined by an edge in E
Note also that the independent set problem is equivalent to the set packing problem and the vertex cover problem is a strict special case of set covering problem.
Input: A set J of jobs {1,…,n} to be processed on a single machine and for each job j ∈ J a processing time pj, a weight wj and a due date dj.
Task: Find a schedule that minimizes the total weighted tardiness ∑j=1n wj · Tj, where Tj={Cj−dj,0} (Cj completion time of job j).
Is the problem NP-hard? If the problem is NP-hard, design at least one construction heuristic and at least one local search (solution representation + neighborhood + evaluation function).
The Steiner tree problem is a generalization of the minimum spanning tree problem in that it asks for a spanning tree covering the vertices of a set U. Extra intermediate vertices and edges may be added to the graph in order to reduce the length of the spanning tree. These new vertices introduced to decrease the total length of the connection are called Steiner1 vertices.
Input: A graph G=(V,E), a weight function ω: E ↦ N, and a subset U ⊆ V. Task: Find a Steiner tree, that is, a subtree T=(VT,ET) of G that includes all the vertices of U and such that the sum of the weights of the edges in the subtree is minimal.
The example in Figure 1 is an instance of the Euclidean Steiner problem showing that the use of Steiner vertices may help to obtain cheaper subtrees including all vertices from U.
Input: A set of jobs J to be processed on a set of parallel machines M. Each job j ∈ J has a weight wj and processing time pij that depends on the machine i ∈ M on which it is processed.
Task: Find a schedule of the jobs on the machines such that the sum of weighted completion time of the jobs is minimal.