, j=1 n; min
Bước 1 Mục đích của bước này là làm xuất hiện các phần tử cĩ giá trị 0 càng
nhiều càng tốt trong ma trận. Để làm được điều này, ta lấy tất cả các phần tử của từng hàng trừ cho phần tử nhỏ nhất tương ứng trong hàng đĩ. Sau đĩ, ta lấy tất cả các phần tử của từng cột trừ cho phần tử nhỏ nhất tương ứng trong cột đĩ.
59
59 TS. Nguyễn Văn NgoTS. Nguyễn Văn Ngọïcc
Phương pháp Hungary
Bước 2. Cố gắng tìm một đáp số cĩ tổng chi phí bằng 0.
+ 2.1. Tìm các hàng cĩ chứa đúng một số 0 chưa bị gạch, khoanh trịn số 0 đĩ rồi gạch một đường thẳng xuyên suốt cột. Nếu trong hàng khơng cĩ số 0 nào hoặc cĩ nhiều số 0 thì ta bỏ qua hàng đĩ.
+ 2.2. Tìm các cột cĩ chứa đúng một số 0 chưa bị gạch, khoanh trịn số 0 đĩ rồi gạch một đường thẳng xuyên suốt hàng. Nếu trong cột khơng cĩ số 0 nào hoặc cĩ nhiều số 0 thì ta bỏ qua cột đĩ.
+ 2.3. Lặp lại các bước 2.1 và 2.2 cho đến khi nào khơng cịn cĩ thể khoanh trịn con số 0 nào nữa.
Nếu như các con số 0 cịn lại đều bị gạch (bị đường thẳng đè qua) thì dừng lại. Bài tốn đã được giải. Giải pháp tối ưu được cho ở các số 0 đã được khoanh trịn. Nếu số 0 đã được khoanh trịn nhỏ hơn đáp số cần tìm thì làm tiếp bước 3.
60
60 TS. Nguyễn Văn NgoTS. Nguyễn Văn Ngọïcc
Phương pháp Hungary
Bước 3.
+ 3.1. Tính số 0 trong từng hàng chưa bị gạch và trong từng cột chưa bị gạch.
+ 3.2. Gạch một đường thẳng xuyên suốt hàng hoặc cột cĩ nhiều số 0 nhất.
+ 3.3. Lặp lại các bước 3.1 và 3.2 cho đến khi nào tất cả các con số 0 đều bị gạch.
+ 3.4. Tìm ra số chưa bị gạch nhỏ nhất để: Lấy mỗi số chưa bị gạch trừ cho số này; Lấy mỗi số bị gạch bởi 2 đường thẳng cộng cho số này; Chép lại các số bị gạch bởi một đường thẳng.
61
61 TS. Nguyễn Văn NgoTS. Nguyễn Văn Ngọïcc
Phương pháp Hungary
Nếu số đường thẳng dùng để gạch cácphần tử 0 bằng tổng số hàng (hoặc