Decision Making: Modeling and Algorithms

CSCI 480 Research Seminar, spring semester, 2003

 

Instructor:   Dr. Shieu-Hong Lin Email: shieu-hong.lin@bubbs.biola.edu

Course Web site: csci.biola.edu/csci480spring03

Class: Wednesday 3:30-5:20PM

Office Hours: Tuesday & Thursday 3:00-5:00 pm, Math&CS department

 

Syllabus

 

Things to do:

Week 2

ĄP        Pick two hard problems you feel interested (for example, the Steiner Tree problem, the SAT problem, the ROBOT localization problem, the optimal register allocation problem, or others). For each problem, clarify your understanding of the problem formulation, and search the Internet to find at least one interesting paper or a web site of related research. Bring to the class the research results you find people have done in the papers for discussion next time.

ĄP        Look at the handout of 2-approximation algorithm for the Traveling Salesman problem and work on paper to make sure you understand how it works and why it has the factor 2 guarantee of its solution quality. Draw a 5-vertices graph on paper.

ĄP        Programming assignment #1 (Due: Wednesday, March 5): For the Traveling Salesman Problem, write a program that randomly generates a fixed number of vertices on a 500 x 500 pixel screen, then calculates the distance matrix of the vertices, then derive a solution by applying the factor-2 approximation algorithm, and show that solution on the screen graphically. (Using the winbgi module of your old csci105 stuff is good enough for the graphics.) Do your best to bring in something to demo next time we meet.

ĄP        Examine and play with Excel worksheet solution to the Simon Pie decision modeling case. WeĄŠll have a variation of the case next time for you to work on based on the solution you get.

 

Week 3

ĄP        Witten homework #1: Decision-making case study: Download this power-point slide set and this Excel worksheet template on a new case. Use that basic Excel worksheet template and enhance it to do all the things described in the power-point slide set and repeat all the decision-making analysis and charts. Send your finished Excel worksheet to me electronically and explain why you think it is or is not worthwhile to spend $1000.00 dollars per week to increase the capacity to 30,000 pies per week using one shift. (Due: Wednesday, Feb. 26).

ĄP        Programming assignment #2: Look at the description and some code for the famous Lin-Kernighan heuristic algorithm we discussed in the class. Implement and run the Lin-Kernighan algorithm to compare the solution quality it provides with that provided by your 2-approximtion algorithm in programming assignment #1.

ĄP        More on the traveling Salesman Problem (TSP): Explore the following web sites for useful pointers to problem instances, code, papers, and many other things: (i) Traveling Salesman Problem - Home Page  (ii) TSPBIB Home Page

ĄP        Download this lecture notes in postscript format on approximation algorithms: Look at the chapter on the set cover problem we discussed in the class. (You need to download Ghostscript and Gsview to look at .ps files.)

 

Week 4

ĄP        Read the handout on Max-flow problem. (Send me reading comments due: Wednesday, Mar. 5).

ĄP        Do written homework #2: Final the max flow and the minimal cut of this graph: #1 (due: Wednesday, Mar. 5)

ĄP        Read sections 1-9 of the Boost graph library document. Send me reading comments (due: Wednesday, Mar. 5). Download and install Boost graph library.

 

Week 5

ĄP        Read the handout on the 0-1 knapsack problem and do written homework #2 (due: Wednesday, Mar. 12)

ĄP        Read the handout on the complexity classes P and NP (Send me reading comments due: Wednesday, Mar. 12).

ĄP        Read sections 10-12 of the Boost graph library document. (Send me reading comments due: Wednesday, Mar. 12).

 

Week 6

ĄP        Read the handout on depth-first search and bi-connected components (comments due: Wednesday, Mar. 19)

ĄP        Introduction to C++ standard template library: see a tutorial at SGI and download these example programs (comments due: Wednesday, Mar. 19)

ĄP        Programming assignment #3: Use Boost library to implement a program that can find out all the biconnected components of any given graph. (due: Wednesday, Mar. 26)

 

Week 7

ĄP        Further exploration of C++ STL library (look at sample code from JosuttisĄŠs C++ STL library book) and Boost graph library document

ĄP        Reading and discussion assignment: Algorithms & Function objects in STL (explore the tutorial at SGI and sample code from JosuttisĄŠs C++ STL library book )

ĄP        Written homework #3: Develop, write down, and analyze your own algorithm for the bi-connected components problem Wednesday, April. 2.

 

Weeks 8-10

ĄP        Reading and discussion assignment: function objects in STL (explore the tutorial at SGI and sample code from JosuttisĄŠs C++ STL library book )

ĄP        Reading and discussion assignment: iterators in STL (explore the tutorial at SGI and sample code from JosuttisĄŠs C++ STL library book )

ĄP        Reading and discussion assignment: containers in STL (explore the tutorial at SGI and sample code from JosuttisĄŠs C++ STL library book )

ĄP        Reading and discussion assignment: generic algorithms in STL (explore the tutorial at SGI and sample code from JosuttisĄŠs C++ STL library book )

ĄP        Reading and discussion assignment: Intro to Boost graph library and its related links.

ĄP        Send me reading comments on each of the areas above separately (5 reading comments due: Wednesday, April 30.).

ĄP        Written homework #4: Develop, write down, and analyze your own algorithm for the shortest path problem Wednesday, May 7.

 

In-class written test on STL: Wednesday, May 7.

No. Class on Wednesday, May 14.

Help and Review section 1:00pm~5:00pm Monday, May 19 in my office (Just drop by).

 

Take-home exam: 5:00pm Monday, May 19 to 5:00pm Monday, May 26.

Final Exam study guide:

Look at this lecture to review the matrix-multiplication algorithm for determining all-pairs shortest paths.

Look at this lecture to review the Floyd-Warshall all-pairs shortest path algorithm (the cross method).

Look at this lecture to review the flow augmentation algorithm to find a maximal flow and a minimal cut in a graph.

Look at depth-first search and how to find bi-connected components using the depth-first search

Look at class handouts of approximation algorithms for the Traveling Salesman problem, vertex cover problem, set cover problem.

Basic concepts about the meanings of P, NP, and NP-Complete.