Notes on Linear Programming - Fundamental Algorithms | CS 473, Study notes of Algorithms and Programming

Material Type: Notes; Class: Fundamental Algorithms; Subject: Computer Science; University: University of Illinois - Urbana-Champaign; Term: Spring 2006;

Typology: Study notes

Pre 2010

Uploaded on 03/10/2009

koofers-user-trp
koofers-user-trp 🇺🇸

10 documents

1 / 1

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
CS473ug Head Banging Session #8 4/04/06 - 4/08/06
1. Linear Programming
A steel company must decide how to allocate next week’s time on a rolling mill, which is a machine
that takes unfinished slabs of steel as input and produce either of two semi-finished products: bands
and coils. The mill’s two products come off the rolling line at different rates:
Bands 200 tons/hr
Coils 140 tons/hr.
They also produce different profits:
Bands $ 25/ton
Coils $ 30/ton.
Based on current booked orders, the following upper bounds are placed on the amount of each product
to produce:
Bands 6000 tons
Coils 4000 tons.
Given that there are 40 hours of production time available this week, the problem is to decide how many
tons of bands and how many tons of coils should be produced to yield the greatest profit. Formulate
this problem as a linear programming problem. Can you solve this problem by inspection?
2. Maximum Degree 3 Spanning Tree
Maximum Degree 3 Spanning Tree takes as input a graph G= (V , E) and asks whether Ghas a
spanning tree with maximum degree at most 3.
Reduce Hamiltonian path to Maximum Degree 3 Spanning Tree. How could you modify the graph G
you are given so that the new graph Ghas a maximum degree 3 spanning tree if and only if Ghas a
hamiltonian path?
3. Reduction to Subgraph Isomorphism
The Subgraph Isomorphism problem takes as input two graphs, G= (V1, E1) and H= (V2, E2). The
question is whether Gcontains a subgraph isomorphic to H, that is, a subset VV1and a subset
EE1such that |V|=|V2|,|E|=|E2|, and there exists a one-to-one function f:V2Vsatisfying
{u, v} E2if and only if {f(u), f (v)} E.
Reduce one of the problems you saw in lecture on Tuesday (Independent set, Vertex Cover, and Set
Cover) to Subgraph Isomorphism. This proves that Subgraph Isomorphism is at least as hard of a
problem as the problem that you reduced to it.
4. Set Splitting
The Set Splitting problem takes as input a collection Cof subsets of a finite set Sand asks if there is
a partition of Sinto two subsets S1and S2such that no subset in Cis entirely contained in either S1
or S2.
Reduce 3SAT to Set Splitting.
1

Partial preview of the text

Download Notes on Linear Programming - Fundamental Algorithms | CS 473 and more Study notes Algorithms and Programming in PDF only on Docsity!

CS473ug Head Banging Session #8 4/04/06 - 4/08/

  1. Linear Programming A steel company must decide how to allocate next week’s time on a rolling mill, which is a machine that takes unfinished slabs of steel as input and produce either of two semi-finished products: bands and coils. The mill’s two products come off the rolling line at different rates:

Bands 200 tons/hr Coils 140 tons/hr.

They also produce different profits:

Bands $ 25/ton Coils $ 30/ton.

Based on current booked orders, the following upper bounds are placed on the amount of each product to produce:

Bands 6000 tons Coils 4000 tons.

Given that there are 40 hours of production time available this week, the problem is to decide how many tons of bands and how many tons of coils should be produced to yield the greatest profit. Formulate this problem as a linear programming problem. Can you solve this problem by inspection?

  1. Maximum Degree 3 Spanning Tree Maximum Degree 3 Spanning Tree takes as input a graph G = (V, E) and asks whether G has a spanning tree with maximum degree at most 3. Reduce Hamiltonian path to Maximum Degree 3 Spanning Tree. How could you modify the graph G you are given so that the new graph G′^ has a maximum degree 3 spanning tree if and only if G has a hamiltonian path?
  2. Reduction to Subgraph Isomorphism The Subgraph Isomorphism problem takes as input two graphs, G = (V 1 , E 1 ) and H = (V 2 , E 2 ). The question is whether G contains a subgraph isomorphic to H, that is, a subset V ⊆ V 1 and a subset E ⊆ E 1 such that |V | = |V 2 |, |E| = |E 2 |, and there exists a one-to-one function f : V 2 → V satisfying {u, v} ∈ E 2 if and only if {f (u), f (v)} ∈ E. Reduce one of the problems you saw in lecture on Tuesday (Independent set, Vertex Cover, and Set Cover) to Subgraph Isomorphism. This proves that Subgraph Isomorphism is at least as hard of a problem as the problem that you reduced to it.
  3. Set Splitting The Set Splitting problem takes as input a collection C of subsets of a finite set S and asks if there is a partition of S into two subsets S 1 and S 2 such that no subset in C is entirely contained in either S 1 or S 2. Reduce 3SAT to Set Splitting.