You are on page 1of 59

TRƯỜNG ĐẠI HỌC KINH TẾ - KỸ THUẬT CÔNG NGHIỆP

CÔNG NGHỆ THÔNG TIN

CHƯƠNG 5
BÀI TOÁN TỐI ƯU

Giảng viên: TS Bùi Văn Tân


Khoa: CNTT

1
NỘI DUNG BÀI HỌC

5.1 Giới thiệu bài toán


5.2
Các thuật toán duyệt
5.3
Thuật toán nhánh cận

5.4 Bài toán lập lịch và gia công trên hai máy

Toán rời rạc Chương 5: Bài toán tối ưu 2


MỤC TIÊU BÀI HỌC

Sau khi học xong bài này, các bạn sẽ nắm được các vấn
đề sau:
- Nắm vững được lí thuyết về bài toán tối ưu
- Các phương pháp để giải bài toán tối ưu
- Áp dụng các phương pháp để giải bài tập về bài toán tối
ưu

Toán rời rạc Chương 5: Bài toán tối ưu 3


5.1. Giới thiệu bài toánpháp sinh

 Dạng tổng quát bài toán tối ưu tổ hợp có thể phát


biểu như sau:
Tìm cực tiểu (hay cực đại) của hàm
f(x) = min (max)
với điều kiện: x  D
(trong đó D là tập hữu hạn các phần tử).

Toán rời rạc Chương 5: Bài toán tối ưu 4


Các thuật ngữ

 f(x) - hàm mục tiêu của bài toán,


 D - tập các phương án của bài toán.
 x  D - phương án
 Thông thường tập D được mô tả như là tập các cấu hình tổ
hợp thoả mãn một số tính chất cho trước nào đó.
 Phương án x*  D đem lại giá trị nhỏ nhất (lớn nhất) cho
hàm mục tiêu được gọi là phương án tối ưu, khi đó giá trị
 f* = f(x*) được gọi là giá trị tối ưu của bài toán.

Toán rời rạc Chương 5: Bài toán tối ưu 5


5.1.1. Bài toán người du lịch- TSP

(Traveling Salesman Problem – TSP)


 Một người du lịch muốn đi tham quan n thành phố T1, T2, ..., Tn.
 Hành trình là cách đi xuất phát từ một thành phố nào đó đi qua
tất cả các thành phố còn lại, mỗi thành phố đúng một lần, rồi
quay trở lại thành phố xuất phát.
 Biết cij là chi phí đi từ thành phố Ti đến thành phố Tj (i, j = 1,
2,..., n),
 Tìm hành trình với tổng chi phí là nhỏ nhất.

Toán rời rạc Chương 5: Bài toán tối ưu 6


5.1.2. Bài toán cái túi (Knapsack Problem)

 Một nhà thám hiểm cần đem theo một cái túi có trọng lượng
không quá b.
 Có n đồ vật có thể đem theo. Đồ vật thứ j có:
 Trọng lượng là wj
 Giá trị sử dụng là cj (j = 1, 2,..., n).
 Hỏi rằng nhà thám hiểm cần đem theo các đồ vật nào để
cho tổng giá trị sử dụng của các đồ vật đem theo là lớn
nhất?

Toán rời rạc Chương 5: Bài toán tối ưu 7


5.2. Các thuật toán duyệt

Trên cơ sở các thuật toán liệt kê tổ hợp tiến hành duyệt từng
phương án của bài toán
Đối với mỗi phương án tính giá trị hàm mục tiêu tại nó, sau đó
so sánh giá trị hàm mục tiêu tại tất cả các phương án được liệt
kê để tìm ra phương án tối ưu.
Phương pháp xây dựng theo nguyên tắc như vậy có tên gọi là
phương pháp duyệt toàn bộ

Toán rời rạc Chương 5: Bài toán tối ưu 8


Mô tả phương pháp

Bài toán nói tới:


n
m ax{ f ( x)   c j x j : x  D},
j 1
n
trong ®ã D  {x  ( x1 , x2 ,..., xn )  B n :  w j x j  b}
j 1

c j ,
wj, b là các số nguyên dương, j=1,2,…, n.
Cần có thuật toán liệt kê các phần tử của D

Toán rời rạc Chương 5: Bài toán tối ưu 9


Thuật toán quay lui liệt kê các phương án

 Xây dựng Sk:


S1={ 0, t1 }, với t1=1 nếu bw1; t1 = 0, nếu trái lại
 Giả sử đã có phương án (x1, …, xk-1). Khi đó
