Sử dụng thuật toán luyện kim song song giải quyết bài toán MAXSAT
SỬ DỤNG THUẬT TỐN LUYỆN KIM SONG SONG GIẢI QUYẾT BÀI TỐN MAXSAT TRƯƠNG THỊ THÚY LAN(K54A) – KIỀU TUẤN DŨNG(K55B) - NGUYỄN MINH CHÂU K55B 1 Chương I: Tổng quan thuật tốn mơ phỏng luyện kim (Simulated Annealing = SA) 4 I. Giới thiệu chung về thuật tốn SA 4 II. Mơ hình tốn học của thuật tốn SA . 6 1. Khơng gian trạng thái . 6 2. Hàm nhiệt độ . 7 3. Hàm chi phí và hàm sức khoẻ 8 4. Sự phân bố trạng thái giới hạn 8 5. Sự hội tụ và điều kiện dừng 9 Sự hội tụ 9 Điều kiện dừng 10 Chương II: Xây dựng khung thuật tốn SA .10 I. Lý do xây dựng khung thuật tốn . 10 II. Khung chung của thuật tốn SA 10 III. Sơ đồ khung thuật tốn 13 1. Lớp cung cấp (Provided) 13 2. Lớp đòi hỏi (Required) . 17 3. Một số hàm quan trọng trong hai lớp Required và Provide . 18 3.1. SA.pro.cpp 18 3.2. SA.req.cpp 19 Chương III: Ứng dụng của thuật tốn SA 20 I. Bài tốn MAXSAT 20 1. Giới thiệu bài tốn 20 Hàm Main_Seq 22 THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN SỬ DỤNG THUẬT TỐN LUYỆN KIM SONG SONG GIẢI QUYẾT BÀI TỐN MAXSAT TRƯƠNG THỊ THÚY LAN(K54A) – KIỀU TUẤN DŨNG(K55B) - NGUYỄN MINH CHÂU K55B 2 III. Khung thuật tốn SA song song giải quyết bài tốn MAXSAT 22 1. Lựa chọn mơ hình . 22 2. Cài đặt Bài tốn Maxsat. 23 2.1 Sử dụng thuật tốn SA 23 2.1.1 Đọc file cấu hình 23 2.1.2 Lớp Problem đọc bài tốn MAXSAT . 23 2.1.3 Hàm khởi tạo nhiệt độ . 24 2.1.4 Hàm khởi tạo lời giải . 25 2.1.6 Hàm tính sức khoẻ . 27 2.1.7 Hàm chấp nhận lời giải . 27 2.1.8 . Hàm kết thúc thuật tốn . 28 2.2 Hàm void Solver_Lan::DoStep() . 28 2.3 Hàm Main_Lan 29 Kết quả thực nghiệm . 29 1. Kết quả tuần tự 30 2. Kết quả song song . 30 THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN SỬ DỤNG THUẬT TỐN LUYỆN KIM SONG SONG GIẢI QUYẾT BÀI TỐN MAXSAT TRƯƠNG THỊ THÚY LAN(K54A) – KIỀU TUẤN DŨNG(K55B) - NGUYỄN MINH CHÂU K55B 3 BÁO CÁO KHOA HỌC ĐỂ TÀI: THUẬT TỐN LUYỆN KIM SONG SONG (Parallel Simulated Annealing Algorithms) GIẢI QUYẾT BÀI TỐN MAX-SAT MỞ ĐẦU - Nhiều bài tốn tối ưu chưa có thuật tốn chính xác để giải quyết cho nên cần có một thuật tốn gần đúng để tìm lời giải gần tối ưu. - Khơng gian lời giải cần tìm là rất lớn nếu một máy tính tìm kiếm sẽ rất lâu nên cần nhiều máy giải quyết và các máy phải thực hiện đồng thời. Điều này có thể thực hiện dễ dàng nếu các máy tính tính tốn song song. Vì vậy việc tìm hiểu về các thuật tốn song song là cần thiết và mang tính khả thi đối với các bài tốn tối ưu - Để rút ngắn thời gian lập trình chúng ta cần xây dựng khung thuật tốn giúp giải quyết các bài tốn khác nhanh chóng hơn. - Mục đích của đề tài này là sử dụng thuật tốn luyện kim song song để giải quyết bài tốn tối ưu MAXSAT. Đề tài bao gồm các nhiệm vụ sau: • Nghiên cứu lý thuyết về thuật tốn luyện kim • Xây dựng khung thuật tốn chung cho các bài tốn sử dụng thuật tốn luyện kim • Áp dụng khung thuật tốn luyện kim cho bài tốn MAXSAT • Cài đặt bài tốn MAXSAT và đưa ra kết quả thực nghiệm trên cả chương trình tuần tự và chương trình song song. THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN SỬ DỤNG THUẬT TỐN LUYỆN KIM SONG SONG GIẢI QUYẾT BÀI TỐN MAXSAT TRƯƠNG THỊ THÚY LAN(K54A) – KIỀU TUẤN DŨNG(K55B) - NGUYỄN MINH CHÂU K55B 4 • Từ đó sử dụng khung thuật tốn luyện kim để giải quyết các bài tốn tối ưu khác trong thực tế như: Bài tốn người du lịch, bài tốn khơi phục ảnh, thiết kế mạch IC, bài tốn sắp xếp thời khố biểu cho trường đại học… Chương I: Tổng quan thuật tốn mơ phỏng luyện kim (Simulated Annealing = SA) I. Giới thiệu chung về thuật tốn SA SA là một thuật tốn tìm kiếm xác suất di truyền, là phương pháp tối ưu hố có thể áp dụng để tìm kiếm tối ưu hố tồn cục của hàm chi phí và tránh tối ưu hố địa phương bằng việc chấp nhận một lời giải tồi hơn với một xác suất phụ thuộc nhiệt độ T. Sơ đồ: Sơ đồ thể hiện trong một khơng gian lời giải thuật tốn luyện kim sẽ tìm đến tối ưu tồn cục với bước nhảy từ tối ưu địa phương Tiền thân của SA là thuật tốn Monte Carlo năm 1953 của nhóm Metropolis. Thuật tốn SA được đề xuất bởi S. Kirk _ partrick năm 1982 và được cơng bố trước cơng chúng năm 1983. SA có nguồn gốc từ cơ học hệ thống. SA thực thi đơn giản và tương tự q trình luyện kim vật lý. Trong luyện kim vật lý kim loại được đốt nóng tới nhiệt độ cao và làm lạnh từ từ để nó kết tinh ở cấu hình năng lượng thấp (tăng kích thước của tinh thể và làm giảm những khuyết điểm của chúng). Nếu việc làm lạnh khơng Solution Space: Khơng gian lời giải Initial State: Trạng thái ban đầu Local Minimum: Tối ưu địa phương Global Minimum: Tối ưu tồn cục SỬ DỤNG THUẬT TỐN LUYỆN KIM SONG SONG GIẢI QUYẾT BÀI TỐN MAXSAT TRƯƠNG THỊ THÚY LAN(K54A) – KIỀU TUẤN DŨNG(K55B) - NGUYỄN MINH CHÂU K55B 5 xảy ra từ từ thì chất rắn khơng đạt được trạng thái có cấu hình năng lượng thấp sẽ đơng lạnh đến một trạng thái khơng ổn định (cấu trúc tối ưu địa phương) Gọi E là năng lượng của trạng thái s, E’ là trạng thái năng lượng của trạng thái s’ và ∆E = E’ – E là sự chệnh lệch nhiệt độ giữa trạng thái s’ và trạng thái s. Nếu ∆E ≤ 0 thì sự thay đổi kết quả được chấp nhận với xác suất T B kE e /∆− trong đó T là nhiệt độ, k B là một hằng số vật lý được gọi là hằng số Boltzmann. Nếu có số lượng lớn các bước lặp được thực hiện ở mỗi nhiệt độ, hệ thống sẽ đạt trạng thái cân bằng nhiệt. Khi đó, sự phân bố xác suất của hệ thống trong trạng thái s ở nhiệt độ T là T B kE e TZ / )( 1 ∆ trong đó Z(T): là hàm phân phối. SA sử dụng một biến điều khiển tồn cục là biến nhiệt độ T. Ban đầu T ở giá trị rất cao và sau đó được giảm dần xuống. Trong q trình tìm kiếm SA thay lời giải hiện thời bằng cách chọn ngẫu nhiên lời giải láng giềng với một xác suất phụ thuộc vào sự chênh lệch giữa giá trị hàm mục tiêu và tham số điều khiển T. Q trình tối ưu hố được tiếp tục cho tới khi cực tiểu tồn cục được tìm thấy hoặc tổng số bước chuyển vượt q một số tối đa các bước chuyển đã được định trước. Sự chuyển tiếp ở một nhiệt độ kết thúc khi đạt tới trạng thái cân bằng nhiệt. Sauk hi đạt tới trạng thái cân bằng nhiệt thì nhiệt độ được giảm thấp hơn. Nếu hệ thống khơng đơng lạnh và cũng khơng tìm được cực tiểu tồn cục thì vòng lặp vẫn tiếp tục và chỉ số k tăng. Hệ thống đơng lạnh khi T tiến tới nhiệt độ T cuối do người dùng đưa ra. Ta có sơ đồ thuật tốn. Yes Khởi tạo k = l= 0; Lấy ngẫu nhiên s i và phân tích T = T k ; s = s k Trạng thái cân bằng nhiệt Nhiệt độ giảm k = k+1; l = 0; Đơng lạnh? T ≤ T cuối l = l + 1; No No k, l: là biến điều khiển vòng lặp l đánh dấu việc lặp lại ở nhiệt độ T k , k tăng khi đạt cân bằng nhiệt ở nhiệt độ T k. T k và s k điều khiển q trình xử lý ngẫu nhiên THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN SỬ DỤNG THUẬT TỐN LUYỆN KIM SONG SONG GIẢI QUYẾT BÀI TỐN MAXSAT TRƯƠNG THỊ THÚY LAN(K54A) – KIỀU TUẤN DŨNG(K55B) - NGUYỄN MINH CHÂU K55B 6 II. Mơ hình tốn học của thuật tốn SA 1. Khơng gian trạng thái SA thực thi trong một khơng gian trạng thái. Khơng gian trạng thái là một tập hợp các trạng thái, mỗi trạng thái đại diện cho một cấu hình. Kí hiệu khơng gian trạng thái là S, số phần tử của khơng gian trạng thái là |S|. Một quan hệ láng giềng trên S: SS ×⊆ µ o Các phần tử của µ được gọi là các di chuyển o (s, s’) Є µ kết nối qua một di chuyển được gọi là láng giềng o (s, s’) Є µ k kết nối qua một tập k di chuyển SS k k ×= ∞ = µ 1 U Tập trạng thái kết nối với trạng thái đã cho s i Є S được kí hiệu là N i , số phần tử của N i gọi là cấp độ của s i . N i là tập các láng giềng của s i . Có hai trạng thái s i và s i-1 và xác suất để s i là trạng thái hiện thời phụ thuộc vào hàm chi phí của s i và hàm chi phí của s i-1 và nhiệt độ T. Có ba trạng thái liên tiếp s i-1 , s i , s i+1 thì trạng thái s i-1 và s i+1 khơng phục thuộc vào nhau. Xác suất mà s’ là trạng thái kế tiếp của s kí hiệu là P(s,s’,T) gọi là xác suất chuyển tiếp. ∑ − ≠∀ = '' 1 ' )',()),'(),(( ),',( )'',()),''(),(( s ssssTss TssP ssTss βεεα βεεα α: hàm xác suất chấp nhận (acceptance probability function) β: hàm xác suất lựa chọn (selection probability function) β cho phép chỉ một cặp trạng thái trong µ được lựa chọn. THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN SỬ DỤNG THUẬT TỐN LUYỆN KIM SONG SONG GIẢI QUYẾT BÀI TỐN MAXSAT TRƯƠNG THỊ THÚY LAN(K54A) – KIỀU TUẤN DŨNG(K55B) - NGUYỄN MINH CHÂU K55B 7 Xác suất lựa chọn khơng bao giờ bằng 0 cho một cặp trạng thái được kết nối bởi một di chuyển đơn. [ ] [ ] ∀ ∀ ∀ = ∑ ∈ ∈ ≠ ∈ = ∉ 1 ' )',( 0)',( )',( 0)',( )',( Ns ss Ss ss ss ss ss β β µ β µ Hàm chấp nhận α: R 3 + [0,1] ⊂ R 2. Hàm nhiệt độ Đầu tiên khởi tạo nhiệt độ T là T 0. Quy trình phổ biến nhất là quy trình làm lạnh cân xứng: T new = T old * alpha khi alpha < 1. Thuật tốn kết thúc khi T = 0. THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN SỬ DỤNG THUẬT TỐN LUYỆN KIM SONG SONG GIẢI QUYẾT BÀI TỐN MAXSAT TRƯƠNG THỊ THÚY LAN(K54A) – KIỀU TUẤN DŨNG(K55B) - NGUYỄN MINH CHÂU K55B 8 Sơ đồ: 3. Hàm chi phí và hàm sức khoẻ Hàm đánh giá cost là hàm xác định chi phí được dùng để ước lượng một lời giải đã cho. Hàm chi phí của lời giải s kí hiệu là f(s). Hàm sức khoẻ Fitness được định nghĩa: %100* cost1 1 + =fitness Sự giảm bớt chi phí tương đương với sự tăng của hàm sức khoẻ Giá trị hàm sức khoẻ tăng khi nhiệt độ giảm thể hiện trong biểu đồ: 4. Sự phân bố trạng thái giới hạn Cho π Tk (s i ) là xác suất mà s i là lời giải hiện thời sau k bước của thuật tốn ở nhiệt độ T. T o : nhiệt độ khởi đầu T n : nhiệt độ kết thúc T i : nhiệt độ vòng i khi i = 1, ,N N N i T T TT 1 0 0 = THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN SỬ DỤNG THUẬT TỐN LUYỆN KIM SONG SONG GIẢI QUYẾT BÀI TỐN MAXSAT TRƯƠNG THỊ THÚY LAN(K54A) – KIỀU TUẤN DŨNG(K55B) - NGUYỄN MINH CHÂU K55B 9 Vectơ xác suất trạng thái: π Tk = (π Tk (s 1 ), π Tk (s 2 ),…,π Tk (s i ),…). Cho chuỗi Markov, vector xác suất trạng thái hội tụ tới 1 véctơ xác suất giới hạn TTk k ππ = ∞→ lim Trên thực tế có thể chứng minh rằng: ∑ ∈ − − = ∞→ S j s T j sf T i sf i S Tk k )/)(exp( )/)(exp( )( lim π (Phân bố Boltzmann) • Phân bố giới hạn cho T 0 - Cân nhắc 2 lời giải s i và s j với f(s i ) < f(s j ). Trong trường hợp này có: ∞ → − = − − ∞→ → → 0 )()( exp )/)(exp( )/)(exp( )( )( T T i sf j sf T j sf T i sf k j S Tk i S Tk π π - Sự khẳng định cuối cùng là giả thiết 0)()( >− i sf j sf - Hội tụ tới ∞ chỉ có thể xảy ra nếu có: 0)( limlim 0 = →∞→ j s Tk Tk π - Chứng minh rằng: Cho lời giải khả thi s, k∞ và T0 xác suất π Tk (s) hội tụ tới 0, nếu s khơng phải lời giải tối ưu 0)( lim 0 lim = →∞→ s Tk Tk π - Ngồi ra có thể chứng minh rằng nếu s là một lời giải tối ưu thì || 1 )( lim 0 lim opt S s Tk Tk = →∞→ π Ở đây S opt là tập tất cả các lời giải tối ưu. 5. Sự hội tụ và điều kiện dừng Sự hội tụ Cho khơng gian tìm kiếm hữu hạn S, điều kiện đủ cho sự hội tụ là sự cân bằng chi tiết (detail balance) phụ thuộc vào xác suất giữa hai lời giải bất kỳ sj , si trong khơng gian trạng thái là bằng nhau: )().()().( T ji T j T ij T i τπτπ = THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN SỬ DỤNG THUẬT TỐN LUYỆN KIM SONG SONG GIẢI QUYẾT BÀI TỐN MAXSAT TRƯƠNG THỊ THÚY LAN(K54A) – KIỀU TUẤN DŨNG(K55B) - NGUYỄN MINH CHÂU K55B 10 Trong đó π i (T) là sự phân bố ổn định của trạng thái s i ở nhiệt độ T. Sự phân phối ổn định là một vectơ π(T) = (π 1 (T), π 2 (T), …, π |s| (T)) Thỏa mãn phương trình: π T (T)*P(T) = π T (T) P(T): ma trận chuyển tiếp π T : Hốn vị của π. |S| : là số phần tử của khơng gian trạng thái S. Nếu P là tối giản và khơng có chu kỳ thì tồn tại một xác suất ổn định duy nhất π. Điều kiện đủ cho tính khơng chu kỳ là tồn tại trạng thái s i є S sao cho P ii ≠ 0. Điều kiện dừng Thuật tốn dừng khi đã tìm được một lời giải đủ tốt và T là q nhỏ mà xác suất tránh được là khơng đáng kể. Một tiêu chuẩn kết thúc khác là chi phí trung bình thay đổi khơng đáng kể ở một vài giá trị liên tiếp nhau của T Chương II: Xây dựng khung thuật tốn SA I. Lý do xây dựng khung thuật tốn Chúng ta cần xây dựng khung chung cho thuật tốn nhằm đảm bảo: • Giảm thiểu q trình code cho người sau • Cho những người sau thử nghiệm bài tốn trên lập trình song song • Việc xây dựng khung sẽ khiến người đọc hiểu được tổng quan thuật tốn và cách cài đặt thuật tốn một cách nhanh hơn. Giúp cho người sau học có tính khoa học hơn. II. Khung chung của thuật tốn SA Tất cả các bài tốn giải bằng SA đều thực hiện theo các bước: • Bước 1: Đầu tiên, tìm điểm xuất phát của bài tốn • Bước 2: Liệt kê các láng giềng có thể có của lời giải hiện thời • Bước 3: Tiến hành ước lượng hàm mục tiêu hiện thời và hàm mục tiêu của láng giềng vừa tìm được THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN [...]... TRỰC TUYẾN SỬ DỤNG THUẬT TỐN LUYỆN KIM SONG SONG GIẢI QUYẾT BÀI TỐN MAXSAT Với những đặc điểm trên quyết định dùng mơ hình đảo vì nếu dùng các mơ hình kia thì tốn kém hoặc nếu khơng tốn kém thì cũng thực hiện thuật tốn với tốc độ chậm Thêm vào đó sử dụng thư viện MPI để các máy tính truyền thơng với nhau và dùng NetStream để thân thiện hơn với người sử dụng 2 Cài đặt Bài tốn Maxsat 2.1 Sử dụng thuật tốn... – KIỀU TUẤN DŨNG(K55B) - NGUYỄN MINH CHÂU K55B 19 THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN SỬ DỤNG THUẬT TỐN LUYỆN KIM SONG SONG GIẢI QUYẾT BÀI TỐN MAXSAT SetUpParams& setup) Chương III: Ứng dụng của thuật tốn SA I Bài tốn MAXSAT 1 Giới thiệu bài tốn Bài tốn MAXSAT bao gồm tập n biến {x1, x2,…,xn } và tập m mệnh đề Mục đích của bài tốn MAXSAT là tìm một phân phối các giá trị chân lý T cho các biến sao cho ít nhất... char** argv) để giải quyết bài tốn một cách song song trên mơi trường mạng LAN Với tham số truyền vào của hàm chính là các tên máy tham gia vào q trình tính tốn provides class Solver_Lan: public Solver { private: NetStream _netstream; TRƯƠNG THỊ THÚY LAN(K54A) – KIỀU TUẤN DŨNG(K55B) - NGUYỄN MINH CHÂU K55B 15 THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN SỬ DỤNG THUẬT TỐN LUYỆN KIM SONG SONG GIẢI QUYẾT BÀI TỐN MAXSAT int... các phần tử là 0 và 1 } Hàm nhận lời giải istream& operator>> (istream& is, Solution& sol) { for (int i=0;i> sol._var[i]; return is; TRƯƠNG THỊ THÚY LAN(K54A) – KIỀU TUẤN DŨNG(K55B) - NGUYỄN MINH CHÂU K55B 25 THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN SỬ DỤNG THUẬT TỐN LUYỆN KIM SONG SONG GIẢI QUYẾT BÀI TỐN MAXSAT } Sử dụng NetStream tính tốn song song NetStream& operator >> (NetStream&... THÚY LAN(K54A) – KIỀU TUẤN DŨNG(K55B) - NGUYỄN MINH CHÂU K55B 12 THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN SỬ DỤNG THUẬT TỐN LUYỆN KIM SONG SONG GIẢI QUYẾT BÀI TỐN MAXSAT o // số bước lặp để phối hợp ( nếu là 0 khơng phối hợp) Thuật tốn SA có thể chạy được cả ở mơi trường tuần tự và mơi trường song song III Sơ đồ khung thuật tốn SA có hai phân lớp chính là lớp Required (lớp đòi hỏi) và lớp Provided (lớp cung cấp)... o Thủ tục nhận lời giải s ở nhiệt độ T và cải thiện nó qua sự tìm kiếm địa phương o M là số phép lặp ở nhiệt độ T o Hàm neighbor sinh ra lời giải mới NewS TRƯƠNG THỊ THÚY LAN(K54A) – KIỀU TUẤN DŨNG(K55B) - NGUYỄN MINH CHÂU K55B 11 THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN SỬ DỤNG THUẬT TỐN LUYỆN KIM SONG SONG GIẢI QUYẾT BÀI TỐN MAXSAT o Hàm Gain: độ chênh lệch hàm chi phí của lời giải S và lời giải mới NewS tức là... được áp dụng cho bất kỳ khung nào trong MALLBA và bao gồm thơng tin cần để bảo đảm tốn tử thích hợp của thuật tốn o Stop_Condition: Điều kiện dừng của bài tốn o …… TRƯƠNG THỊ THÚY LAN(K54A) – KIỀU TUẤN DŨNG(K55B) - NGUYỄN MINH CHÂU K55B 16 THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN SỬ DỤNG THUẬT TỐN LUYỆN KIM SONG SONG GIẢI QUYẾT BÀI TỐN MAXSAT 2 Lớp đòi hỏi (Required) • Required: bao hàm các thủ tục riêng trong thuật. .. hàm sức khỏe } Kết quả thực nghiệm (Chương trình đã chạy nhưng chưa đủ máy để chạy song song nên thứ 6 sẽ trình bày sau) TRƯƠNG THỊ THÚY LAN(K54A) – KIỀU TUẤN DŨNG(K55B) - NGUYỄN MINH CHÂU K55B 29 THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN SỬ DỤNG THUẬT TỐN LUYỆN KIM SONG SONG GIẢI QUYẾT BÀI TỐN MAXSAT 1 Kết quả tuần tự 2 Kết quả song song TÀI LIỆU THAM KHẢO [1.] Chen Tao Multi-FPGA Partitioning Using Simulated Annealing... virtual void DoStep () =0; TRƯƠNG THỊ THÚY LAN(K54A) – KIỀU TUẤN DŨNG(K55B) - NGUYỄN MINH CHÂU K55B 14 THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN SỬ DỤNG THUẬT TỐN LUYỆN KIM SONG SONG GIẢI QUYẾT BÀI TỐN MAXSAT } Có 2 lớp kế thừa từ lớp Solver: Solver_Seq: Chứa các thủ tục run() để giải quyết bài tốn một cách tuần tự provides class Solver_Seq: public Solver { public: Solver_Seq ( const Problem& pbm, const SetUpParams&... THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN SỬ DỤNG THUẬT TỐN LUYỆN KIM SONG SONG GIẢI QUYẾT BÀI TỐN MAXSAT double Solver::Set_Initial_Temperature(c onst Problem& pbm) Thi t t nhi t cho bài tốn ban u 3.2 SA.req.cpp M t s hàm chính Ý nghĩa ostream& operator> (istream& is, Problem& pbm){ return is; } In ra bài tốn c vào bài tốn const Problem& Solution::pbm()