ORF 307: Lecture 1. Linear Programming Chapter 1 Introduction

Similar documents
ORF 522: Lecture 1. Linear Programming: Chapter 1 Introduction

ORF 245 Fundamentals of Statistics Chapter 1 Probability

Lecture 3 Interior Point Methods and Nonlinear Optimization

Local Warming. Robert J. Vanderbei March 17. GERAD, Montréal Canada. rvdb

Local Warming: Climate Change Comes Home

Astronomy 1010: Survey of Astronomy. University of Toledo Department of Physics and Astronomy

CSCI 5654 (Linear Programming, Fall 2013) CSCI 5654: Linear Programming. Notes. Lecture-1. August 29, Notes

DM559/DM545 Linear and Integer Programming. Linear Programming. Marco Chiarandini

Linear Algebra. Instructor: Justin Ryan

Optimization Models and Applications

Wednesday, 10 September 2008

Outline. Wednesday, 10 September Schedule. Welcome to MA211. MA211 : Calculus, Part 1 Lecture 2: Sets and Functions

Linear Programming: Chapter 1 Introduction

Welcome to Physics 161 Elements of Physics Fall 2018, Sept 4. Wim Kloet

IOE510/MATH561/OMS518: Linear Programming I

Unit 1: Functions, Equations, & Graphs

MAT01A1. Appendix E: Sigma Notation

Calculus (Math 1A) Lecture 1

Planning and Optimization

Welcome. to Physics 2135.

Mathematical Description of Light

3. Duality: What is duality? Why does it matter? Sensitivity through duality.

Designing Information Devices and Systems I Spring 2017 Babak Ayazifar, Vladimir Stojanovic Homework 2

Linear Programming: Chapter 5 Duality

ORF 307: Lecture 2. Linear Programming: Chapter 2 Simplex Methods

ORF 307: Lecture 4. Linear Programming: Chapter 3 Degeneracy

Linear Programming Duality

Welcome to Physics 211! General Physics I

DM545 Linear and Integer Programming. The Simplex Method. Marco Chiarandini

Math 1553 Introduction to Linear Algebra. School of Mathematics Georgia Institute of Technology

Physics For Scientists And Engineers Knight

Important Dates. Non-instructional days. No classes. College offices closed.

Announcements - Homework

Course Information Course Overview Study Skills Background Material. Introduction. CS 205A: Mathematical Methods for Robotics, Vision, and Graphics

Course Content (visit for details)

CHEMISTRY 12 MCGRAW HILL RYERSON SOLUTIONS USER MANUAL EBOOK

Measuring the Parallax of Barnard s Star

Designing Information Devices and Systems I Fall 2015 Anant Sahai, Ali Niknejad Homework 2. This homework is due September 14, 2015, at Noon.

ME451 Kinematics and Dynamics of Machine Systems

Econometrics I G (Part I) Fall 2004

MATH 341, Section 001 FALL 2014 Introduction to the Language and Practice of Mathematics


GIS FOR PLANNING. Course Overview. Schedule. Instructor. Prerequisites. Urban Planning 792 Thursday s 5:30-8:10pm SARUP 158

Summary of the simplex method

Designing Information Devices and Systems I Spring 2017 Babak Ayazifar, Vladimir Stojanovic Homework 4

Important Dates. Non-instructional days. No classes. College offices closed.

Pre-Calculus Summer Packet Instructions

Math 354 Summer 2004 Solutions to review problems for Midterm #1

Course Staff. Textbook

Chemistry 883 Computational Quantum Chemistry

Elementary Algebra Basic Operations With Polynomials Worksheet

Designing Information Devices and Systems I Fall 2016 Babak Ayazifar, Vladimir Stojanovic Homework 2

AS 101: The Solar System (Spring 2017) Course Syllabus

Math 389: Advanced Analysis First Lecture

CS 154 Introduction to Automata and Complexity Theory

MATH 137 : Calculus 1 for Honours Mathematics. Online Assignment #2. Introduction to Sequences

Teaching & Testing Mathematics Reading

GG101 Dynamic Earth Fall 2015!

Introduction Introduction. Discrete Mathematics Andrei Bulatov

Lesson 4 Linear Functions and Applications

COMS F18 Homework 3 (due October 29, 2018)

Astro 32 - Galactic and Extragalactic Astrophysics/Spring 2016

Derivatives: definition and computation

Molecular and Cellular Biology

5. LECTURE 5. Objectives

Physics 273 (Fall 2013) (4 Credit Hours) Fundamentals of Physics II

FALL 2018 MATH 4211/6211 Optimization Homework 4

Econ 1123: Section 2. Review. Binary Regressors. Bivariate. Regression. Omitted Variable Bias

Differential Equations

Math/EECS 1028M: Discrete Mathematics for Engineers Winter Suprakash Datta

Physics 351 Wednesday, January 14, 2015

Chemistry 110 General Chemistry, Course Lecture MWF 8:30 am 9:50 am Room NSM C221 Laboratory M or W 1:00 pm 3:50 pm Room NSM B340

Welcome to Math 102 Section 102

Machine Learning. Instructor: Pranjal Awasthi

Assignment 1 Physics/ECE 176

ASTR 4 Solar System Astronom y

II. Analysis of Linear Programming Solutions

February 17, Simplex Method Continued

Welcome to. Session

HONORS LINEAR ALGEBRA (MATH V 2020) SPRING 2013

Methods of Mathematics

course overview 18.06: Linear Algebra

Learning Log Title: CHAPTER 6: SOLVING INEQUALITIES AND EQUATIONS. Date: Lesson: Chapter 6: Solving Inequalities and Equations

Linear Modeling STEM 5

Physics 121, Spring 2008 Mechanics. Physics 121, Spring What are we going to talk about today? Physics 121, Spring Goal of the course.

MORE MOLE CALCULATIONS WORKSHEET ANSWERS

Phys101 Lecture 1-1. Phys101 Lecture 1

An Introduction to Proofs in Mathematics

Objectives. 2.1 Scatterplots. Scatterplots Explanatory and response variables. Interpreting scatterplots Outliers

18.02 Multivariable Calculus Fall 2007

Chemistry 14C: Structure of Organic Molecules - Winter 2017 Version 56

cse303 ELEMENTS OF THE THEORY OF COMPUTATION Professor Anita Wasilewska

Conceptual Physics 11th Edition Answers Ch 7

HUMAN GEOGRAPHY AND CONTEMPORARY SOCIETY Global Patterns and Processes Spring 2009

AS The Astronomical Universe. Prof. Merav Opher - Fall 2013

ADVENTURES IN THE FLIPPED CLASSROOM FOR INTRODUCTORY

Math 200 A and B: Linear Algebra Spring Term 2007 Course Description

B.Sc. in Electronics and Communication Engineering, Cairo University, Cairo, Egypt with Distinction (honors), 1992

Static and Kinetic Friction

6th Grade. Equations & Inequalities.

Transcription:

ORF 307: Lecture 1 Linear Programming Chapter 1 Introduction Robert Vanderbei February 7, 2017 Slides last edited on February 6, 2017 http://www.princeton.edu/ rvdb

Course Info Prereqs: Three semesters of Calculus Co-reqs: Linear Algebra (MAT 202 or MAT 204) Textbook: Linear Programming: Foundations and Extensions, 4th Edition Grading: Homework: 25% Midterm 1: 25% Midterm 2: 25% Final Project: 25% Homework: Midterms: Lectures: Slides: Webpage: Will be due every week at noon on Friday. All homework must be submitted via Blackboard. The lowest homework grade will be dropped. Midterms will be in-class on Thursday of the 6th and 11th weeks. Reading assignments will be posted in advance of each lecture. You should read the reading material before lecture. The slides will be posted online. But, they are not a replacement for the lecture. They are just my notes to remind me what to say. You must go to lecture to hear what I have to say. http://orfe.princeton.edu/~rvdb/307/lectures.html 1

Optimization = Engineering Engineering is the process of taking the discoveries from science... implementing them as practical devices, and then... making them better,... and better,... and better. This is optimization. In this class, we will take a more mathematical approach. We will also use computational tools to solve numerically the practical problems we encounter. 2

Optimization via (Freshman) Calculus Express an objective function to be minimized or maximized in terms of one independent variable. Differentiate with respect to this variable. Set derivative equal to zero. Solve for the independent variable. If in doubt as to whether it s a max, min, or saddle point, take second derivative and look at its sign. If the independent variable is restricted to lying in an interval of the real line, check the endpoints the optimal solution could be there. 3

River Crossing

