Phương thức đơn hình

24 634 0
Phương thức đơn hình

Đ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

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ BÁO CÁO ĐỀ TÀI ĐỀ TÀI: TÌM HIỂU THUẬT TOÁN ĐƠN HÌNH (SIMPLEX METHOD) GV hướng dẫn: Thầy Tô Văn Khánh Môn học: Các vấn đề đại CNPM Sinh viên: Nguyễn Đức Toàn Nguyễn Trí Tuyến Nguyễn Hữu Quý Hà Nội, tháng 11 năm 2013 MỤC LỤC THUẬT TOÁN ĐƠN HÌNH I Giới thiệu chung Thuật toán đơn hình thuật toán cổ điển dùng để tối ưu hóa số Nó sử dụng để tìm giá trị tối ưu cho hàm mục tiêu xác định trước với ràng buộc tuyến tính biến thực Hàm mục tiêu ràng buộc tuyến tính kết hợp với gọi toán quy hoạch tuyến tính Tuy nhiên không đề cập tới việc tối ưu hàm mục tiêu Vì phần ta thảo luận biến thể phương pháp đơn hình gồm ràng buộc tuyến tính đơn mà hàm mục tiêu Giới thiệu thuật toán Thuật toán đơn hình (The Simplex) đóng góp phát triển George Bernard Danzig vào năm 1947, định tính “Satisfiable” liên kết bất đẳng thức tuyến tính yếu Tập hợp ràng buộc thông thường hàm mục tiêu tuyến tính giới hạn biến công thức Nếu tập hợp ràng buộc không thỏa mãn(Unsatisfiable), thuật toán đơn hình cung cấp phép gán thỏa mãn biến cực đại hàm mục tiêu Thuật toán đơn hình trường hợp xấu hàm mũ Mặc dù có nhiều thuật toán độ phức tạp để giải vấn đề tối ưu hóa hàm mục tiêu (thuật toán độ phức tạp biết đến Khachiyan vào năm 1979 gọi phương thức Ellipsoid), thuật toán đơn hình xem phương thức có hiệu thực hành phổ biến rộng rãi nhất, rõ ràng cần thiết số bước số hàm mũ vấn đề đại Thuật toán nằm danh sách 10 thuật toán tiêu biểu kỷ 20 tờ báo “Computing in Science and Engineering” bình chọn Giới thiệu tác giả Dantzig George Bernard Dantzig sinh ngày tháng 11 năm 1914 vào ngày 13 tháng năm 2005 Ông nhà khoa học người Mỹ có đóng góp quan trọng vận trù học, khoa học máy tính, kinh tế thống kê Ông biết đến với việc phát triển thuật toán đơn hình sau phát minh nhà toán học kinh tế người Liên Xô Leonid Kantorovich, để giải vấn đề lập trình tuyến tính từ công việc lực lượng THUẬT TOÁN ĐƠN HÌNH không quân Mỹ Ông Giáo sư danh dự Khoa học Giao thông vận tải giáo sư ngành Vận trù học Khoa học máy tính Đại học Stanford II Thuật toán đơn hình – Simplex Method Tổng quan SMT solver Trong khoa học máy tính logic toán học, toán SMT (Satisfiability Modulo Theories) toán định cho công thức logic liên quan đến kết hợp lý thuyết thể logic cổ điển với tương đương Ví dụ thuyết học phổ biến sử dụng khoa học máy tính thuyết số thực, thuyết số nguyên thuyết cấu trúc liệu khác danh sách (list), mảng (array), … SMT coi hình thức toán tìm ẩn thỏa mãn ràng buộc liên quan đến cách tiếp cận thức lập trình ràng buộc a Thuật ngữ Chính thức mà nói, phiên SMT công thức logic học đầu tiên, nơi mà số công thức kí tự vị từ (predicates) có cách diễn giải bổ sung SMT toán xác định liệu công thức có thỏa mãn Nói cách khác, hình dung thể toán SAT biến nhị phân thay vị từ tập hợp biến không nhị phân thích hợp Vị từ hàm có giá trị nhị phân biến không nhị phân Các vị từ khai báo bất đẳng thức tuyến tính đẳng thức liên quan đến số hạng không xác định hàm kí tự Vị từ phân loại theo lí thuyết chúng thuộc b Ý nghĩa Phiên SMT suy rộng phiên Boolean SAT tập hợp ẩn khác thay vị từ (predicates) từ loạt thuyết sở Hiển nhiên, công thức SMT cung cấp mô hình ngôn ngữ phong phú nhiều so với công thức Boolean SAT Ví dụ, công thức THUẬT TOÁN ĐƠN HÌNH SMT cho phép mô hình hóa phép toán “Datapath” vi xử lý kiểu chữ cấp độ bit Khi so sánh, câu trả lời lập trình dựa vị từ (chính xác mệnh đề nguyên tử tạo từ công thức nguyên tử) Không giống SMT, câu trả lời lập trình phép lượng hóa, không dễ để thể ràng buộc số học tuyến tính logic khác biệt ASP thích hợp cho toán tính đắn để rút gọn hàm không lý giải thuyết tự Việc cài đặt số nguyên 32 bit bit-vecto ASP chịu ảnh hưởng từ số toán tương tự mà SMT solvers phải đối mặt: “tính rõ ràng” x+y=y+x, khó để kết luận Lập trình ràng buộc logic cung cấp khả hỗ trợ cho ràng buộc số học tuyến tính, phạm vi lý thuyết hoàn toàn khác c Ứng dụng SMT solvers có ích cho việc xác minh chứng minh tính đắn chương trình, để tổng hợp, sinh đoạn chương trình cách tìm kiếm không gian chương trình có khả Thuật toán đơn hình a Các vấn đề định toán quy hoạch tuyến tính Như nói trên, quan tâm đến vấn đề định đề tối ưu toán Chúng ta làm ẩn biến thuật toán đơn hình thông thường gọi thuật toán đơn hình tổng quát (General Simplex) mà không cần đến hàm mục tiêu Thuật toán đơn hình tổng quát chấp nhận hai yêu cầu bắt buộc cho đầu vào: Đẳng thức mẫu: a1x1 + … + anxn = Giới hạn giới hạn ẩn: l i ≤ xi ≤ u i (2) THUẬT TOÁN ĐƠN HÌNH với li ui ràng buộc tương ứng với giới hạn giới hạn xi Giới hạn tùy chọn thuật toán hỗ trợ biến không bị chặn *(2): Điều trái ngược với thuật toán đơn hình cổ điển, tất ẩn ràng buộc không âm Phép biểu diễn công thức đầu vào gọi dạng tổng quát (General form) Câu lệnh toán không phụ thuộc vào độ mạnh yếu ràng buộc tuyến tính, ánh xạ ràng buộc tuyến tính yếu tùy ý L⊲⊳R với ⊲⊳ ∈ { =, ≤, ≥} vào dạng sau Đặt m số ràng buộc ràng buộc thứ i, ≤ i ≤ m: Di chuyển tất số hạng R sang bên tay trái để thu L’⊲⊳ b, b ràng buộc Khai báo ẩn si thêm vào ràng buộc L’ − si = si ⊲⊳ b (2.1) Nếu ⊲⊳ toán tử tương đương, ta viết lại si = b cho si ≥ b si ≤ b Nguồn gốc ánh xạ liên hợp ràng buộc hiển nhiên đáp ứng Ví dụ 2.1: Xét ràng buộc liên hợp sau: x+y≥2∧ 2x – y ≥ ∧ -x + 2y ≥ Viết lại theo dạng tổng quát vấn đề sau: (2.2) THUẬT TOÁN ĐƠN HÌNH x + y – s1= ∧ 2x – y – s2 = ∧ -x + 2y – s3 = ∧ (2.3) s1 ≥ ∧ s2 ≥ ∧ s3 ≥ Các ẩn s1,…., sm gọi ẩn thêm vào Các ẩn x1,…,xn ràng buộc gốc gọi ẩn toán Do đó, có n ẩn toán m ẩn mới, với m số ràng buộc ẩn cũ toán Trong phương án tối ưu trên, ẩn thêm vào L’ không ẩn toán định ẩn trước b Cơ thuật toán đơn hình Nó phổ biến thuận lợi cho việc thể tính thỏa mãn (satisfaction) toán ràng buộc tuyến tính toán hình học Về khía cạnh hình học, ẩn tương ứng chiều, ràng buộc xác định không gian lồi: đặc biệt, bất đẳng thức xác định nửa không gian xác định siêu mặt phẳng (hyperplanes – Siêu mặt phẳng không gian d-chiều không gian với d-1 kích thước Chẳng hạn không gian chiều, siêu mặt phẳng đường thẳng, chiều điểm.) Không gian (đóng) phép gán thoả mãn xác định giao nửa không gian siêu mặt phẳng, có dạng đa diện lồi Điều hiểu giao không gian lồi không gian lồi khác Biểu diễn hình học toán gốc ví dụ xuất hình 2.1 THUẬT TOÁN ĐƠN HÌNH y 2x - y ≥ -x + 2y ≥ C B A x+y≥2 x Hình 2.1: Biểu diễn đồ thị hình học toán 2.2 Vùng gạch chéo tập hợp phép gán thỏa mãn ràng buộc liên quan Các điểm (A), (B), (C) minh họa tiến thuật toán đơn hình giải thích rõ mục Chúng ta biểu diễn hệ số đầu vào ràng buộc liên quan toán ma trận A có m hàng, m + n cột với m số ràng buộc ẩn bản(tương ứng với số ẩn không bản) n số ẩn Các ẩn x1, x2,…, xn, s1, ,sm viết vector x Theo vấn đề toán tương đương với tồn vector x cho: Với giới hạn (2.4) giới hạn Giá trị vô giới hạn không đươc thiết lập Ví dụ 2.2: Tiếp tục xét toán ví dụ 2.1 THUẬT TOÁN ĐƠN HÌNH Dùng ẩn x, y, s1, s2, s3 biểu diễn ma trận 3x5 cho đẳng thức ràng buộc (2.3) ta được: (2.5) Chú ý phần lớn phần tử ví dụ 2.2 cân đối cột thêm vào ẩn không s1, …, sm Đó ma trận đường chéo m-bym hệ số đường chéo mà -1 Điều kết việc sử dụng thuật toán tổng quát Trong ma trận A thay đổi dần bước thuật toán, số cột ẩn không không giảm Tập hợp ẩn m thỏa mãn cột A gọi ẩn kí hiệu ma trận tạo nên Ɓ Chúng gọi ẩn phụ thuộc, giá trị chúng xác định từ ẩn không Ẩn không kí hiệu N Điều thuận lợi cho việc lưu giữ điều khiển đại diện A gọi lớp động (tableau), đơn giản A đường chéo ma trận Tóm lại lớp động ma trận m-by-n, cột tương ứng với ẩn không bản, hàng biểu diễn ẩn (giống ẩn có ‘-1’ cuối hàng đường chéo ma trận A) Vì thế, thông tin lưu trữ đường chéo ma trận biểu diễn ẩn ghi nhãn hàng Ví dụ 2.4: Ta tiếp tục sử dụng ví dụ 2.1 để ví dụ lớp động: s1 s2 s3 x -1 y -1 -2 THUẬT TOÁN ĐƠN HÌNH Với ≤ s1 ≤ s2 ≤ s3 Lớp động đơn giản biểu diễn khác A, Ax = viết lại (2.6) Khi viết dạng tổng quát ma trận, tổng bên phải (2.6) tương ứng xác với lớp động c Thuật toán đơn hình với cận trên, cận Thuật toán đơn hình tổng quát bảo toàn phép cộng lớp động, phép gán α: Ɓ ∪ N → Q Thuật toán khởi tạo cấu trúc liệu sau: Tập hợp ẩn tập hợp ẩn Tập hợp ẩn không tập hợp ẩn toán Cho xi thỏa mãn α(xi) = i ∈ {1, , n + m} Nếu phép gán ban đầu tất ẩn không đưa giới hạn ẩn đó, tiếp dung công thức khai báo để thỏa mãn (gọi lại ẩn không lúc đầu giới hạn rõ ràng) Nếu ngược lại, thuật toán bắt đầu với tiến trình thay đổi phép gán • • • Thuật toán 2.1: Thuật toán đơn hình tổng quát Input: Một hệ thống ràng buộc tuyến tính Output: Trả “Satisfiable” chương “Unsatisfiable” ngược lại • Ánh xạ hệ thống thành dạng tổng quát • • 10 Đặt tập hợp ẩn s1, …, sm Khởi tạo lớp động cho trình thỏa mãn, THUẬT TOÁN ĐƠN HÌNH • • • • Nếu ẩn vi phạm giới hạn biên trả “Satisfiable” Ngược lại, đặt xi ẩn theo thứ tự vi phạm giới hạn (*) Tìm ẩn không xj phù hợp theo thứ tự quanh x i Nếu biến vật trả “Unsatisfiable” Thực phép toán trục xi xj Quay trở lại bước (*) Tóm tắt bước phương pháp đơn hình tổng quát thuật toán 2.1 Thuật toán bảo toàn tính bất biến: • In-1 • In-2 Giá trị ẩn không với giới hạn chúng: (2.7) Rõ ràng tính bất biến giữ lại giống ban đầu kể từ tất ẩn x đặt giá trị 0, ẩn không giới hạn Vòng lặp thuật toán kiểm tra tồn ẩn vi phạm giới hạn Nếu ẩn tất gồm ẩn không ẩn thỏa mãn giới hạn chúng Theo tính bất biến In-1, điều có nghĩa phép gán α thỏa mãn (2.4) thuật toán trả “Satisfiable” Mặt khác, cho xi ẩn vi phạm giới hạn nó, không tính tổng quát giả sử ta có α(xi) > ui, i.e., giới hạn xi bị vi phạm Làm để thay đổi phép gán cho xi thỏa mãn giới hạn nó? Chúng ta cần tìm cách giảm giá trị xi Gọi giá trị có sẵn: xi = (2.8) Giá trị xi bị giảm xuống việc giảm giá trị ẩn không xj aịj > phép gán cao giới hạn lj, việc tăng giá trị ẩn xj aij < phép gán thấp giới hạn uj Một ẩn xj thực điều kiện cho phù hợp Nếu giá trị phù hợp, toán trả “Unsatisfiable” thuật toán kết thúc 11 THUẬT TOÁN ĐƠN HÌNH Đặt giá trị phải làm tăng (hoặc làm giảm) α(xj) cho thỏa mãn giới hạn xi: (2.9) Việc tăng (hoặc giảm) xj đặt xj giới hạn Mặt khác khác xj không thiết phải thỏa mãn giới hạn nữa, vi phạm tính bất biến In-2 Chúng ta đổi giá trị xi xj lớp động, nghĩa xi ẩn không xj ẩn Điều đòi hỏi ánh xạ từ lớp động, gọi phép toán trục (Pivot Operation) Phép toán trục lặp lặp lại phép gán thỏa mãn tìm thấy, hệ thống xác định không thỏa mãn Phép toán trục (The Pivot Operation) Phép toán hỗ trợ muốn đổi chỗ xi cho xj Chúng ta phải cần định nghĩa sau: Định nghĩa 5.5 (phần tử trục, cột hàng): Cho hai ẩn xi xj, hệ số aij gọi phần tử trục Cột xj gọi cột trục, hàng i gọi hàng trục Điều kiện trước tiên cho việc đổi chỗ ẩn xi xj phần tử trục chúng phải khác không, nghĩa aij ≠ Phép toán trục (hoặc pivoting) thực sau: • Giải hàng i cho xj • Đối với tất hàng l ≠ i, loại bỏ xj cách sử dụng công thức cho xj thu từ hàng i Chúng ta nhận thấy phép toán trục phép toán biết đến phương pháp khử ẩn Gauss 12 THUẬT TOÁN ĐƠN HÌNH Ví dụ 2.5: Chúng ta tiếp tục làm ví dụ Như nói trên, thiết lập α(xi) = Việc tương ứng với điểm A hình 5.1 Gọi lớp động giới hạn: s1 s2 s3 x -1 y -1 Với ≤ s1 ≤ s2 ≤ s3 Giới hạn s1 2, điều vi phạm Ẩn thấp x Ẩn x hệ số dương giới hạn trên, phù hợp với phép toán trục Chúng ta cần tăng s1 lên để chạm giới hạn dưới, điều có nghĩa x phải tăng lên (θ =0) Bước phép toán trục giải hàng s1 cho x: s1 = x + y x = s1 – y (2.10) Thay x vào hàng lại ta được: s2 = 2(s1 – y) - y s2 = 2s1 – 3y (2.11) s3 = - (s1 – y) + 2y s3 = -s1 + 3y (2.12) Viết lớp động, kết phép toán trục là: x 13 s1 y -1 THUẬT TOÁN ĐƠN HÌNH s2 s3 -1 -3 α(x) = α(y) = α(s1) = α(s2) = α(s3) = -2 Điều tương đương với điểm B hình 2.1 Giới hạn s3 vi phạm ẩn sau ẩn chọn Chỉ có ẩn phù hợp với phép toán trục y Chúng ta cần thêm vào s3 để chạm giới hạn Do đó: (2.13) Sau thực phép toán trục với s3 y, lớp động cuối là: x s2 y s1 2/3 1/3 α(x) = α(y) = α(s1) = α(s2) = α(s3) = 14 s3 -1/3 -1 1/3 THUẬT TOÁN ĐƠN HÌNH Phép gán α thỏa mãn giới hạn, {x → 1, y → 1} thỏa mãn phép gán Nó tương đương với điểm C hình 2.1 Chọn phần tử trục theo thứ tự thay đổi cho ẩn ẩn không cho tập hợp ẩn không không bị lặp lại kết thúc Trong phép chứng minh trang 71, cách chọn phần tử trục gọi định luật Bland d Vấn đề gia tăng (Incremental) Sự định toán thường xây dựng từ phương pháp gia tăng Thật vậy, công thức làm mạnh thêm từ liên kết bổ sung Điều làm thỏa mãn công thức không thỏa mãn Một chuỗi kiện phương pháp gia tăng định có ích DPLL(T) framework, điều mà học chương 11 Thuật toán đơn hình tổng quát phù hợp cho toán gia tăng Đầu tiên, nhận thấy ràng buộc vô hiệu hóa cách loại bỏ giới hạn tương ứng Đẳng thức lớp động không cần thiết sau này, không làm thỏa mãn công thức không thỏa mãn Điều thứ hai, điểm mấu chốt phép toán thực lớp động biến đổi tương đương Nó bảo toàn tập hợp giải pháp Do bắt đầu phương án với lớp động mà thu từ tập hợp giới hạn trước Việc bổ sung giới hạn giới hạn thực sau: • Nếu giới hạn ẩn không thêm vào, cập nhật giá trị • ẩn không theo lớp động để khôi phục In-2 Gọi đến thuật toán 2.1 để xác định toán thỏa mãn Bắt đầu bước (*) Hơn nữa, thường để loại bỏ ràng buộc sau chúng thêm vào Nó phù hợp phạm vi DPLL(T) thuật toán kích hoạt vô hiệu ràng buộc Thông thường, ràng buộc (hay 15 THUẬT TOÁN ĐƠN HÌNH giới hạn) loại bỏ tập hợp ràng buộc không thỏa mãn Sau loại bỏ phép gán ràng buộc phải khôi phục lại điểm mà thỏa mãn bất biến thuật toán đơn hình tổng quát Điều thực cách khôi phục lại phép gán α để thỏa mãn phép gán cuối biết Việc không cần thiết cho việc thay đổi lớp động Ví dụ cụ thể thuật toán đơn hình  Hệ bất phương trình tuyến tính ẩn số với Hay viết Biểu diễn dạng ma trận Chúng ta thiết lập a() = Gọi lớp động giới hạn: x -1 y -1 với Giới hạn 5, điều vi phạm Ẩn thấp x Ẩn x có hệ số dương giới hạn trên, phù hợp 16 THUẬT TOÁN ĐƠN HÌNH với phép toán trục Chúng ta cần tăng lên để chạm giới hạn dưới, điều có nghĩa x phải tăng lên (θ = 0) Bước phép toán trục giải hàng cho x Thay x cho hàng lại ta : Kết phép toán trục x -1 y -1 -6 Giới hạn bị vi phạm Chỉ có ẩn phù hợp với phép toán trục ẩn y Chúng ta cần thêm 18 vào để cham giới hạn Do : Tiếp tục giải hàng cho y Thay y vào hang lại ta 17 THUẬT TOÁN ĐƠN HÌNH Kết phép toán trục lần x 5/6 1/6 y -1/6 -1 1/6 Phép gán thoả mãn giới hạn , thoả mãn phép gán  Hệ bất phương trình tuyến tính với ẩn với Biểu diễn ma trận Chúng ta thiết lập a() = Gọi lớp động giới hạn 18 THUẬT TOÁN ĐƠN HÌNH với Giới hạn 10, điều vi phạm Ẩn thấp x Ẩn x có hệ số dương giới hạn trên, phù hợp với phép toán trục Chúng ta cần tăng lên 10 để chạm giới hạn dưới, điều có nghĩa x phải tăng lên 10 (θ = 0) Bước phép toán trục giải hàng cho x Thay x cho hàng lại ta Kết phép toán trục x 19 THUẬT TOÁN ĐƠN HÌNH Giới hạn bị vi phạm Có ẩn phù hợp để thực hiên phép toán trục y,z,w Ta chọn ẩn z để thực Chúng ta cần thêm 21 vào để chạm giới hạn Do : Thực tương tự ta : Kết phép toán trục 20 THUẬT TOÁN ĐƠN HÌNH x z Giới hạn bị vi phạm Có ẩn phù hợp để thực hiên phép toán trục y,w Ta chọn ẩn y để thực Chúng ta cần thêm 21 vào để chạm giới hạn Do : Thực tương tự ta : x z y 21 THUẬT TOÁN ĐƠN HÌNH Giới hạn bị vi phạm Chỉ ẩn w phù hợp với phép toán trục Chúng ta cần thêm vào để chạm giới hạn Do : Thực tương tự ta : x z w y Phép gán thoả mãn giới hạn , thoả mãn phép gán 22 THUẬT TOÁN ĐƠN HÌNH III Kết luận hướng phát triển Kết đạt Hiểu thuật toán đơn hình toán lập trình tuyến tính • Giải toán với nhiều ẩn số ban đầu từ ví dụ có Nếu số lượng biến nhiều lời giải dài (khoảng n lần thực pivot operation với n số ẩn ban đầu ràng buộc) • Hướng phát triển 23 THUẬT TOÁN ĐƠN HÌNH TÀI LIỆU THAM KHẢO [1] Cuốn sách Kroening Decision Procedures [2] Website http://en.wikipedia.org/wiki/Simplex_algorithm [3] Website http://en.wikipedia.org/wiki/Satisfiability_Modulo_Theories [4] Website http://es.wikipedia.org/wiki/George_Dantzig 24 [...]... (Incremental) Sự quyết định của các bài toán thường được xây dựng từ phương pháp gia tăng Thật vậy, công thức được làm mạnh thêm từ những liên kết bổ sung Điều này có thể làm thỏa mãn một công thức không thỏa mãn Một chuỗi sự kiện trong phương pháp gia tăng quyết định có ích là DPLL(T) framework, điều mà chúng ta học ở chương 11 Thuật toán đơn hình tổng quát rất phù hợp cho các bài toán gia tăng Đầu tiên,... ta được : x z y 21 THUẬT TOÁN ĐƠN HÌNH Giới hạn dưới của bị vi phạm Chỉ còn ẩn w phù hợp với phép toán trục Chúng ta cần thêm vào để chạm giới hạn dưới Do đó : Thực hiện tương tự như trên ta được : x z w y Phép gán thoả mãn các giới hạn , do đó là thoả mãn phép gán 22 THUẬT TOÁN ĐƠN HÌNH III Kết luận và hướng phát triển 1 Kết quả đạt được Hiểu được cơ bản thuật toán đơn hình là một trong những bài toán...THUẬT TOÁN ĐƠN HÌNH • • • • Nếu không có ẩn cơ bản nào vi phạm giới các hạn biên của nó thì trả về “Satisfiable” Ngược lại, đặt xi là ẩn cơ bản đầu tiên theo thứ tự vi phạm các giới hạn (*) Tìm ẩn không cơ bản xj đầu tiên phù hợp theo thứ tự quanh x i Nếu không có biến như vật trả về “Unsatisfiable” Thực hiện các phép toán trục xi và xj Quay trở lại bước (*) Tóm tắt các bước của phương pháp đơn hình tổng... 3 Ví dụ cụ thể về thuật toán đơn hình  Hệ bất phương trình tuyến tính 2 ẩn số với Hay có thể viết Biểu diễn dưới dạng ma trận Chúng ta thiết lập a() = 0 Gọi lớp động và các giới hạn: x 1 5 -1 y 1 -1 5 với Giới hạn dưới của là 5, điều này là vi phạm Ẩn không cơ bản phải là thấp nhất trong x Ẩn x có hệ số dương nhưng không có giới hạn trên, do đó phù hợp 16 THUẬT TOÁN ĐƠN HÌNH với phép toán trục Chúng... tục giải hàng cho y Thay y vào các hang còn lại ta được 17 THUẬT TOÁN ĐƠN HÌNH Kết quả của phép toán trục lần 2 x 5/6 4 1/6 y -1/6 -1 1/6 Phép gán thoả mãn các giới hạn , do đó là thoả mãn phép gán  Hệ bất phương trình tuyến tính với 4 ẩn với Biểu diễn ma trận Chúng ta thiết lập a() = 0 Gọi lớp động và các giới hạn 18 THUẬT TOÁN ĐƠN HÌNH với Giới hạn dưới của là 10, điều này là vi phạm Ẩn không cơ bản... tất cả hàng l ≠ i, loại bỏ xj bằng cách sử dụng công thức cho xj đã thu được từ hàng i Chúng ta có thể nhận thấy rằng phép toán trục cũng là phép toán cơ bản trong được biết đến là phương pháp khử ẩn Gauss 12 THUẬT TOÁN ĐƠN HÌNH Ví dụ 2.5: Chúng ta tiếp tục làm một ví dụ Như đã nói ở trên, chúng ta thiết lập α(xi) = 0 Việc này tương ứng với điểm A ở hình 5.1 Gọi lớp động và các giới hạn: s1 s2 s3 x 1... x cho các hàng còn lại ta được Kết quả của phép toán trục x 19 THUẬT TOÁN ĐƠN HÌNH Giới hạn dưới của bị vi phạm Có 3 ẩn phù hợp để thực hiên phép toán trục là y,z,w Ta chọn ẩn z để thực hiện Chúng ta cần thêm 21 vào để chạm giới hạn dưới Do đó : Thực hiện tương tự như trên ta được : Kết quả của phép toán trục 20 THUẬT TOÁN ĐƠN HÌNH x z Giới hạn dưới của bị vi phạm Có 2 ẩn phù hợp để thực hiên phép toán... kích hoạt và vô hiệu các ràng buộc Thông thường, các ràng buộc (hay đúng hơn là 15 THUẬT TOÁN ĐƠN HÌNH các giới hạn) được loại bỏ khi tập hợp các ràng buộc hiện tại không được thỏa mãn Sau khi loại bỏ các phép gán ràng buộc thì phải khôi phục lại được một điểm mà nó thỏa mãn 2 bất biến của thuật toán đơn hình tổng quát Điều này có thể thực hiện bằng cách khôi phục lại phép gán α để thỏa mãn phép gán... hóa bằng cách loại bỏ các giới hạn trên và dưới tương ứng của nó Đẳng thức trong lớp động là không cần thiết sau này, nhưng sẽ không làm thỏa mãn một công thức không thỏa mãn Điều thứ hai, điểm mấu chốt của phép toán thực hiện trong lớp động là sự biến đổi tương đương Nó bảo toàn tập hợp các giải pháp Do đó chúng ta có thể bắt đầu phương án với lớp động mà chúng ta thu được từ những tập hợp giới hạn... toán trục với s3 và y, lớp động cuối cùng là: x s2 y s1 2/3 1 1/3 α(x) = 1 α(y) = 1 α(s1) = 2 α(s2) = 1 α(s3) = 1 14 s3 -1/3 -1 1/3 THUẬT TOÁN ĐƠN HÌNH Phép gán α thỏa mãn các giới hạn, do đó {x → 1, y → 1} là thỏa mãn phép gán Nó tương đương với điểm C trong hình 2.1 Chọn phần tử trục theo thứ tự đã thay đổi cho ẩn cơ bản và ẩn không cơ bản sao cho tập hợp các ẩn không cơ bản không bị lặp lại và kết

Ngày đăng: 26/10/2016, 21:30

Từ khóa liên quan

Mục lục

  • I. Giới thiệu chung

    • 1. Giới thiệu về thuật toán

    • 2. Giới thiệu về tác giả Dantzig

    • II. Thuật toán đơn hình – Simplex Method

      • 1. Tổng quan về SMT solver

        • a. Thuật ngữ cơ bản

        • b. Ý nghĩa

        • c. Ứng dụng

        • 2. Thuật toán đơn hình

          • a. Các vấn đề quyết định và bài toán quy hoạch tuyến tính

          • b. Cơ bản về thuật toán đơn hình

          • c. Thuật toán đơn hình với cận trên, cận dưới

          • d. Vấn đề về gia tăng (Incremental)

          • 3. Ví dụ cụ thể về thuật toán đơn hình

          • III. Kết luận và hướng phát triển

            • 1. Kết quả đạt được

            • 2. Hướng phát triển

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

  • Đang cập nhật ...

Tài liệu liên quan