Uploaded by Nguyễn Long

Building Constraints

advertisement
Miniguide for Building Constraints in Mathematical Linear Model
Phan Nguyen Ky Phuc
April 20, 2021
Contents
1
Open Facility Decision
2
2 Inference Condition
2
3 Max Constraint
2
3.1
Max Constraint: X = max(A, 0) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
3.2
Max Constraint: X = max(A,B) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
3.3
Extension of Max Constraint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
4 Min Constraint
4
4.1
The min constraint: X=min(A,0) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
4.2
The Min Constraint: X=min(A,B) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
5 And Condition
5
6 Or Condition
5
7 Z=X × Y Constraint
5
8 Conflicted Condition
5
9 Conflicted Condition when Starting and End Times are Variables
6
10 Another Approach For Handling Conflict Constraint
8
11 Absolute Values for Binary Variables
8
12 Piece-wise Linear Constraints
8
13 Belong to The Range Constraints
9
14 Belong to the range constraint: Discrete case
9
1
Ho Chi Minh City International University
Industrial Systems Engineering Department
Deterministic Models in Operation Research
Lecturer: Phan Nguyen Ky Phuc
15 Inference
1
9
Open Facility Decision
Let:
Cj : be the capacity regarding to facility j
BigM : be the very large number
Oj : be the binary decision variable, Oj = 1 if the facility j is opened; otherwise Oj = 0
It is often that, there are at least one of 2 following constraints
X
() ≤ Cj × Oj
i
X
() ≤ BigM × Oj
i
2
Inference Condition
The inference condition is under the form:
• If (X = T RU E) then A ≤ B
• If (X = F ALSE) then A ≥ B
• If (X = T RU E) then A = B
If (X = T RU E) then A ≤ B
A ≤ B + BigM (1 − X)
If (X = F ALSE) then A ≥ B
A ≥ B − BigM × X
If (X = T RU E) then A = B

A ≤ B + BigM (1 − X)
A ≥ B − BigM (1 − X)
3
3.1
Max Constraint
Max Constraint: X = max(A, 0)
Consider the following constraint:
X = max(A, 0)
where X, A are variables. This constraint can be transformed to linear form:
Let Y be the index variable:
Guide to Construct Linear Constraint

1 , if A ≥ 0
Y =
0 , if A ≤ 0
Page 2
Ho Chi Minh City International University
Industrial Systems Engineering Department
Deterministic Models in Operation Research
Lecturer: Phan Nguyen Ky Phuc
The constraints between A and Y can be expressed as:

A ≥ BigM × (Y − 1)
A ≤ BigM × Y
Now the constraints between X = max(A, 0) can be transformed as linear :

0 ≤ X ≤ 0 + BigM × Y
A ≤ X ≤ A + BigM × (1 − Y )
3.2
Max Constraint: X = max(A,B)
Consider the following constraints:
X = max(A, B)
where X, A, B are variables. This constraint can be transformed to linear form as follow:
Let Y be the index variable:

1 , if (A − B) ≥ 0
Y =
0 , if (A − B) ≤ 0
The constraints between (A − B) and Y can be expressed as:

(A − B) ≥ BigM × (Y − 1)
(A − B) ≤ BigM × Y
Now the constraints X = max(A, B) can be transformed to linear form as :

B ≤ X ≤ B + BigM × Y
A ≤ X ≤ A + BigM × (1 − Y )
3.3
Extension of Max Constraint
Given a threshold R for a resource , if the usage of this resource is higher than R it will incur an extra cost
for each extra usage resource.
In short the following constraints need to be transform into linear constraint:
!
X = max
X
Ci Yi − R, 0
i
Let Z be the index variable:

1 , if (P C Y − R) ≥ 0
i i i
Z=
0 , if (P C Y − R) ≤ 0
i i i
P
The constraints between ( i Ci Yi − R) and Z can be expressed as:

(P C Y − R) ≥ BigM × (Z − 1)
i i i
P
(
i Ci Yi − R) ≤ BigM × Z
Guide to Construct Linear Constraint
Page 3
Ho Chi Minh City International University
Industrial Systems Engineering Department
Now the constraints X = max (
P
i
Deterministic Models in Operation Research
Lecturer: Phan Nguyen Ky Phuc
Ci Yi − R, 0) can be transformed to linear form as :

0 ≤ X ≤ 0 + BigM × Z
(P C Y − R) ≤ X ≤ (P C Y − R) + BigM × (1 − Z)
i i i
i i i
4
4.1
Min Constraint
The min constraint: X=min(A,0)
Consider the following constraints:
X = min(A, 0)
where X, A are variables. This constraint can be transformed to linear as follow:
Let Y be the index variable:

1 , if A ≥ 0
Y =
0 , if A ≤ 0
The constraints between A and Y can be expressed as:

A ≥ BigM × (Y − 1)
A ≤ BigM × Y
Now the constraints between X = min(A, 0) can be transformed to linear form:

