Sung. 5. hai cấp độ đầu tiên của một cây tìm kiếm cho các biến thể bị hạn chế. Cây tìm kiếm sẽ có ở hầu hết trẻ em trong các biến thể hạn chế và trẻ em trong các biến thể không hạn chế. Sung. 5 minh họa các nút trong hai cấp độ đầu tiên của một cây tìm kiếm của các biến thể bị hạn chế. Thuật toán 1: IDAStar (, initSolver, LBFunc, probeSolver) Input: - bố trí ban đầu initSolver - heuristic để tìm soltuion ban đầu LBFunc - ràng buộc thấp hơn chức năng probeSolver - thăm dò Heuristic 1: xây dựng giải pháp ban đầu sử dụng initSolver 2: tính ràng buộc thấp hơn của 3: 4: Chuyển đổi sang bố trí tương đương tối thiểu 5: trong khi và thời hạn không vượt quá làm 6: 7: nếu sau đó 8: 9: kết thúc nếu 10: 11: kết thúc trong khi Phương pháp được đề xuất trong nghiên cứu này là một lặp đi lặp lại sâu, ening A * (IDA *) thuật toán. Có hai tính năng thiết yếu của IDA *. Đầu tiên, nó thực hiện nhiều lần lặp lại tìm kiếm, và tìm kiếm cessive suc- khám phá một khu vực tìm kiếm lớn hơn erations nó- trước (do đó thuật ngữ "sâu lặp đi lặp lại"). Chúng tôi kiểm soát kích thước của khu vực tìm kiếm bằng cách sử dụng một giá trị ngưỡng (Algorithm 1). Thứ hai, mỗi lần lặp của các thủ tục tìm kiếm là một tìm kiếm cây được tổ chức theo một thứ tự độ sâu-đầu tiên (Algorithm 2); thuật toán này thực chất là một chi nhánh và ràng buộc. Thuật toán 2 hoạt động như sau. Mỗi nút trong cây tìm kiếm có một chi phí tương ứng, mà là số lượng di dời đã được thực hiện để đi đến nút đó (gọi là sự định vị xác nhận) và là một thông ước tính lạc quan về số lượng tối thiểu của sự định cần thiết để giải quyết vấn đề từ đó nút (gọi là sự định vị được xác định). Chúng tôi mô tả cách chúng ta tính giá trị của tại Mục VA. Khi giá trị của là lớn hơn chi phí của lution Xô tốt nhất được tìm thấy cho đến nay globalBestSol, sau đó không bao giờ có thể dẫn đến một giải pháp đó là tốt hơn và không cần phải được tìm hiểu thêm (dòng 12). Thuật toán 2: DFS (,,,, probeSolver) Input: - hiện tại bố trí - số lượng di dời xác nhận - ngưỡng chi phí - ràng buộc thấp hơn chức năng probeSolver - thăm dò Heuristic 1: nếu hay thời gian vượt quá giới hạn sau đó 2: return 0 3: kết thúc nếu 4: {Node ngoài tìm kiếm biên giới} 5: nếu sau đó 6: nếu sau đó 7: Sử dụng đầu dò heuristic để tìm giải pháp 8: Cập nhật globalBestSol với nếu là tốt hơn 9: kết thúc nếu 10: trở lại 11: kết thúc nếu {Tỉa} 12: nếu sau đó 13: trở lại 14: kết thúc nếu 15: nếu là trống rỗng, sau 16: trở lại 17: kết thúc nếu {nhánh} 18: 19: cho tất cả sơ đồ kết quả từ chuyển nơi ở một container trong làm 20: Chuyển đổi sang bố trí tương đương tối thiểu của nó 21: 22: 23: kết thúc cho 24: 25: return nodeLB; Hiệu quả của chi nhánh và ràng buộc có thể được cải thiện nếu chúng ta có thể cải thiện các giải pháp nổi tiếng nhất. Chúng tôi sử dụng một heuristic tham lam để tìm một giải pháp hoàn chỉnh khi các nút hiện tại có vẻ đầy hứa hẹn (đường 6-9), mà chúng ta gọi là thăm dò. Chúng tôi sẽ thảo luận về tác động của các thăm dò chi tiết tại mục VB. Trong quá trình tìm kiếm, là tốt nhất ràng buộc thấp hơn cho mỗi nút được cập nhật như tất cả các con của nó được đánh giá, nơi (dòng 18-24); nodeLB là giá trị trở lại của thuật toán 2. Giá trị nodeLB tại nút gốc là một giá trị thấp hơn bound cho
đang được dịch, vui lòng đợi..