Mô hình dùng biến tậ p

Một phần của tài liệu Luận văn: Lập trình ràng buộc với bài toán người chơi gôn docx (Trang 57 - 58)

Một ví dụ viết bằng ECLiPSe trong [39] có thể tìm tại [42] dùng biến tập (giá trị của biến là một tập) để thể hiện cho mỗi nhóm trong mỗi tuần. Thực tế, đây là một ý tưởng tốt, nhằm loại bỏ đối xứng trong nhóm (φP), các nhóm khi đó được coi như là một danh sách hay một mảng. Như vậy chúng ta có thể thể hiện mô hình bài toán:

ƒ Biến: Nhóm được thể hiện như một mảng của các mảng các biến tập:

Group[k][i] là nhóm thứ i của tuần thứ k. ƒ Ràng buộc :

o Số phần tử trong mỗi biến là s: |Group[k][i]|=s

o Các tập trong mỗi tuần không giao nhau:

Group[k][i] ∩ Group[k][i’]= ∅ sao cho 1 ≤ i g với mọi 1 ≤ k w

o Bất kỳ hai tập nào cũng chỉ giao nhau nhiều nhất 1 phần tử:

Formatted: Font: 14 pt Formatted: Font: 14 pt, Italic Formatted: Font: 14 pt, Italic Formatted: Font: 14 pt, Font color:

Black

Formatted: Font: 14 pt, Not Italic,

Font color: Black

Formatted: Font: 14 pt, Font color:

Black

Formatted: Font color: Black Formatted: Font color: Black Formatted: Font: Not Italic, Font

color: Black

Deleted: hương

57

|Group[k][i] ∩ Group[k’][i’]| ≤ 1 sao cho 1 ≤ i, i’g , 1 ≤ k, k’

w

Với mô hình như vậy, và sử dụng những kỹ thuật loại bỏ đối xứng (phần 2.1), được thực thi trên ILOG Solver, máy PC Pentium/166MHz. Kết quả như sau:

ƒ Trường hợp 8-4-4 có thể giải được

ƒ Trường hợp 8-4-5 không tìm thấy lời giải trong nhiều giờ. ƒ Chỉ ra được trường hợp 4-3-5 không có nghiệm trong 5800 giây. Có thể rút ra nhận xét rằng điểm bất lợi của mô hình này là việc gặp khó khăn khi thêm các ràng buộc để loại bỏ đối xứng.

Một phần của tài liệu Luận văn: Lập trình ràng buộc với bài toán người chơi gôn docx (Trang 57 - 58)

Tải bản đầy đủ (PDF)

(120 trang)