Dung lượng còn lại là:
bk-1= b - w1x1- …-wk-1xk-1
Giá trị của các đồ vật chất vào túi là
fk-1= c1x1 + … + ck-1xk-1
Do đó: Sk = {0, tk}, với tk=1 nếu bk-1wk; tk = 0, nếu trái lại
 Mô tả Sk?
For y := 0 to tk do

Toán rời rạc Chương 5: Bài toán tối ưu 10


5.3. Thuật toán nhánh cận

5.3.1.Sơ đồ chung
 Thuật toán bao gồm hai thủ tục:
 Phân nhánh (Branching Procedure)
 Tính cận (Bounding Procedure)
 Phân nhánh: Quá trình phân hoạch tập các phương án ra thành các
tập con với kích thước càng ngày càng nhỏ cho đến khi thu được phân
hoạch tập các phương án ra thành các tập con một phần tử
 Tính cận: Cần đưa ra cách tính cận cho giá trị hàm mục tiêu của bài
toán trên mỗi tập con A trong phân hoạch của tập các phương án.

Toán rời rạc Chương 5: Bài toán tối ưu 11


5.3.1. Sơ đồ chung

 Ta sẽ mô tả tư tưởng của thuật toán trên mô hình bài toán tối


ưu tổ hợp tổng quát sau
min { f(x) : x  D },
trong đó D là tập hữu hạn phần tử.
 Giả thiết rằng tập D được mô tả như sau
D = {x = (x1, x2, ..., xn)  A1 A2 ...  An:
x thoả mãn tính chất P},
với A1, A2, ..., An là các tập hữu hạn, còn P là tính chất cho trên
tích Đềcac A1  A2  ...  An.

Toán rời rạc Chương 5: Bài toán tối ưu 12


Nhận xét

 Nhận thấy rằng, các bài toán vừa trình bày ở mục 1 đều có thể mô
tả dưới dạng bài toán trên.
 Yêu cầu về mô tả của tập D là để có thể sử dụng thuật toán quay lui
để liệt kê các phương án của bài toán.
 Bài toán
max {f(x): x  D}
là tương đương với bài toán
min {g(x): x  D}, trong đó g(x) = -f(x)
 Do đó ta có thể hạn chế ở việc xét bài toán min.

Toán rời rạc Chương 5: Bài toán tối ưu 13


Phân nhánh

 Quá trình phân nhánh được thực hiện nhờ thuật toán quay
lui: () D
1 n1
a
1 a 2
1 ... a 1

D(a11 ) D(a12 ) D(a1n1 )


 Ta có phân hoạch:

D  D(a )  D(a )  ...  D(a )


1
1
2
1
n1
1

Toán rời rạc Chương 5: Bài toán tối ưu 14


Phân nhánh

 Như vậy ta có thể đặt tương ứng mỗi phương án bộ phận (a1, a2, ...,
ak) với một tập con các phương án của bài toán:
D(a1,..., ak)= { xD: xi = ai , i = 1,..., k }.
 Ở bước tổng quát của thuật toán quay lui ta sẽ làm việc với phương
án bộ phận (a1, a2, ..., ak) và xét các cách tiếp tục phát triển phương
án này.
 Điều đó tương đương với việc phân hoạch tập D ra thành các tập
con nhỏ hơn.

Toán rời rạc Chương 5: Bài toán tối ưu 15


Phân nhánh

Quá trình phân nhánh có thể diễn tả như sau:


( ) D(a1,…,ak)

1
a
k 1
2
a
k 1 ... akp1
D(a1 ,..., ak , a1k 1 )

Ta có phân hoạch: p
D(a1 ,..., ak )  U D (a1 ,..., ak , aki 1 )
i 1

Toán rời rạc 16 Chương 5: Bài toán tối ưu 16


Tính cận

 Cần có hàm g xác định trên tập tất cả các phương án bộ


phận của bài toán thoả mãn bất đẳng thức sau:
g(a1,..., ak)  min{f(x): xD, xi=ai, i=1,..., k} (*)
 với mỗi lời giải bộ phận (a1, a2, ..., ak),
và với mọi k = 1, 2, ...

Toán rời rạc Chương 5: Bài toán tối ưu 17


Tính cận

 Bất đẳng thức (*) có nghĩa là giá trị của hàm g tại phương
