đồ án tốt nghiệp sử dụng thuật toán luyện kim song song giải quyết bài toán maxsat

26 971 4
đồ án tốt nghiệp sử dụng thuật toán luyện kim song song giải quyết bài toán maxsat

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

SỬ DỤNG THUẬT TOÁN LUYỆN KIM SONG SONG GIẢI QUYẾT BÀI TOÁN MAXSAT Chương I: 3 Tổng quan thuật toán mô phỏng luyện kim (Simulated Annealing = SA) 3 Sự hội tụ 7 Điều kiện dừng 8 Chương II: 8 Xây dựng khung thuật toán SA 8 Hàm Main_Seq 18 Kết quả thực nghiệm 26 1. Kết quả tuần tự 26 2. Kết quả song song 26 SỬ DỤNG THUẬT TOÁN LUYỆN KIM SONG SONG GIẢI QUYẾT BÀI TOÁN MAXSAT BÁO CÁO KHOA HỌC ĐỂ TÀI: THUẬT TOÁN LUYỆN KIM SONG SONG (Parallel Simulated Annealing Algorithms) GIẢI QUYẾT BÀI TOÁN MAX-SAT MỞ ĐẦU - Nhiều bài toán tối ưu chưa có thuật toán chính xác để giải quyết cho nên cần có một thuật toá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 toán song song. Vì vậy việc tìm hiểu về các thuật toán song song là cần thiết và mang tính khả thi đối với các bài toá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 toán giúp giải quyết các bài toán khác nhanh chóng hơn. - Mục đích của đề tài này là sử dụng thuật toán luyện kim song song để giải quyết bài toá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 toán luyện kim • Xây dựng khung thuật toán chung cho các bài toán sử dụng thuật toán luyện kim • Áp dụng khung thuật toán luyện kim cho bài toán MAXSAT • Cài đặt bài toá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. SỬ DỤNG THUẬT TOÁN LUYỆN KIM SONG SONG GIẢI QUYẾT BÀI TOÁN MAXSAT • Từ đó sử dụng khung thuật toán luyện kim để giải quyết các bài toán tối ưu khác trong thực tế như: Bài toán người du lịch, bài toán khôi phục ảnh, thiết kế mạch IC, bài toán sắp xếp thời khoá biểu cho trường đại học… Chương I: Tổng quan thuật toán mô phỏng luyện kim (Simulated Annealing = SA) I. Giới thiệu chung về thuật toán SA  SA là một thuật toán tìm kiếm xác suất di truyền, là phương pháp tối ưu hoá có thể áp dụng để tìm kiếm tối ưu hoá toàn cục của hàm chi phí và tránh tối ưu hoá đị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 toán luyện kim sẽ tìm đến tối ưu toà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 toán Monte Carlo năm 1953 của nhóm Metropolis. Thuật toá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ự quá 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 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 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 toàn cục SỬ DỤNG THUẬT TOÁN LUYỆN KIM SONG SONG GIẢI QUYẾT BÀI TOÁN MAXSAT ∆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 toà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 quá 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.  Quá trình tối ưu hoá được tiếp tục cho tới khi cực tiểu toàn cục được tìm thấy hoặc tổng số bước chuyển vượt quá 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 toà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 toán. II. Mô hình toán học của thuật toán SA 1. Không gian trạng thái Yes 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 Đạt tới cực tiểu toàn cục 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 quá trình xử lý ngẫu nhiên SỬ DỤNG THUẬT TOÁN LUYỆN KIM SONG SONG GIẢI QUYẾT BÀI TOÁN MAXSAT  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. 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 toán kết thúc khi T = 0. SỬ DỤNG THUẬT TOÁN LUYỆN KIM SONG SONG GIẢI QUYẾT BÀI TOÁN MAXSAT 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 toán ở nhiệt độ T. 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: 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         = SỬ DỤNG THUẬT TOÁN LUYỆN KIM SONG SONG GIẢI QUYẾT BÀI TOÁN MAXSAT ∑ ∈ − − = ∞→ 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à T0 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 π - Ngoà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 τπτπ = 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 : Hoán vị của π. SỬ DỤNG THUẬT TOÁN LUYỆN KIM SONG SONG GIẢI QUYẾT BÀI TOÁN MAXSAT |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 toán dừng khi đã tìm được một lời giải đủ tốt và T là quá 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 toán SA I. Lý do xây dựng khung thuật toán Chúng ta cần xây dựng khung chung cho thuật toán nhằm đảm bảo: • Giảm thiểu quá trình code cho người sau • Cho những người sau thử nghiệm bài toá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 toán và cách cài đặt thuật toá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 toán SA  Tất cả các bài toá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 toá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 • Bước 4: Sinh một biến ngẫu nhiên thường là phân bố mũ có các tham số phụ thuộc vào hiệu quả của các giá trị hàm mục tiêu và tham số T. • Bước 5: Nếu biến ngẫu nhiên lớn hơn hoặc nhỏ hơn một ngưỡng cho trước thì chấp nhận láng giềng vừa tìm được làm phương án hiện tại • Bước 6: Giảm nhiệt độ T. • Bước 7: Quay trở lại từ đầu  Đã chứng minh được khi T  0 thì tìm được lời giải tối ưu toàn cục. Tại những giá trị nhiệt độ cao các bước chuyển được chấp nhận một cách ngẫu nhiên bất luận chúng là bước chuyển có cải thiện hàm chi phí hay không. Khi SỬ DỤNG THUẬT TOÁN LUYỆN KIM SONG SONG GIẢI QUYẾT BÀI TOÁN MAXSAT nhiệt độ được giảm xuống xác suất chấp nhận lời giải có cải thiện tăng lên và xác suất chấp nhận lời giải không có cải thiện giảm xuống.  Khung thuật toán SA gồm 3 lớp: - Problem: Định nghĩa bài toán - Solution: Định nghĩa lời giải - Default Move: Định nghĩa sự chuyển đổi (sự phát sinh lời giải mới)  Thuật toán Metropolis heuristic: Algorithm Metropolis (S,T,M) (*Trả lại giá trị giảm của hàm chi phí*) Begin Repeat M = M + 1; NewS  neighbor(S);(*sinh ra lời giải mới NewS*) gain  Gain(NewS,S);(*chênh lệch hàm chi phí*) If ((gain > 0) or (random < e gain/K B T )) then { S  NewS; (*Chấp nhận lời giải*) If (cost(NewS) < cost(BestS)) then BestS  NewS; } Until (M mod MarkovChain_length == 0); End;(* of metropolis) Trong đó: 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 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à gain = chi phí của S – chi phí của NewS. o Random là số ngẫu nhiên từ 0 đến 1 o Nếu chi phí NewS thấp hơn chi phí của S thì chấp nhận lời giải NewS còn nếu chi phí NewS lớn hơn chi phí của S thì vẫn chấp nhận lời giải NewS nhưng với xác suất là radom < e gain/K B T o Nếu NewS được chấp nhận sẽ so sánh với BestS. Nếu cost(BestS) > cost(NewS ) thì BestS được thay thế bởi NewS . Còn không thì vẫn giữ nguyên lời giải BestS và tiếp tục thực hiện vòng lặp. SỬ DỤNG THUẬT TOÁN LUYỆN KIM SONG SONG GIẢI QUYẾT BÀI TOÁN MAXSAT  Thuật toán SA Algorthm Simulated_Annealing Begin Initialize(T); //khởi tạo nhiệt độ T S 0 = Initial_Solution()// khởi tạo lời giải S 0 M = 0; Repeat Call Metropolis (S 0 ,T,M) ; T  alpha * T;//Cập nhật T Until (T = 0) Lời giải tốt nhất được tìm thấy End. o alpha: tốc độ làm lạnh o Thuật toán SA ban đầu khởi tạo nhiệt độ T và lời giải S 0 o Gọi hàm Metropolis để tìm lời giải tốt nhất BestS. Sau khi đã tìm được lời giải tốt nhất thì cập nhật lại nhiệt độ T theo thông số alpha.Thực hiện vòng lặp cho tới khi T = 0 sẽ tìm được lời giải tốt nhất toàn cục của bài toán.  Một điều quan trọng nữa là khi thực hiện thuật toán SA người dùng phải cấu hình các thông số của thuật toán trong file cấu hình SA.cfg bao gồm: o // số bước chạy độc lập o // số ước lượng o // Markov-Chain Length o // độ giảm nhiệt độ o // có hiển thị trạng thái ? o LAN-configuration o // trạng thái toàn cục được cập nhật trong n ước lượng o // 0: asynchronized mode // 1: synchronized mode o // số bước lặp để phối hợp ( nếu là 0 không phối hợp)  Thuật toá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 toá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) được thể hiện trong hình vẽ dưới đây [...]...SỬ DỤNG THUẬT TOÁN LUYỆN KIM SONG SONG GIẢI QUYẾT BÀI TOÁN MAXSAT 1 Lớp cung cấp (Provided) • Provided: bao hàm các thủ tục chung cho thuật toán SA và được áp dụng cho hầu hết các bài toán sử dụng thuật toán SA (ví dụ như khung của thuật toán SA tuần tự, khung của thuật toán SA song song, thiết đặt các thông số của bài toán ) Bao gồm các lớp: o SetupParams: Là... giải bài toán sử dụng cho song song double Solution::fitness () const { return 0.0; } Hàm sức khoẻ void UserStatistics::update(const Solver& solver) bool TerminateQ (const Problem& pbm, const Solver& solver,const SetUpParams& setup) Hàm kết thúc Chương III: Ứng dụng của thuật toán SA SỬ DỤNG THUẬT TOÁN LUYỆN KIM SONG SONG GIẢI QUYẾT BÀI TOÁN MAXSAT I Bài toán MAXSAT 1 Giới thiệu bài toán Bài toán MAXSAT. .. lời giải có thể được thực hiện o UserStatistic: lưu trữ thông tin cuối cùng của bài toán :lời giải tốt nhất, số đánh giá, thời gian thực thi,… o DefaultMove: Thực hiện việc cập nhật lời giải mới của bài toán o TerminateQ: Thực hiện điều kiện dừng của bài toán Ta có sơ đồ khung thuật toán SA như sau: Những lớp có dấu * là các lớp Required SỬ DỤNG THUẬT TOÁN LUYỆN KIM SONG SONG GIẢI QUYẾT BÀI TOÁN MAXSAT. .. tục riêng trong thuật toán SA của từng bài toán cụ thể (ví dụ như các thủ tục tính nhiệt độ, thủ tục tính hàm sức khoẻ, thủ tục sinh lời giải ) • Các lớp đòi hỏi được sử dụng để lưu trữ dữ liệu cơ bản của thuật toán : bài toán, trạng thái không gian tìm kiếm và vào/ra Bao gồm các lớp: o Problem: Mô tả bài toán cần được giải quyết Nhận các thông số của bài toán từ file định nghĩa bài toán o Solution:... tham số); ……………… SỬ DỤNG THUẬT TOÁN LUYỆN KIM SONG SONG GIẢI QUYẾT BÀI TOÁN MAXSAT // Partial execution virtual void StartUp (); virtual void StartUp (có tham số); ………………… virtual void DoStep (); void reset(); }; o Statistic: đượ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 toán tử thích hợp của thuật toán o Stop_Condition: Điều kiện dừng của bài toán o …… 2 Lớp đòi... cho mỗi mệnh đề Ci Một công thức CNF là một sự kết hợp các mệnh đề F =C 1∧C 2 ∧ ∧ C m SỬ DỤNG THUẬT TOÁN LUYỆN KIM SONG SONG GIẢI QUYẾT BÀI TOÁN MAXSAT Output Tìm một phân bố T (TRUE/FALSE) cho n biến logic mà số mệnh đề được thoả mãn có tổng trọng số là lớn nhất II Khung thuật toán SA tuần tự giải quyết bài toán MAXSAT 1 Hàm void Solver_Seq::DoStep() DoStep() { //Tăng bước lặp hiện tại lên 1; current_iteration... các giá trị mới Các hàm của Slover tính toán các giá trị như: thời gian, các bước lặp, nhiệt độ hiện tại, lời giải hiện tại… double Solver::UpdateT(double temp, int K) Cập nhật nhiệt độ với tham số K SỬ DỤNG THUẬT TOÁN LUYỆN KIM SONG SONG GIẢI QUYẾT BÀI TOÁN MAXSAT double Solver::Set_Initial_Temperature(c onst Problem& pbm) Thiết đặt nhiệt độ ban đầu cho bài toán 3.2 SA.req.cpp Một số hàm chính Ý nghĩa... exp(K+1); } 2.1.4 Hàm khởi tạo lời giải Giả sử có n biến: x1,, x2, x3, …, xn Lời giải là một mảng n phần tử mà mỗi phần tử trong mảng chỉ nhận một trong hai giá trị là 0 hoặc 1 bằng cách sinh các số nguyên ngẫu nhiên từ 0 đến 1 để gán cho mảng này SỬ DỤNG THUẬT TOÁN LUYỆN KIM SONG SONG GIẢI QUYẾT BÀI TOÁN MAXSAT Ví dụ với 5 biến ta có các lời giải như: (có 25 lời giải tất cả) x1,, x2, x3, x4, x5 ... Hàm Main_Seq Main_Seq { Sử dụng khung SA Khai báo: SetupParams cfg; Problem pbm; Mở file f1 là “SA.cfg” để đọc vào cấu hình Đọc file f1>>cfg; SỬ DỤNG THUẬT TOÁN LUYỆN KIM SONG SONG GIẢI QUYẾT BÀI TOÁN MAXSAT Mở file f2 để đọc “Problem.dat” Đọc file f2>>pbm; Khai báo: Solver_Seq solver (pbm,cfg); Gọi hàm solver.run(); Nếu (solver.pid()==0) thì hiển thị trạng thái In ra lời giải tốt nhất toàn cục và giá... move; Solution current; SỬ DỤNG THUẬT TOÁN LUYỆN KIM SONG SONG GIẢI QUYẾT BÀI TOÁN MAXSAT double curfit; Solution tentative; double currentTemperature; unsigned int StateCenter k; // to control temperature update _sc; float total_time_spent; float time_spent_in_trial; float start_trial; float start_global; bool _end_trial; State_Vble sol; // Một vector các lời giải tạm thời của bài toán const Direction . thuyết về thuật toán luyện kim • Xây dựng khung thuật toán chung cho các bài toán sử dụng thuật toán luyện kim • Áp dụng khung thuật toán luyện kim cho bài toán MAXSAT • Cài đặt bài toán MAXSAT. trình song song. SỬ DỤNG THUẬT TOÁN LUYỆN KIM SONG SONG GIẢI QUYẾT BÀI TOÁN MAXSAT • Từ đó sử dụng khung thuật toán luyện kim để giải quyết các bài toán tối ưu khác trong thực tế như: Bài toán. kết thúc Chương III: Ứng dụng của thuật toán SA SỬ DỤNG THUẬT TOÁN LUYỆN KIM SONG SONG GIẢI QUYẾT BÀI TOÁN MAXSAT I. Bài toán MAXSAT 1. Giới thiệu bài toán Bài toán MAXSAT bao gồm tập n biến

Ngày đăng: 22/08/2014, 16:32

Từ khóa liên quan

Mục lục

  • Chương I:

  • Tổng quan thuật toán mô phỏng luyện kim (Simulated Annealing = SA)

    • Sự hội tụ

    • Điều kiện dừng

    • Chương II:

    • Xây dựng khung thuật toán SA

      • Hàm Main_Seq

      • Kết quả thực nghiệm

        • 1. Kết quả tuần tự

        • 2. Kết quả song song

Tài liệu cùng người dùng

Tài liệu liên quan