You are on page 1of 38

THUẬT TOÁN DCA VÀ ỨNG DỤNG

TRONG BÀI TOÁN ĐỊNH TUYẾN KHO HÀNG


VỚI TỈ LỆ LOGISTIC

Nguyễn Chí Thảo

Giảng viên hướng dẫn: TS. Tạ Anh Sơn


Viện Toán Ứng dụng và Tin học
Đại học Bách khoa Hà Nội

Tháng 7 2020

Nguyễn Chí Thảo Tháng 7 2020 1 / 38


Mục lục

1 Giới thiệu
Bối cảnh

2 Quy hoạch DC

3 Áp dụng DCA vào giải IRP-LR


Bài toán IRP
Giới thiệu
Phát biểu bài toán và mô hình
Phân rã DC của bài toán IRP-LR

4 Kết quả tính toán

Nguyễn Chí Thảo Tháng 7 2020 2 / 38


1 Giới thiệu
Bối cảnh

2 Quy hoạch DC

3 Áp dụng DCA vào giải IRP-LR


Bài toán IRP
Giới thiệu
Phát biểu bài toán và mô hình
Phân rã DC của bài toán IRP-LR

4 Kết quả tính toán

Nguyễn Chí Thảo Tháng 7 2020 3 / 38


Bối cảnh

Sự quan tâm đến các vấn đề kho chứa và vận chuyển đang gia tăng.
Tối ưu chuỗi cung ứng giúp tiết kiệm tài nguyên.
Các bài báo đề cập đến vấn đề này ngày càng nhiều trong thời gian
gần đây
Tối ưu không lồi.
Thuật toán DCA.

Nguyễn Chí Thảo Tháng 7 2020 4 / 38


1 Giới thiệu
Bối cảnh

2 Quy hoạch DC

3 Áp dụng DCA vào giải IRP-LR


Bài toán IRP
Giới thiệu
Phát biểu bài toán và mô hình
Phân rã DC của bài toán IRP-LR

4 Kết quả tính toán

Nguyễn Chí Thảo Tháng 7 2020 5 / 38


Dưới gradient, dưới vi phân

Là mở rộng của đạo hàm.


Definition
Cho f : Rn → R là hàm lồi và x 0 ∈ dom(f ). Ta gọi g ∈ Rn là dưới
gradient (subgradient) của f tại x 0 nếu:

f (x) ≥ f (x 0 ) + hg , x − x 0 i, ∀x ∈ Rn . (1)

Tập hợp tất cả các dưới gradient của f tại x 0 được gọi là dưới vi phân
(subderivative) của f tại x 0 , kí hiệu là ∂f (x 0 ):

∂f (x 0 ) = {g | f (x) ≥ f (x 0 ) + hg , x − x 0 i, ∀x ∈ Rn }. (2)

Trong trường hợp f khả vi tại x 0 thì ∂f (x 0 ) = {∇f (x 0 )}.

Nguyễn Chí Thảo Tháng 7 2020 6 / 38


Hàm DC

Definition
Cho tập lồi khác rỗng X ⊆ Rn . Hàm f : X → R được gọi là Hàm DC trên
X nếu f được biểu diễn bởi hiệu của hai hàm lồi trên X tức tồn tại các
hàm lồi g (x), h(x) trên X sao cho

f (x) = g (x) − h(x).

g , h được gọi là thành phần DC lồi của f . g − h được gọi là một biểu diễn
DC / phân rã DC của f .

Nguyễn Chí Thảo Tháng 7 2020 7 / 38


Quy hoạch DC

Một bài toán quy hoạch DC tổng quan có dạng:

α = inf {f (x) := g (x) − h(x) : x ∈ X }(Pdc ). (3)

Nguyễn Chí Thảo Tháng 7 2020 8 / 38


DCA

Ý tưởng: Ở mỗi vòng lặp, DCA xấp xỉ h(x) bằng xấp xỉ affine :
hk (x) = h(x k ) + hx − x k , y k i với y k ∈ ∂h(x k ).

Nguyễn Chí Thảo Tháng 7 2020 9 / 38


DCA

Algorithm 1 DCA tổng quát


1: Khởi tạo x 0
2: repeat
3: Chọn y k ∈ ∂h(x k )
4: Tìm x k+1 ∈ argmin{g (x) − hk (x) , x ∈ X }
5: k=k+1
6: until kx k+1 − x k k2 ≤ kx k k2 + 1

Nguyễn Chí Thảo Tháng 7 2020 10 / 38


DCA rút gọn

Algorithm 2 DCA rút gọn


1: Khởi tạo x 0
2: repeat
3: Chọn y k ∈ ∂h(x k )
4: Tìm x k+1 ∈ argmin{g (x) − hx, y k i , x ∈ X }
5: k=k+1
6: until kx k+1 − x k k2 ≤ kx k k2 + 1

Nguyễn Chí Thảo Tháng 7 2020 11 / 38


1 Giới thiệu
Bối cảnh

2 Quy hoạch DC

3 Áp dụng DCA vào giải IRP-LR


Bài toán IRP
Giới thiệu
Phát biểu bài toán và mô hình
Phân rã DC của bài toán IRP-LR

4 Kết quả tính toán

Nguyễn Chí Thảo Tháng 7 2020 12 / 38


Bài toán IRP cổ điển

IRP (Inventory Routing Problem - bài toán định tuyến kho hàng)
Mục tiêu: Tối thiểu tổng chi phí, bao gồm chi phí vận chuyển và chi
phí lưu kho.
Các khách hàng phải được phục vụ trong một chu kì thời gian (time
horizon) rời rạc.
Các phương tiện có sức chứa giới hạn.
Các phương tiện phải bắt đầu và kết thúc ở một kho hàng (depot).

Nguyễn Chí Thảo Tháng 7 2020 13 / 38


Bài toán IRP - LR

IRP - LR (Inventory Routing Problem with Logistic Ratio - bài toán định
tuyến với tỉ lệ Logistic) là một biến thể của IRP.
Tối thiểu tỉ lệ logistic - Là tỉ lệ giữa tổng chi phí và tổng lượng hàng được
vận chuyển.

Nguyễn Chí Thảo Tháng 7 2020 14 / 38


Phát biểu bài toán và các công thức

Cho một chu kì thời gian có H khoảng thời gian, bài toán có thể được
định nghĩa trên 1 đồ thị vô hướng G = (N, E ).
Các tập hợp:
T : Tập hợp các khoảng thời gian, T = 1, 2, ..., H.
N: Tập hợp các khách hàng và kho, N = 0, 1, 2, ..., n trong đó đỉnh 0
biểu diễn kho hàng và các đỉnh còn lại biểu diễn các khách hàng.
E = {(i, j), i, j ∈ N, i < j} là tập hợp các cạnh trong đồ thị.
A = {(i, j), (j, i) : {i, j} ∈ E } là tập hợp các cung trong đồ thị.

Nguyễn Chí Thảo Tháng 7 2020 15 / 38


Tham số

Tại mỗi khoảng thời gian t ∈ T ta có:


r0t đơn vị hàng sẵn sàng để vận chuyển ở kho.
rit đơn vị được tiêu thụ ở khách hàng i ∈ N 0 .
Tại mỗi đỉnh i ∈ N có:
Ii0 : lượng hàng ban đầu.
Ui : lượng hàng tối đa có thể lưu kho của khách hàng.
m: số phương tiện để vận chuyển hàng hóa
Q: sức chứa của mỗi phương tiện

Nguyễn Chí Thảo Tháng 7 2020 16 / 38


Các biến quyết định

Iit : lượng hàng ở khách hàng i ở cuối khoảng thời gian t > 0.
zit : biến nhị phân, bằng 1 nếu đỉnh i được tới trong khoảng thời gian t.
qit : lượng hàng được chuyển đến khách hàng i ở khoảng thời gian t.
yijt : số lần cạnh (i, j) được đi qua trong khoảng thời gian t.
lijt : lượng hàng được vận chuyển từ i đến j trong khoảng thời gian t
xijt : bằng 1 nếu cạnh (i, j) được đi qua trong khoảng thời gian t, ngược lại
bằng 0.