án bộ phận (a1, a2, ..., ak) là không vượt quá giá trị nhỏ nhất
của hàm mục tiêu của bài toán trên tập con các phương án
D(a1,..., ak)= { xD: xi = ai , i = 1,..., k },
Hay nói một cách khác, g(a1, a2, . . . , ak) là cận dưới của giá
trị hàm mục tiêu trên tập D(a1, a2, ..., ak).

Toán rời rạc Chương 5: Bài toán tối ưu 18


Tính cận

 Và lúc đó, hàm g được gọi là hàm cận dưới, và giá trị g(a1,
a2, . . . , ak) được gọi là cận dưới của tập D(a1, a2, ..., ak).
 Do có thể đồng nhất tập D(a1,..., ak) với phương án bộ phận
(a1,..., ak), nên ta cũng gọi giá trị g(a1,..., ak) là cận dưới của
phương án bộ phận (a1,..., ak).

Toán rời rạc Chương 5: Bài toán tối ưu 19


Cắt nhánh nhờ sử dụng cận dưới

 Giả sử đã có hàm g. Ta xét cách sử dụng hàm này để giảm bớt khối
lượng duyệt trong quá trình duyệt tất cả các phương án theo thuật toán
quay lui.
 Trong quá trình liệt kê các phương án có thể đã thu được một số phương
án của bài toán. Gọi x là phương án với giá trị hàm mục tiêu nhỏ nhất
trong số các phương án đã tìm được, ký hiệuf = f(x ).
 Ta sẽ gọi
 x là phương án tốt nhất hiện có,
 còn f là kỷ lục.

Toán rời rạc Chương 5: Bài toán tối ưu 20


Cắt nhánh nhờ sử dụng cận dưới

 Giả sử đã có f , khi đó nếu


 g(a1, a2, ..., ak) > f ,
 Từ bất đẳng thức (*) suy ra
 f < g(a1,..., ak)  min{f(x): x  D(a1,...,ak)},
 Vì thế tập D(a1,..., ak) chắc chắn không chứa phương án tối
ưu và có thể loại bỏ khỏi quá trình duyệt.

Toán rời rạc Chương 5: Bài toán tối ưu 21


Thuật toán nhánh cận

void Branch(k)
(* Phát triển phương án bộ phận (x1, x2, ..., xk-1) *)
{
for (akAk )
if (akSk )
{
xk := ak;
if (k = n) < Cập nhật kỷ lục>
else
if g(x1,..., xk)  f Branch(k+1)
}
}

Toán rời rạc Chương 5: Bài toán tối ưu 22


Thuật toán nhánh cận

void BranchAndBound()
{
f := +;
(* Nếu biết p/ánx nào đó thì đặtf = f(x ) *)
Branch(1);
if (f < +)
<f là giá trị tối ưu,x là p/án tối ưu >
else < bài toán không có phương án >;
}

Toán rời rạc Chương 5: Bài toán tối ưu 23


Chú ý: Sơ đồ duyệt toàn bộ

 Chú ý rằng nếu trong thủ tục Branch ta thay câu lệnh
if (k = n) < Cập nhật kỷ lục>
else
if (g(a1,..., ak)  f ) Branch(k+1)
bởi
if (k = n) < Cập nhật kỷ lục>
else Branch(k+1)
thỡ ta thu được thuật toán duyệt toàn bộ.

Toán rời rạc Chương 5: Bài toán tối ưu 24


Chú ý:

 Việc xây dựng hàm g phụ thuộc vào từng bài toán tối ưu tổ hợp cụ
thể. Thông thường ta cố gắng xây dựng nó sao cho:
 Việc tính giá trị của g phải đơn giản hơn việc giải bài toán tối ưu tổ
hợp ở vế phải của (*).
 Giá trị của g(a1,..., ak) phải sát với giá trị của vế phải của (*).
 Rất tiếc là hai yêu cầu này trong thực tế thường đối lập nhau.

Toán rời rạc Chương 5: Bài toán tối ưu 25


5.3.2. Bài toán cái túi

 Có n loại đồ vật.
 Đồ vật loại j có
 trọng lượng wj và
 giá trị sử dụng là cj (j = 1, 2,..., n) .
 Cần chất các đồ vật này vào một cái túi có trọng lượng là b
sao cho tổng giá trị sử dụng của các đồ vật chất trong túi là
lớn nhất.

Toán rời rạc Chương 5: Bài toán tối ưu 26


Bài toán cái túi (KP)

 Đưa vào biến số


