Math 560: Optimization

Prof. Andrew Ross

Fall Semester 2018

Basic Information

Note: this syllabus is temporary, and may change up to the first day of class.
This version posted on: 2018-09-04

The official course title is "Introduction to Optimization Theory". However, we will try to split our time evenly between applications/modeling, theory, and methods.

Mathematical optimization is the science of finding the best (e.g. lowest cost) solution to a problem. Often, we also try to prove that it is the best, or that it is within some small percentage of the best solution. Some common examples are:

Since you have had the prerequisite courses, you are familiar with finding the minimum or maximum of a function using derivatives (like in first-semester calculus), and finding the minimum or maximum of a function of two or three variables (like in third-semester calculus). In this course, we will be working with thousands of variables--real applications can use millions of variables. Of course, we don't solve problems like that by hand. In our course, we will learn the methods people have developed for computers to solve such large problems.

Official Course Catalog Entry

An introduction to various aspects of optimization theory, including linear and nonlinear programming, primal dual methods, calculus of variations, optimal control theory, sensitivity analysis and numerical methods.

Prerequisites

Completion of courses in elementary linear algebra/matrix algebra and multivariable calculus is assumed.
Some experience using Excel, and Python, Mathematica, Maple, or Matlab/Octave/SciLab will also be very helpful, but it is not strictly a prerequisite.

Follow-up courses: Math 436 Numerical Analysis, Math 419W/519 Stochastic Math Models, various statistics classes.

