Operations Research Syllabi
Below are select sections from course syllabi from some of our courses in operations research. Full syllabi may be available by request from course instructors.
OPER 428
Instructor
Ye Chen, Ph.D.
Prerequisite(s)
(Undergraduate level CMSC 245 Minimum Grade of D or Undergraduate level CMSC 255 Minimum Grade of D) and Undergraduate level STAT 309 Minimum Grade of D and Undergraduate level MATH 310 Minimum Grade of D.
Required Text
Operations Research: Applications and Algorithms, 4th Edition, W.L. Winston, Cengage Learning, 2004.
Calculator
Students wishing to use a calculator during a quiz or test are responsible for bringing the calculator or making arrangement with the instructor prior to the date of the quiz or test.
Software
R
Grading Policy
Homework (30%), Midterm 1 (15%), Midterm 2 (15%), Midterm 3 (15%), Final (25%). Justify all your work with enough details for homework/quizzes/projects/exams in order to receive full credit. Assignments that are turned in late will receive a grade of 0.
Topics/Schedule
- Probability review
- Introduction to simulation
- Discrete-event simulation
- Queuing models
- Selecting input probability distributions
- Programming simulation
- Output data analysis
- Monte Carlo simulation
- Monte Carlo models
- Random variate generation
- Monte Carlo generation
Attendance Policy
Students that miss class are responsible for learning the material that is covered in class and for making up all work missed, regardless of the reason for the absence. In the event of an emergency, students must notify the instructor before the exam and provide legitimate excuse/evidence. A grade of zero will be assigned for test missed as a result of unexcused absence. Students must also abide by any administrative decisions (e.g., quiz dates) made by the class in his/her absence.
Last updated: Fall 2019
OPER 427/527
Instructor
Yongjia Song
Prerequisite(s)
Basic knowledge on calculus and linear algebra is required. OPER 327 is preferred, but not required.
Required Text
None
Software
Julia and its JuMP package (Julia for Mathematical Programming)
Grading Policy
- Homework: 25%
- Mid-term: 25%
- Final Project: 25%
- Take-home final: 25%
Mid-term exam focuses on linear programming models. No makeup exams will be given unless a university- approved excuse is provided. When possible, excuses should be provided at least ten days prior to the exam. Students will work in groups on the selected course projects. Project reports will be due on the last day of class. Four days during the final week will be given to the take-home final exam.
Topics/Schedule
This course will address basic models and algorithms for optimization under the assumption of certain knowledge of the systems parameters. These techniques include linear programming models and associated special structures such as network optimization, discrete (integer) programming, and simple nonlinear programming. Students will also be trained to apply the optimization modeling techniques through practical application projects.
Last updated: Fall 2017
OPER 528
Instructor
Marie Chau
Prerequisite(s)
CMSC 245 or 255, MATH/STAT 309 and MATH 310, or equivalent, or permission from the instructor.
Required Texts
- Simulation Modeling & Analysis, 5th ed., A. Law, McGraw-Hill, 2014. (or 4th edition)
- Simulation with Arena, 6th ed., W.D. Kelton, R.P. Sadowski, and N.B. Zupick, McGraw- Hill, 2014
Software
Microsoft Excel, @RISK, Arena
Grading Policy
Based on the following weighting system:
- Participation: 5%
- Homework: 25%
- Midterm: 20%
- Project (Written + Oral): 25%
- Final: 25%
Topics
This course covers techniques for simulation modeling and analysis of discrete-event systems, primarily queueing systems, which can be used to model manufacturing systems and telecommunication networks; application in finance are also covered. Specific topics include random variate generation, input distribution selection, output data analysis, variance reduction techniques, simulation optimization and gradient estimation techniques.
Last updated: Fall 2015
OPER 627
Instructor
Yongjia Song
Prerequisite(s)
Students are expected to have certain math background: basic calculus, basic linear algebra, and some mathematical analysis ability. Basic knowledge in Matlab is preferred, but not required.
Required Texts
- Numerical Optimization, 2nd edition, by J. Nocedal and S. Wright
- Nonlinear programming, 2nd edition, by D. Bertsekas (very theoretical, requires advanced math background)
- Convex Optimization, by S. Boyd and L. Vandenberghe (connects optimization with many interesting applications, math level is high but very intuitive)
Course Objectives
This course will address basic theory and algorithms for nonlinear optimization (unconstrained and constrained). After the course, students are expected to understand various optimization algorithms:
- How these algorithms work
- How to choose an appropriate algorithm in different situations
- How to interpret the performance of an algorithm
Course Topics
Part 1: Unconstrained nonlinear optimization
- Optimality conditions
- Fundamental solution framework for nonlinear optimization
- Nonlinear optimization algorithms
- Steepest descent
- Newton’s method
- Quasi-Newton method
- Large-scale nonlinear optimization algorithms
- Large-scale Newton’s method
- Conjugate gradient method
- Derivative-free method
Part 2: Constrained nonlinear optimization
- Optimization over simple constraints, gradient projection
- Optimality conditions, KKT, constraint qualification
- Lagrangian-based nonlinear optimization algorithms
Part 3: Commercial and open-source nonlinear optimization software and case study
Topics/Schedule
Week | Topic |
---|---|
1 | Introduction |
2 | Line search |
3 | Newton’s method |
4 | Quasi-Newton method |
5 | Trust-region methods |
6 | Conjugate gradient method |
7 | Least-squares/Regression |
8 | Derivative free optimization/In-class midterm exam |
9 | Optimization with simple constraints |
10 | Gradient projection algorithms |
11 | Penalty functions |
12 | Optimality conditions, KKT |
13 | Lagrangian duality theory |
14 | Interior point method and nonlinear optimization software |
15 | Course summary, review, and extensions |
16 | Take-home final exam |
Grading Policy
The grade is distributed into the following sections:
- Homework: 30%
- Mid-term: 30%
- Take-home final: 30%
- Participation: 10%
Mid-term exam focuses on the first part of the course material (unconstrained nonlinear optimization). Take-home final focuses on the second part of the course material (constrained nonlinear optimization), although the basic concepts and techniques from the first part may show up. No makeup exams will be given unless a university-approved excuse is provided. When possible, excuses should be provided at least ten days prior to the exam.
The tentative grading scale:
- A: 90-100
- B: 80-89
- C: 70-79
- D: 60-69
- F: 0-59
Assignments
This course has approximately five or six assignments in total. Some of them require a minimum amount of coding in Matlab.
- All assignments are due when class begins on the assigned due date.
- You have FIVE “free” days for delayed assignment submission. After that, 20% of the grade will be taken off for each day delayed.
- No assignments will be accepted if more than five days overdue.
- You are welcome to submit an electronic version of your homework through Blackboard.
- All coding assignments will be submitted through Blackboard.
Last updated: Fall 2014
OPER 635
Instructor
Yongjia Song
Course Objectives and Prerequisite(s)
This course will address basic models and algorithms for network optimization. Network optimization has a wide range of applications, and is a playground of various optimization tools and algorithms. Students are expected to have certain background in basic linear algebra, linear programming, mathematical modeling, and algorithm design. After the course, students are expected to understand network optimization models, and know how to detect network problem structure in real world applications.
Required Text
Network Flows, by R. Ahuja, T. Magnanti and J. Orlin
Other References
- Combinatorial Optimization, by W. Cook, W. Cunningham, W. Pulleyblank, and A. Schrijver
- A First Course on Combinatorial Optimization, by J. Lee
Tentative Grading Scale
- A: 90-100
- B: 80-89
- C: 70-79
- D: 60-69
- F: 0-59
Grading Policy
- Homework: 30%
- Project: 20%
- Mid-term: 25%
- Final: 25%
Topics/Schedule
- Introduction and data structure: 2 lectures
- Graph search and minimum spanning tree: 1 lecture
- Shortest path: 2 lectures
- Maximum flow and minimum cut: 5 lectures
- Minimum cost flow: 2 lectures
- Application of network flow models: 1 lecture
- Linear programming and network simplex algorithm: 1 lecture
- Multicommodity flows: 3 lectures
- Integer programming and polyhedral study: 2 lectures
- Steiner tree problem: 2 lectures
- Traveling salesman problem: 3 lectures
Assignments
This course has approximately five or six assignments in total. Some of them require a minimum amount of coding in a basic modeling language.
- All assignments are due when class begins on the assigned due date.
- You have FIVE "free" days for delayed assignment submission. After that, 20% of the grade will be taken off for each day delayed.
- No assignments will be accepted if more than five days overdue.
Last updated: Spring 2014
OPER/STAT 636
Instructor
Paul Brooks
Prerequisite(s)
Graduate status in mathematical sciences, systems modeling and analysis, decision sciences and business analytics, computer science, or permission of instructor.
Required Text
Tan, P.-N., Steinbach, M. and Kumar, V. Introduction to Data Mining. Pearson, 2006.
Additional recommended reference: Nocedal, J. and Wright, S.J. Numerical Optimization. Springer, 2006.
Skills Targeted for Improvement
- Analysis of algorithms: Ability to analyze data mining algorithms according to their basis in geometry and optimization
- Computer software skills: Ability to manipulate software to derive information from data
- Technical writing: Ability to summarize and communicate results of an analysis of data
- Technical reading: Ability to evaluate journal articles about data mining algorithms
Software
The R language and environment for statistical computing
Grading Policy
Grades will be based on 1 test (25%), 1 project (20%), 5-6 homework assignments (20%), final
exam (20%), 1 paper presentation (10%), and class participation (5%). Assignments that are turned in late will receive a grade of 0%.
Topics/Schedule
- Introduction to Data Mining and Optimization
- Linear Regression and Unconstrained Optimization
- PCA/SVD and Constrained Optimization
- Classification
- Decision Trees
- Support Vector Machines, Lagrange Multipliers, and Duality
- Empirical Evaluation of Classifiers
- Cluster Analysis
- Minimum Sum-of-Squared Clustering and Nonconvex Optimization
- k-means, hierarchical clustering, DBSCAN
- Learning Theory
- Bias/Variance Tradeoff
- Consistency and Generalization
- Vapnik-Chervonenkis Theory - Empirical Risk Minimization, Structural Risk Minimization
- Rademacher Theory and Stability
- No Free Lunch Theorem
- Association Analysis
Attendance Policy
Students who miss class are responsible for learning the material that is covered in class and for making up all work missed, regardless of the reason for the absence. A grade of zero will be assigned for tests missed as a result of an unexcused absence. Students must also abide by any administrative decisions (e.g., quiz dates) made by the class in their absence.
Last updated: Fall 2015
OPER 639
Instructor
Paul Brooks
Prerequisite(s)
OPER 527
Required Text
Williams, H. Paul. Model Building in Mathematical Programming, 5th Edition. Wiley, 2013.
Additional Recommended References
- Chvátal, V. Linear Programming. Freeman, 1983.
- Garey, M.R. and Johnson, D.S. Computers and Intractability: A Guide to the Theory of NP-Completeness. Freeman, 1979.
- Nemhauser, G.L. and Wolsey, L.A. Integer and Combinatorial Optimization. Wiley, 1999.
- Rader, D.J. Deterministic Operations Research. Wiley, 2010
- Winston, W.L. and Venkataramanan, V. Introduction to Mathematical Programming: Applications and Algorithms, Volume 1, 4th Edition. Thomson, 2002.
Software
You may use any mathematical optimization modeling language and solvers approved by the instructor. Approved software includes GAMS, GLPK/MathProg, and SAS/OR. We will use the Linux server compile.vcu.edu; students are expected to become familiar with working in a Unix-like environment.
Grading Policy
Grades will be based on homework (30%), one mid-term (10%), one project (20%), final exam (30%), and class participation (10%).
Topics/Schedule
- Introduction to math modeling using math programming
- Graphs/networks and linear programming: maximum flow, min-cost network flow, minimum spanning tree
- Modeling with integer variables: modeling logical implications, modeling disjunctions
- Special classes of integer programs: set covering, set packing, traveling salesperson problem
- Computational complexity: theory of NP-completeness
- Best practices for operations research consulting
- Using software to solve large-scale linear and integer programming problems
Attendance Policy
Students who miss class are responsible for learning the material that is covered in class and for making up all work missed, regardless of the reason for the absence. A grade of zero will be assigned for tests missed as a result of an unexcused absence. Students must also abide by any administrative decisions (e.g., quiz dates) made by the class in their absence.
Late Assignments
Assignments that are turned in late will receive a grade of 0%. Assignments may be turned in using the Assignment feature on Blackboard, emailed to jpbrooks@vcu.edu, handed in during class, or left in the instructor's mailbox.
Student Expectations
- show up for class ready to learn by actively participating
- attend class regularly
- read appropriate sections in the text, and be familiar with the locations of formulas and explanations in the readings
- be able to learn from different sources - lecture notes, the internet, other books; be resourceful
- take careful note of topics covered in class that are not in the textbook
- start homework problems early, and visit them often
- communicate answers as if communicating with a manager or a friend; bring disparate material together in a clear, coherent manner
- ask the instructor specific questions about difficulties with homework
- keep homework and all associated files for future reference
- be able to calculate a current grade - it is a weighted average
- treat the instructor and other students with respect
Instructor Expectations
- be punctual
- be available by appointment
- return graded assignments within one week of their due date
- provide prompt and clear feedback on assignments
- maintain an accurate record of grades
- assign homework that clearly reflects the goals of the class
- create an environment where students are encouraged to ask questions about class material
- treat all students with respect
Last updated: Spring 2015
OPER 643
Instructor
Jason Merrick
Prerequisite(s)
Graduate status in mathematical sciences, systems modeling and analysis, or decision sciences and business analytics, or permission of the instructor.
Required Text
Making Hard Decisions with Decision Tools Suite, Third Edition, 2014, by Robert T. Clemen and Terence Reilly. ISBN: 9780538797573.
Course Description
This course presents the decision and risk analysis theory and methodology. Decision analysis applies to hard problems involving sequential decisions, major uncertainties, significant outcomes, and complex values. The course includes: decision structuring with influence diagrams and decision trees; modeling uncertainty with subjective probabilities; sensitivity analysis and the value of information; and modeling preferences with utility functions. Decision and risk analysis applications in business and government are considered.
Software
DecisionTools Suite Industrial, Textbook Edition. Available from the textbook student companion site at cengagebrain.com.
Grading Policy
Activity | Due | % of Grade |
---|---|---|
Class participation | ongoing | 30 |
Homework | ongoing | 20 |
Midterm exam | take-home | 20 |
Final project | take-home | 30 |
The homework and cases will not be graded for correctness, just completion.
You will be graded on your participation in class. For each homework problem students will be called upon to discuss their solution, so you must be prepared! The rest of the class should be involved in the discussion. Not having completed the problem is not a problem, but you should have a good explanation of what you found difficult and what stopped you from finishing the problem. Not having the correct answer is not a problem, the aim is to learn at this stage. You should each bring a flash drive to class with your spreadsheet solutions or have the solutions available for download from the web to show to the rest of the class.
The mid-term exam and final project will be take-home.
You will have to hand in a write up of your solutions in hard copy and email your solution files, such as Palisade models and/or spreadsheets. The final project will be a decision analysis solution of a real decision you are trying to make.
Course Objectives
Each student should
- Understand the concepts of decision analysis and Bayesian statistics and their application to real world problems
- Be able to structure the decisions, uncertainties and values of a decision maker
- Identify and formulate decision opportunities
- Clearly and concisely present the insights obtained from the analysis
Last updated: Spring 2015
OPER/STAT 649
Instructor
Yanjun Qian, Ph.D.
Prerequisite(s)
- Linear Algebra or Matrix Algebra (MATH 310, or equivalent)
- Knowledge on hypothesis test and linear regression (STAT 310, or equivalent)
Required Text
None. Class notes will be posted on the course website.
Software
We will use in this class so we can look at real data—not all calculations can be done by hand. Software I recommend: Excel, MATLAB, R, SAS and Minitab. I will demonstrate examples in class with MATLAB or R.
Grading Policy
- In-class quizzes (5-6): 10%
- In-class exams (4): 80%
- Course project: 10%
All assessment grades will count towards the final course grade.
Grading Scale
- 90 – 100: A
- 80 – 89.99: B
- 70 – 79.99: C
- 60 – 69.99: D
- 0 – 59.99: F
Topics
- Statistical background: confidence intervals and hypothesis tests
- Shewhart control chart: method and evaluation using ARL
- Control charts with memory: CUSUM and EWMA
- Control charts for attribute data
- Univariate analysis: risk adjustments
- Multivariate statistics
- Hotelling T2 charts
- Multivariate CUMSUM and EWMA
- Handling the high-dimension data
- Multivariate control charts for attribute data
- Time-space cluster detection: spatial-temporal scan statistics (optional)
Exams
There will be four in-class exams. Absolutely no make-up exams will be allowed unless a university-approved excuse is provided. Whenever possible, excuses should be provided at least two weeks in advance. More information will be provided about the exams later in the course.
All tests will be closed notes and closed book. I do not expect you to memorize formulas for this course; so, a 1-page formula sheet will be permitted during the tests.
Homework
Homework will be assigned periodically but may not be collected for grading. Popup quizzes related to homework questions will be assigned during the class and graded.
Guidelines
- Attend all classes and arrive at class on time. If you miss class, you are responsible for any material covered in class that you missed, including information not included in your textbook. Please talk with me if something prevents you from arriving to class on time.
- Regularly check your email and Canvas (at least every other day) for announcements.
- Readings should be completed before class.
- While I check my own email frequently during the week and at least once on weekends, a situation may arise where this is not possible. Do not wait until the last day before an assignment is due to contact me if you have questions!
- I value integrity. Cheating in any form will not be tolerated. The documented policies of the department, college, and university related to academic integrity will be enforced. Any violation of these regulations, including acts of plagiarism or cheating, will be dealt with according to those policies.
- The course syllabus is a general plan for the course; deviations announced to the class by the instructor may be necessary.
Last updated: Spring 2019
OPER 732
Instructor
Yongjia Song, Ph.D.
Course Objectives and Prerequisite(s)
This course will address basic models and algorithms for stochastic programming (optimization). Stochastic programming is a popular optimization tool that integrates statistics and operations research. Students are expected to have certain math background: basic calculus, basic linear algebra and some mathematical analysis ability. Basic knowledge in optimization: linear programming, mathematical modeling. Basic knowledge in statistics: basic probability, statistical tests. Basic knowledge in a general purpose programming language is preferred, but not required. After the course, students are expected to understand and apply stochastic optimization tools:
- How to create a stochastic programming model using the given information (data, probability distribution, decision makers' risk tolerance, etc.)
- How to solve the stochastic programming model using optimization solvers (e.g., through Julia)
- How to perform statistical analysis on solutions of stochastic programs
Required Texts
- Introduction to Stochastic Programming, 2nd edition, by J. Birge and F. Louveaux
- Robust optimization, by A. BenTal et. al.
Software
Julia and its JuMP package (Julia for Mathematical Programming)
- We will be using JuliaBox, an online platform for writing, running, and displaying Julia scripts. You can essentially use all functionality of Julia inside your internet explorer such as Google Chrome. The only thing you need is internet.
- If you want, you can also download Julia from juliaopt.org and install it on your own computer. You can also write and run Julia locally on your computer.
More information about JuliaOpt:
- There are many online tutorial videos and courses on Julia. Here is a collection of introduction videos of Julia on Youtube.
- Pros: Simple interface with state-of-the-art FREE optimization software and solvers; maintained by a group of excellent researchers from MIT.
- Cons: Julia is a new language; JuliaOpt is very dynamic and needs updates frequently.
Grading Policy
The grade is distributed into the following sections:
- Homework: 30%
- Mid-term: 30%
- Course Project: 30%
- Participation: 10%
Mid-term exam focuses on the first two parts of the course material. No makeup exams will be given unless a university-approved excuse is provided. When possible, excuses should be provided at least ten days prior to the exam. Students will work in groups on the selected course projects. Project presentations will be arranged in the last one or two weeks of class. Project reports will be due on the last day of the finals week.
The tentative grading scale:
- A: 90-100
- B: 80-89
- C: 70-79
- D: 60-69
- F: 0-59
Topics/Schedule
- Part 1: Modeling uncertainty in optimization: stochastic programs and robust optimization
- Part 2: Solution methods for:
- Robust optimization
- Two-stage stochastic programs with recourse and two-stage robust optimization
- Multi-stage stochastic programs and multi-stage robust optimization
- Risk averse and chance-constrained programs
- Part 3: Sampling methods in stochastic programs
- Part 4: Data-driven stochastic programs
Assignments
This course has approximately five or six assignments in total. Some of them require a minimum amount of coding in a basic modeling language.
- All assignments are due when class begins on the assigned due date.
- You have FIVE "free" days for delayed assignment submission. After that, 20% of the grade will be taken off for each day delayed.
- No assignments will be accepted if more than five days overdue.
Last updated: Fall 2017
OPER 743
Instructor
Jason Merrick, Ph.D.
Prerequisite(s)
Either one or both of:
- OPER 643 Decision and Risk Analysis
- OPER 647 Multi-objective Decision Analysis
Required Text
Prospect Theory: For Risk and Ambiguity, Peter Wakker, Cambridge University Press, 2010.
Conduct in Class
You will be graded on your participation in class. Good participation involves:
- Being prepared with a recommendation and supporting arguments
- Asking clarifying questions that articulate any confusion you might be experiencing
- Pursuing lines of inquiry that enhance the learning process by challenging assumptions and ideas constructively
- Engaging in the learning process of others even after you think you understand
- Helping to find ways to move the discussion forward especially when the class is struggling
In short, contributing to the learning process of the section.
Good participation is not about:
- Being right
- Defending your position at all cost
- Making yourself look “smart” or causing someone else to feel “stupid”
- Sitting back passively after you understand something
In short, damaging the learning climate of the class.
Cell phones and beepers should be turned off while in the classroom. University Rules and Procedures prohibit anyone "to have in his possession any firearm, other weapon, or explosive, regardless of whether a license to possess the same has been issued, without the written authorization of the President of the university...".
Grading Policy
- Homework 20%
- Class participation 30%
- Mid-term exam 20%
- Term Paper 30%
Each week, some problems will be assigned for homework and discussion in the next class. For each class discussion problem, a student will be called upon to discuss his or her solution, so you must be prepared! Even when not specifically called upon, you are expected to be involved in the discussion. If you are obviously not prepared, you will get zero for that homework. If you have tried, even if the question is not complete, you will get full marks for that homework. The term paper will be an in-depth literature review on an area of decision analysis research that you choose and I approve. It will be due at the end of the semester.
Last updated: Spring 2015