xj – số lượng đồ vật loại j được chất vào túi,
j=1,2, ..., n
 Mô hình toán học của bài toán có dạng sau: Tìm
n n
f  max { f ( x)   c j x j :  a j x j  b, x j  Z  , j  1, 2,..., n }
*

j 1 j 1

Trong đó trong đó Z+ là tập các số nguyên không âm

Toán rời rạc Chương 5: Bài toán tối ưu 27


Bài toán cái túi (KP)

 Ký hiệu D là tập các phương án của bài toán:


n
D  {x  ( x1 ,..., xn ) :  a j x j  b, x j  Z  , j  1, 2,..., n }
j 1

Giả thiết rằng các đồ vật được đánh số sao


cho bất đẳng thức sau được thoả mãn
c1 /a1  c2 / a2  . . .  cn / an
(có nghĩa là các đồ vật được xếp theo thứ tự
không tăng của giá trị một đơn vị trọng lượng)
Toán rời rạc Chương 5: Bài toán tối ưu 28
Xây dựng hàm cận trên

• Để xây dựng hàm tính cận trên, cùng với bài toán cái túi ta xét bài toán cái túi
biến liên tục (KPC) sau đây: Tìm
n n
g  max { f ( x)   c j x j :  a j x j  b, x j  0, j  1, 2,..., n }
*

j 1 j 1

• Mệnh đề: Phương án tối ưu của bài toán KPC là vectơx = (x1 ,x2 , ...,xn )
với các thành phần được xác định bởi công thức:
x1 = b / a1 , x2 = x3 = . . . = xn = 0.
và giá trị tối ưu là g* = c1b /a1.

Toán rời rạc Chương 5: Bài toán tối ưu 29


Tính cận trên

 Vậy: ta có thể tính cận trên cho phương án bộ phận (u1, u2,
..., uk) bởi công thức
g(u1, u2,..., uk) = k + ck+1 / ak+1 * bk
 Chú ý: Khi tiếp tục xây dựng thành phần thứ k+1 của lời
giải, các ứng cử viên cho xk+1 sẽ là 0, 1, ..., [bk / ak+1 ].
 Do có kết quả của mệnh đề, khi chọn giá trị cho xk+1 ta sẽ
duyệt các ứng cử viên theo thứ tự giảm dần.

Toán rời rạc Chương 5: Bài toán tối ưu 30


Tính cận trên
• Ta có
max{ f ( x) : x  D, x j  u j , j  1, 2,..., k}
n n
 max { k  cx :ax
j  k 1
j j
j k 1
j j  bk , x j  Z , j  k  1, k  2,..., n}

n n
  k  max {  c j x j :  a j x j  bk , x j  0, j  k  1, k  2,..., n}
j  k 1 j k 1

  k  ck 1bk / ak 1.

 Vậy ta có thể tính cận trên cho phương án bộ phận (u1,


u2, ..., uk) bởi công thức
g(u1, u2,..., uk) = k + ck+1 bk / ak+1.
Toán rời rạc Chương 5: Bài toán tối ưu 31
Bài toán cái túi

 Chú ý: Khi tiếp tục xây dựng thành phần thứ k+1 của lời
giải, các ứng cử viên cho xk+1 sẽ là 0, 1, ..., [bk / ak+1 ].
 Do có kết quả của mệnh đề, khi chọn giá trị cho xk+1 ta sẽ
duyệt các ứng cử viên theo thứ tự giảm dần.

Toán rời rạc Chương 5: Bài toán tối ưu 32


Lưu ý khi giải bài toán cái túi

Xét BĐT: c1 /a1  c2 / a2  . . .  cn / an


- : giá trị các đồ vật đang chất trong túi
- w: trọng lượng còn lại của túi
- g: cận trên. gk = k + ck+1 / ak+1 * wk
- Chú ý: Khi tiếp tục xây dựng thành phần thứ k+1
của lời giải, các ứng cử viên cho xk+1 sẽ là 0, 1, ...,
[bk / ak+1 ].

Toán rời rạc Chương 5: Bài toán tối ưu 33


Ví dụ

 Giải bài toán cái túi sau theo thuật toán nhánh cận vừa trình
bày
f(x) = 10x1 + 5x2 + 3x3 + 6x4  max,
5x1 + 3x2 + 2x3 + 4x4  8,
xj  Z+ , j =1, 2, 3, 4.

Toán rời rạc Chương 5: Bài toán tối ưu 34


