Friday, July 31, 2009

Teaching Facility Location: Lessons Observed

This summer I taught Facility Location to a mix of seniors and graduate (mostly professional masters) students. As usual, lessons observed.

OVERVIEW
The course is billed as Logistics and Supply Chain Management. In particular, it is a course number that has not been used for a while. The department has pledged to have a couple courses offered every summer, so this was one of them. Of the other courses in the department, there is one course titled supply chain management, but it focuses on production. So, in consultation with that professor, this course was focused on Outside-the-plant rather then inside-the-plant.

The original intention was to make this a combination of facility location problems and vehicle routing. The texts for the course were Facility Location: Applications and Theory (eds Drezner and Hamacher) and Logic of Logistics (Simchi-Levi, Chen and Bramel).

The plan for the course was for me to teach the first half of the course covering the basic models. After that, my sense is the goal is for the students to see as many models as possible, but it probably did not matter which ones. So I had the graduate students teach a module of their choosing while the undergraduates would present an application paper found in an academic journal (usually Interfaces).

LESSONS OBSERVED

1. Software and programming: For the course, I informed enrolled students about a month before the course that we would use programming (C was expected, but any language of the student's choosing was allowed). Early on there was an assignment that required implementation of an algorithm, this was very difficult. What this really means is we need to expose students to programming more often so they get used to the idea they have to implement what they are learning, not just learn equations. For linear programming, we used GLPK. The original plan was to try to use Pennsylvania based data and the student versions of the LP solvers could not handle that. And is it turns out, noone remembered how to use LINDO/LINGO anyway. But because they are not used to programming, this was hard too. Most of them got GLPK to work, and I suspect that it is easier to figure out then LINGO was.

2. In class exercises: The first day of class I reviewed linear programming, then made them do a formulation in class to see what you remembered. And, it was useful to know just where the students were. It was a good thing I did this. I did have to scale down the course, and I changed topics.

3. Class interests: The other thing I did was ask the students for their interests. Based on this I (i) switched out one of the major topics and (ii) for grad students that did not have a preferred topic, oriented them towards topics that people were interested in.

4. Textbooks: The Facility Location book was good, but there were no exercises and a few editing errors. Most of the grad students who presented topics covered here found it dense, and did not catch critical aspects of their topics (generally, we figured this out when they scheduled time with me to review the topic and I explained the essentials) The Logic of Logistics book is probably too technical for undergrads and professional masters, as students with these backgrounds are not used to doing proofs. I ended up using Nahmias Operations Management to cover inventory and forecasting.

5. Forecasting: If I'm covering inventory, I need to cover forecasting. This was covered as part of one of the graduate student presentations, but I probably needed to do this topic and the graduate presentation can build on it.

6. Graduate presentations: Of the 9 presentations, I'd say 2 were very good, 4 were adequate (although 2 of these were on more difficult topics, so these would probably be considered good), 1 was marginal, 2 were strikes. One of the effects was a substantial increase in variance in the homework and test questions related to the graduate presentations as opposed to mine. Part of the presentation grade was the performance of the class on the related homework problem, which did correlate with my impressions. A few of the graduate students mentioned that they have been able to apply the topic of their talk almost immediately at work, which is rather gratifying. So overall, I think the idea is sound for this topic. But I need to find time to review the topics afterwards for quality control to ensure that the topic is learned.

7. Homework: This class was compressed during the summer, so I did not get as many homework problems as probably were needed. Most topics were only covered by one assignment and one exam problem. Even at this, they seemed to take a very long time on homework. In a normal length term, I would get out twice as many questions. In addition, I think we could get their computer skills up in the first couple weeks so that their performance on the homework would improve and become more efficient.

8. Undergrad presentations: The undergraduates reviewed one application article in the literature and write a short paper and presentation. First issue is for most of them, the first article submitted for approval (I wanted to approve the articles they selected), most were not applications. As one stated "I did not understand the article, I just saw symbols I recognized" This probably means I needed to discuss the difference between application and theory better, and how to read an article. (Yes, I had pointed them to Interfaces, but somehow people found the Journal of the Operations Research Society and thought that would be a good source.) For the papers and presentations, the students were much better presenters then writers. We've apparently done a good job creating powerpoint rangers, who cannot read or write (I've called them out on their inability to read on several occasions, and letting students know on their homework that I'm pretty sure they would have done better if they read the problem more carefully. I bullet point the relevant details in the assignment.) In addition, everyone went way over the desired length (~5 pages) At the beginning of the course, all of them were concerned with how long it was and I was assuring them that there was more then enough material for them to get 5 pages of material. I should have impressed on them that the real problem was getting the paper short and concise.

Homework and exam problems: The problems I gave were a mix of computational problems and formulation problems. During a teaching workshop, one comment a more experienced teacher made that the standard for teaching and evaluation was that he determined what questions someone in the class got correct, and that was his potential score. His goal was to keep the potential score in the 90s. For me, it was 100. And I'm pretty sure that they learned the material from me, so I feel pretty good about that. But I need to find ways of shortening the feedback loop, and have more points of comprehension checking, because I suspect that could have helped some.

NEXT STEPS
I am teaching in the fall the undergraduates the prerequisite course to this. The department is going to a direction where there is a lead professor on the main undergrad courses, so we've talked some on how to teach it. The focus is going to be pushing formulations more then the actual algorithm (which none of them will ever implement it because we always use solvers). Also, we're going to try to teach a modeling language as well as Excel (and in place of LINDO/LINGO, which are essentially matrix generators) The theory being that the modeling language has a nearly direct correspondence with the math formulation, so that they will reinforce each other for later.

My other plan is to ask the students to write a paper on a journal article, which was something that I did when I took this course as an undergrad. And my thought is to have them do two papers on the same article. First the 5 page paper (with a strict limit on the five pages). Then, after they get feedback, the two page summary paper, to force them to be concise.

No comments: