Professional Documents
Culture Documents
đáp án câu hỏi ôn tập
đáp án câu hỏi ôn tập
Câu 2 Trình bày mô hình của bài toán lập kế hoạch sản xuất với tài
nguyên hạn chế.
Bài toán lập kế hoạch sản xuất với tài nguyên hạn chế là một vấn đề quan trọng trong quản lý sản
xuất và quản lý chuỗi cung ứng. Mục tiêu của bài toán này là tối ưu hóa việc sử dụng tài nguyên có
hạn, như máy móc, lao động, nguyên vật liệu, và thời gian, để đảm bảo sản xuất được các mặt hàng
đúng số lượng, đúng chất lượng, và đúng thời gian, đồng thời giảm thiểu chi phí và lãng phí.
Dưới đây là mô hình cơ bản của bài toán lập kế hoạch sản xuất với tài nguyên hạn chế:
Dữ liệu đầu vào: Danh sách các sản phẩm cần sản xuất. Yêu cầu sản xuất của từng sản phẩm (số
lượng, thời gian cần thiết). Khả năng sản xuất của các tài nguyên (máy móc, lao động, v.v.). Chi phí
sản xuất (bao gồm chi phí nguyên vật liệu, chi phí lao động, v.v.). Thời hạn cần phải hoàn thành sản
phẩm.
Mục tiêu: Tối ưu hóa lợi nhuận hoặc giảm thiểu chi phí sản xuất.
Ràng buộc:
Ràng buộc về tài nguyên: Số lượng và khả năng sử dụng các tài nguyên có hạn.
Ràng buộc về thời gian: Thời hạn cần phải hoàn thành sản phẩm.
Ràng buộc về yêu cầu sản xuất: Số lượng và chất lượng sản phẩm cần sản xuất.
Ràng buộc về mặt chất lượng: Các yêu cầu về chất lượng sản phẩm phải được đáp ứng.
Biến quyết định: Số lượng sản phẩm được sản xuất trong mỗi chu kỳ sản xuất. Lịch trình sản xuất
cho mỗi sản phẩm.
Mô hình toán học: Mô hình tối ưu hóa có thể sử dụng các kỹ thuật như lập trình tuyến tính (Linear
Programming - LP), lập trình nguyên (Integer Programming - IP), hoặc lập trình tuyến tính-nguyên
(Mixed Integer Linear Programming - MILP). Hàm mục tiêu của bài toán là tối thiểu hóa tổng chi phí
sản xuất, trong khi đảm bảo rằng tất cả các ràng buộc về tài nguyên và thời gian đều được tuân thủ.
Một số biến quyết định có thể bao gồm số lượng sản phẩm cụ thể được sản xuất trong mỗi chu kỳ,
thời điểm bắt đầu và kết thúc sản xuất cho mỗi sản phẩm, v.v.
Giải pháp: Sử dụng các thuật toán tối ưu hóa để tìm ra giải pháp tối ưu hoặc gần tối ưu nhất cho bài
toán, đáp ứng các yêu cầu về sản xuất và tài nguyên hạn chế.
Hỗn hợp giữa các biến liên tục và rời rạc nhưng ta không xét trong môn học này.
!
Bài 2
Câu 1 Nêu sự khác nhau giữa bài toán P và NP.
P là lớp các bài toán giải được bằng thuật toán đơn định trong thời gian đa thức.
NP là lớp tất cả các bài toán giải được bằng thuật toán không đơn định trong thời gian đa thức. Theo
cách khác, NP là lớp các bài toán có thể kiểm định (verifiable) được một xác thực (certificate) trong
thời gian đa thức.
Câu 2 Ví dụ các bài toán cho lớp bài toán NP-Đầy đủ và NP-Khó.
Lớp NP-Đầy đủ:
Bài toán xếp ba lô: Cho một tập hợp các vật phẩm có trọng lượng và giá trị khác
nhau, cùng với sức chứa tối đa của ba lô, tìm cách chọn các vật phẩm để 放入 ba lô
sao cho tổng giá trị cao nhất mà không vượt quá sức chứa.
Bài toán người bán hàng: Cho một tập hợp các thành phố và chi phí di chuyển
giữa các thành phố, tìm cách lập kế hoạch di chuyển qua tất cả các thành phố chỉ
một lần với chi phí di chuyển tối thiểu.
Cây Steiner nhỏ nhất: Cho một tập hợp các điểm trên mặt phẳng, tìm cây con có
tổng trọng lượng cạnh nhỏ nhất bao gồm tất cả các điểm.
Chu trình Hamilton: Cho một đồ thị, tìm chu trình đi qua tất cả các đỉnh của đồ thị
chỉ một lần.
Bài toán tập đỉnh độc lập: Cho một đồ thị, tìm tập hợp các đỉnh con không có cạnh
nào nối với nhau.
Clique: Cho một đồ thị, tìm tập hợp các đỉnh con mà bất kỳ hai đỉnh nào trong tập
hợp đó đều có cạnh nối với nhau.
Bài toán thỏa mãn công thức logic: Cho một công thức logic, tìm cách gán giá trị
cho các biến số để công thức trở thành đúng.
Bài toán đồ thị con đẳng cấu: Cho hai đồ thị, kiểm tra xem có tồn tại một đồ thị
con của đồ thị thứ nhất đẳng cấu với đồ thị thứ hai hay không.
Lớp NP-Khó:
Bài toán tô màu đồ thị: Cho một đồ thị, tìm cách tô màu cho các đỉnh của đồ thị
sao cho không có hai đỉnh kề nhau có cùng màu, với số lượng màu sử dụng ít nhất.
Bài toán tìm chu trình Euler: Cho một đồ thị, tìm chu trình đi qua tất cả các cạnh
của đồ thị chỉ một lần.
Bài toán sắp xếp: Cho một tập hợp các số, tìm cách sắp xếp các số theo thứ tự
tăng dần hoặc giảm dần.
Lưu ý:
Hiện nay, vẫn chưa biết liệu P có bằng NP hay không. Nếu P ≠ NP, thì tất cả các bài
toán NP-Đầy đủ và NP-Khó đều không thể giải được trong thời gian đa thức.
Câu 3 Sự khác nhau giữa giải thuật xấp xỉ và giải thuật heuristics?
Giải thuật xấp xỉ:
Là giải thuật tìm kiếm giải pháp gần đúng cho các bài toán NP-khó hoặc NP-đầy đủ.
Mục tiêu là tìm giải pháp có độ chính xác cao nhất có thể trong thời gian hợp lý.
Có thể đảm bảo chất lượng giải pháp (tỷ lệ xấp xỉ) so với giải pháp tối ưu.
Ví dụ: thuật toán A* (tìm đường đi ngắn nhất), thuật toán Johnson (lập lịch công
việc).
Là giải thuật sử dụng kinh nghiệm hoặc kiến thức chuyên môn để tìm kiếm giải pháp
cho bài toán.
Không đảm bảo chất lượng giải pháp, nhưng thường cho kết quả tốt trong thực tế.
Tốc độ thực thi thường nhanh hơn giải thuật xấp xỉ.
Ví dụ: thuật toán tham lam (sắp xếp, chọn balô), thuật toán di truyền (tối ưu hóa).
Câu 4 Phân tích độ phức tạp của thuật toán và kiểm định thuật toán cho
bài toán người giao hàng.
Cho một tập hợp các điểm giao hàng và một điểm xuất phát, tìm tuyến đường đi
qua tất cả các điểm giao hàng chỉ một lần với tổng chi phí di chuyển tối thiểu.
So sánh kết quả của thuật toán với giải pháp tối ưu (nếu có).
Sử dụng các bộ dữ liệu thử nghiệm với kích thước khác nhau.
So sánh thời gian thực thi của thuật toán với các thuật toán khác.
Sử dụng các bộ dữ liệu thử nghiệm với độ phức tạp khác nhau.
Một số thuật toán thường dùng cho bài toán người giao hàng:
Thuật toán brute-force: Tìm kiếm tất cả các kết hợp đi qua tất cả các điểm giao
hàng và chọn kết hợp có chi phí di chuyển tối thiểu.
Thuật toán tham lam: Lựa chọn điểm giao hàng tiếp theo gần nhất với điểm giao
hàng hiện tại.
Thuật toán di truyền: Sử dụng các phép lai, đột biến và chọn lọc để tìm kiếm giải
pháp tối ưu.
Câu 5 Phân tích độ phức tạp của thuật toán và kiểm định thuật toán
cho bài toán tô màu đồ thị.
Cho một đồ thị, tìm cách tô màu cho các đỉnh của đồ thị sao cho không có hai đỉnh
kề nhau có cùng màu, với số lượng màu sử dụng ít nhất.
Thuật toán tô màu đơn giản (dùng thuật toán tham lam): O(n^2), với n là số
đỉnh của đồ thị.
Thuật toán tô màu tối ưu (dùng lập trình tuyến tính): O(n^3).
So sánh kết quả của thuật toán với số lượng màu tối thiểu (nếu có).
Sử dụng các bộ dữ liệu thử nghiệm với kích thước khác nhau.
So sánh thời gian thực thi của thuật toán với các thuật toán khác.
Sử dụng các bộ dữ liệu thử nghiệm với độ phức tạp khác nhau.
Một số thuật toán thường dùng cho bài toán tô màu đồ thị:
Thuật toán tô màu đơn giản: Sử dụng thuật toán tham lam để tô màu cho các đỉnh
của đồ thị.
Thuật toán tô màu tối ưu: Sử dụng lập trình tuyến tính để tìm số lượng màu tối
thiểu và cách tô màu cho các đỉnh của đồ thị.
Câu 6 Nêu ví dụ của một thuật toán xấp xỉ và chứng minh sự xấp xỉ đó.
Bài toán: Bài toán người bán hàng (Traveling Salesman Problem - TSP)
Mục tiêu: Tìm tuyến đường đi qua tất cả các thành phố chỉ một lần với tổng chi phí
di chuyển tối thiểu.
Thuật toán xấp xỉ: Thuật toán tham lam (Greedy Algorithm)
Chọn thành phố lân cận chưa được thăm có chi phí di chuyển thấp nhất để di
chuyển đến.
Lặp lại bước 2 cho đến khi tất cả các thành phố được thăm.
Tỷ lệ xấp xỉ: 2
Chứng minh:
Giả sử A là giải pháp tối ưu cho bài toán TSP và B là giải pháp do thuật toán tham
lam tìm được.
Tổng chi phí di chuyển của A là: A = d(1, 2) + d(2, 3) + ... + d(n, 1)
Do thuật toán tham lam luôn chọn thành phố lân cận chưa được thăm có chi
phí di chuyển thấp nhất, ta có:
...
Tỷ lệ xấp xỉ:
R = B / A <= 2
Kết luận:
Thuật toán tham lam là một thuật toán xấp xỉ cho bài toán TSP với tỷ lệ xấp xỉ là 2.
Khởi tạo: Tạo một giải pháp ban đầu. Giải pháp ban đầu này có thể được tạo ngẫu
nhiên hoặc dựa trên một số kiến thức heuristic.
Cải thiện: Lặp lại các bước sau cho đến khi tìm được giải pháp tối ưu hoặc đạt
được một tiêu chí dừng nào đó:
Chọn cấu trúc: Chọn một cấu trúc để cải thiện giải pháp hiện tại. Cấu trúc
này có thể là một phần của giải pháp hoặc một cấu trúc mới hoàn toàn.
Hệ thống biến đổi: Áp dụng một hệ thống biến đổi để tạo ra các giải pháp
mới từ cấu trúc đã chọn. Hệ thống biến đổi có thể bao gồm các phép toán
như thêm, bớt, thay đổi vị trí, v.v.
Đánh giá: Đánh giá các giải pháp mới được tạo ra và chọn giải pháp tốt nhất
để tiếp tục cải thiện.
Kết thúc: Dừng quá trình khi đạt được giải pháp tối ưu hoặc một tiêu chí dừng nào
đó.
Quy tắc 1: Tô màu cho các đỉnh có bậc cao nhất trước
Đỉnh có bậc cao nhất là đỉnh có nhiều cạnh nối với các đỉnh khác nhất. Việc tô màu cho
các đỉnh này trước sẽ giúp giảm số lượng lựa chọn màu cho các đỉnh còn lại, từ đó
giúp giảm số lượng màu cần dùng để tô màu cho toàn bộ đồ thị.
Ví dụ:
1 -- 2 -- 3
| \ / |
4 -- 5
Đỉnh 2 có bậc cao nhất (3) nên được tô màu trước. Ta có thể chọn màu đỏ cho đỉnh 2.
Sau đó, ta tiếp tục tô màu cho các đỉnh còn lại, tuân theo quy tắc không tô màu trùng
với các đỉnh kề nhau.
1 -- 2 -- 3
| \ / |
4 -- 5
\ /
6
Quy tắc 2: Tô màu cho các đỉnh có chung nhiều cạnh kề nhau trước
Đỉnh có chung nhiều cạnh kề nhau với các đỉnh khác là những đỉnh có khả năng cao bị
tô màu trùng nhau. Việc tô màu cho các đỉnh này trước sẽ giúp giảm khả năng tô màu
trùng nhau, từ đó giúp giảm số lượng màu cần dùng.
Ví dụ:
1 -- 2 -- 3
| \ / |
4 -- 5
Đỉnh 2 và 3 có chung 2 cạnh kề nhau. Do đó, ta nên tô màu cho 2 đỉnh này trước.
Sau đó, ta tiếp tục tô màu cho các đỉnh còn lại, tuân theo quy tắc không tô màu trùng
với các đỉnh kề nhau.
1 -- 2 -- 3
| \ / |
4 -- 5
\ /
6
Câu 10 Nêu tính chất của phương pháp heuristics cấu trúc.
Phương pháp heuristics cấu trúc (MHCS) là một phương pháp giải quyết bài toán tối ưu
hóa bằng cách xây dựng dần dần một giải pháp từ các thành phần cơ bản. Phương
pháp này có một số tính chất sau:
Tính linh hoạt: MHCS có thể áp dụng cho nhiều loại bài toán tối ưu hóa khác nhau,
bao gồm cả các bài toán NP-khó hoặc NP-đầy đủ.
Tính hiệu quả: MHCS có thể tìm được giải pháp gần tối ưu trong thời gian hợp lý cho
nhiều bài toán.
Tính đơn giản: MHCS tương đối dễ hiểu và dễ triển khai so với các phương pháp giải
quyết bài toán tối ưu hóa khác.
Tính trực quan: MHCS cho phép trực quan hóa quá trình tìm kiếm giải pháp, giúp
người dùng dễ dàng hiểu được cách thức hoạt động của phương pháp.
Tính mở rộng: MHCS có thể được mở rộng để áp dụng cho các bài toán có kích thước
lớn.
GRASP là một thuật toán metaheuristic được sử dụng để giải quyết các bài toán tối
ưu hóa NP-khó. Thuật toán này kết hợp giữa phương pháp tham lam (greedy) và
phương pháp tìm kiếm ngẫu nhiên (random search) để tìm kiếm giải pháp tối ưu.
Lược đồ cơ bản:
Khởi tạo: Tạo một giải pháp ban đầu ngẫu nhiên.
Cải thiện: Lặp lại các bước sau cho đến khi đạt được một tiêu chí dừng:
Xây dựng: Xây dựng một tập hợp các giải pháp lân cận của giải pháp hiện
tại.
Lựa chọn: Lựa chọn một giải pháp ngẫu nhiên từ tập hợp các giải pháp lân
cận theo một xác suất nhất định.
Cập nhật: Cập nhật giải pháp hiện tại bằng giải pháp được lựa chọn nếu nó
tốt hơn.
Kết thúc: Dừng quá trình khi đạt được một tiêu chí dừng, ví dụ như số lượng lặp tối
đa hoặc thời gian thực thi tối đa.
Bài 3
Câu 1Các bước cơ bản để giải một bài toán bằng phương pháp di
truyền.
Mỗi cá thể đại diện cho một giải pháp tiềm năng cho bài toán.
Đánh giá:
Tính giá trị thích nghi (fitness value) cho mỗi cá thể trong P.
Giá trị thích nghi thể hiện chất lượng của giải pháp, giải pháp tốt hơn có giá trị thích
nghi cao hơn.
Chọn lọc:
Lựa chọn các cá thể "cha mẹ" từ P dựa trên giá trị thích nghi.
Có nhiều phương pháp chọn lọc khác nhau, ví dụ: chọn lọc roulette, chọn lọc xếp
hạng, chọn lọc cạnh tranh.
Lai tạo:
Ghép nối các cá thể "cha mẹ" để tạo ra các cá thể con.
Có nhiều phép lai tạo khác nhau, ví dụ: lai chéo một điểm, lai chéo hai điểm, lai
chéo đa điểm.
Đột biến:
Thay đổi ngẫu nhiên một số bit trong chuỗi nhị phân của các cá thể con với xác suất
thấp.
Giúp đa dạng hóa quần thể và tránh rơi vào trạng thái tối ưu địa phương.
Thay thế:
Tạo ra một quần thể mới Q bằng cách kết hợp các cá thể con và một số cá thể "cha
mẹ".
Có nhiều phương pháp thay thế khác nhau, ví dụ: thay thế thế hệ, thay thế elitist.
Lặp lại:
Lặp lại các bước 2 đến 6 cho đến khi đạt được tiêu chí dừng, ví dụ: số lượng thế hệ
tối đa hoặc thời gian thực thi tối đa.
Giải mã:
Chuyển đổi chuỗi nhị phân của các cá thể trong quần thể cuối cùng thành các giải
pháp của bài toán.
Chọn lọc: Lựa chọn các cá thể tốt nhất để tạo ra thế hệ tiếp theo.
Cá thể có giá trị đánh giá cao hơn sẽ có khả năng được chọn lọc cao hơn.
Có nhiều phương pháp chọn lọc khác nhau, ví dụ như chọn lọc roulette, chọn lọc
xếp hạng, chọn lọc cạnh tranh.
Dừng: Xác định thời điểm thuật toán GA nên dừng lại.
Khi không còn cải thiện đáng kể về giá trị đánh giá của các thế hệ tiếp theo, thuật
toán GA có thể dừng lại.
So sánh các thuật toán GA khác nhau: So sánh hiệu quả của các thuật toán GA
dựa trên giá trị đánh giá trung bình hoặc giá trị đánh giá tốt nhất của các cá thể
trong quần thể.
Có tính chính xác: Phản ánh chính xác chất lượng của giải pháp.
Có tính phân biệt: Phân biệt được các giải pháp tốt hơn với các giải pháp kém
hơn.
Câu 4 Nêu phương pháp chọn thế hệ mới của giải thuật.
Có nhiều phương pháp chọn thế hệ mới trong tối ưu hóa, mỗi phương pháp có ưu
và nhược điểm riêng. Dưới đây là một số phương pháp phổ biến:
Lựa chọn ngẫu nhiên một nhóm cá thể từ quần thể hiện tại.
So sánh các cá thể trong nhóm và chọn cá thể có giá trị thích nghi cao nhất để đưa
vào thế hệ mới.
Lặp lại quá trình này cho đến khi đủ số lượng cá thể cho thế hệ mới.
Ưu điểm:
Nhược điểm:
Có thể dẫn đến việc chọn lọc các cá thể tương đồng nhau, làm giảm tính đa dạng
của quần thể.
Sắp xếp tất cả các cá thể trong quần thể hiện tại theo giá trị thích nghi.
Gán cho mỗi cá thể một thứ hạng dựa trên vị trí của nó trong danh sách xếp hạng.
Sử dụng phương pháp roulette hoặc tỷ lệ phần trăm để chọn cá thể dựa trên thứ
hạng.
Ưu điểm:
Cho phép các cá thể có chất lượng cao có nhiều khả năng được chọn lọc hơn.
Nhược điểm:
Lựa chọn một số cá thể có giá trị thích nghi cao nhất từ thế hệ hiện tại để đưa trực
tiếp vào thế hệ mới.
Sử dụng các phương pháp chọn lọc khác như chọn lọc cạnh tranh hoặc chọn lọc
xếp hạng để chọn các cá thể còn lại.
Ưu điểm:
Đảm bảo rằng các cá thể tốt nhất sẽ được truyền lại cho thế hệ tiếp theo.
Nhược điểm:
Có thể làm giảm áp lực chọn lọc, dẫn đến việc giảm tốc độ hội tụ của thuật toán.
Lựa chọn ngẫu nhiên các cá thể từ thế hệ hiện tại để đưa vào thế hệ mới.
Ưu điểm:
Nhược điểm:
Không đảm bảo chất lượng của các cá thể được chọn lọc.
Lựa chọn phương pháp chọn thế hệ mới phù hợp phụ thuộc vào nhiều yếu tố, bao
gồm:
Câu 5 Nêu các điểm mạnh và yếu của giải thuật di truyền.
Điểm mạnh:
Tính linh hoạt: Giải thuật di truyền có thể được áp dụng cho nhiều bài toán tối ưu
hóa khác nhau, bất kể lĩnh vực hay ngành nghề nào.
Khả năng tìm kiếm toàn cục: Giải thuật di truyền có khả năng tìm kiếm giải pháp
tối ưu toàn cục, tránh rơi vào trạng thái tối ưu địa phương.
Khả năng xử lý các bài toán phức tạp: Giải thuật di truyền có thể xử lý các bài
toán tối ưu hóa phức tạp với nhiều biến số và ràng buộc.
Khả năng thích ứng: Giải thuật di truyền có thể được điều chỉnh và cải tiến để phù
hợp với từng bài toán cụ thể.
Điểm yếu:
Hiệu quả phụ thuộc vào cách thiết kế: Hiệu quả của giải thuật di truyền phụ thuộc
vào cách thiết kế các thành phần như mã hóa, hàm đánh giá, phép lai tạo và phép
đột biến.
Thời gian thực thi: Giải thuật di truyền có thể tốn nhiều thời gian thực thi cho các
bài toán phức tạp.
Kích thước quần thể: Kích thước quần thể ảnh hưởng đến hiệu quả và độ phức
tạp của giải thuật di truyền.
Khả năng giải quyết bài toán NP-khó: Giải thuật di truyền không đảm bảo tìm
được giải pháp tối ưu cho các bài toán NP-khó.
Ngoài ra:
Giải thuật di truyền có thể kết hợp với các phương pháp tối ưu hóa khác để nâng
cao hiệu quả.
Việc lựa chọn phương pháp di truyền phù hợp phụ thuộc vào đặc điểm của bài toán
cần giải.
Bài 4
Câu 1 Nêu lược đồ giải thuật đàn kiến(ACO).
1.Khởi tạo:
Tạo một tập hợp các pheromone cho mỗi cạnh trên đồ thị.
2. Vòng lặp:
Di chuyển:
Mỗi kiến di chuyển từ đỉnh hiện tại đến đỉnh tiếp theo dựa trên lượng
pheromone và heuristic information.
Lượng pheromone trên mỗi cạnh được cập nhật sau mỗi lần di chuyển.
Sau khi tất cả các kiến hoàn thành hành trình, lượng pheromone trên mỗi
cạnh được cập nhật dựa trên chất lượng của các hành trình.
Các cạnh được sử dụng trong các hành trình chất lượng cao sẽ nhận được
nhiều pheromone hơn.
3. Dừng:
Lặp lại vòng lặp 2 cho đến khi đạt được tiêu chí dừng, ví dụ như số lượng vòng lặp
tối đa hoặc thời gian thực thi tối đa.
4. Giải mã:
Chọn hành trình có chất lượng cao nhất là giải pháp của bài toán.
Câu 2 Các công việc chính để áp dụng giải thuật đàn kiến cho bài toán
cụ thể.
Câu 3 Nêu tư tưởng của phương pháp nhánh cận
Phương pháp nhánh cận (Branch and Bound) là một kỹ thuật tối ưu hóa được sử
dụng để tìm kiếm nghiệm tối ưu (hoặc cận tối ưu) cho các bài toán NP-khó. Phương
pháp này dựa trên hai tư tưởng chính:
Phân nhánh:
Chia bài toán thành các bài toán con nhỏ hơn bằng cách tạo ra các nhánh từ một
nút gốc.
Mỗi nhánh đại diện cho một tập hợp các nghiệm tiềm năng của bài toán.
Cận dưới:
Tính toán cận dưới cho giá trị tối ưu của mỗi bài toán con.
Cận dưới là giá trị thấp nhất có thể của nghiệm tối ưu trong bài toán con.
Quá trình:
Bắt đầu từ nút gốc, phương pháp nhánh cận sẽ tạo ra các nhánh con và tính toán
cận dưới cho mỗi nhánh.
Nhánh con có cận dưới cao hơn sẽ được ưu tiên khám phá trước.
Quá trình này được lặp lại cho đến khi tất cả các nhánh con được khám phá hoặc
tìm được nghiệm tối ưu.
Câu 4 Nêu ưu nhược điểm của giải thuật đàn kiến.
Ưu điểm:
Có khả năng tìm kiếm nghiệm tối ưu (hoặc cận tối ưu) cho các bài toán NP-khó.
Có thể kết hợp với các kỹ thuật khác để nâng cao hiệu quả.
Nhược điểm:
Có thể tốn nhiều thời gian và bộ nhớ cho các bài toán phức tạp.
Khó khăn trong việc thiết kế thuật toán hiệu quả để tính toán cận dưới.
AS: Lượng pheromone trên mỗi cạnh được cập nhật sau mỗi lần di chuyển của
kiến.
MMAS: Lượng pheromone trên mỗi cạnh chỉ được cập nhật sau khi tất cả các kiến
hoàn thành hành trình.
AS: Lượng pheromone ban đầu trên tất cả các cạnh đều bằng nhau.
MMAS: Lượng pheromone ban đầu trên mỗi cạnh được tính toán dựa trên heuristic
information.
AS: Lượng pheromone trên mỗi cạnh bay hơi sau mỗi lần di chuyển của kiến.
MMAS: Lượng pheromone trên mỗi cạnh bay hơi sau khi tất cả các kiến hoàn thành
hành trình.
MMAS: Kiến chọn cạnh tiếp theo dựa trên tỷ lệ xác suất được tính toán dựa trên
lượng pheromone và heuristic information.
Hiệu quả:
AS: AS có thể tìm kiếm giải pháp tốt cho các bài toán đơn giản.
MMAS: MMAS có thể tìm kiếm giải pháp tốt hơn AS cho các bài toán phức tạp.
Bài 5
Câu 1 Nêu tư tưởng của phương pháp nhánh cận
Cơ chế phân nhánh chia bài toán thành các bài toán con nhỏ hơn. Việc phân nhánh
có thể được thực hiện theo nhiều cách khác nhau, bao gồm:
Phân nhánh theo biến: Chia bài toán thành các bài toán con dựa trên các giá trị
khác nhau của một biến.
Phân nhánh theo ràng buộc: Chia bài toán thành các bài toán con dựa trên việc
thêm hoặc bớt các ràng buộc.
Phân nhánh theo tập hợp nghiệm: Chia bài toán thành các bài toán con dựa trên
các tập hợp nghiệm tiềm năng khác nhau.
Cận dưới:
Cơ chế cận dưới tính toán giá trị thấp nhất có thể của nghiệm tối ưu trong mỗi bài
toán con. Việc tính toán cận dưới có thể được thực hiện theo nhiều cách khác nhau,
bao gồm:
Lập trình tuyến tính: Sử dụng lập trình tuyến tính để tính toán giá trị tối ưu của một
bài toán con.
Thư giãn ràng buộc: Thư giãn một số ràng buộc của bài toán để tạo ra một bài
toán con đơn giản hơn và tính toán giá trị tối ưu của bài toán con đơn giản này.
Heuristic: Sử dụng các heuristic để ước tính giá trị tối ưu của một bài toán con.
Câu 3 Nêu ý nghĩa và các tìm cận trên/cận dưới cho bài toán cực tiểu
hóa.
-Ý nghĩa:
Cực tiểu hóa: Tìm giá trị nhỏ nhất của một hàm số trong một tập xác định.
Tìm cận trên: Giá trị lớn hơn hoặc bằng giá trị tối thiểu thực sự của hàm số.
Tìm cận dưới: Giá trị nhỏ hơn hoặc bằng giá trị tối thiểu thực sự của hàm số.
Dùng giá trị lớn nhất của hàm số trên tập xác định:
Ví dụ: Hàm số f(x)=x2 trên tập [0,1] có giá trị lớn nhất là f(1)=1, do đó 1 là
một tìm cận trên của giá trị tối thiểu.
Dùng giá trị nhỏ nhất của hàm số trên tập xác định:
Ví dụ: Hàm số f(x)=x2 trên tập [0,1] có giá trị nhỏ nhất là f(0)=0, do đó 0 là
một tìm cận dưới của giá trị tối thiểu.
Bài 6
Câu 1 Nêu phương pháp đồ thị để giải bài toán tối ưu tuyến tính.
Câu 2 Nêu tính chất hình học của bài toán tuyến tính.
Bài toán tuyến tính (LPP) có một số tính chất hình học quan trọng giúp giải quyết và
hiểu rõ hơn về bài toán. Dưới đây là một số tính chất chính:
Mục tiêu và các ràng buộc của bài toán LPP đều là các hàm tuyến tính.
Tập hợp nghiệm khả thi của bài toán LPP là một tập hợp lồi.
Tập hợp lồi là tập hợp mà trong đó, với bất kỳ hai điểm bất kỳ thuộc tập hợp, đoạn
thẳng nối hai điểm đó cũng hoàn toàn nằm trong tập hợp.
Bài toán LPP có thể được biểu diễn bằng một hệ bất phương trình tuyến tính.
Hệ bất phương trình tuyến tính là hệ gồm các bất phương trình có dạng ax+by≤c,
với a, b, c là hằng số.
Bài toán LPP với hai biến có thể được biểu diễn bằng đồ thị.
Trên đồ thị, các ràng buộc được biểu diễn bởi các đường thẳng hoặc đường cong,
và tập hợp nghiệm khả thi là phần giao nhau của các vùng được giới hạn bởi các
đường thẳng và đường cong này.
Giá trị tối ưu của bài toán LPP (nếu tồn tại) sẽ đạt được tại một điểm cực trị của tập
hợp nghiệm khả thi.
Điểm cực trị là điểm mà tại đó, một hàm số có đạo hàm bằng 0 hoặc không xác
định.
Phương pháp simplex: Sử dụng các phép biến đổi cơ bản để chuyển đổi bài
toán LPP sang dạng đơn giản và tìm kiếm nghiệm tối ưu.
Phương pháp đồ thị: Sử dụng đồ thị để biểu diễn bài toán và tìm kiếm
nghiệm tối ưu trực quan.
Phương pháp lập trình tuyến tính: Sử dụng các phần mềm chuyên dụng để
giải bài toán LPP.
Câu 3 Nêu phương pháp đơn hình để giải bài toán tối ưu tuyến tính.
Phương pháp đơn hình (Simplex method) là một thuật toán hiệu quả để giải bài toán
tối ưu tuyến tính (LPP) dạng chuẩn tắc. Phương pháp này hoạt động dựa trên việc
di chuyển từ đỉnh này sang đỉnh khác của tập hợp nghiệm khả thi cho đến khi tìm
được đỉnh có giá trị mục tiêu tối ưu.
Bước 1: Chuyển đổi bài toán LPP sang dạng chuẩn tắc:
Biến đổi các ràng buộc bất đẳng thức sang dạng đẳng thức bằng cách thêm biến
slack.
Biến đổi mục tiêu tối thiểu thành mục tiêu tối đa.
Tạo bảng đơn hình với các hàng tương ứng với các ràng buộc và các cột tương
ứng với các biến.
Điền vào các giá trị ban đầu của các biến và giá trị mục tiêu.
Bước 3: Lặp lại các bước sau cho đến khi tìm được nghiệm tối ưu:
Chọn biến đi vào: Chọn biến có giá trị âm trong hàng mục tiêu.
Chọn biến đi ra: Chọn biến có tỷ lệ aijbj nhỏ nhất, với bj là giá trị RHS của
cột j và aij là giá trị tại hàng i cột j.
Cập nhật bảng đơn hình: Thực hiện phép biến đổi cơ bản để đưa biến đi vào bằng
1 và biến đi ra bằng 0.
Nếu tất cả các giá trị trong hàng mục tiêu đều dương hoặc bằng 0, thì nghiệm hiện
tại là nghiệm tối ưu.
Nếu có giá trị âm trong hàng mục tiêu, quay lại bước 3.