An Example: River Crossing Suppose you are on one side of a river (at coordinates (a 1, b 1 ) in the figure) and there is a treasure on the shore at the other side (at coordinates (a 2, b 2 )). Worried that someone else might get the treasure before you, you d like to get there as fast as possible in minimum time. Land River θ 2 θ 1 y (a 1,b 1 ) x Land (a 2,b 2 ) Assuming that your running speed is v 1 and and your swimming speed is v 2 and that you choose to reach the river at (x, 0), the time is given by: Derivative is: T (x) = (a1 x) 2 + b 2 1 v 1 + dt dx = 1 a 1 x v 1 (a1 x) 2 + b 2 1 (x a2 ) 2 + b 2 2 v 2 + 1 v 2 x a 2 (x a2 ) 2 + b 2 2 = 0. At this point, the problem is purely algebra; ugly but doable. 5

Solving it on the Computer (using AMPL) # Getting to the treasure fast! param info symbolic, := "File name: river_crossing.txt; Author: R.J. Vanderbei"; display info; param a1; param b1; param a2; param b2; param v1; param v2; var x; minimize time: sqrt((a1-x)^2 + b1^2)/v1 + sqrt((x-a2)^2 + b2^2)/v2; data; param a1 := 60; param b1 := 40; param a2 := -40; param b2 := -50; param v1 := 10; param v2 := 1.5; solve; display x; 6

