$\newcommand{\eps}{\varepsilon} \newcommand{\kron}{\otimes} \DeclareMathOperator{\diag}{diag} \DeclareMathOperator{\trace}{trace} \DeclareMathOperator{\rank}{rank} \DeclareMathOperator*{\minimize}{minimize} \DeclareMathOperator*{\maximize}{maximize} \DeclareMathOperator{\subjectto}{subject to} \newcommand{\mat}[1]{\boldsymbol{#1}} \renewcommand{\vec}[1]{\boldsymbol{\mathrm{#1}}} \newcommand{\vecalt}[1]{\boldsymbol{#1}} \newcommand{\conj}[1]{\overline{#1}} \newcommand{\normof}[1]{\|#1\|} \newcommand{\onormof}[2]{\|#1\|_{#2}} \newcommand{\MIN}[2]{\begin{array}{ll} \minimize_{#1} & {#2} \end{array}} \newcommand{\MINone}[3]{\begin{array}{ll} \minimize_{#1} & {#2} \\ \subjectto & {#3} \end{array}} \newcommand{\MINthree}[5]{\begin{array}{ll} \minimize_{#1} & {#2} \\ \subjectto & {#3} \\ & {#4} \\ & {#5} \end{array}} \newcommand{\MAX}[2]{\begin{array}{ll} \maximize_{#1} & {#2} \end{array}} \newcommand{\MAXone}[3]{\begin{array}{ll} \maximize_{#1} & {#2} \\ \subjectto & {#3} \end{array}} \newcommand{\itr}[2]{#1^{(#2)}} \newcommand{\itn}[1]{^{(#1)}} \newcommand{\prob}{\mathbb{P}} \newcommand{\probof}[1]{\prob\left\{ #1 \right\}} \newcommand{\pmat}[1]{\begin{pmatrix} #1 \end{pmatrix}} \newcommand{\bmat}[1]{\begin{bmatrix} #1 \end{bmatrix}} \newcommand{\spmat}[1]{\left(\begin{smallmatrix} #1 \end{smallmatrix}\right)} \newcommand{\sbmat}[1]{\left[\begin{smallmatrix} #1 \end{smallmatrix}\right]} \newcommand{\RR}{\mathbb{R}} \newcommand{\CC}{\mathbb{C}} \newcommand{\eye}{\mat{I}} \newcommand{\mA}{\mat{A}} \newcommand{\mB}{\mat{B}} \newcommand{\mC}{\mat{C}} \newcommand{\mD}{\mat{D}} \newcommand{\mE}{\mat{E}} \newcommand{\mF}{\mat{F}} \newcommand{\mG}{\mat{G}} \newcommand{\mH}{\mat{H}} \newcommand{\mI}{\mat{I}} \newcommand{\mJ}{\mat{J}} \newcommand{\mK}{\mat{K}} \newcommand{\mL}{\mat{L}} \newcommand{\mM}{\mat{M}} \newcommand{\mN}{\mat{N}} \newcommand{\mO}{\mat{O}} \newcommand{\mP}{\mat{P}} \newcommand{\mQ}{\mat{Q}} \newcommand{\mR}{\mat{R}} \newcommand{\mS}{\mat{S}} \newcommand{\mT}{\mat{T}} \newcommand{\mU}{\mat{U}} \newcommand{\mV}{\mat{V}} \newcommand{\mW}{\mat{W}} \newcommand{\mX}{\mat{X}} \newcommand{\mY}{\mat{Y}} \newcommand{\mZ}{\mat{Z}} \newcommand{\mLambda}{\mat{\Lambda}} \newcommand{\mPbar}{\bar{\mP}} \newcommand{\ones}{\vec{e}} \newcommand{\va}{\vec{a}} \newcommand{\vb}{\vec{b}} \newcommand{\vc}{\vec{c}} \newcommand{\vd}{\vec{d}} \newcommand{\ve}{\vec{e}} \newcommand{\vf}{\vec{f}} \newcommand{\vg}{\vec{g}} \newcommand{\vh}{\vec{h}} \newcommand{\vi}{\vec{i}} \newcommand{\vj}{\vec{j}} \newcommand{\vk}{\vec{k}} \newcommand{\vl}{\vec{l}} \newcommand{\vm}{\vec{l}} \newcommand{\vn}{\vec{n}} \newcommand{\vo}{\vec{o}} \newcommand{\vp}{\vec{p}} \newcommand{\vq}{\vec{q}} \newcommand{\vr}{\vec{r}} \newcommand{\vs}{\vec{s}} \newcommand{\vt}{\vec{t}} \newcommand{\vu}{\vec{u}} \newcommand{\vv}{\vec{v}} \newcommand{\vw}{\vec{w}} \newcommand{\vx}{\vec{x}} \newcommand{\vy}{\vec{y}} \newcommand{\vz}{\vec{z}} \newcommand{\vpi}{\vecalt{\pi}} \newcommand{\vlambda}{\vecalt{\lambda}}$

# CS 52000 Syllabus

## Course information

Spring 2017
TTh 1:30-2:45
LWSN B134
http://www.cs.purdue.edu/homes/dgleich/cs520-2017

## Instructor

David F. Gleich
Lawson 1207
dgleich@purdue.edu
http://www.cs.purdue.edu/homes/dgleich

### Office hours

Thursday from 3-4pm in Lawson 1207.

## Teaching Assistant

Yongyang Yu
yu163@purdue.edu

### Office hours

Friday from 3-4pm.

## Piazza

We will use Piazza for homework questions and discussions. https://piazza.com/class/ixkieoaba521et

## Description

This course is a introduction to optimization for graduate students in any computational field.
It will cover many of the fundamentals of optimization and is a good course to prepare those who wish to use optimization in their research and those who wish to become optimizers by developing new algorithms and theory. Selected topics include:

• Newton, quasi-Newton, and trust region methods for unconstrained problems
• Linear programming
• Constrained least squares problems
• Convex optimization

## Prerequisites

This class is a graduate lecture class. Students should have taken a graduate level numerical linear algebra or matrix analysis class that covers: QR factorizations, the singular value decomposition, null-spaces, and eigenvalues. David will assume you know this stuff, or can learn it yourself, if you take this class. He will also assume an undergraduate level understanding of mathematical analysis, i.e. limits, convergence sequences, sub-sequences. Multi-dimensional Taylor series will also play a large role in the class.

## Goals and objectives

Optimization is an incredibly rich and deep field. This graduate class only scratches the surface to show how to use optimization to solve problems, and peeks at the details of how optimization algorithms work.

When we reach the end of the class, you, the student, will:

• Understand why optimization is so hard.
• Learn to convert written descriptions into optimization problems.
• Learn to solve optimization problems using black-box software.
• Understand many of the fundmental optimization algorithms, such as quasi-newton methods and linear programming.
• Learn about constrained optimization.
• Understand why convex optimization is an important modern development

## Requirements

The formal requirements and percentage of the total course grade are:

• In-class quizzes -- 5%
• Homeworks -- 40%
• Midterm -- 25%
• Final project -- 30%

### Quizzes

These will be worth 5% of the total grade and are graded as taken/missed. Students can miss up to 5 quizzes with no penalty. Make sure you contact the instructor (David) if you anticipate missing more than 5 quizzes due to any absenses as there may be some accomodation in special circumstances. Note that this is an all-or-nothing grade.

## References

The required text book is:

Numerical Optimization. Jorge Nocedal and Stephen J. Wright. 2nd edition. Springer, 2006. Available online! doi:10.1007/978-0-387-40065-5

I also highly recommend

Linear and Nonlinear Optimization. Igor Griva, Stephen G. Nash, Ariela Sofer SIAM, 2009.

See also the reading list online for additional references.

## Policies

### Conduct and Courtesy

Students are expected to maintain a professional and respectful classroom environment. In particular, this includes:

• silencing personal electronics
• arriving on time and remaining throughout the class
• do not insult or deride others for any reason (even in jest)
• be on time for class
• please leave class promptly and wait to ask me questions in the hall, unless they pertain to material on the blackboard.

You may use any non-disruptive personal electronics during class. One exception is during in-class quizzes and midterms, for which personal electronics are prohibited.

### Annoucements

There will be announcements relevant to the course made through the ITaP course email list. This will send an email message to your purdue email address and you are expected to check this account for information related to the class. We will verify that everyone in the class is receiving these messages early on.

### Correspondence

The best way to correspond in this class is to post a note on Piazza.

Please feel free to email me with any questions, but please prefix all email titles with the string CS-52000: to aid in filtering email. Also, consider using a private note on Piazza instead.

I will make every effort to respond promptly, however, replies could be delayed due to circumstances outside of my control. In particular, do not rely on a response between the hours of 8pm and 8am.

Please do not attempt to call, google chat, skype, facebook, or tweet with me without prior arrangement.

### Assignment clarity

I expect all assignments to be legible and well-written.
Mathematical derivations alone are insufficient and you must explain your reasoning in sentences. For this, I will suggest using a computer with LaTeX to prepare all submitted materials.

If you do not plan to use a computer and LaTeX to prepare solutions to homeworks, you must let me know.

Also, using LaTeX can increase the temptation to share answers. All LaTeX must be written individually.

### Missing or late work

We adopted Policy 2.

• (Guidance) Homeworks will be posted by Monday night.
• Homeworks will be due by Friday at 5pm.
• Everyone gets an extension until Monday at 5pm with no penalty.
• After Monday at 5pm, Homeworks will be late.
• A late homework must be submitted to a different location on blackboard to track the number of late days used.
• Everyone gets one free extension day. (But this goes into effect immediately after a late homework.)
• A second extension day costs 10 points
• A third extension day costs 25 points
• A fourth extension day costs 50 points

This policy does not apply on a per-homework basis but on a per-course basis. That is, if you turn in Homework 1 about 5 minutes after the deadline, then you have used your 1 free day. If you then turn in homework 2 about 5 minutes after the deadline, you will lose 10 points (because you have used two extension days, one for HW 1 and one for HW2). If you then turn in homework 3 about 5 minutes after the deadline, you will lose 25 points. If you then turn in homework 4 about 5 minutes after the deadline, you will lose 50 points! (That's almost the value of a homework.)

Note that under this policy, there will be no extensions given for common scenarios including interviews, conferences, minor illnesses, etc.
(There may be extensions for any of the reasons discussed below including grief, etc.) You are expected to manage your time.

Previous text on policies

In the first week of class, we will decide the late work policy. By default, policy 3 is in place.

Why do we have to have a late work policy?

• In order to discuss solutions in class.
• In order to return graded homework.
• So that class can run smoothly for everyone who is taking it.

Policy 3: (My preference) Except as discussed below, and or by prior arrangement, missing or late work will be counted as a zero.

Policy 1 (Flexible, communicative, and ambiguous policy):

• Homeworks can be turned in within a reasonable time-span of the deadline.
• If you expect that is impossible, you are responsible for setting a new reasonable deadline (e.g. I'm leaving on an interview, I will get it in...), which will be the new deadline. We have the right to overrule any such deadline if if it is unreasonable in our view.
• 6 hours would probably always be reasonable (except, perhaps, before an exam.)
• 12 hours is getting a little unreasonable.
• You will be required to agree that the professor and TAs judgement of reasonable is final and will not be negociated.

Policy 2 (Reasonably extended deadlines, prescribed penalty):

• (e.g. All homeworks will be due ~5am Monday.)
• Everyone gets one free extension day. (But this goes into effect immediately after a late homework.)
• A second extension day costs 10 points
• A third extension day costs 25 points
• A fourth extension day costs 50 points

This policy does not apply on a per-homework basis but on a per-course basis. That is, if you turn in Homework 1 about 5 minutes after the deadline, then you have used your 1 free day. If you then turn in homework 2 about 5 minutes after the deadline, you will lose 10 points. If you then turn in homework 3 about 5 minutes after the deadline, you will lose 25 points. If you then turn in homework 4 about 5 minutes after the deadline, you will lose 50 points! (That's almost the value of a homework.)

Note that under this policy, there will be no extensions given for common scenarios including interviews, conferences, etc.

### Collaboration

Collaboration on homework is allowed. The final assignments must contain a list of all collaborators. However, students must prepare solutions individually. As an example of the ideal scenario, the following situation is permissible:

A group of students meets to develop the solution to a problem on a white board. Each student records individual notes from this problem solving meeting. All students then prepare solutions individually and without further collaboration. These solutions list the names of all members in the initial group.

The final assignments must contain a list of all collaborators, regardless of if they are in the class or not. Failure to list collaborators will result in a zero on any homework, you must write I did not collaborate with anyone on this homework'' if you worked on the homework entirely alone.

Examples of collaborations that are not allowed include, but are not limited to:

• Sharing pieces of any written solution
• Sharing source code or any other computer programs
• Reviewing final written solutions

Collaboration on the project is not encouraged, but students (you!) should feel free to make a case if you think it's a good idea.
Be prepared to justify why collaboration will result in a better project.

### Computer codes

The assignments will involve producing computer codes. These need to be documented and written in accordance with best software engineering practices. Failure to follow this advice may result in solutions receiving zero points. Moreover, these should be prepared individually. Groups may discuss implementation strategies, algorithms, and approaches; but codes, like written homework solutions, must be prepared separately.

Debugging

What to do about debugging? That's right, you've gotten the ideas down. You think you have the algorithm right, you coded it. And yet, it still doesn't work. But you can't ask a friend because you can't share code, right? Here is what you should do. Spend 30 minutes working with that code to try and make it work. Write down what you did. If, after that, it still doesn't work. Then spend 15 minutes explaining what your problem is to a friend without looking at the code.

### Grading

The anticipated grade ranges are:

• A -- 85-100%
• B -- 65-85%
• C -- 50-65%
• D -- 40-50%
• F -- 0-40%

These may be adjusted downward by up to 10% to achieve a reasonable grade distribution. They also may be minor upward adjustments.

### Academic integrity

Behavior consistent with cheating, copying, and academic dishonesty is not tolerated. Depending on the severity, this may result in a zero score on the assignment or exam, and could result in a failing grade for the class.

Purdue prohibits "dishonesty in connection with any University activity. Cheating, plagiarism, or knowingly furnishing false information to the University are examples of dishonesty." (Part 5, Section III-B-2-a, University Regulations) Furthermore, the University Senate has stipulated that "the commitment of acts of cheating, lying, and deceit in any of their diverse forms (such as the use of substitutes for taking examinations, the use of illegal cribs, plagiarism, and copying during examinations) is dishonest and must not be tolerated. Moreover, knowingly to aid and abet, directly or indirectly, other parties in committing dishonest acts is in itself dishonest." (University Senate Document 72-18, December 15, 1972)

You are expected to read both Purdue's guide to academic integrety and Prof. Gene's Spafford's guide as well. You are responsible for understanding their contents and how it applies to this class.

### Attendance

Students are expected to be present for every meeting of the classes in which they are enrolled. Only the instructor can excuse a student from a course requirement or responsibility. When conflicts or absences can be anticipated, such as for many University sponsored activities and religious observations, the student should inform the instructor of the situation as far in advance as possible. For unanticipated or emergency absences when advance notification to an instructor is not possible, the student should contact the instructor as soon as possible by email, or by contacting the main office that offers the course. When the student is unable to make direct contact with the instructor and is unable to leave word with the instructor's department because of circumstances beyond the student's control, and in cases of bereavement, the student or the student's representative should contact the Office of the Dean of Students.

### Grief Absence Policy

Purdue University recognizes that a time of bereavement is very difficult for a student. The University therefore provides the following rights to students facing the loss of a family member through the Grief Absence Policy for Students (GAPS). GAPS Policy: Students will be excused for funeral leave and given the opportunity to earn equivalent credit and to demonstrate evidence of meeting the learning outcomes for misses assignments or assessments in the event of the death of a member of the student's family.

### Violent Behavior Policy

Purdue University is committed to providing a safe and secure campus environment for members of the university community. Purdue strives to create an educational environment for students and a work environment for employees that promote educational and career goals. Violent Behavior impedes such goals. Therefore, Violent Behavior is prohibited in or on any University Facility or while participating in any university activity.

### Students with Disabilities

Purdue University is required to respond to the needs of the students with disabilities as outlined in both the Rehabilitation Act of 1973 and the Americans with Disabilities Act of 1990 through the provision of auxiliary aids and services that allow a student with a disability to fully access and participate in the programs, services, and activities at Purdue University. If you have a disability that requires special academic accommodation, please make an appointment to speak with me within the first three (3) weeks of the semester in order to discuss any adjustments. It is important that we talk about this at the beginning of the semester. It is the student's responsibility to notify the Disability Resource Center (http://www.purdue.edu/drc) of an impairment/condition that may require accommodations and/or classroom modifications.

### Emergencies

In the event of a major campus emergency, course requirements, deadlines and grading percentages are subject to changes that may be necessitated by a revised semester calendar or other circumstances beyond the instructorâ€™s control. Relevant changes to this course will be posted onto the course website or can be obtained by contacting the instructors or TAs via email. You are expected to read your @purdue.edu email on a frequent basis.

### Emergency Preparedness

Emergency notification procedures are based on a simple concept:

if you hear a alarm inside, proceed outside.
if you hear a siren outside, proceed inside.

Indoor Fire Alarms are mean to stop class or research and immediately evacuate the building. Proceed to your Emergency Assembly Area away from building doors. Remain outside until police, fire, or other emergency response personnel provide additional guidance or tell you it is safe to leave.

All Hazards Outdoor Emergency Warning sirens mean to immediately seek shelter (Shelter in Place) in a safe location within the closest building. "Shelter in place" means seeking immediate shelter inside a building or University residence. This course of action may need to be taken during a tornado, a civil disturbance including a shooting or release of hazardous materials in the outside air. Once safely inside, find out more details about the emergency. Remain in place until police, fire, or other emergency response personnel provide additional guidance or tell you it is safe to leave.

In both cases, you should seek additional clarifying information by all means possible: Purdue Home page, email alert, TV, radio, etc. Review the Purdue Emergency Warning Notification System multi-communication layers at http://www.purdue.edu/ehps/emergency_preparedness/warning-system.html

### Nondiscrimination

Purdue University is committed to maintaining a community which recognizes and values the inherent worth and dignity of every person; fosters tolerance, sensitivity, understanding, and mutual respect among its members; and encourages each individual to strive to reach his or her own potential. In pursuit of its goal of academic excellence, the University seeks to develop and nurture diversity. The University believes that diversity among its many members strengthens the institution, stimulates creativity, promotes the exchange of ideas, and enriches campus life.

Purdue University prohibits discrimination against any member of the University community on the basis of race, religion, color, sex, age, national origin or ancestry, marital status, parental status, sexual orientation, disability, or status as a veteran. The University will conduct its programs, services and activities consistent with applicable federal, state and local laws, regulations and orders and in conformance with the procedures and limitations as set forth in Executive Memorandum No. D-1, which provides specific contractual rights and remedies.

## Schedule

A tentative list of lectures follows. This list may evolve throughout the course. See the web-page for an up-to-date list of lectures, under the "readings" section.

1. Intro (3-4 lectures) -- Intro (1 lec), Sequences (1-2 lec), Opt. Software (1 lec)
2. Basic optimization (8-9 lectures) -- Unconstrainted (3 lec); Equality constraints (3 lec); Lagrange Multipliers and Gradient Descent (3 lec)
3. Linear Programs (5-6 lectures)
4. Line Search Methods (4-6 lectures)
5. Interior Pt. Methods (2 lectures)
6. Newton + Quasi-Newton (3 lectures)
7. Trust region + Nonlinear Equations (3 lectures)
8. Large scale (2 lectures)
9. Derivative free (2-3 lectures)
10. Nonlinear progrmaming (2-3 lectures)
11. Global optimization + stochastic (2-3 lectures)

### Makeup classes

We may need to schedule make-up classes. Students will be expected to attend these classes, and David will make every effort to include everyone.

## Changes

This syllabus is subject to change. Updates will be posted on the course website.

• Initial version: 2017-01-05
• Formalized Policy 2: 2017-01-24