0 ≥ X ≥ 0 − BigM × (1 − Y )
A ≥ X ≥ A − BigM × Y
4.2
The Min Constraint: X=min(A,B)
Consider the following constraints:
X = min(A, B)
where X, A, B are variables. This constraint can be transformed to linear form as follow:
Let Y be the binary variable:

1 , if A − B ≥ 0
Y =
0 , if A − B ≤ 0
The constraints between (A − B) and Y can be expressed as:

(A − B) ≥ BigM × (Y − 1)
(A − B) ≤ BigM × Y
Now the constraint X = min(A, B) can be transformed to linear form:

B ≥ X ≥ B − BigM × (1 − Y )
A ≥ X ≥ A − BigM × Y
Guide to Construct Linear Constraint
Page 4
Ho Chi Minh City International University
Industrial Systems Engineering Department
5
Deterministic Models in Operation Research
Lecturer: Phan Nguyen Ky Phuc
And Condition
Given Xi , Y are binary variable Y relates to Xi through AND operator
Y = X1 ∩ X2 ∩ X3 ... ∩ Xn
This constraint can be transformed to linear form as

Y ≤ X ,∀i, i = 1...n
i
Y ≥ P X − n + 1
i i
6
Or Condition
Given Xi , Y are binary variable Y relates to Xi through OR operator
Y = X1 ∪ X2 ∪ X3 ... ∪ Xn
This constraint can be transformed to linear form as

Y ≥ X ,∀i, i = 1...n
i
Y ≤ P X
i
7
i
Z=X × Y Constraint
Given X is binary variable, Y ≥ 0
This constraint can be transformed to linear form as


Z ≤ BigM × X


Z ≤ Y + BigM × (1 − X)