Related courses:

  • Convex Optimization lecture videos from Stanford

    Class Meetings

    CRN 16378: Tue, Thu 5:30pm-6:45pm in Pray-Harrold 321
    3 credit hours.

    Class meetings will be mostly interactive lectures and computer lab work, with some time to discuss homework.

    Instructor information

    Professor Andrew Ross
    Pray-Harrold 515m
    andrew.ross@emich.edu
    http://people.emich.edu/aross15/
    (734) 487-1658, but I strongly prefer e-mail instead of phone contact.
    Math department main office: Pray-Harrold 515, (734) 487-1444

    Office Hours and other help

    Here is my complete schedule.
    Mon/Wed:
    	1:00-2:00 office hours
    	2:00-2:50 Math 120, PH 304
    	3:00-4:00 office hours
    	4:00-5:15 grant stuff, PH 324
    Tue/Thu:
    	11:00-12:00 meeting
    	1:00-2:00 office hours
    	2:00-2:50 Math 120, PH 304
    	3:00-4:00 office hours
    	4:00 Thu: meeting
    	4:45-5:30 office hours
    	5:30-6:45 Math 560, PH 321
    Fri:
    	no schedule--I'm often on campus, though.
    	I have various meetings to go to.
    	Send e-mail to make an appointment.
    

    I am also happy to make appointments if you cannot come to the general office hours. Please send me e-mail to arrange an appointment.

    Many assignments in this course will be in the form of papers, which I want to be well written. Please consult with The Writing Center for help in tuning up your writing.

    Required materials

    We will be using pieces from the following textbooks, which are ELECTRONICALLY FREELY AVAILABLE to EMU students through our campus library:

    Other suggested (not required) textbooks are "Operations Research: Applications and Algorithms (4th revised edition)" by Wayne Winston (2004), and "Introduction to Operations Research, 10th edition" by Hillier and Lieberman. These are more undergraduate-level texts, which provide a gentler introduction to the subject but can get stuck in by-hand calculations. The high cost is why they are suggested but not required.

    We will also be using software. At least one of the following, and possibly more, is required:

    As of Fall 2016, brand-name Microsoft Excel is available free to EMU students. Ask me for details.

    Course Web Page

    We will use the EMU Canvas system. You are expected to keep an eye on your scores using the system, and get extra help if your scores indicate the need.

    Supplementary Materials

    Here are some handy web sites: Here are some other optimization books: Other books related to optimization, but not really our main focus: Books on Optimization Models:

    Blogs

    Here are some of the blogs that relate to our class:

    Course Content

    Course Goals

    Our primary goal is to teach you to be a good (or great!) optimizer. To be a good optimizer, you need:

    Our department list of Student Learning Outcomes for Math 560 is:

    Upon successfully completing MATH 560 Introduction to Optimization Theory, students will be able to
    
    Recognize the assumptions that are made in developing a model and how to modify the assumptions to refine the model
    Do a project, roughly on the scale of COMAP's Mathematical Contest in Modeling (MCM), and communicate its results
    Formulate common Linear, Integer, and Nonlinear programs in software and symbolically
    Explain basic solution methods for Linear, Integer, and Nonlinear Programs, including speed considerations
    Explain the role of convexity in Nonlinear Programs
    Explain meta-heuristics such as Evolutionary methods and Simulated Annealing
    Explain duality and sensitivity analysis for LPs and NLPs
    Explain other optimization topics such as Constraint Programming, Stochastic Programming, Robust Programming, Dynamic Programming, Calculus of Variations, and Optimal Control
    
    Here is an idealized, pie-in-the-sky list of more detailed Student Learning Outcomes for this course: Students will be able to:
    1. Formulate common LPs in software and symbolically
    2. Formulate common IPs in software and symbolically
    3. Explain branch-and-bound for IPs; tight formulations, symmetry-breaking; branch-and-cut
    4. Explain classic unconstrained NLP solution methods: line search, Steepest Descent, Newton, Quasi-Newton
    5. Explain the roles of convexity in NLPs
    6. Explain meta-heuristics: Evolutionary, Simulated Annealing, and perhaps others
    7. Explain other optimization topics: Constraint Programming, Stochastic Programming, Robust Programming, Dynamic Programming, Calculus of Variations, Optimal Control
    8. Explain the Fundamental Theorem of LP
    9. Explain the Simplex Method
    10. Explain duality and sensitivity analysis for LPs; column generation
    11. Explain Lagrange Multipliers/the KKT conditions and sensitivity analysis for constrained NLPs
    12. Explain constrained NLP solution methods
    13. Explain interior-point methods for LP
    14. Consider factors affecting speed of unconstrained NLP solution: Conditioning, use of derivatives, algorithm convergence order/rate, etc.
    15. Take an optimization project from initial concept to formulation(s) and solution(s) including algorithmic concerns, and report/presentation.
    and we will take them in that order, mostly.

    Outline/schedule

    Many classes in optimization theory start with linear problems and solution methods, then proceed to nonlinear problems, because linear problems and solution methods are simpler. Other classes start with nonlinear, because then linear is just a special case. We will start with mostly nonlinear problems and solution methods because then you will have a wide base of ideas to do the first (mid-semester) project.
    Block#	Date 2018	Day	Unit	Topics	Bonus Tech before class	HW assigned	HW due	Relevant Reading
    1	9/6	Thu	modeling	Intro; Syllabus (incl. downloading Luenberger); Overview of OR/IE; example LP; curve-fitting&Machine Learning; knapsack		hw00		"MIT15_053S13_tut03_solver.pdf and 
    first 1.5 pages of ited0006-fin-excel-solver-notes"
    2	9/11	Tue	software; LP theory	sumproduct; Solver Intro; geometry of LP	text-to-columns	hw01linalg	hw00	
    3	9/13	Thu	LP theory; modeling	geometry of LP; Fundamental Theorem; MCNF; other networks	left/mid/right and =DATE	hw02-LP-formulating	hw01linalg	
    4	9/18	Tue	modeling	MCNF node-node; other graph problems; knapsack; rounding; building roads	vlookup			Dance of the 30-Ton Trucks
    5	9/20	Thu	IP theory	Solving IPs: branch-and-bound	marked scatterplots	hw03-IP	hw02-LP-formulating	Detecting Orbitopal Symmetries
    6	9/25	Tue	IP theory; modeling	cutting planes; set/subscript notation; symmetry	sparklines	hw04-modeling-language-formulations		m319-m560-opensolver-log-school-closings
    7	9/27	Thu	NLP	Intro to NLP: manufacturing vs electricity; contours in Matlab; regression contours	Pivot Tables			
    8	10/2	Tue	NLP	multivariate quadratics; solving unconstrained NLPs	parallel axis plots	hw05-contours-gradients	hw03-IP	
    9	10/4	Thu	NLP	gradient practice; numerical diff; Taylor series; Newton's	Fourier!			fylstra-lasdon-watson-waren-1998-Design and Use of the Microsoft Excel Solver
    10	10/9	Tue	modeling	catch-up day? Logistic regression; Ridge and LASSO regression; Compressive Sensing				
    11	10/11	Thu	NLP/ modeling	heuristic methods: Sim.Anneal. in Excel; Genetic Alg. in Excel; Genetic Alg. in Python(?)	generating random numbers		hw05-contours-gradients	
    12	10/16	Tue	modeling	Constraint Programming; Stochastic Programming; Robust programming	SQL			"goh-sim-2011-robust-optimization-with-ROME.pdf
    "
    13	10/18	Thu	NLP	more Newton; Eigens; PSD and convexity		proposal 1		Discovering Characteristics of Math Programs by Chinneck
    14	10/23	Tue	NLP	Lp norms; PSD and convexity; convex sets; empirical convexity				
    15	10/25	Thu	NLP	quasi-convex; contours and convexity			proposal 1	
    16	10/30	Tue	NLP	Line Search	Pasting into Word/PPT: live or dead copies?	hw06-unconstrained-NLP		
    17	11/1	Thu	NLP	quasi-Newton intro; CG; Coordinate Descent; heavy-ball; stochastic gradient; Nelder-Mead "simplex"; 		report1, presentation1		Heavy-ball with friction
    18	11/6	Tue	LP theory	Solving LPs				Kangaroos and Training Neural Networks
    19	11/8	Thu	presentations	Presentation 1			report 1; presentation 1	http://ruder.io/optimizing-gradient-descent/
    20	11/13	Tue	LP theory	Solving LPs			hw06-unconstrained-NLP	
    21	11/15	Thu	LP theory	Solving LPs		read "Sensible Rules" after class		04degeneracy_upper_bounds
    22	11/20	Tue	LP theory	Duality (Sensible Rules)			finish reading "Sensible Rules" before class	
    23	11/22	Thu		Thanksgiving break		proposal2		
    24	11/27	Tue	LP theory	Dual Simplex; Complementary Slackness; Phase 1; Totally Unimodular; Lagrangian Relaxation		hw07-shadow		ited0006-fin-excel-solver-notes
    25	11/29	Thu	NLP	Necessary Conditions for Optimality; Projected&Reduced Gradient		report1, presentation1	proposal2	
    26	12/4	Tue	NLP	Lagrange multipliers and Lagrangian		hw08-lagrangian	hw07-shadow	storoy-2007-transportation-paradox
    27	12/6	Thu	NLP	Convexity and Solution Location; NLP penalty methods		hw99	hw08-lagrangian	
    28	12/11	Tue	NLP	Interior Point; convergence rates; condition number; Dynamic Programming		hw999 (many formulation problems)	hw99	"lesaja-2009-introducing-interior-point.pdf 
    and 
    slides-Terlaky.pdf 
    and 
    wright-2004-interior-point 
    and 
    barrier.pdf"
    29	12/13	Thu		no class--other classes having final exams			hw999	
    	12/18	Tue	presentations	"final exam" slot (usual class time): presentations			report 2; presentation 2	
    
    

    Grading Policies

    Attendance

    Regular attendance is strongly recommended. There will be material presented in class that is not in the textbook(s), yet will be very useful. Similarly, there are things in the textbook(s) that are might not be covered in class, but are still very useful. If you must miss a class, arrange to get a copy of the notes from someone, and arrange for someone to ask your questions for you.

    My lectures and discussions mostly use the document camera, along with demonstrations in Excel and other mathematical software. I do not usually have PowerPoint-like presentations, and thus cannot hand out copies of slides.

    Homework

    Homework will be assigned about once a week. All homework should be typed unless notified otherwise.

    Homework papers should be submitted on-line via EMU Canvas unless otherwise noted in the assignment.

    Exams

    There will be no exams, unless the class demonstrates an unwillingness to be motivated any other way.

    Project(s)

    Instead of exams, we will have two projects. Your results for each will reported in a paper and a presentation to the class. You may work by yourself or in a team of 2 people, but no groups larger than 2 will be allowed. You may switch project partners at your will. Your project grades will each be split into roughly: 10 percent for the project proposal (due 2 weeks before the project), 80 percent for the written paper and actual work, and 10 percent for the presentation (subject to change). The presentations for the second project will be made during the time slot reserved for the final exam.

    Overall Grades

    There is no systematic system for dropping scores like "the lowest 2 homeworks". In the unfortunate event of a need, the appropriate grade or grades may be dropped entirely (at the professor's discretion), rather than giving a make-up. You are highly encouraged to still complete the relevant assignments and consult with me during office hours to ensure you know the material.

    Your final score will be computed as follows: Once final scores are computed, a curve will be applied.

    General Caveat

    The instructor reserves the right to make changes to this syllabus throughout the semester. Notification will be given in class or by e-mail or both. If you miss class, it is your responsibility to find out about syllabus and schedule changes, especially the due dates and times of projects, assignments, or presentations.

    Advice from previous students

    Last time I taught the course, I asked my students to give advice to you, future students, based on their experiences in my course. Here are some of the highlights:

    UNIVERSITY COURSE POLICIES, EXPECTATIONS, AND STUDENT RESOURCES

    Resources

    https://www.emich.edu/studenthandbook/campus-resources/index.php In particular, I encourage you to use Swoop's Food Pantry if you need it, or donate/volunteer if you are able to. In addition to the articulated course specific policies and expectations, students are responsible for understanding all applicable University guidelines, policies, and procedures. The EMU Student Handbook is the primary resource provided to students to ensure that they have access to all university policies, support resources, and student's rights and responsibilities. Changes may be made to the EMU Student Handbook whenever necessary, and shall be effective immediately, and/or as of the date on which a policy is formally adopted, and/or on the date specified in the amendment. Please note: Electing not to access the link provided below does not absolve a student of responsibility. For questions about any university policy, procedure, practice, or resource, please contact the Office of the Ombuds: 248 Student Center, 734.487.0074, emu_ombuds@emich.edu, or visit the website: www.emich.edu/ombuds .

    University Course Policies: https://www.emich.edu/studenthandbook/policies/academic.php

    Student Handbook Link: https://www.emich.edu/studenthandbook/index.php

    Graduate School Policies: http://www.emich.edu/graduate/policies/index.php

    University Writing Center

    The University Writing Center (115 Halle Library; 487-0694) offers one-to-one writing consulting for both undergraduate and graduate students. Hours are 10 a.m. to 6 p.m. Mondays through Thursdays and 11 a.m. to 4 p.m. Fridays. The UWC opens Monday, September 10, and closes Thursday, December 13. The UWC also has several college and program satellite locations across campus. The locations and hours for the other satellites can be found on the UWC web site: http://www.emich.edu/ccw/writing-center/contact.php Students seeking writing support at any UWC location should bring a draft of their writing (along with any relevant instructions or rubrics) to work on during the consultation.