# 1 15.053 Tuesday, May 7 Integer Programming Formulations Handouts: Lecture Notes.

## Presentation on theme: "1 15.053 Tuesday, May 7 Integer Programming Formulations Handouts: Lecture Notes."— Presentation transcript:

1 15.053 Tuesday, May 7 Integer Programming Formulations Handouts: Lecture Notes

2 Quick Summary of DP DP often works for decision making over time Objectives of the past two lectures – introduce DP recursions – students should learn ˙how to carry out a DP recursion, given the optimal value function ˙to understand DP recursions when they see them Note: there is a graduate level subject 6.231 dedicated to

3 Integer Programming Again Representing piecewise linear functions A product design & marketing problem A configuration problem A vehicle routing problem Note: about 50% of the final exam will be a mixture of LP and IP formulations.

4

5 The λ-method (same as in NLP lecture) subject to adjacency conditions. What are the adjacency conditions and how can one express them using 0-1 variables?

6 The adjacency conditions At most two of the λ variables are nonzero.(How do we express this?) If i and j are not adjacent, then it is not the case that > 0 and > 0.

7 Illustration: x = 8 and y = 10 Constraints are satisfied

8 λ method for representing NLP represents x as a convex combination of breakpoints represents y as a convex combination of function values adjacency conditions – enforced using properties of integer variables

9 Representing non-linear functions: the δ method.

10 Representing non-linear functions: the δ method.

11 More on the δ-method

12 Rule: δ j = 0 unless δ j-1 is at is upper bound for j > 1. Let w j = 0 if δ j-1 is not at its upper bound. w 2 δ 1 /4; w 3 δ 2 /8; w 2, w 3 {0,1} Let δ j = 0 if w j = 0 0 δ 1 4; 0 δ 2 8 w 2 ; 0 δ 3 4 w 3 (this replaces the other upper bounds)

13 Illustration: x = 8 and y = 10 x = δ 1 + δ 2 + δ 3 0 δ 1 4; 0 δ 2 8 w 2 ; 0 δ 3 4 w 3 So, δ 1 = 4 ; δ 2 = 4; δ 3 = 0. and w 2 = 1 ; w 3 = 0 y = 2.5 δ 1 + 0 δ 2 + 2.5 δ 3 and so y = 10 Constraints are all satisfied.

14 δ-method for representing IPs represents x as a sum of intervals x = δ 1 + … + δ k ; 0 δ j u j for each j represents y using slopes from the intervals y = a 1 δ 1 + … + a k δ k cannot use an interval unless the previous interval is used up (λ at its upper bound) If δ j < u j then δ j+1 = 0 enforced using properties of integer variables

15 Selecting products optimally for stocking A computer manufacturer has 8 different attributes that can be varied when buying a computer. (RAM memory size, disk size, computer speed, peripherals, etc). Taking into account all possibilities, there are more than 10,000 variations. Each customer can special order a computer, or can order from stock. Customers may prefer to order from stock because it is more convenient, and they get the computer quicker. What computers should be stocked? (At most 25 computer configurations will be stocked.)

16 Assumptions for this model The computer manufacturer has detailed knowledge on 1000 random customers – For each customer i and for each possible computer configuration j, u(i,j) is the customers utility for selecting j from stock – u*(i) = utility for person i special ordering – p(j) is the profit for a purchase of j if j is purchased from stock (higher than if it is made to order since one can manufacture more at once – v(i) is the profit if person i selects a made to order

17 More assumptions There is a fixed charge f(j) for stocking item j Companys goal: maximize profit from stocking computers: taking into account revenues not made in special orders and the fixed charges

18 The integer programming model Let x(i,j) = 1 if customer i selects product j Let w(i) = 1 if customer i special orders Let y(j) = 1 if product j is stocked Work with your partners: What is the objective function.

19 What are the constraints? Each person selects at most 1 product The manufacturer stocks at most 25 different configurations A person cannot select product j unless product j is stocked Variables are binary

20 How do we enforce that each person selects the product with highest utility? If item j is stocked, and if u(i,j) > u(i,k), then person i does not select item k. If item j is stocked, and if u(i,j) is greater than u*(i), then person i does not do a made to order

22 The model max Σ i,j p(j) x(i,j) + Σ i v(i) w(i) - Σ j f(j) y(j) s.t. w(i) + Σ j x(i,j) = 1 Σj y(j) 25 x(i,j) y(j) for all i, j x(i,j) (1 – y(k)) if u(i,j) < u(i,k) w(i) (1 – y(k)) if u*(i) < u(i,k) w(i), x(i,j), y(j) {0, 1}

23 Comments on the model Utilities can be estimated using conjoint analysis The problem is widespread – Where may it come up? Any suggestions on variations to consider?

24 More on Modeling of Integer Programs Integer programming can be used whenever the optimization problem looking for solutions in n variables and where the solution can be described in binary solutions. But, some times it takes skill in transforming problems into an IP

25 Some other areas where IPs are used Project management Product configuration Vehicle routing or packet routing and scheduling Manufacturing Finance

26 A Product Configuration Problem Kaya wants to buy a Porsche. There are a number of possible attributes that can be varied: – there are 14 options for color – one can have 2 door or 4-door – one can vary the trim – there are four different stereo systems – Kaya has specified the utility for each attribute – She has a budget of B for the car

27 Notation for the configuration problem Attributes A 1, …, A K Each attribute has options. – We write j Ai if j is an option of A i. u(j) = utility of option j Exactly one option of any attribute must be selected -- occasionally, one of the options is null There is a set P of pairs. If (i,j) P, this means that j must be selected if i is selected. We have a set E of exclusions. If (i,j) E, this means that one cannot select both i and j. There is a budget B for the configuration.

28 Towards a formulation for the configuration problem let x(j) = 1 if option j is selected = 0 if option j is not selected Maximize Utility Subject to: select one option from each attribute obey precedence constraints obey exclusion constraints do not spend more than the budget B

29 A Fleet Routing Problem Vehicles 1, 2, …, m q k = capacity of vehicle k Locations 1, 2, …, n d(i,j) = distance from location i to location j Depot D Each vehicle starts at the depot D and makes a tour of length at most T Each location must be visited by some vehicle Minimize the total distance

30 A vehicle Routing Problem

31 A vehicle Routing Problem

32 Towards a model let k be the index for the vehicle let = 1 if vehicle k travels from i to j = 0 otherwise How can we formulate the vehicle routing problem?

33 Summary IP is quite widespread can model piecewise linear costs can model most problems in which the solution is integer value applications – marketing – product configuration – vehicle routing

Similar presentations