Nguyễn Chí Thảo Tháng 7 2020 17 / 38


Chính sách làm đầy

Chính sách OU (order up-to level): mỗi lần chuyển hàng phải phải
đưa lượng hàng trong kho của khách lên mức tối đa (maximum level -
ML).
Chính sách ML: có thể chuyển bao nhiêu hàng cũng được miễn là
không vượt quá ML tại khách hàng đấy.

Nguyễn Chí Thảo Tháng 7 2020 18 / 38


Một số giả thiết

Trong mỗi khoảng thời gian, các công việc sau xảy ra ở kho:
Một lượng hàng sẵn sàng để chuyển đi.
Một lượng được chuyển đi
Lượng hàng trong kho cũng thay đổi.
Ở khách hàng:
Một lượng hàng được chuyển tới.
Một lượng hàng được tiêu thụ.
Lượng hàng trong kho thay đổi.
Đồ án này sử dụng giả thiết về thứ tự các hành động trong [7] tức là "vận
chuyển - tiêu thụ - tính toán lượng hàng trong kho"và lượng hàng ở thời
điểm t không bao giờ được vượt quá ML hay hết như trong [4].

Nguyễn Chí Thảo Tháng 7 2020 19 / 38


Mô hình

cij yijt
P P
(i,j)∈E t∈T
min P P (4)
i∈N 0 t∈T qit
X
v .d.k : I0t = Ii,t−1 + r0t − qit , (5)
i∈N 0
Iit = Ii,t−1 − rit + qit i ∈ N 0, t ∈ T , (6)
Iit ≥ 0 i ∈ N, t ∈ T , (7)
qit ≥ Ui zit − Iit−1 i ∈ N, t ∈ T , (8)
0
qit ≤ Ui − Iit−1 i ∈ N ,t ∈ T, (9)
0
qit ≤ Ui zit i ∈ N ,t ∈ T, (10)
X X
yijt + yjit = 2zit i ∈ N 0, t ∈ T , (11)
j:(i,j)∈E j:(j,i)∈E

Nguyễn Chí Thảo Tháng 7 2020 20 / 38


Mô hình (tiếp)