f(x) = 10 x1 + 5 x2 + 3 x3 + 6 x4  max,
5 x1 + 3 x2 + 2 x3 + 4 x4  8,
xj  Z+ , j =1, 2, 3, 4.

Toán rời rạc Chương 5: Bài toán tối ưu 35


 Kết thúc thuật toán, ta thu được:
 Phương án tối ưu: x* = (1, 1, 0, 0),
 Giá trị tối ưu: f* = 15.

Toán rời rạc Chương 5: Bài toán tối ưu 36


Bài tập

 Áp dụng thuật toán nhánh cận để giải bài toán cái túi sau
đây, chỉ rõ kết quả mỗi bước:
 1. 9x1 + x2 + 5x3 + x4 -> max
7x1 + 2x2 + 4x3 + x4 ≤ 8

Toán rời rạc Chương 5: Bài toán tối ưu 37


 2. 5x1 + x2 + 4x3 + 6x4 -> max
4x1 + 2x2 + 3x3 + 3x4 ≤ 10

Toán rời rạc Chương 5: Bài toán tối ưu 38


5.3.3. Bài toán người du lịch

 Cố định thành phố xuất phát là T1, bài toán người du lịch
dẫn về bài toán:
 Tìm cực tiểu của hàm
f(1,x2,..., xn) =
c[1,x2]+c[x2,x3]+...+ c[xn,1]  min
 với điều kiện (1, x2, x3, ..., xn) là hoán vị của các số 1,2, ...,
n.

Toán rời rạc Chương 5: Bài toán tối ưu 39


Hàm cận dưới

 Ký hiệu
cmin = min { c[i, j ]; i, j = 1, 2, ..., n, i  j }
là chi phí đi lại nhỏ nhất giữa các thành phố.
 Cần đánh giá cận dưới cho phương án bộ phận (1, u2, ...,
uk) tương ứng với hành trình bộ phận qua k thành phố:
T1  T(u2)  . . .  T(uk-1)  T(uk).

Toán rời rạc Chương 5: Bài toán tối ưu 40


Hàm cận dưới

 Chi phí phải trả theo hành trình bộ phận này là


 = c[1,u2] + c[u2, u3] + ... + c[uk-1, uk]
 Để phát triển thành hành trình đầy đủ, ta còn phải đi qua n-
k+1 đoạn đường nữa, mỗi đoạn có chi phí không ít hơn cmin,
nên cận dưới cho phương án bộ phận (1, u2, ..., uk) có thể
tính theo công thức
g(1, u2, ..., uk) =  + (n-k+1) cmin

Toán rời rạc Chương 5: Bài toán tối ưu 41


Ví dụ

 Giải bài toán người du lịch với ma trận chi phí sau:
0 3 14 18 15
3 0 4 22 20
C= 17 9 0 16 4
9 20 7 0 18
9 15 11 5 0

Toán rời rạc Chương 5: Bài toán tối ưu 42


 Ta có cmin = 3. Quá trình thực hiện thuật toán được mô tả
bởi cây tìm kiếm lời giải.
 Thông tin được ghi trong các ô trên hình vẽ theo thứ tự sau:
 các thành phần của phương án,
  là chi phí theo hành trình bộ phận
 g - cận dưới.

Toán rời rạc Chương 5: Bài toán tối ưu 43


0 3 14 18 15
3 0 4 22 20
C= 17 9 0 16 4
9 20 7 0 18
9 15 11 5 0

Toán rời rạc Chương 5: Bài toán tối ưu 44


Kết quả

 Kết thúc thuật toán, ta thu được phương án tối ưu (1, 2, 3,


5, 4, 1) tương ứng với hành trình
T1  T2  T3  T5  T4  T1 ,
 Chi phí nhỏ nhất là 25.

Toán rời rạc Chương 5: Bài toán tối ưu 45


Phương pháp rút gọn ma trận

 Các bước thực hiện rút gọn ma trận chi phí trong giải bài
toán người du lịch
 Bước 1: Trừ mỗi phần tử của các dòng cho các hằng số nhỏ
nhất trong từng dòng đó.
 Bước 2: Ma trận mới thu được lại tiếp tục trừ các phần tử
của các cột cho hằng số nhỏ nhất trong từng cột.

Toán rời rạc Chương 5: Bài toán tối ưu 46


Phương pháp rút gọn ma trận

 Bước 3: Tính tổng các hằng số rút gọn ở trên. Ta thu được
