28
Integer programming models Integer programming models Topic objectives: Present integer programming models for l d l special cases in industrial engineering. See chapter 9.1 in the textbook. Dr Muhammad AlSalamah, Industrial Engineering, KFUPM

integer programming models - الصفحات الشخصيةsite.iugaza.edu.ps/.../02/integer_programming_models.pdf · 2010-03-27 · Integer programming models Topic objectives: •

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: integer programming models - الصفحات الشخصيةsite.iugaza.edu.ps/.../02/integer_programming_models.pdf · 2010-03-27 · Integer programming models Topic objectives: •

Integer programming modelsInteger programming models

Topic objectives:

• Present integer programming models for l d lspecial cases in industrial engineering.

• See chapter 9.1 in the textbook.

Dr Muhammad Al‐Salamah, Industrial Engineering, KFUPM

Page 2: integer programming models - الصفحات الشخصيةsite.iugaza.edu.ps/.../02/integer_programming_models.pdf · 2010-03-27 · Integer programming models Topic objectives: •

• Integer programming models are either direct description of decision problems or as convenience for problems that are not integer by themselves.

• Integer programming models are either pure (all variables are integer) or mixed (some but not all arevariables are integer) or mixed (some but not all are integer).

• Integer decision variables that are restricted to either 0 or 1 are called binary variables.

Dr Muhammad Al‐Salamah, Industrial Engineering, KFUPM

Page 3: integer programming models - الصفحات الشخصيةsite.iugaza.edu.ps/.../02/integer_programming_models.pdf · 2010-03-27 · Integer programming models Topic objectives: •

Capital budgeting

• The capital budgeting problem deals with the allocation of limited resources (fund, space, time, etc) to selected courses of action.

• An industrial engineer is planning the production of five products that will be produced during the following weekproducts that will be produced during the following week.

• All products pass through the same three-stage process, but the stage costs are different for the different products:

Stage cost (riyals)Product 1 2 3 Revenue

1 5 1 8 201 5 1 8 202 4 7 10 403 3 9 2 204 7 4 1 155 8 6 10 30

Dr Muhammad Al‐Salamah, Industrial Engineering, KFUPM

5 8 6 10 30Allocated fund (riyals) 25 25 25

Page 4: integer programming models - الصفحات الشخصيةsite.iugaza.edu.ps/.../02/integer_programming_models.pdf · 2010-03-27 · Integer programming models Topic objectives: •

• Given the limited funds allocated for each stage, the industrial engineer has to select the products that will maximize the revenue for the company.

• Define the binary variable

⎩⎨⎧

=otherwise0

selected is product if1 jx j

• The objective function will be j

54321 3015204020max xxxxxz ++++=

Dr Muhammad Al‐Salamah, Industrial Engineering, KFUPM

Page 5: integer programming models - الصفحات الشخصيةsite.iugaza.edu.ps/.../02/integer_programming_models.pdf · 2010-03-27 · Integer programming models Topic objectives: •

• The constraints impose the budget limitation:

2587345 ≤++++ xxxxx

2521082564972587345

54321

54321

54321

≤++++≤++++≤++++