(
X X −qit if i ∈ N 0
lijt − lijt = P i ∈ N, t ∈ T , (12)
j:(i,j)∈A j:(j,i)∈A i∈N 0 qit if i = 0
lijt ≤ Qxijt (i, j) ∈ A, t ∈ T , (13)
X X
xjit − xijt = 0 i ∈ N, t ∈ T , (14)
j:(j,i)∈A j:(i,j)∈A

xijt + xjit = yijt (i, j) ∈ E , t ∈ T , (15)


X
t
x0j ≤m t ∈ T, (16)
j:(0,j)∈A

Nguyễn Chí Thảo Tháng 7 2020 21 / 38


Mô hình (tiếp)

qit ≥ 0 i ∈ N 0, t ∈ T , (17)
zit ∈ {0, 1} i ∈ N, t ∈ T , (18)
yijt ∈ {0, 1} (i, j) ∈ E , t ∈ T , (19)
xijt ∈ {0, 1}, lijt ≥ 0 (i, j) ∈ A, t ∈ T . (20)

Nguyễn Chí Thảo Tháng 7 2020 22 / 38


Giải thích

P P
Trong hàm mục tiêu (4), i∈N 0 t∈T qit là tổng lượng hàng được vận
chuyển đến
P các khách hàng trong tất cả chu kì thời gian,
t là chi phí vận chuyển.
P
(i,j)∈E c y
t∈T ij ij
(5)-(7): các ràng buộc về tính toán lượng hàng như đã quy ước.
(8),(9),(10): các ràng buộc về chính sách làm đầy OU, nếu bỏ (8) đi thì
chính sách làm đầy trở thành ML.
(11),(14): ràng buộc tại mỗi nút chỉ có tối đa 1 lần vào và 1 lần ra.
(12): ràng buộc bảo toàn luồng.
(13): ràng buộc về sức chứa phương tiện.
(15): để đảm bảo sự nhất quán giữa x và y .
(16): ràng buộc về cận trên của số phương tiện.
Đây là bài toán quy hoạch nguyên hỗn hợp với hàm mục tiêu là một phân
thức thuộc lớp NP-khó.

Nguyễn Chí Thảo Tháng 7 2020 23 / 38


Phân rã DC của bài toán IRP-LR

Ta thêm một số kí hiệu như sau:


z(R): Tổng chi phí di chuyển:
X X
cij yijt . (21)
(i,j)∈E t∈T

z(D): Tổng lượng hàng được vận chuyển:


XX
qit . (22)
i∈N 0 t∈T

Nguyễn Chí Thảo Tháng 7 2020 24 / 38


Phân rã DC của bài toán IRP-LR

Từ bài toán gốc:

z(R)
(Porigin ) min (23)
z(D)
v .d.k. (5 − 20) (24)

Bằng cách lấy logarit tự nhiên của hàm mục tiêu:

z(R)
ln = ln(z(R)) − ln(z(D))
z(D)

ta chuyển bài toán gốc về bài toán mới có cùng tập nghiệm như sau:

min ln(z(R)) − ln(z(D)) (25)


v .d.k. (5 − 20). (26)

Nguyễn Chí Thảo Tháng 7 2020 25 / 38


Định lí phạt

Theorem
Với D là một tập lồi đa diện khác rỗng, f là một hàm lõm hữu hạn trên D
và p là hàm lõm không âm trên D. Khi đó, tồn tại µ0 ≥ 0 sao cho với mọi
µ ≥ µ0 , hai bài toán sau có cùng tập nghiệm và cùng giá trị tối ưu:

(Pn ) α(µ) = min{f (y ) + µp(y ) : y ∈ D}, (27)


(P) α = min{f (y ) : y ∈ K , p(y ) ≤ 0}. (28)

Nguyễn Chí Thảo Tháng 7 2020 26 / 38


Hàm phạt

P
Sử dụng P = θ : binary (1 − θ)θ

min ln(z(R)) − ln(z(D)) + µ(Pbin ) (29)


v .d.k (5) − (17) (30)
zit ∈ [0, 1] i ∈ N, t ∈ T , (31)
yitk ∈ [0, 1] (i, j) ∈ E , t ∈ T , (32)
xijt ∈ [0, 1] lijt ≥0 (i, j) ∈ A, t ∈ T . (33)

Nguyễn Chí Thảo Tháng 7 2020 27 / 38


Phân rã DC 1

Đặt

g (X ) = −ln(z(D)),
h(X ) = −ln(z(R)) − µPbin
f (X ) = g (X ) − h(X )

Nguyễn Chí Thảo Tháng 7 2020 28 / 38


Phân rã DC 2

Theorem
Tồn tại ρ ≥ 0 sao cho hàm H(X ) = 21 ρkX k2 − f (X ) là hàm lồi trên C (C
là tập chấp nhận được của bài toán (PDC 1 )).

1 1
G (X ) = ρkX k2 , H(X ) = ρkX k2 − f (X ).
2 2

Cuối cùng ta được bài toán quy hoạch DC như dưới đây:

min G (X ) − H(X ) (34)


v .d.k. X ∈ C. (35)

Nguyễn Chí Thảo Tháng 7 2020 29 / 38


DCA IRP-LR

Algorithm 3 DCA IRP-LR


1: Khởi tạo µ, ρ.
2: Chọn  đủ nhỏ.
3: Khởi tạo X 0
4: repeat
5: Chọn Y k ∈ ∂H(X k )
6: Tìm X k+1 bằng cách giải min G (X ) − hX , Y k i
7: k=k+1
8: until kX k+1 − X k k2 ≤ kX k k2 + 1

Nguyễn Chí Thảo Tháng 7 2020 30 / 38


1 Giới thiệu
Bối cảnh

2 Quy hoạch DC

3 Áp dụng DCA vào giải IRP-LR


Bài toán IRP
Giới thiệu
Phát biểu bài toán và mô hình
Phân rã DC của bài toán IRP-LR

4 Kết quả tính toán

Nguyễn Chí Thảo Tháng 7 2020 31 / 38


Dữ liệu
Dữ liệu được sinh dựa trên [3].
Chu kì thời gian H: 3,6.
Số khách hàng n: 5k, k = 1, 2, ...
Lượng tiêu thụ rit ở khách hàng i trong khoảng thời gian t là hằng số:
rit = ri , ∀t ∈ T và là số nguyên được sinh ngẫu nhiên trong đoạn [10, 100];
P
Lượng hàng được sẵn sàng chuyển đi ở kho ở thời điểm t bằng i∈N 0 ri ;
Lượng hàng tối đa Ui ở khách hàng i: ri gi với gi được sinh ngẫu nhiên trong tập
{2, 3}.
P
Lượng hàng ban đầu ở kho hàng I00 : i∈N 0 Ui ;
Lượng hàng ban đầu ở các khách hàng: Ii0 = Ui − ri ;
Chi phí lưu kho ở i ∈ N 0 :hi được sinh ngẫu nhiên trong đoạn [0.01, 0.05];
Chi phí ở lưu kho ở kho hàng h0 : 0.03.
P
3 i∈N 0 ri
Tổng tải trọng của từng xe Q = 2 m
với m là số xe;
Tọa độ điểm i (Xi , Yi ) được sinh ngẫu nhiên trong [0,500];
p
Chi phí di chuyển cij = b (Xi − Xj )2 + (Yi − Yj )2 c.

Nguyễn Chí Thảo Tháng 7 2020 32 / 38


Kết quả tính toán I

Bảng: |N 0 | = 10, H= 3, m = 3
Data gap ALG2 Time(s) DCA Time(s) Diff(%)
data_01 0.1 3.3584 260.23 3.3256 13.188 -0.97524
data_02 0.1 2.4925 3246.1 2.4744 52.794 -0.72797
data_03 0.1 2.6942 164.11 2.6049 3.6809 -3.31591
data_04 0.1 3.2129 71.405 3.1097 3.7518 -3.21285
data_05 0.1 4.1775 194.51 3.9689 6.5262 -4.99451
data_06 0.1 4.3603 304.47 4.3394 10.65 -0.47849

Bảng: |N 0 | =15, H = 3, m =3
Data gap ALG2 Time(s) DCA Time(s) Diff(%)
data_07 0.15 1.5336 53.136 1.4975 2.7687 -2.34951
data_08 0.15 2.4175 1140.6 2.3589 184.3 -2.42585
data_09 0.1 2.1311 1912 2.0468 64.959 -3.95665
data_10 0.1 1.8069 2106.8 1.763 107.3 -2.42778
data_11 0.1 1.9295 655.17 1.8766 472.55 -2.73889
data_12 0.1 1.7296 2457.7 1.7717 513.85 2.4359
Nguyễn Chí Thảo Tháng 7 2020 33 / 38
Kết quả tính toán II

Bảng: |N 0 | =5, H= 6, m =3
Data gap ALG2 Time(s) DCA Time(s) Diff(%)
data_13 0 5.5722 384.04 5.183 53.996 -6.98584
data_14 0 6.6655 13.652 6.6656 5.0691 0.002876
data_15 0 12.436 21.778 12.437 6.969 0.000682
data_16 0 4.5417 10.012 4.3597 5.6238 -4.00713
data_17 0 4.7545 153.07 4.5046 11.857 -5.25732

Bảng: |N 0 | = 15, H= 6, m = 3
Data gap ALG2 Time(s) DCA Time(s) Diff(%)
data_18 0.1 1.553 310.45 1.4391 70.166 -7.33927
data_19 0.1 - - 2.046 1802.6 -
data_20 0.1 - - 2.066 1802.6 -
data_21 0.1 1.8677 113.66 1.7973 1801.7 -3.7717
data_22 0.1 1.8285 1148.4 1.8241 535.68 -0.24079

Nguyễn Chí Thảo Tháng 7 2020 34 / 38


Kết luận

Tổng quan, ta có thể thấy thuật toán DCA IRP-LR cho kết quả tốt hơn so
với thuật toán gốc của tác giả (lên tới 9.7%) và thời gian giải tốt hơn
đáng kể trong nhiều bộ dữ liệu.
Tuy nhiên, khi số chiều tăng, thời gian giải cả hai thuật toán đều tăng lên.
Mặc dù vậy, DCA IRP-LR vẫn có thể cho ra kết quả, còn thuật toán gốc
không thể giải kịp khi giới hạn thời gian mỗi bài toán con là 30 phút.
Trong tương lai, có thể tìm cách khởi tạo tốt hơn bằng các thuật toán
heuristic như di truyền, đàn kiến,...

Nguyễn Chí Thảo Tháng 7 2020 35 / 38


Tài liệu tham khảo I
C. Archetti, N. Bianchessi, S. Irnich and M. G. Speranza, “Formulations for an inventory routing problem,” International
Transactions in Operational Research, vol. 21, pp. 353–374, May 2014.

C. Archetti, L. Bertazzi, G. Laporte and M. G. Speranza, “A Branch and Cut Algorithm for a Vendor Managed Inventory
Routing Problem,” Transportation Science, vol 41, pp. 382–391, August 2007.

C. Archetti, L. C.Coelhob and M. G. Speranza, “An exact algorithm for the inventory routing problem with logistic ratio,”
Transportation Research Part E: Logistics and Transportation Review, vol 131, pp. 96-107, November 2019.

C. Archetti, L. Bertazzi, A. Hertz and M. G. Speranza, “A Hybrid Heuristic for an Inventory Routing Problem,”Informs
Journal on Computing, vol 24, February 2012.

M. Christiansen, “Decomposition of a Combined Inventory and Time Constrained Ship Routing Problem,”Transportation
Science, vol. 33, No. 1, pp. 3-16, February 1999.

A. Mercer and X. Tao “Alternative Inventory and Distribution Policies of a Food Manufacturer,”Journal of the
Operational Research Society, vol 47, pp. 755–765, 1996.

L. C.Coelho, J.F. Cordeau and G. Laporte, ”Consistency in multi-vehicle inventory-routing,”Transportation Research Part
C: Emerging Technologies, vol 24, pp. 270-287, October 2012.

H. Andersson, M. Christiansen and K. Fagerholt, ”Transportation Planning and Inventory Management in the LNG
Supply Chain,” Energy, Natural Resources and Environmental Economics, pp. 427-439, June 2010.

J.E. Fokkema, J.L Martin, L.C. Coelho, H.Wortmann and G.B. Huitema,”A continuous-time supply-driven
inventory-constrained routing problem”, Omega, vol 92, April 2020.

H. A. Le Thi, ”DC programming and DCA for supply chain and production management: state-of-the-art models and
methods,” International Journal of Production Research, August 2019.

Nguyễn Chí Thảo Tháng 7 2020 36 / 38


Tài liệu tham khảo II

H. A. Le Thi and T. Pham Dinh ,”DC programming and DCA: thirty years of developments,” Mathematical
Programming, vol 169, pp.5–68, 2018.

H. A. Le Thi and T. Pham Dinh,”The DC (Difference of Convex Functions) Programming and DCA Revisited with DC
Models of Real World Nonconvex Optimization Problems,” Annals of Operations Research, vol 133, pp. 23–46, 2005.

H. A. Le Thi and T. Pham Dinh,”A Continuous Approach for Globally Solving Linearly Constrained Quadratic Zero - One
Programming Problems,” Optimization, vol 50, pp. 93–120, 2001.

H. A. Le Thi and T. Pham Dinh,”Convex analysis approach to d.c. programming: Theory, Algorithm and Applications,”
ACTA MATHEMATICA VIETNAMICA, vol 22,pp. 289–355, 1997.

N.T.B. Kim, ”Giáo trình các phương pháp tối ưu - Lý thuyết và thuật toán,” Nhà xuất bản Đại học Bách Khoa, 2014.

HA A. Le Thi, T. A. Son and T. Pham Dinh: ”An efficient DCA based algorithm for power control in large scale wireless
networks,” Appl. Math. Comput. vol 318, pp. 215-226, 2018.

Nguyễn Chí Thảo Tháng 7 2020 37 / 38


THANK YOU!

Nguyễn Chí Thảo Tháng 7 2020 38 / 38

You might also like