cận dưới cho tất cả các hành trình
 Bước 4: Phân tập các phương án của bài toán bằng
phương án phân nhánh.
 Chọn cạnh phân nhánh bằng cách tìm số 0 nào trong ma trận mà
khi thay nó bởi ∞ sẽ cho ta tổng hằng số rút gọn theo dòng và cột
chứa nó là lớn nhất.
 Ma trận sau đó thu được sẽ rút gọn đi một bậc

Toán rời rạc Chương 5: Bài toán tối ưu 47


Phương pháp rút gọn ma trận

 Bước 5: Sau khi chọn được cạnh theo yêu cầu như ở bước
trên. Cần kiểm tra tập các cạnh thu được để không tạo
thành hành trình con
 Bước 6: Thuật toán sẽ dừng khi thu được ma trận có dạng
sau:
0 ∞ hoặc ∞ 0
∞ 0 0 ∞

Toán rời rạc Chương 5: Bài toán tối ưu 48


Ví dụ

 Giải bài toán người du lịch với phương pháp rút gọn ma trận
chi phí sau:
  25 45 14 32 24 
 
 9  16 2 34 23 
 22 11  33 7 0
 
 23 14 27  20 21
14 44 29 46  3 

 25 3 4 7 8  

Toán rời rạc Chương 5: Bài toán tối ưu 49
 Giải bài toán cái túi sau:
7 x1 + 3x2 + 2x3 + x4 -> max,
5x1 + 3x2 + 6 x3 + 4 x4 <= 12,

Toán rời rạc Chương 5: Bài toán tối ưu 50


5.4 Bài toán lập lịch gia công trên 2 máy

Xét bài toán:


 Mỗi một chi tiết trong số n chi tiết D1, D2, …, Dn cần phải được lần
lượt gia công trên 2 máy A&B.
 Thời gian gia công chi tiết Di trên máy A là ai, trên máy B là bi (i =
1, 2, …, n)
 Hãy tìm lịch (trình tự gia công) các chi tiết trên 2 máy sao cho việc
hoàn thành gia công tất cả các chi tiết sớm nhất có thể được?

Toán rời rạc Chương 5: Bài toán tối ưu 51


Thuật toán Johnson

Bước1: Chia các chi tiết thành 2 nhóm:

 N1 gồm các chi tiết Di thỏa mãn ai < bi


 N2 gồm các chi tiết Di thỏa mãn ai > bi
 Các chi tiết Di thỏa mãn ai = bi xếp vào nhóm nào cũng
được

Toán rời rạc Chương 5: Bài toán tối ưu 52


Thuật toán Johnson

Bước 2: Sắp xếp các chi tiết:


 N1 theo chiều tăng của các ai
 N2 theo chiều giảm của các bi

Bước 3: Nối N2 vào đuôi N1. Dãy thu được sẽ là lịch gia công
tối ưu (đọc từ trái sang phải)

Toán rời rạc Chương 5: Bài toán tối ưu 53


Ví dụ

 Xét bài toán lập lịch khi n = 5. Thời gian gia công chi tiết trên
các máy được cho trong bảng sau:

Toán rời rạc Chương 5: Bài toán tối ưu 54


Ví dụ

 Chia nhóm:
 N1 = {D1, D4}
 N2 = {D2, D3, D5}
 Sắp xếp:
 N1 = {D1, D4}
 N2 = {D2, D5, D3}
 Nối N2 vào đuôi N1, ta được lịch gia công tối ưu:
= (D1, D4, D2, D5, D3)
với thời gian T() = 26

Toán rời rạc Chương 5: Bài toán tối ưu 55


Sơ đồ Gantt cho lịch gia công chi tiết

Toán rời rạc Chương 5: Bài toán tối ưu 56


TỔNG KẾT

• Các thuật toán duyệt


• Thuật toán nhánh cận
• Bài toán lập lịch và gia công trên hai máy

Toán rời rạc Chương 5: Bài toán tối ưu 57


BÀI HỌC TIẾP THEO

• Tên bài: Các khái niệm cơ bản của thuật toán Đồ thị
• Các nội dung cần chuẩn bị:
• Khái niệm và các thuật ngữ cơ bản về đồ thị;
• Đường đi, chu trình, đồ thị liên thông
• Một số dạng đồ thị đặc biệt
• Biểu diễn đồ thị trên máy tính

Toán rời rạc Chương 5: Bài toán tối ưu 58


CHÚC CÁC BẠN HỌC TỐT!

59

You might also like