Z ≥ Y − BigM × (1 − X)
8
Conflicted Condition
Example
Assume that there are 2 jobs i and j. These jobs must be finished in their time window [si ; ei ] and [sj ; ej ].
If their time windows are overlapped, so these jobs cannot be assigned to the same worker. These jobs are
called conflicted jobs. If [si ; ei ] and [sj ; ej ] are not decision variables so their conflict due to overlap can be
expressed through a parameters Cij .
Parameters
Eim be the enable matrix Eim = 1 if job i is possible to be assigned to worker m; otherwise Eim = 0
Cij be the conflict matrix Cij = 1 if job i and job j cannot be assigned to the same worker m due to overlap
constraint; otherwise Cij = 0
Decision variables
Xim be the binary variable; Xim = 1 if job i is assigned to worker m; otherwise Xim = 0
Guide to Construct Linear Constraint
Page 5
Ho Chi Minh City International University
Industrial Systems Engineering Department
Deterministic Models in Operation Research
Lecturer: Phan Nguyen Ky Phuc
Basic constraints
Xim + Xjm ≤ 2 − Cij , ∀i, j, m
X
Xim = 1, ∀i
m
Xim ≤ Eim , ∀i, m
9
Conflicted Condition when Starting and End Times are Variables
Index
i: index of job
j: index of job
w: index of worker
Parameters
BigM : Very large number
Sijm :setup time for job j on machine mif job i is immediate precedence job of job j on machine m
Eniw : be the enable matrix Eniw = 1 if job i is able to be assigned to worker w;otherwise Enij = 0
Bw and Fw are two values identify the time window of worker w
Decision Variables
Xiw be the binary variable, Xiw = 1 if job i is assigned to worker w; otherwise Xiw = 0
si starting time of job i
ei finishing time of job i
Basically there are two cases when 2 jobs are overlapped:
• The first is the starting time of job i, si in the range of job j, [sj , ej ]
• The second is the ending time of job i, ei in the range of job j, [sj , ej ]
Following auxiliary variables will be used to consider the overlap constraint:
• uij be the binary variable uij = 1 if sj < si otherwise uij = 0
• vij be the binary variable vij = 1 if si < ej otherwise vij = 0
• rij be the binary variable rij = 1 if sj < si < ei otherwise rij = 0
Basic constraints include:
X
Xiw = 1, ∀i
w
ei = si +
X
Xiw P roiw , ∀i
w
ei ≤ sj , ∀P reij = 1
For each uij , vij , pij , qij pair of constrains are used
uij = 1 if sj < si otherwise uij = 0
sj ≤ si + BigM × (1 − uij ), ∀i, j
sj ≥ si − BigM × uij , ∀i, j
Guide to Construct Linear Constraint
Page 6
Ho Chi Minh City International University
Industrial Systems Engineering Department
Deterministic Models in Operation Research
Lecturer: Phan Nguyen Ky Phuc
vij = 1 if si < ej otherwise vij = 0
si ≤ ej + BigM × (1 − vij ), ∀i, j
si ≥ ej − BigM × vij , ∀i, j
Elimination condition
uij + uji = 1,
∀i, j,
i 6= j
vij + vji = 1,
∀i, j,
i 6= j
If uij = 1 and vij = 1, then rij = 1 otherwise rij = 0
rij ≤ uij , ∀i, j
rij ≤ vij , ∀i, j
rij ≥ uij + vij − 1, ∀i, j
The value of rij will create following constraints
Xiw ≤ Eniw , ∀i, w
Xiw + Xjw ≤ 2 − rij , ∀i, j, w
Furthermore if Xiw = 1 then si and ei must be in the range [Bw ; Fw ], this will create the following constraints
Bw + BigM × (Xiw − 1) ≤ si , ∀i, w
Bw + BigM × (Xiw − 1) ≤ ei , ∀i, w
si ≤ Fw + BigM × (1 − Xiw ), ∀i, w
ei ≤ Fw + BigM × (1 − Xiw ), ∀i, w
s1
e1
s2
e2
s1
e1
s2
e2
Figure 1: Possible overlap case
Guide to Construct Linear Constraint
Page 7
Ho Chi Minh City International University
Industrial Systems Engineering Department
10
Deterministic Models in Operation Research
Lecturer: Phan Nguyen Ky Phuc
Another Approach For Handling Conflict Constraint
Index
i: index of job
j: index of job
m: index of machine
Parameters
BigM : Very large number
P roim : be the processing time if job i on machine m
Setijm : be the setup time of job j on on machine m if job i is an immediate precedence job of job j on
machine m
Enim : be the enable matrix Enim = 1 if job i is able to be assigned to worker w;otherwise Enij = 0
Bm and Fm are two values identify the time window of machine m
Decision Variables
Xim be the binary variable, Xim = 1 if job i is assigned to machine m; otherwise Xim = 0
Yij be the binary variable, Yij = 1 if job j is the immediate successor job of job i on the same machine,
otherwise Yij = 0
si starting time of job i
ei finishing time of job i
Yij + Yji ≤ 1,
∀i, j
Xim + Xjm − Yij − Yji ≤ 1,
∀i, j, m
Xim + Xjk + Yij + Yji ≤ 2,
∀i, j, m, k
si +
M
X
P roim Xim = ei ,
∀i, m
m=1
ei +
M
X
Xim Setijm − BigM (1 − Yij ) ≤ sj ,
∀i, j, m
m=1
11
Absolute Values for Binary Variables
Consider the case
X = |A − B|
where X, A, B are binary variables
X ≥A−B
X ≥B−A
X ≤A+B
X ≤2−A−B
12
Piece-wise Linear Constraints
Given several ranges [ai ; bi ] , i = 1...n and decision variable X, Y . If ai ≤ X ≤ bi then Y = fi (X)
Let ri be the index variable if X ∈ [ai ; bi ] then ri = 1 otherwise ri = 0.
Guide to Construct Linear Constraint
Page 8
Ho Chi Minh City International University
Industrial Systems Engineering Department
Deterministic Models in Operation Research
Lecturer: Phan Nguyen Ky Phuc
Basic constraints include:
ai ≤ Xi + BigM × (1 − ri )
Xi ≤ bi + BigM × (1 − ri ) ∀i = 1...I
Xi ≤ BigM × ri
I
X
ri = 1,
∀i = 1...I
∀i = 1...I
i=1
Y =
X
ri × fi (Xi ) ∀i = 1...I
i
Using Z = X × Y constraint the above can be transformed
Y =
X
Zi
∀i = 1...I
i
Zi ≤ BigM × ri
∀i = 1...I
Zi ≤ fi (Xi ) + BigM × (1 − ri ) ∀i = 1...I
Zi ≥ fi (Xi ) − BigM × (1 − ri ) ∀i = 1...I
13
Belong to The Range Constraints
Let ri be the index variable if Xi ∈ [ai ; bi ] then ri = 1 otherwise ri = 0.
ai ≤ Xi + BigM × (1 − ri )
Xi ≤ bi + BigM × (1 − ri )
Xi ≤ BigM × ri
14
Belong to the range constraint: Discrete case
D departure time
S starting time
p processing time
Ut binary variable, Ut = 1 if t ≥ S, otherwise; Ut = 0
Dt binary variable, Dt = 1 if t ≥ D − 1, otherwise; Vt = 0
D ≥S+p
t ≥ S − BigM × (1 − Ut )
t ≤ S − 1 + BigM × Ut
t ≤ D − 1 + BigM × (1 − Vt )
t ≥ D − BigM × Vt
15
Inference
If X = 1 then Y = 1
Y ≥X
If X = 0 then Y = 1
Y ≥1−X
Guide to Construct Linear Constraint
Page 9
Ho Chi Minh City International University
Industrial Systems Engineering Department
Deterministic Models in Operation Research
Lecturer: Phan Nguyen Ky Phuc
If X = 1 then A ≥ α; where A ≥ 0 and α is constant.
This constraint can be expressed as
A≥α×X
Or
BigM (1 − X) + A ≥ α
If Lower Bound and Upper Bound for A can be estimated, i.e. A ∈ [LB
for BigM can be found as α − LB
In this case the constraint can be rewritten as
(α − LB) × (1 − X) + A − α ≥
If X = 1 then B ≤ γ ,B ≥ 0
B ≥ Constant × X
Guide to Construct Linear Constraint
Page 10
U B] then the better estimation
Download