xxxxxxxxxxxxxxx

)1,0(54321

=x

Dr Muhammad Al‐Salamah, Industrial Engineering, KFUPM

Page 6: integer programming models - الصفحات الشخصيةsite.iugaza.edu.ps/.../02/integer_programming_models.pdf · 2010-03-27 · Integer programming models Topic objectives: •

Set covering

• The set covering problem can be described as allocating service stations that will cover all service demand locations.

• In a plant, there are 11 work stations and 8 possible locations of tool cabinets:locations of tool cabinets:

2 3 8 Work station

4 7

Tool cabinet

Wall

165

Dr Muhammad Al‐Salamah, Industrial Engineering, KFUPM

65

Page 7: integer programming models - الصفحات الشخصيةsite.iugaza.edu.ps/.../02/integer_programming_models.pdf · 2010-03-27 · Integer programming models Topic objectives: •

• Each tool cabinet can serve as number of work stations as desired.

• These tool cabinet locations are determined in a way that workers in work stations can find an adjacent cabinetcabinet.

• The industrial engineer has to determine the minimum number of tool cabinets that will serve the work stations.

• Define the binary decision variable

⎧ positionininstallediscabinettoolif1 j

⎩⎨⎧

=otherwise0

position in installediscabinet toolif1 jx j

Dr Muhammad Al‐Salamah, Industrial Engineering, KFUPM

Page 8: integer programming models - الصفحات الشخصيةsite.iugaza.edu.ps/.../02/integer_programming_models.pdf · 2010-03-27 · Integer programming models Topic objectives: •

• Since the purpose is to install the smallest number of cabinets in the plant, the objective function then becomes

87654321min xxxxxxxxz +++++++=

• Each work station has to be served by one a close-by cabinet, the constraints become,

11

51

21

≥+≥+

xxxx

11

74

54

≥+≥+

xxxx

)1,0(187

=≥+

jxxx

11

83

32

51

≥+≥+

xxxx

11

76

65

74

≥+≥+

xxxx

)(j

Dr Muhammad Al‐Salamah, Industrial Engineering, KFUPM

143 ≥+ xx 131 ≥+ xx

Page 9: integer programming models - الصفحات الشخصيةsite.iugaza.edu.ps/.../02/integer_programming_models.pdf · 2010-03-27 · Integer programming models Topic objectives: •

Traveling salesman problem TSP

• TSP is a problem of finding the best route (path) or sequence to visit all locations and stop at the starting location with minimum cost, distance, or time.

• An industrial engineer has to plan for the distribution of products manufactured by the companyproducts manufactured by the company.

1

65

4

2 3

Dr Muhammad Al‐Salamah, Industrial Engineering, KFUPM

Page 10: integer programming models - الصفحات الشخصيةsite.iugaza.edu.ps/.../02/integer_programming_models.pdf · 2010-03-27 · Integer programming models Topic objectives: •

• The all delivery points have to be visited and the truck returns back to the factory with the least distance.

• Define the binary variable

⎨⎧ point from visitedispoint if1 ij

• Define the parameter

⎩⎨= otherwise0

pp jxij

• Define the parameterdij = distance between point i and j

• If point j cannot be visited directly from point i, set dij = ∞.If point j cannot be visited directly from point i, set dij ∞.• By design, dii = ∞, point i cannot be visited directly from

itself.

Dr Muhammad Al‐Salamah, Industrial Engineering, KFUPM

Page 11: integer programming models - الصفحات الشخصيةsite.iugaza.edu.ps/.../02/integer_programming_models.pdf · 2010-03-27 · Integer programming models Topic objectives: •

• The objective function for this problem becomes

min xdxdxdxdxdxdz +++++=

6262616156565454535352525151

4646454543433535343432322626

252523232121161615151212min

xdxdxdxdxdxdxdxdxdxdxdxdxdxd

xdxdxdxdxdxdz

++++++++++++++

+++++=

Th d l h t t f t i t

65656464

6262616156565454535352525151

xdxd ++

• The model has two sets of constraints.• The first set states that every point has to be connected

to the following point:to the following point:

11

26252321

161512

=+++=++

xxxxxxx

Dr Muhammad Al‐Salamah, Industrial Engineering, KFUPM

1353432 =++ xxx

Page 12: integer programming models - الصفحات الشخصيةsite.iugaza.edu.ps/.../02/integer_programming_models.pdf · 2010-03-27 · Integer programming models Topic objectives: •

11464543

++++=++ xxx

11

65646261

5654535251

=+++=++++

xxxxxxxxx

• The second set states that every point is connected to a preceding point:

1615121 =++ xxx

11

1

534323

62523212

615121

=++=+++

++

xxxxxxx

xxx

11

6545352515

645434

534323

=++++=++

xxxxxxxx

Dr Muhammad Al‐Salamah, Industrial Engineering, KFUPM

156462616 =+++ xxxx

Page 13: integer programming models - الصفحات الشخصيةsite.iugaza.edu.ps/.../02/integer_programming_models.pdf · 2010-03-27 · Integer programming models Topic objectives: •

• These constraints are not enough to produce a single path or a tour that will visit all points:

65

4

1

2 3

• A sub-tour elimination strategy has to be implemented toA sub tour elimination strategy has to be implemented to prevent sub-tours from happening.

Dr Muhammad Al‐Salamah, Industrial Engineering, KFUPM

Page 14: integer programming models - الصفحات الشخصيةsite.iugaza.edu.ps/.../02/integer_programming_models.pdf · 2010-03-27 · Integer programming models Topic objectives: •

• Notice that any sub-tour has links equal to the number of points.

• To prevent sub-tours from forming, we can impose a restriction that:

Any group of two points should not have more than– Any group of two points should not have more than one link;

– Any group of three points should not have more than y g p ptwo links;

– …..– Any group of five point should not have more than 4

links.• Only the 6 points are allowed to have 6 links

Dr Muhammad Al‐Salamah, Industrial Engineering, KFUPM

• Only the 6 points are allowed to have 6 links.

Page 15: integer programming models - الصفحات الشخصيةsite.iugaza.edu.ps/.../02/integer_programming_models.pdf · 2010-03-27 · Integer programming models Topic objectives: •

• So, we can write12112⎪⎫≤+ xx

nodesor points Two11

6116

5115

2112

⎪⎪⎪

⎬≤+≤+

xxxx

13223

⎪⎪⎪

≤+M

xx

dTh222

216216

162612

⎪⎪⎪

≤≤++≤++

xxxxxx

nodesThree22

516516

615615

⎪⎪⎪

⎪⎬

≤++≤++

M

xxxxxx

Dr Muhammad Al‐Salamah, Industrial Engineering, KFUPM

⎪⎭M

Page 16: integer programming models - الصفحات الشخصيةsite.iugaza.edu.ps/.../02/integer_programming_models.pdf · 2010-03-27 · Integer programming models Topic objectives: •

nodesFour3361562512⎪⎬

⎫≤+++≤+++

xxxxxxxx

4

nodesFour 321526516

⎫≤++++

⎪⎭

⎬≤+++

xxxxx

xxxxM

nodes Five46156352312

⎭⎬⎫≤++++ xxxxx

M

)1,0(=ijx

Dr Muhammad Al‐Salamah, Industrial Engineering, KFUPM

Page 17: integer programming models - الصفحات الشخصيةsite.iugaza.edu.ps/.../02/integer_programming_models.pdf · 2010-03-27 · Integer programming models Topic objectives: •

• The traveling salesman problem can be written compactly as

min1 1

=∑∑= =

n

i

n

jijij xdz

,...,1,1s.t.1

==∑=

n

jij nix

,...,1,11

==∑=

n

iij njx

)10(

1||2,,1||

=

−≤≤⊂−≤∑∑∈ ∈Si Sj

ij

x

nSNSSx

Dr Muhammad Al‐Salamah, Industrial Engineering, KFUPM

)1,0(=ijx

Page 18: integer programming models - الصفحات الشخصيةsite.iugaza.edu.ps/.../02/integer_programming_models.pdf · 2010-03-27 · Integer programming models Topic objectives: •

Fixed charge

• Manufacturing costs usually have two components, fixed cost and variable cost.

• The fixed cost does not change with the volume of production.The variable cost increases with the production volume• The variable cost increases with the production volume.

• When there is no production, the manufacturing cost is equal to zero.q

• Therefore, if x = the production volume, then

⎧ >+ 0for xVxF

⎩⎨⎧

=>+

=0for 00for

)(xxVxF

xC

Dr Muhammad Al‐Salamah, Industrial Engineering, KFUPM

Page 19: integer programming models - الصفحات الشخصيةsite.iugaza.edu.ps/.../02/integer_programming_models.pdf · 2010-03-27 · Integer programming models Topic objectives: •

• Dealing with this form of cost function is difficult since it is discontinuous at x = 0.

• Integer programming easily and conveniently is going to put the problem into a mathematical model.The industrial engineer is planning the purchase of raw• The industrial engineer is planning the purchase of raw materials used for production.

• The raw materials can be purchased from three local pmanufacturing plants:

Company Fixed cost (riyals)Unit variable cost 

(riyals)Company Fixed cost (riyals) (riyals)Saudi Fabrication 1600 250National Manufacture 2500 210Expert Staff 1800 220

Dr Muhammad Al‐Salamah, Industrial Engineering, KFUPM

Page 20: integer programming models - الصفحات الشخصيةsite.iugaza.edu.ps/.../02/integer_programming_models.pdf · 2010-03-27 · Integer programming models Topic objectives: •

• It has been estimated that 200 units are needed for production.

• Define the integer variables:x1 = number of units ordered from the first companyx2 = number of units ordered from the second companyx3 = number of units ordered from the third company• Define the binary variable:• Define the binary variable:

⎧ companyfromorderedmaterialsrawif1 j

⎩⎨⎧

=otherwise0

company from orderedmaterialsraw if1 jy j

Dr Muhammad Al‐Salamah, Industrial Engineering, KFUPM

Page 21: integer programming models - الصفحات الشخصيةsite.iugaza.edu.ps/.../02/integer_programming_models.pdf · 2010-03-27 · Integer programming models Topic objectives: •

• To ensure that yj =1 for xj > 0, we can writexj < M yjj yj

• M is any large number greater than 200 (needed raw materials).

• The integer model is

200t180025001600220210250min 321321 +++++= yyyxxxz

200200

200s.t.

11

321

≤≤

=++

yxyxxxx

0200200

33

22

≥≤≤

jxyxyx

Dr Muhammad Al‐Salamah, Industrial Engineering, KFUPM

)1,0(=j

j

y

Page 22: integer programming models - الصفحات الشخصيةsite.iugaza.edu.ps/.../02/integer_programming_models.pdf · 2010-03-27 · Integer programming models Topic objectives: •

Either-or and if-then constraints

• In general LP models, all the constraints are enforced.• Integer programming is used to model cases where g p g g

logical conditions are encountered, such as either one restriction is enforced or another; or conditions in which a restriction is enforced only when a specific situationa restriction is enforced only when a specific situation happens.

• An industrial engineer is planning the sequence or order of 3 jobs on a machine:

JobProcessing time pj

(days) Due date dj

Late penalty (riyals per day)Job (days) Due date dj (riyals per day)

1 5 25 192 20 22 123 15 35 34

Dr Muhammad Al‐Salamah, Industrial Engineering, KFUPM

Page 23: integer programming models - الصفحات الشخصيةsite.iugaza.edu.ps/.../02/integer_programming_models.pdf · 2010-03-27 · Integer programming models Topic objectives: •

• The penalty value signifies the importance of finishing the job on time, and it does not mean that any money will be paid.

• Hence, the best sequence is the one that has the least penalty costpenalty cost.

• Define the decision variable:xj = start day of job jj y j j

• In this problem, there are two groups of constraints– Processing of a single job on the machine in any

given time– Job finish time calculation

Dr Muhammad Al‐Salamah, Industrial Engineering, KFUPM

Page 24: integer programming models - الصفحات الشخصيةsite.iugaza.edu.ps/.../02/integer_programming_models.pdf · 2010-03-27 · Integer programming models Topic objectives: •

• Two jobs i and j will not be processed at the same time if either job i starts after job j completes or job j starts after job i completes:

Introduce the binary variableiijjji pxxpxx ≥−≥− or

• Introduce the binary variable

⎩⎨⎧

=ijji

yij j bb fij bif0 job before is job if1

• The either-or constraint above can be enforced as

⎩⎨ ij

yij job beforeisjobif0

iijij

jjiij

pxxyM

pxxMy

≥−+−

≥−+

)()1(

)(

Dr Muhammad Al‐Salamah, Industrial Engineering, KFUPM

for M very large.

Page 25: integer programming models - الصفحات الشخصيةsite.iugaza.edu.ps/.../02/integer_programming_models.pdf · 2010-03-27 · Integer programming models Topic objectives: •

• When yij = 0, thenxi – xj ≥ pj (binding)j jandM + xj – xi ≥ pi → xj – xi ≥ pi – M (non binding)

• Hence job i comes after job j• Hence, job i comes after job j.• When yij = 1, then

M + xi – xj ≥ pj → xi – xj ≥ pj – M (non binding)j j j jandxj – xi ≥ pi (binding)

• Hence job j comes after job i• Hence, job j comes after job i.

Dr Muhammad Al‐Salamah, Industrial Engineering, KFUPM

Page 26: integer programming models - الصفحات الشخصيةsite.iugaza.edu.ps/.../02/integer_programming_models.pdf · 2010-03-27 · Integer programming models Topic objectives: •

• The deviation of job j from its due date issj = dj – (xj + pj)j j ( j pj)

• Job j will not be penalized if sj ≥ 0.• Replace sj by two positive deviational variables:

sj = s-j – s+

j

• Hence, job j is delayed if s+j > 0.

Th bj ti f ti f th j b bl i• The objective function of the job sequence problem isMin z = 19s+

1 + 12s+2 + 34s+

3

Dr Muhammad Al‐Salamah, Industrial Engineering, KFUPM

Page 27: integer programming models - الصفحات الشخصيةsite.iugaza.edu.ps/.../02/integer_programming_models.pdf · 2010-03-27 · Integer programming models Topic objectives: •

• Assume that there is an additional restriction that if job icomes before job j, then job k should come before job m.

• This restriction can be written asIf xi + pi ≤ xj then xk + pk ≤ xm

• It can be also written asIf xj - (xi + pi) > 0 then xk + pk - xm < 0

• Introduce a binary variable y = (0 1)• Introduce a binary variable y = (0,1).• The if-then restriction can be explained by two

constraints:xj - (xi + pi) ≤ M(1 - y) - ε

xk + pk - xm ≤ My

Dr Muhammad Al‐Salamah, Industrial Engineering, KFUPM

Page 28: integer programming models - الصفحات الشخصيةsite.iugaza.edu.ps/.../02/integer_programming_models.pdf · 2010-03-27 · Integer programming models Topic objectives: •

• If the optimal solution requires xj - (xi + pi) > 0, that is job i is after job j, then y has to be 0, and hencexk + pk - xm ≤ 0, that is job m has to come after job k.

• If the optimal solution is for xj - (xi + pi) < 0, then y can be 0 or 1 and it has no effect on the second constraint0 or 1 and it has no effect on the second constraint.

Dr Muhammad Al‐Salamah, Industrial Engineering, KFUPM