AMPL Intro Comments: The hashtag symbol (#) starts a comment. Statements: Every statement ends with a semicolon (;). Model Section: The first part of the code defines the problem without necessarily providing any specific data values. Data: Data/parameters are introduced with the param command. Variables: Variables are introduced with the var command. Objective: The objective is to maximize or minimize a function. The function must be given a name followed by a colon (:) followed by a formula that defines the function. Constraints: Constraints are introduced with the subject to command. Each constraint must be given a name followed by a colon (:) followed by the equality or inequality that defines the constraint. Data Section: The data section starts with the data command. In this section parameter definitions are repeated and values are given. Solve: The solve command invokes the solver to solve the problem. Display: The display command is used to see the results. 7

AMPL Info The language is called AMPL, which stands for A Mathematical Programming Language. Note: Modern optimization dates back to the 1940 s where it was a useful/important tool helping the military prepare their program of activities. Hence, it was called Mathematical Programming and if the problem was linear it was called Linear Programming. This terminology predates the field of Computer Programming. The modern trend (finally!) is to replace the word programming with optimization. The book describing the language is called AMPL by Fourer, Gay, and Kernighan. It is available for free at http://www.ampl.com/book/download.html. I ve also made it available here http://orfe.princeton.edu/~rvdb/307/textbook/amplbook.pdf. There are links to these AMPL websites on the course webpage: http://orfe.princeton.edu/~rvdb/307/lectures.html. There are also online tutorials: Google AMPL tutorial for examples. 8

AMPL There are three ways to access ampl: Online: The Network Enabled Optimization Server (NEOS). Download Student Version: Download from ampl website (http://ampl.com/tryampl/download-a-demo-version/) to your own computer. Never expires. Limited number of variables/constraints (500 500). Download Course Version: Download from course-specific link to your own computer. Expires at the end of the semester. Unlimited number of variables/constraints. Preferred method. Details about these three methods are available here: http://ampl.com/products/ampl/ampl-for-students/ 9

AMPL IDE 10

NEOS Info NEOS is the Network Enabled Optimization Server supported by our federal government and located at the University of Wisconsin. To submit an AMPL model to NEOS... visit: click: scroll: click: scroll: click: select: scroll: type: click: Piece of cake! http://www.neos-server.org/neos/, on the Submit a job to NEOS, to the Nonlinearly Constrained Optimization list, on LOQO [AMPL input], to Commands File:, on Choose File, a file from your computer that contains an AMPL model, to e-mail address:, your email address, and Submit to NEOS. 11

First Problem of First Assignment Suppose the treasure is not exactly at the shore but rather is a certain distance away from the river. As shown, we are assuming the north shore of the river runs along the x-axis of our coordinate system. Assume that the river is w = 30 meters wide. For this problem, we need to figure out two things: (i) where you should enter the river and (ii) where you should exit it. Land River Land (a 2,b 2 ) Write an ampl model for this problem. Solve the problem using v 3 v 2 y v 1 (a 1,b 1 ) x (a 1, b 1 ) = (60, 40) (a 2, b 2 ) = ( 50, 50) v 1 = 10 v 2 = 1.5 v 3 = 7 Report the x-coordinate of the location at which you should enter the river and the x- coordinate of the location at which you should exit the river. 12

Freshman Calculus One variable Nonlinear objective function Sometimes variable constrained to an interval ORF 307 Thousands of variables Linear objective function Linear (equality and inequality) constraints There are multiple objectives for this course. Gain experience in formulating real-world problems as optimization problems. Learn how to distinguish good formulations from not-so-good ones. Learn how to solve real-world problems using AMPL software. Learn/understand the algorithms one uses to solve the problems. 13

Diet Problem

The McDonald s Diet Problem In words: Minimize: Calories Subject to: Total amounts of nutrients fall between certain minimum and maximum values. 15

An AMPL Model # --- Declare the data sets and parameters --------------- set NUTR; set FOOD; param f_min {FOOD} >= 0, default 0; param f_max {j in FOOD} >= f_min[j], default 200; param nutr_ideal {NUTR} >= 0; param amt {NUTR,FOOD} >= 0; # --- Declare the variables ------------------------------ var Buy {j in FOOD} integer >= f_min[j], <= f_max[j]; # --- State the objective -------------------------------- minimize Calories: sum {j in FOOD} amt["cal",j] * Buy[j]; # --- State the constraints ------------------------------ subject to Dietary_bounds {i in NUTR}: 0.8*nutr_ideal[i] <= sum {j in FOOD} amt[i,j] * Buy[j] <= 1.2*nutr_ideal[i]; 16

The Data param: NUTR: nutr_ideal := Cal 2500 CalFat 600 Fat 65 SatFat 20 Chol 300 Sodium 2400 Carbo 300 Protein 50 VitA 100 VitC 100 Calcium 100 Iron 100 ; set FOOD := "Bacon_Buffalo_Ranch_McChicken 5.6_oz_(159_g)" "Big_Breakfast_(Large_Size_Biscuit) 10_oz_(283_g)" "Big_Mac 7.6_oz_(215_g)" "Chicken_McNuggets_(10_piece) 5.7_oz_(162_g)" "Coca-Cola_Classic_(Medium) 21_fl_oz_cup" "Diet_Coke_(Medium) 21_fl_oz_cup" "Double_Quarter_Pounder_with_Cheese++ 10_oz_(283_g)" "Egg_McMuffin 4.8_oz_(135_g)" "Frappe_Caramel_(Medium) 16_fl_oz_cup" "Hamburger 3.5_oz_(100_g)" "Hash_Brown 2_oz_(56_g)" "Large_French_Fries 5.4_oz_(154_g)" "Mac_Snack_Wrap 4.4_oz_(125_g)" "McFlurry_with_M&M'S_Candies_(12_fl_oz_cup) 10.9_oz_(310_g)" "McRib_ 7.3_oz_(208_g)" "Medium_French_Fries 4.1_oz_(117_g)" "Mighty_Wings_(10_piece) 11.1_oz_(314_g)" # etc ; 17

18 param amt (tr): Cal CalFat Fat SatFat Chol Sodium := "Bacon_Buffalo_Ranch_McChicken 5.6_oz_(159_g)" 420 180 20 4 50 1250 "Big_Breakfast_(Large_Size_Biscuit) 10_oz_(283_g)" 800 470 52 18 555 1680 "Big_Mac 7.6_oz_(215_g)" 550 260 29 10 75 970 "Chicken_McNuggets_(10_piece) 5.7_oz_(162_g)" 470 270 30 5 65 900 "Coca-Cola_Classic_(Medium) 21_fl_oz_cup" 200 0 0 0 0 5 "Diet_Coke_(Medium) 21_fl_oz_cup" 0 0 0 0 0 20 "Double_Quarter_Pounder_with_Cheese++ 10_oz_(283_g)" 750 380 43 19 160 1280 "Egg_McMuffin 4.8_oz_(135_g)" 290 110 12 5 260 740 "Frappe_Caramel_(Medium) 16_fl_oz_cup" 550 200 23 15 80 160 "Hamburger 3.5_oz_(100_g)" 250 80 9 3 25 480 "Hash_Brown 2_oz_(56_g)" 150 80 9 1 0 310 "Large_French_Fries 5.4_oz_(154_g)" 500 220 25 3 0 350 "Mac_Snack_Wrap 4.4_oz_(125_g)" 330 170 19 7 45 670 "McFlurry_with_M&M'S_Candies_(12_fl_oz_cup) 10.9_oz_(310_g)" 650 210 23 14 50 180 "McRib_ 7.3_oz_(208_g)" 500 240 26 10 70 980 "Medium_French_Fries 4.1_oz_(117_g)" 380 170 19 2 0 270 "Mighty_Wings_(10_piece) 11.1_oz_(314_g)" 960 570 63 13 295 2900 # etc : Carbo Protein VitA VitC Calcium Iron := "Bacon_Buffalo_Ranch_McChicken 5.6_oz_(159_g)" 41 20 2 10 15 15 "Big_Breakfast_(Large_Size_Biscuit) 10_oz_(283_g)" 56 28 15 2 15 30 "Big_Mac 7.6_oz_(215_g)" 46 25 4 2 25 25 "Chicken_McNuggets_(10_piece) 5.7_oz_(162_g)" 30 22 0 4 2 6 "Coca-Cola_Classic_(Medium) 21_fl_oz_cup" 55 0 0 0 0 0 "Diet_Coke_(Medium) 21_fl_oz_cup" 0 0 0 0 0 0 "Double_Quarter_Pounder_with_Cheese++ 10_oz_(283_g)" 42 48 10 2 30 35 "Egg_McMuffin 4.8_oz_(135_g)" 31 17 10 0 25 15 "Frappe_Caramel_(Medium) 16_fl_oz_cup" 79 9 20 0 30 2 "Hamburger 3.5_oz_(100_g)" 31 12 2 2 10 15 "Hash_Brown 2_oz_(56_g)" 15 1 0 2 0 2 "Large_French_Fries 5.4_oz_(154_g)" 63 6 0 20 2 8 "Mac_Snack_Wrap 4.4_oz_(125_g)" 26 14 2 0 8 15 "McFlurry_with_M&M'S_Candies_(12_fl_oz_cup) 10.9_oz_(310_g)" 96 13 15 0 45 8 "McRib_ 7.3_oz_(208_g)" 44 22 2 2 15 20 "Medium_French_Fries 4.1_oz_(117_g)" 48 4 0 15 2 6 "Mighty_Wings_(10_piece) 11.1_oz_(314_g)" 40 60 4 6 6 15 # etc ;

Invoking the Solver and Displaying Results solve; printf {f in FOOD: Buy[f] > 0.3}: "%-60s %6.2f %4d \n", f, Buy[f], amt["cal",f]; printf {i in NUTR}: "%-60s %7.1f (%4d)\n", i, sum {j in FOOD} amt[i,j] * Buy[j], nutr_ideal[i]; Complete AMPL model can be found here: http://orfe.princeton.edu/ rvdb/307/models/mcdonaldsdiet/idealdiet2014b.txt Complete table of nutritional data can be found at: http://nutrition.mcdonalds.com/getnutrition/nutritionfacts.pdf 19

First Run rvdb@stars $ ampl idealdiet2014b.mod LOQO 7.00: verbose=0 ignoring integrality of 296 variables LOQO 7.00: optimal solution (14 QP iterations, 14 evaluations) primal objective 2000 dual objective 1999.999986 Chocolate_Chip_Cookie 1_cookie_(33_g) 1.63 160 Diet_Coke_(Child) 12_fl_oz_cup 0.38 0 Diet_Coke_(Medium) 21_fl_oz_cup 0.32 0 Diet_Coke_(Small) 16_fl_oz_cup 0.56 0 EQUAL_0_Calorie_Sweetener 1_pkg_(1.0_g) 21.32 0 Hotcakes 5.3_oz_(151_g) 1.83 350 Iced_Tea_(Child) 12_fl_oz_cup 1.45 0 Iced_Tea_(Large) 30_fl_oz_cup 0.38 0 Iced_Tea_(Medium) 21_fl_oz 0.56 0 Iced_Tea_(Small) 16_fl_oz_cup 0.56 0 SPLENDA_No_Calorie_Sweetener 1_pkg_(1.0_g) 21.32 0 Side_Salad 3.1_oz_(87_g) 1.97 20 Cal 2000.0 (2500) CalFat 609.6 ( 600) Fat 68.2 ( 65) SatFat 23.9 ( 20) Chol 242.3 ( 300) Sodium 2870.7 (2400) Carbo 333.7 ( 300) Protein 59.9 ( 50) VitA 118.8 ( 100) VitC 109.2 ( 100) Calcium 92.8 ( 100) Iron 80.1 ( 100) 20

Second Run: Limit Amount of Artificial Sweetener subject to NotTooMuchSweetener: Buy["EQUAL_0_Calorie_Sweetener 1_pkg_(1.0_g)"] +Buy["SPLENDA_No_Calorie_Sweetener 1_pkg_(1.0_g)"] <= 2* ( Buy["Iced_Tea_(Child) 12_fl_oz_cup"] +Buy["Iced_Tea_(Large) 30_fl_oz_cup"] +Buy["Iced_Tea_(Medium) 21_fl_oz"] +Buy["Iced_Tea_(Small) 16_fl_oz_cup"] ); Output: Chocolate_Chip_Cookie 1_cookie_(33_g) 2.19 160 Diet_Coke_(Child) 12_fl_oz_cup 0.63 0 Diet_Coke_(Medium) 21_fl_oz_cup 0.44 0 Diet_Coke_(Small) 16_fl_oz_cup 0.94 0 EQUAL_0_Calorie_Sweetener 1_pkg_(1.0_g) 10.47 0 Fat_Free_Chocolate_Milk_Jug 1_carton_(236_ml) 0.68 130 Hotcakes 5.3_oz_(151_g) 1.53 350 Iced_Tea_(Child) 12_fl_oz_cup 7.24 0 Iced_Tea_(Large) 30_fl_oz_cup 1.02 0 Iced_Tea_(Medium) 21_fl_oz 1.98 0 Iced_Tea_(Small) 16_fl_oz_cup 1.98 0 SPLENDA_No_Calorie_Sweetener 1_pkg_(1.0_g) 10.47 0 Side_Salad 3.1_oz_(87_g) 1.83 20 Cal 2000.0 (2500) CalFat 601.9 ( 600) Fat 67.4 ( 65) SatFat 23.9 ( 20) Chol 243.5 ( 300) Sodium 2742.7 (2400) Carbo 313.7 ( 300) Protein 59.9 ( 50) VitA 118.4 ( 100) VitC 110.0 ( 100) Calcium 101.9 ( 100) Iron 80.1 ( 100) 21

Third Run: Enforce Integrality Constraints To do that we need a Mixed Integer Linear Programming solver such as Gurobi. Output: Chocolate_Chip_Cookie 1_cookie_(33_g) 6.00 160 Egg_McMuffin 4.8_oz_(135_g) 1.00 290 Fat_Free_Chocolate_Milk_Jug 1_carton_(236_ml) 2.00 130 Ketchup_Packet 1_pkg_(10_g) 5.00 10 Side_Salad 3.1_oz_(87_g) 1.00 20 Strawberry_Preserves 0.5_oz_(14_g) 12.00 35 Cal 2000.0 (2500) CalFat 530.0 ( 600) Fat 60.0 ( 65) SatFat 23.0 ( 20) Chol 330.0 ( 300) Sodium 2060.0 (2400) Carbo 330.0 ( 300) Protein 48.0 ( 50) VitA 97.0 ( 100) VitC 83.0 ( 100) Calcium 99.0 ( 100) Iron 83.0 ( 100) 22

Linear Programming

Standard Form. maximize c 1 x 1 + c 2 x 2 + + c n x n subject to a 11 x 1 + a 12 x 2 + + a 1n x n b 1 a 21 x 1 + a 22 x 2 + +. a 2n x n b 2 a m1 x 1 + a m2 x 2 + + a mn x n b m x 1, x 2,... x n 0. Why it s hard: Lots of variables (n of em). Lots of boundaries to check (the inequalities). Why it s not impossible: All expressions are linear. 24

Climate Change

McGuire AFB Data from NOAA 55+ years (20,309 days) 100 Average Daily Temperatures at McGuire AFB 90 80 70 Avg. Temp. (F) 60 50 40 30 20 10 0 1960 1970 1980 1990 2000 2010 Date 26

Yearly Averages 58 Regressions: Least Abs. Dev. (solid) and Least Squares (dashed) 57 56 Temperature 55 54 53 52 51 1955 1960 1965 1970 1975 1980 1985 1990 1995 2000 2005 2010 Year 27

Regression Models Let T d denote the average temperature in degrees Fahrenheit on year d D where D is the set of years from 1955 to 2010. T d = x 0 + x 1 d linear trend + ε d. error term The parameters x 0 and x 1 are unknown regression coefficients. Either min d D ε d Least Absolute Deviations (LAD) or min d D ε 2 d Least Squares 28

What You Should Expect To Get From This Course Learn how to formulate optimization problems. Learn to distinguish easy problems from hard ones from impossible ones. Learn some of the theory of Linear Programming (Duality Theory!). Learn how to express optimization problems in AMPL and solve them. 29