170 likes | 260 Views
Lecture 18: Topics Integer Program/Goal Program. AGEC 352 Spring 2011 – April 6 R. Keeney. Assumptions of Classical Linear Programming. There are numerous assumptions that are in place when you solve an LP Proportionality – straight line behavior
E N D
Lecture 18: TopicsInteger Program/Goal Program AGEC 352 Spring 2011 – April 6 R. Keeney
Assumptions of Classical Linear Programming • There are numerous assumptions that are in place when you solve an LP • Proportionality – straight line behavior • Optimization – choose a single measure and make it best • Divisibility – agents can choose any real number for decision variables • We will break the first one next week • We will break 2 and 3 today
Optimization • A single indicator variable (often measured in dollars) is used to determine well-being of the decision maker • The decision maker wants to maximize or minimize this indicator • Tradeoff: Almost everyone enters into a management decision with multiple goals • Earn highest profits • Maximize sales • What if these conflict? • Can we estimate the profit equivalent of a unit of sales?
If you can’t design the tradeoff, you might be able to prioritize… • Priority of goals for my college time • 1) Find a spouse • 2) Find a spouse that will get a good job after graduation • 3) Get a degree that will get me a good job • 4) Get good grades to keep my folks from complaining • 5) Learn stuff
Goal Programming • Use no objective variable • Instead design a loss variable that keeps track of how far short of a number of goals you fall • Forces you to set targets for a number of objectives • You may need to establish the tradeoff rates for each of these • Sales vs. Profits • Target Sales = $1,000,000 • Target Profits = $125,000
Goal Programming for Competing Objectives • Objective variable = V • V = (125,000 – Profits) + (1,000,000 – Sales) • Minimize this variable • What does it mean if: • V < 0? • V > 0? • V = 0? • Do the units make sense? • What if profits are twice as important as sales?
Example: Diet Problem • McDonalds Food Example
Diet Problem as a Goal Program • Units are a problem (as always) • Convert to percentages • Set a maximum cost = $10 • Eat ten Double Cheeseburgers This is not a desirable result. Over consume some nutrients to change the objective. Need to add caps to all of the nutrients.
Diet Problem as Goal ProgramWith Nutrient Caps • No excess of any nutrient • Minimize the percentage loss of our target daily nutrition needs • Spend at most $10 • Eat 2.4 Hamburgers and 0.35 Big Tasty • Cost is $2.80 • Total Loss = 549.82 (max is 1000) • Hit the target for daily fat (30gm) and sodium (1500mg) still need everything else • What do we learn from this model? • Anyone see an additional problem?
McDonalds won’t sell me 2.4 hamburgers • Do I buy 2 or 3? • Do I buy a Big Tasty or not? • Integer constraints • Any number can be written as: • X+a/b • If a can be simplified to zero then we have an integer (nothing after the decimal) • In Solver: choose int
Diet Problem w Goals and Integer Constraints • Instruct Solver to find integer values for all decision variables with integer (int) constraints • Solve the same model as before adding only these constraints • How does it compare to rounding off the original solution?
Completely different situation • 1 Cheeseburger • 1 Filet o’ fish • Total loss = 601.05 (max 1000) • Total cost = $2.94 • We are worse off because McDonald’s will not sell us parts of a hamburger and Big N Tasty • Paying more for less nutrition
Rounding to an integer solution • In many instances analysts solve the relaxed integer program and just round the solution • When is that appropriate? • In this case: • Round down (otherwise violate the boundaries) • 2 hamburgers, no Big Tasty • Total Loss = 703.97 / Total Cost = 1.60
Integer Programming Fact • Objective variable • Linear Program = VL • Rounded off linear program = VR • Integer Program = VI • For a min: • VL <= VI <= VR • For a max: • VL >= VI >= VR
Other issues in integer programming • No sensitivity analysis or shadow prices are calculated • Can’t find them via the simplex or calculus methods • Have to resolve the model with a one unit change to the RHS of the constraint you are interested in • Complex mathematics to solve • Large models (e.g. Sudoku) can take a long time to solve because many combinations must be checked
Integer Solution Algorithms • Allow us to relax the divisibility assumption of linear programming • Search program in the neighborhood of the relaxed solution • Active area in the fields of math programming, operations research, and applied mathematics
Quiz on Monday • Diet problem • Lab and today’s lecture • Example question: • Given a common set of food information and cost min objective • Student A solves linear program • Student B solves linear program with rounded solution • Student C solves integer program • Who has the lowest objective variable?