Vì vậy, gần đây tôi đã thực sự mê hoặc với các thuật toán nói chung. Và gần đây tôi đã triển khai thuật toán tối ưu hóa thuộc địa kiến để giải quyết TSP (rất thú vị). Bây giờ tôi đã xem xét các "vấn đề" khác để giải quyết. Bây giờ tôi muốn thực hiện một thuật toán để giải quyết một vấn đề liên quan đến việc hoàn thành một yêu cầu tỷ lệ phần trăm, và để được dưới một giới hạn tùy ý.Tối ưu hóa thuộc địa Ant hoặc thuật toán di truyền cho vấn đề dựa trên tỷ lệ phần trăm
Ví dụ:
tài đầu vào:
1) hạn chế -i.e. lượng năng lượng có sẵn để chi tiêu.
2) "nhiễm sắc thể" loại -i.e. màu xanh (loại phụ - chàm, vv), màu đỏ (loại phụ - maroon, v.v.), màu vàng (loại phụ - màu vàng nhạt, v.v.) thuộc tính chính như màu xanh dương có "hồ bơi" để chọn bao gồm các loại phụ khác nhau như chàm, ánh sáng màu xanh, biển xanh bất cứ điều gì. Loại phụ màu có chi phí thay đổi liên quan đến nó.
3) phần trăm loại yêu cầu cho giải pháp "lý tưởng" (có thể giới thiệu +/-% để cho phép nhiều hơn). -i.e. 10% màu đỏ, 30% màu xanh, 60% màu vàng.
Output:
1) giải pháp chính thức có thể đáp ứng đầy đủ hai yêu cầu, là dưới đây - nhưng gần với - chi phí cần thiết và đáp ứng yêu cầu tỷ lệ siêu kiểu.
Ví dụ:
Đây là một ví dụ siêu đơn giản, rõ ràng nó sẽ phức tạp hơn điều này trong thực tế.
tài xác định chi phí cần thực hiện như sau = chi phí < = 105.
người dung chọn 25% màu xanh, màu vàng 25%, 50% đỏ. với +/- 5% độ lệch
hồ có sẵn cho mỗi màu
Blue: Indigo: Chi phí = 25; Màu xanh biển: chi phí = 30; Màu xanh của Hải quân: chi phí = 75;
Vàng: Vàng nhạt: chi phí = 20; Màu vàng đậm: chi phí = 30; Siêu vàng đậm (lol): chi phí = 75;
Đỏ: Maroon: cost = 20; Máu đỏ: chi phí = 45; Đỏ tươi: chi phí = 55;
Vì vậy, thuật toán sẽ chạy và trả về các kết hợp khác nhau.
Kết hợp 1: chàm, vàng đậm, đỏ máu: chi phí = 100: xanh = 25%, vàng = 30%, đỏ = 55%.
Kết hợp 2: biển xanh, vàng nhạt, đỏ máu: Chi phí = 105: xanh = ~ 30%, vàng = ~ 20%, đỏ = ~ 50%
Kết hợp 3: vân vân và vân vân.
EDIT: Second chỉnh sửa
Output sẽ bao gồm bộ kết hợp khác nhau.
Ví dụ, một giải pháp có thể bao gồm sự kết hợp như:
Một giải pháp sẽ được đại diện của thành viên này:
Kết hợp 1: Chi phí = 20; 50% màu xanh, 25% vàng, 25% đỏ;
Kết hợp 2: Chi phí = 30; 10% màu xanh, 50% vàng, 40% đỏ;
Kết hợp 3: Chi phí = 50; 25% màu xanh, 25% vàng, 50% đỏ;
Giải pháp: = (kết hợp 1, kết hợp 2, kết hợp 3) tổng chi phí = 100 và bao gồm x% xanh dương, y% vàng, z% đỏ;
so sánh giải pháp cho các yêu cầu, nếu nó đóng lại, nếu không loại bỏ nó.
END EDIT
Vì vậy, câu hỏi của tôi là. Tôi biết một thuật toán di truyền sẽ hoạt động. Nhưng liệu việc triển khai ACO có hiệu quả không? Ví dụ: màu xanh, vàng và đỏ sẽ bằng "vị trí", sau đó các loại phụ của chúng sẽ đại diện cho "các con đường" khác nhau.
Chỉ cần tự hỏi điều gì có thể là giải pháp hiệu quả hơn hoặc có thể là một số thuật toán khác hoàn toàn. Tôi khá mới mẻ với công cụ này và chỉ mới bắt đầu đọc về nó hơn một tuần trước.
EDIT: Đầu tiên chỉnh sửa
Tôi muốn xác định rằng tôi muốn có 5 giải pháp độc đáo tốt (5 là một số tùy ý, có thể là 3, có thể là 20).
Đối với vấn đề màu sắc của bạn, mọi thuật toán tối ưu tuyến tính sẽ làm (ví dụ: simplex, điểm bên trong, ...) –
Tôi có thể đề xuất một vấn đề thú vị khác cho bạn để giải quyết với ACO: san lấp mặt bằng tài nguyên (đôi khi được gọi là CRSP). Tương tự như TSP. Ví dụ. Đưa ra một nhóm phát triển phần mềm và một kế hoạch làm việc, nơi các nhiệm vụ phụ thuộc vào nhau để hoàn thành và mỗi nhiệm vụ được giao cho một người cụ thể, tìm lịch trình để dự án kết thúc sớm nhất. –
Tôi chỉ nhận ra rằng tôi đã hỏi câu hỏi của mình sai zzz Tôi đề cập đến giải pháp ứng cử viên đó là một tập hợp các kết hợp hoàn thành các yêu cầu ban đầu. – Odnxe