ISEN 636 Large-Scale Stochastic Optimization INSTRUCTOR OFFICE HOURS

advertisement
ISEN 636 Large-Scale Stochastic Optimization
INSTRUCTOR
L. Ntaimo
239C Zachry Engineering Center
979 862-4066
ntaimo@tamu.edu
http://ise.tamu.edu/people/faculty/Ntaimo/
OFFICE HOURS
TBA and by appointment (open door policy)
COURSE DESCRIPTION
Introduction to models, theory and computational methods for large-scale stochastic programming.
Methods include decomposition-coordination algorithms for large-scale mathematical programming such
as Benders, regularized Benders, Dantzig-Wolf, L-shaped and statistically motivated decomposition
methods. Applications, theory and practical algorithm implementation and computational experimentation
will be emphasized.
PREREQUISITES
ISEN 622 – Linear Programming
STAT 610 or equivalent – Probability and Statistics
C/C++ Programming “competence”
COURSE OBJECTIVES
This is an introductory course to stochastic programming. The aim of the course is to introduce students
to optimal decision-making problems with data uncertainty. The field of stochastic programming is
currently developing rapidly with contributions from many disciplines such as operations research,
mathematics, and probability. Stochastic programming has a wide range of applications especially in
science and engineering such as manufacturing, transportation, telecommunications, electricity power
generation, health care, agriculture/forestry, finance, etc. The course will cover a broad overview of the
applications, basic theory, and decomposition methods of this vibrant field. Emphasis in this course is
placed on both theory and practical algorithm implementation and tools for solving difficult stochastic
programming problems. This is a first course in stochastic programming and is suitable for students with
knowledge of linear programming, elementary analysis, probability, and C/C++ programming. The
programming skills are needed for algorithm implementation using state-of-the-art optimization software
CPLEX. This course has a research level orientation and as such, students will be required to review
literature on stochastic programming and conduct computational experiments with stochastic programs.
TEXTBOOK AND ADDITIONAL COURSE MATERIAL
No course textbook is required. Course notes and other reading material will be provided and posted on
eLearning or the course website. However, you are encouraged to get a copy of a stochastic programming
textbook for your reference.
References:
1. J.R. Birge and F. Louveaux, Introduction to Stochastic Programming, 1st Edition, Duxbury
Press, Belmont, CA, 2003. ISBN 0 534 35964 7.
2. A. Ruszczynski and A. Shapiro (Eds.), Stochastic Programming. Handbooks in Operations
Research and Management Science Volume 10. New York, NY, 2003. ISBN 0 444 50854 6
3. R.K. Martin, Large Scale Linear and Integer Optimization: A Unified Approach, Kluwer, 1999.
4. A. Shapiro, D. Dentcheva and A. Ruszczynski, Lectures on Stochastic Programming:
Modeling and Theory, to be published by SIAM, Philadelphia, 2009.
1
5. ILOG CPLEX 11.0, User’s Manual and Reference Manual, ILOG, S.A., 2005,
DETAILED TOPICAL OUTLINE
The times listed are approximate.
1. Introduction to Stochastic Optimization and Applications
1.1 Decision-making in an uncertain world
-applications, decision stages, decision trees, decision-making models
1.2 Probability spaces and random variables
1.3 From linear programming to stochastic linear programming
Week 1-2, class-notes, Ch.1-2 in Birge and Louveaux, 1997.
2. Stochastic Programming Models
4.1 Two-stage recourse models
4.2 Chance-constrained models
4.3 Multi-stage models
Week 3, Ch. 3 in Birge and Louveaux, 1997; Ch. 1 Ruszczynski and Shapiro, 2003.
3. Deterministic Large-Scale Decomposition Methods
2.1 Basic theory - convexity, separation, convergence
2.2 Benders decomposition
2.3 Regularized Benders
2.4 Dantzig-Wolfe decomposition
Week 4-5, class-notes, Ch. 10-11 in Martin, 1999
4. Computational Experimentation
3.1 Empirical testing
3.2 SMPS format, sparse matrix representation, etc.
3.3 Introduction to the CPLEX callable library
Week 6, class-notes
5. Stochastic Linear Programming Methods
5.1 The L-shaped method
5.2 Multi-cut, bunching and other efficiencies
5.3 Regularized version
Week 7-8, Ch. 5 in Birge and Louveaux, 1997; Ch. 3 Ruszczynski and Shapiro, 2003.
6. The Value of Information and the Stochastic Solution
6.1 Expected value of perfect information
6.2 The value of the stochastic solution
6.3 Basic relationships
6.4 Bounds
Week 9, Ch. 4 in Birge and Louveaux, 1997
7. Sample-Based Methods
7.1 General results
7.2 Sampling in the L-shaped method
7.3 Basic stochastic decomposition
Week 10-11, Chapter 10 in Birge and Louveaux, 1997; Ch. 6 Ruszczynski and Shapiro, 2003.
8. Introduction to Stochastic Integer Programming (if time permits)
8.1 Integer L-shaped
8.2 Simple integer recourse
8.3 Binary first-stage
8.4 New approaches
Week 12, Ch. 8 in Birge and Louveaux, 1997; Ch. 4 Ruszczynski and Shapiro, 2003.
2
SEMESTER INDIVIDUAL “MINI” PROJECTS
The semester individual “mini” projects will involve homework problems, implementing large-scale
decomposition algorithms using C/C++ and the CPLEX Callable Library, and performing computational
experiments on a given set of instances from the literature. A report detailing the algorithm steps,
computational results, and sample code (soft copy) will be required.
Project 1 - Benders algorithm (Week 3)
Project 2 - Regularized Benders algorithm (Week 5)
Project 3 - L-shaped algorithm (Week 6)
Project 4 - Binary first-stage method (Week 11)
SEMESTER “TEAM” PROJECT
Students will form semester teams comprising of 1-2 students. Each student will model an interesting
real-life practical problem(s) of their choice using stochastic programming, implement an extension(s) of
the algorithm(s) from the “mini” projects, conduct computational experiments to solve large-scale
instances of the problem (may be randomly generated) using the implemented code, and perform a
solution analysis. Finally, each team will write a project report and give a class presentation the last week
of class. Students are encouraged to work on problems from their thesis/dissertation area.
CLASS SCHEDULE
Lectures: MWF 10:20AM – 11:10PM.
Classroom: Zachry 104A.
GRADING
Since this is an elective course, your grade for the course will be based on the level and quality of your
participation in the course. There will be a midterm and a final take-home exam. The exams may involve
performing some computational tests using your code in addition to solving some theoretical problems.
The exams will constitute 50% of the grade while the other 50% will come from the homework and mini
projects (25%) assigned during the semester and the semester project (25%). Grades will be assigned as
follows: A (90-100%), B (80-89.9%), C (70-79.9%), D (60 – 69.9%), F (< 60%).
TEACHING ASSISTANT (TA)
Eric Beier, Ph.D. Student
Office: 301B Zachry
Office hours: TR 10:00-11:00 or by appointment
Phone: 847-8507 (Systems Lab - 304 Zachry)
Email: ebeier@tamu.edu
COURSE WEB SITE: http://ise.tamu.edu/ISEN689-601
PROFESSIONAL COMPONENT
This course provides fundamental concepts, theory and procedures for modeling, solving and analyzing
problems using stochastic programming. The knowledge learned in this course is used to develop a
semester research project or the basis for a potential thesis/dissertation project.
DISABILITIES ACT
The Americans with Disabilities Act (ADA) is a federal anti-discrimination statute that provides
comprehensive civil rights protection for persons with disabilities. Among other things, this
legislation requires that all students with disabilities be guaranteed a learning environment that
provides for reasonable accommodation of their disabilities. If you believe you have a disability
requiring an accommodation, please contact the Disability Services in Room B118 of the Cain Hall
Building or call 845-1637, email disability@tamu.edu, http://disability.tamu.edu
3
ACADEMIC INTEGRITY:
“An Aggie does not lie, cheat, or steal or tolerate those who do.” It is the responsibility of students
and instructors to help maintain scholastic integrity at the university by refusing to participate in or
tolerate dishonesty. (http://www.tamu.edu/aggiehonor)
PROGRAM OUTCOMES
A. An ability to apply knowledge of mathematics, science, and engineering.
Specialized knowledge and analytical procedures are developed to enhance the decision-making process under
uncertainty using stochastic programming. This includes the following: (1) formulate a problem in technical terms;
(2) determine and implement the appropriate modeling approach; (3) choose the appropriate solution method and
apply feedback to improve the system
B. An ability to design and conduct experiments, as well as analyze and interpret data.
Students are required to do several mini projects in which they implement several decomposition methods in
stochastic programming and perform computational experiments on real-life and randomly generated problem
instances. This will also include analysis and interpretation of the problems’ optimal solutions. The students are also
taught how to use state-of-the-art optimization software (CPLEX callable library).
C. An ability to function on multi-disciplinary teams.
Students are required to do a semester research project in teams. In order to promote the team approach, teams of 12 students are allowed for the semester project. The requirements for the semester project are as follows: (1)
implement an extension(s) of the algorithms learned in class; (2) model a real-life problem involving uncertainty in
the data (students are encouraged to find a topic based on their thesis/dissertation problem); (3) provide solutions to
the problem using the implemented algorithm(s); (4) performing computational experiments to find optimal
solutions to the problem; (5) provide recommendations via a project report and presentation at the end of the
semester. Some test instances and C/C++ code “fragments” will be provided by the instructor.
E. An ability to identify, formulate, and solve engineering problems.
ISEN 636 emphasizes on the importance of the following in industrial engineering: (1) identify a real-world
problem; (2) determine whether or not stochastic programming is an appropriate modeling framework; (3) formulate
the problem as a stochastic program; (4) solve the problem for its optimal solution; (5) interpret the models'
solutions and infer solutions to the real-world problem.
G. An ability to communicate effectively.
Students are encouraged to engage in group discussions in class concerning the subject matter. The semester team
project requires a report to be reviewed and graded. Each report may be reviewed and specific suggestions and
recommendations made. This will require each team to revise it effectively to reflect those improvements identified
in the review process. Each team makes a project presentation with specific areas presented by designated members
of the group. The presentation takes approximately 20 minutes per team, including questions (about 5 minutes).
I. A recognition of the need for, and an ability to engage in life-long learning.
Throughout the development of the class, a great deal of lecture time is devoted to discussing real-life problems
where stochastic programming is an appropriate tool. This allows the students to recognize the importance of being
life-long learners, particularly since most of the real-life problems are open-ended.
K. An ability to use the techniques, skills, and modern engineering tools necessary for engineering practice.
The following techniques, skills and tools are studied and used: C/C++, CPLEX Callable Library.
Summary: The student should be able to formulate, devise, and implement algorithms to solve stochastic
programming problems
PREPARED BY: Dr. Lewis Ntaimo
DATE: AUG, 2007, Revs: AUG 2009
4
Download