Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
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
• 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
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
• 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
• The constraints impose the budget limitation:
2587345 ≤++++ xxxxx
2521082564972587345
54321
54321
54321
≤++++≤++++≤++++
xxxxxxxxxxxxxxx
)1,0(54321
=x
Dr Muhammad Al‐Salamah, Industrial Engineering, KFUPM
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
• 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
• 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
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
• 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
• 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
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
• 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
• 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.
• 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
nodesFour3361562512⎪⎬
⎫≤+++≤+++
xxxxxxxx
4
nodesFour 321526516
⎫≤++++
⎪⎭
⎬≤+++
xxxxx
xxxxM
nodes Five46156352312
⎭⎬⎫≤++++ xxxxx
M
)1,0(=ijx
Dr Muhammad Al‐Salamah, Industrial Engineering, KFUPM
• 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
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
• 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
• 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
• 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
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
• 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
• 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.
• 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
• 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
• 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
• 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