1. Trang chủ
  2. » Khoa Học Tự Nhiên

Bài giảng Quy hoạch tuyến tính ĐH Sư Phạm Kỹ Thuật Nam Định

151 7 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 151
Dung lượng 1,64 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Cấu trúc

  • Chương 1: BÀI TOÁN QUY HOẠCH TUYẾN TÍNH VÀ PHƯƠNG PHÁP ĐƠN HÌNH (7)
    • 1.1. BÀI TOÁN QUY HOẠCH TUYẾN TÍNH (7)
      • 1.1.1. Các ví dụ (7)
      • 1.1.2. Bài toán quy hoạch tuyến tính tổng quát (13)
      • 1.1.3. Bài toán quy hoạch tuyến tính dạng chính tắc (19)
      • 1.1.4. Bài toán quy hoạch tuyến tính ở dạng chuẩn tắc (23)
    • 1.2. BIẾN ĐỔI DẠNG CỦA BÀI TOÁN QUY HOẠCH TUYẾN TÍNH (26)
      • 1.2.1. Đƣa dạng tổng quát về dạng chính tắc (0)
      • 1.2.2. Đƣa dạng chính tắc về dạng chuẩn tắc (bài toán M) (0)
    • 1.3. PHƯƠNG PHÁP ĐƠN HÌNH (35)
      • 1.3.1. Giải bài toán QHTT ở dạng chuẩn (36)
      • 1.3.2. Giải bài toán QHTT ở dạng chính tắc (Phương pháp đánh thuế) (47)
      • 1.3.3. Phương pháp đơn hình hai pha (53)
      • 1.3.4. Hiện tƣợng xoay vòng và cách khắc phục (0)
  • Chương 2: BÀI TOÁN QUY HOẠCH TUYẾN TÍNH ĐỐI NGẪU (76)
    • 2.1. BÀI TOÁN QUY HOẠCH TUYẾN TÍNH ĐỐI NGẪU (76)
      • 2.1.1. Quy tắc lập bài toán đối ngẫu (76)
      • 2.1.2. Quan hệ giữa bài toán gốc (P) và bài toán đỗi ngẫu (D) (79)
    • 2.2. THUẬT TOÁN ĐƠN HÌNH ĐỐI NGẪU (87)
      • 2.2.1. Cơ sở gốc và cơ sở đối ngẫu (87)
      • 2.2.2. Ý tưởng của thuật toán đơn hình đối ngẫu (88)
      • 2.2.3. Thuật toán đơn hình đối ngẫu khi biết cơ sở đối ngẫu (88)
      • 2.2.4. Thuật toán đơn hình đối ngẫu khi không biết cơ sở đối ngẫu (94)
    • 2.3. Ý NGHĨA CỦA BÀI TOÁN ĐỐI NGẪU (104)
      • 2.3.1. Về bài toán (104)
      • 2.3.2. Về thuật toán (104)
      • 2.3.3. Về ý nghĩa thực tiễn (104)
  • Chương 3: BÀI TOÁN VẬN TẢI (112)
    • 3.1. BÀI TOÁN VẬN TẢI (112)
      • 3.1.1. Mô hình bài toán vận tải (112)
      • 3.1.2. Lập phương án cơ bản ban đầu (116)
      • 3.1.3. Thuật toán “Quy O cước phí các ô chọn” (119)
      • 3.1.4. Phương pháp thế vị (128)
    • 3.2. MỘT SỐ BÀI TOÁN VẬN TẢI ĐẶC BIỆT (133)
      • 3.2.1. Bài toán vận tải không cân bằng thu phát (133)
      • 3.2.2. Bài toán vận tải có ô cấm (139)
  • TÀI LIỆU THAM KHẢO (151)

Nội dung

Tập bài giảng gồm 3 chương: Chương 1: Bài toán Quy hoạch tuyến tính và phương pháp đơn hình Chương 2: Bài toán Quy hoạch tuyến tính đối ngẫu Chương 3: Bài toán vận tải Do tập bài giản

BÀI TOÁN QUY HOẠCH TUYẾN TÍNH VÀ PHƯƠNG PHÁP ĐƠN HÌNH

BÀI TOÁN QUY HOẠCH TUYẾN TÍNH

Ví dụ 1: (Bài toán lập kế hoạch sản xuất trong điều kiện tài nguyên hạn chế)

Nhân dịp Tết Trung Thu, công ty sản xuất bánh Tràng An lên kế hoạch sản xuất ba loại bánh: Đậu xanh, Nướng và Dẻo Để làm ba loại bánh này, công ty cần các nguyên liệu đường, đậu, bột, trứng, mứt và lạp sườn, đồng thời các nguyên liệu khác có thể có sẵn Giả sử nguồn đường có thể cung cấp tối đa 500 kg và đậu tối đa 300 kg, trong khi các nguyên liệu còn lại có nguồn cung vô hạn Lượng đường, đậu cần thiết cho từng loại bánh và mức lợi nhuận khi bán một chiếc bánh cho mỗi loại được thể hiện trong bảng đính kèm.

Bánh đậu xanh Bánh nướng Bánh dẻo Đường: 500kg 0,06 kg 0,04kg 0,07 kg Đậu: 300 kg 0,08 kg 0 0,04 kg

Để tối ưu lợi nhuận cho mỗi loại bánh bao, cần lập kế hoạch sản xuất sao cho lượng đường và đậu sử dụng đúng mức mà vẫn đảm bảo bán hết Giả sử số bánh làm ra sẽ được tiêu thụ hết, bài toán tối ưu là xác định số lượng bánh mỗi loại nên sản xuất để tận dụng tối đa nguồn nguyên liệu và đạt lợi nhuận cao nhất Bằng cách phân bổ sản xuất dựa trên nguồn lực có hạn và dự báo nhu cầu, doanh nghiệp có thể tránh tình trạng dư thừa nguyên liệu, đồng thời tăng lợi nhuận tổng thể Kết quả kế hoạch sản xuất sẽ cung cấp cơ sở điều chỉnh lịch sản xuất cho từng loại bánh bao, đảm bảo hiệu quả vận hành và lợi nhuận bền vững.

Gọi x 1 , x 2 , x 3 lần lượt là số chiếc bánh đậu xanh, nướng, dẻo cần sản xuất

 Tất nhiên số lƣợng chiếc bánh mỗi loại không thể là số âm, tức là x j  0 (j = 1 3) (bằng 0 nếu không sản xuất loại bánh đó)

 Tổng số đường cần dùng là: ………

Tổng này không thể vượt quá 500 kg đường có trong kho

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 8

 Tổng số đậu xanh cần dùng là: ………

Tổng này không thể vƣợt quá 300 kg đậu xanh có trong kho

 Tổng số lãi thu đƣợc là: Tổng này tất nhiên càng lớn càng tốt

Từ các phân tích trên, mô hình của bài toán này là: f(x) = 2x 1 + 1,7x 2 + 1,8x 3  max (1)

 Hàm f(x) ở (1) đƣợc gọi là hàm mục tiêu của bài toán

 Các bất phương trình ở (2) được gọi là các ràng buộc bắt buộc của bài toán

 Các ràng buộc về dấu (3) đƣợc gọi là các ràng buộc tự nhiên

Ví dụ 2: (Bài toán vốn đầu tư nhỏ nhất)

Có ba xí nghiệp may I, II và III cùng có thể sản xuất áo véc và quần, nhưng do trình độ công nhân, tổ chức và trang bị kỹ thuật khác nhau nên hiệu quả đồng vốn ở từng xí nghiệp là khác nhau Giả sử đầu tư 1000 USD vào xí nghiệp I, cuối kỳ sẽ cho 35 áo véc và 45 quần; vào xí nghiệp II sẽ cho 40 áo véc và 42 quần; còn vào xí nghiệp III sẽ cho 43 áo véc và 30 quần Lượng vải và số giờ công cần thiết để sản xuất 1 áo véc và 1 quần ở ba xí nghiệp được thể hiện trong bảng dữ liệu kèm theo.

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 9

I II III Áo véc 3,5 m 20 giờ 4,0 m 16 giờ 3,8 m 18 giờ Quần 2,8 m 10 giờ 2,6 m 12 giờ 2,5 m 15 giờ

Ba xí nghiệp có thể huy động tổng cộng 10.000 m vải và 52.000 giờ công Theo hợp đồng kinh doanh, cuối kỳ phải có tối thiểu 1.500 bộ quần áo Do đặc điểm hàng hoá, nếu lẻ bộ thì chỉ có quần là dễ bán.

Hãy lập kế hoạch đầu tƣ vào xí nghiệp bao nhiêu vốn để:

 Hoàn thành kế hoạch sản phẩm

 Không khó khăn về tiêu thụ

 Không bị động về vải và lao động

 Tổng số vốn đầu tƣ nhỏ nhất có thể

Gọi x j là số vốn (đơn vị là 1000 USD) đầu tƣ vào xí nghiệp j (j = 1,2,3)

 Tổng số áo véc thu đƣợc ở 3 xí nghiệp cuối kỳ là:

Tổng này không thể nhỏ hơn 1500

 Tổng số quần thu đƣợc ở 3 xí nghiệp cuối kỳ là:

Tổng này không thể ít hơn tổng số áo véc, tức là:

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 10 Điều này đảm bảo nếu lẻ bộ thì chỉ dƣ quần (dễ bán)

 Tổng số vải cần dùng cho cả 3 xí nghiệp:

Tổng số vải để may áo véc là:

Tổng số vải để may quần là:

Tổng số vải cần dùng cho cả 3 xí nghiệp là:

Tổng này không thể vƣợt quá 10.000 m

 Tổng số giờ công lao động là:

Tổng số giờ công để may áo véc là:

Tổng số giờ công để may quần là:

Tổng số giờ công cần dùng cho cả 3 xí nghiệp là:

Tổng này không thể vƣợt quá 52.000 giờ công

 Tổng số tiền cần phải đầu tƣ vào 3 xí nghiệp là:

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 11

Từ các phân tích trên, mô hình bài toán là: f(x) = x 1 + x 2 + x 3 → min

Ví dụ 3: (Bài toán vận tải)

Vấn đề cần xử lý là vận chuyển vật liệu xây dựng từ hai kho K1 và K2 đến ba công trường C1, C2 và C3 Dữ liệu cung cấp tổng số vật liệu có ở mỗi kho, tổng số vật liệu yêu cầu ở mỗi công trường, cùng cước phí vận chuyển 1 tấn vật liệu từ mỗi kho đến từng công trường được cho trong bảng sau Mục tiêu là phân bổ lượng vật liệu từ hai kho sao cho đáp ứng đầy đủ nhu cầu của các công trường và tối thiểu hóa tổng chi phí vận chuyển.

Hãy lập kế hoạch vận chuyển thế nào để:

 Các kho giải phóng hết vật liệu

 Các công trường nhận đủ vật liệu cần thiết

 Tổng số cước phí vận chuyển là ít nhất

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 12

Gọi x ij là số tấn vật liệu sẽ vận chuyển từ kho K i đến công trường C j (i = 1,2 ; j = 1, 3)

 Số tấn vật liệu vận chuyển từ kho K1 đến cả 3 công trường là:

Tổng này phải bằng 20 tấn nếu muốn giải phóng kho K1

 Số tấn vật liệu vận chuyển từ kho K2 đến cả 3 công trường là:

Tổng này phải bằng 40 tấn nếu muốn giải phóng kho K2

 Số tấn vật liệu vận chuyển về công trường C1 là:

Tổng này phải bằng 15 tấn theo yêu cầu của công trường C1

 Số tấn vật liệu vận chuyển về công trường C2 là:

Tổng này phải bằng 20 tấn theo yêu cầu của công trường C2

 Số tấn vật liệu vận chuyển về công trường C3 là:

Tổng này phải bằng 25 tấn theo yêu cầu của công trường C3

 Tổng số cước phí phải trả là:

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 13

Tổng này càng nhỏ càng tốt

Từ phân tích trên, mô hình của bài toán này là

1.1.2 Bài toán quy hoạch tuyến tính tổng quát

Bài toán quy hoạch tuyến tính (QHTT) dạng tổng quát có dạng là:

Tìm (x 1 , x 2 , , x n ) sao cho f(x) n j j j 1 c x min (max)

  (1) với hệ ràng buộc: n ij j i j 1 a x b

Trong bài toán được cho bởi công thức (1), hàm f(x) được gọi là hàm mục tiêu Nó là một tổ hợp tuyến tính của các ẩn số và biểu thị một đại lượng quan trọng mà ta cần quan tâm trong bài toán, chẳng hạn tổng lãi thu được, tổng vốn bỏ ra và giá thành sản phẩm.

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 14

Các phương trình và bất phương trình được nêu tại mục (2) được coi là các ràng buộc bắt buộc của bài toán Những ràng buộc này phát sinh từ hạn chế tài nguyên, kế hoạch sản phẩm và yêu cầu kỹ thuật trong sản xuất, từ đó định hình các giới hạn và điều kiện cho các quyết định tối ưu của hệ thống.

Các ràng buộc về dấu (3) được gọi là ràng buộc tự nhiên: x_j có thể âm, dương hoặc mang dấu tùy ý Những biến này có thể đại diện cho các giá trị thực tế như số sản phẩm, số vốn, số người hay nhiệt độ bảo quản thực phẩm.

Nhƣ vậy, bài toán QHTT là bài toán có các biểu thức xác định ở hàm mục tiêu và các ràng buộc bắt buộc đều ở dạng tuyến tính Định nghĩa 1:

Véc tơ x = (x1, x2, , xn) được xem là phương án (PA) hay lời giải chấp nhận được của bài toán QHTT khi nó thoả mãn đầy đủ tất cả các ràng buộc của bài toán, kể cả ràng buộc bắt buộc và ràng buộc tự nhiên PA cho thấy tính khả thi của nghiệm và là cơ sở để đánh giá, so sánh các nghiệm khác trong tập nghiệm hợp lệ Việc xác định PA là bước nền tảng trong quá trình tối ưu hóa, giúp xác định một lời giải đáp ứng các ràng buộc trước khi tìm ra nghiệm tối ưu.

- Tập hợp các phương án của bài toán QHTT gọi là miền ràng buộc, ký hiệu là D

- Phương án x thỏa mãn ràng buộc i với dấu “=”, nghĩa là: ij

  thì ràng buộc i gọi là “chặt” đối với phương án x, hoặc phương án x thỏa mãn chặt ràng buộc i

- Phương án x thỏa mãn ràng buộc i với dấu bất đẳng thức thực sự (dấu “”, nghĩa là: ij

  thì ràng buộc i gọi là “lỏng” đối với phương án x, hoặc phương án x thỏa mãn lỏng ràng buộc i

 Phương án x * = (x , x , , x * 1 * 2 * n ) được gọi là phương án tối ưu (PATƯ) hay lời giải tối ƣu của bài toán QHTT nếu giá trị hàm mục tiêu tại đó “không xấu” hơn giá trị hàm mục tiêu tại một phương án bất kỳ, tức là:

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 15

Một bài toán QHTT có thể có nhiều PATƢ

 Giải bài toán QHTT tức là tìm một phương án tối ưu của nó (nếu có) hoặc chỉ ra rằng nó không có PATƢ

 Hai bài toán QHTT được gọi là tương đương với nhau nếu chúng có chung tập hợp các phương án tối ưu

Quan hệ giữa bài toán cực đại và bài toán cực tiểu f(x) max g(x) f(x) min

(trong đó: D là tập hợp các phương án)

Tức là: nếu đổi dấu hàm mục tiêu và đổi loại hàm mục tiêu thì ta được bài toán tương đương Vì lý do này mà khi nghiên cứu cách giải bài toán QHTT người ta chỉ cần xét bài toán có loại hàm mục tiêu là cực tiểu (hay chỉ xét bài toán có hàm mục tiêu là cực đại)

Chứng minh: x * là PATƢ của bài toán (1)

 x * là PATƢ của bài toán (2)

Ví dụ 4: Cho bài toán QHTT sau f(x) = 8x 1 + 2x 2 + 9x 3 - x 4  min

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 16

Hỏi x 0 = (0, -1, 6, -2) có phải PA của bài toán trên không, nếu có thì chỉ ra nó thỏa mãn ràng buộc nào là chặt, ràng buộc nào là lỏng?

Số ẩn của bài toán trên là n = 4

Dễ thấy X 0 = (0, -1, 6, -2) thỏa mãn tất cả các ràng buộc từ (1) đến (7) nên x 0 là PA Ngoài ra:

(1): VT = 14 = VP (thỏa mãn chặt);

(2): VT = 8 = VP (thỏa mãn chặt);

(3): VT = -7 = VP (thỏa mãn chặt);

Ví dụ (6): x3 = 6 > 0 cho thấy thỏa mãn lỏng Định nghĩa 2: Phương án cực biên (PACB) của bài toán QHTT là nghiệm x0 khi và chỉ khi nó thỏa mãn chặt ít nhất n ràng buộc, trong đó có n ràng buộc chặt độc lập tuyến tính.

Chú ý: các ràng buộc đƣợc gọi là ĐLTT nếu hệ các véc tơ ràng buộc là ĐLTT

Ví dụ 5: Cho bài toán QHTT sau f(x) = 8x 1 + 2x 2 + 9x 3 - x 4  min

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 17

PA, PACB của bài toán?

Số ẩn của bài toán trên là n = 4

(1): VT = 14 = VP (thỏa mãn chặt );

(2): VT = 8 = VP (thỏa mãn chặt );

(3): VT = -10 < -7 = VP (thỏa mãn lỏng);

 x 1 = (4, 0, 0, -2) đã thỏa mãn chặt 4 ràng buộc

Ta có: các ràng buộc (1), (2), (5), (6) là:

3x 1 + 2x 3 - x 4  14 (1) x 1 - 4x 2 - 2x 4 = 8 (2) x 2  0 (5) x 3  0 (6) có định thức của ma trận hệ số là:

 ràng buộc (1), (2), (5), (6) là độc lập tuyến tính

Kết luận: x 1 là PACB của bài toán

(1): VT = 14 = VP (thỏa mãn chặt );

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 18

(2): VT = 8 = VP (thỏa mãn chặt );

(3): VT = -7 = -7 = VP (thỏa mãn chặt );

 x 2 = (0, 0, 5, -4) đã thỏa mãn chặt 5 ràng buộc (n = 4)

Xét định thức của ma trận hệ số các ràng buộc (1), (2), (4), (5) ta có:

 các ràng buộc (1), (2), (4), (5) là độc lập tuyến tính

Kết luận: x 2 là PACB của bài toán

(1): VT = 19 >14 = VP (thỏa mãn lỏng);

(2): VT = 8 = VP (thỏa mãn chặt );

(3): VT = -9 < -7 = VP (thỏa mãn lỏng);

 x 3 là PA của bài toán nhƣng không là PACB vì nó chỉ thỏa mãn chặt có 3 ràng buộc, nhỏ hơn số ẩn (n = 4)

(1): VT = 34 >14 = VP (thỏa mãn lỏng);

(2): VT = 8 = VP (thỏa mãn chặt);

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 19

 x 4 không thỏa mãn ràng buộc (3) của bài toán nên nó không là PA của bài toán trên

1.1.3 Bài toán quy hoạch tuyến tính dạng chính tắc

Bài toán QHTT ở dạng chính tắc là trường hợp đặc biệt của bài toán QHTT ở dạng tổng quát Trong dạng này, các điều kiện ràng buộc bắt buộc là một hệ gồm m phương trình độc lập tuyến tính (m ≤ n), và mọi ẩn số đều không âm Vì vậy, dạng chính tắc của bài toán QHTT được chuẩn hóa như sau:

Trong nhiều trường hợp, để thuận tiện cho việc trình bày, ta gọi bài toán trên là bài toán (P) và viết nó ở dạng ma trận nhƣ sau: c.x  min (1)

- là ma trận hệ số các ràng buộc bắt buộc

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 20

- là véc tơ cột của ma trận A ứng với ẩn thứ j

- là ma trận các số hạng tự do hay ma trận vế phải

 c = c 1 c 2 c n  - là ma trận hệ số các ẩn trong hàm mục tiêu

- la ma trận ẩn số ;  0 0

 Trong bài toán QHTT dạng chính tắc, các ràng buộc đều chặt “Ax = b” và hạng của ma trận A là bằng m: r(A) = m ≤ n

Nếu m = n, hệ phương trình Ax = b gồm n phương trình, chứa n ẩn số có r(A) = n nên hệ đó có nghiệm duy nhất x* = (x*1, x*2, , x*n) Vì vậy việc tìm cực trị của hàm mục tiêu trở nên vô nghĩa; ta chỉ xét trường hợp m < n Định nghĩa 3: Ta gọi cơ sở của ma trận A là một bộ gồm m véc tơ cột độc lập tuyến tính B = {A_{j1}, A_{j2}, , A_{jm}} của nó.

Giả sử B = {A j1 , A j2 , , A jm } là một cơ sở của ma trận A = {A 1 , A 2 , , A n } và đặt:

Khi đó véc tơ x = (x 1 , x 2 , , x n ) thỏa mãn: x j = 0 nếu j  J N = J \ J B x jk (j k  J B ) là thành phần thứ k của véc tơ B -1 b

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 21

Trong quy hoạch tuyến tính ở dạng chuẩn (QHTT dạng chính tắc), một nghiệm x = (x1, x2, , xn) được xem là phương án cực biên khi mọi thành phần xi đều không âm (xi ≥ 0) Phương án cực biên này tương ứng với một cơ sở B, và B được gọi là cơ sở của bài toán QHTT dạng chuẩn dựa trên nghiệm đó.

BIẾN ĐỔI DẠNG CỦA BÀI TOÁN QUY HOẠCH TUYẾN TÍNH

1.2.1 Đưa dạng tổng quát về dạng chính tắc

Mọi bài toán QHTT dạng tổng quát đều có thể đƣa về dạng chính tắc với 5 quy tắc mô tả dưới đây:

1) Nếu hàm mục tiêu f(x)  max thì đổi dấu hàm mục tiêu và dạng của nó, tức là ta đặt:

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 27 g(x) = - f(x)  min

2) Nếu gặp ràng buộc n ij j j 1 a x

   b i thì ta cộng thêm vào vế trái một ẩn phụ không âm x n+i  0 để biến về dạng phương trình: n ij j j 1 a x

3) Nếu gặp ràng buộc n ij j j 1 a x

   b i thì ta cộng thêm vào vế trái một ẩn phụ không âm x n+i  0 với hệ số -1 để biến về dạng phương trình: n ij j j 1 a x

4) Nếu gặp ẩn x j  0 thì ta đổi biến: x j = - x , j với x , j  0

5) Nếu gặp ẩn x j tuỳ ý về dấu, ta thay x j = x , j - x ,, j với x , j  0 và x ,, j  0

(nhưng x j vẫn có thể âm, dương, bằng 0 tuỳ theo x , j nhỏ hơn, lớn hơn hay bằng x ,, j )

Chú ý: Các ẩn phụ chỉ là các biến phụ giúp chuyển bất phương trình thành phương trình và không có tác động kinh tế nên không ảnh hưởng đến hàm mục tiêu; vì vậy hệ số của chúng trong hàm mục tiêu bằng 0 Sau khi đưa bài toán QHTT dạng tổng quát về dạng chính tắc và giải bài toán này, kết quả tối ưu và các điều kiện tối ưu được xác định từ dạng chuẩn hóa ấy.

 Nếu bài toán mới không có PATƯ thì bài toán xuất phát cũng không có PATƯ

Trong bài toán mới, nghiệm x* được xác định từ bài toán gốc bằng cách bỏ đi các ẩn phụ, cho x* = (x1*, x2*, , xn*) Nếu các xi không bị ràng buộc về dấu (có dấu tuỳ ý), thì có thể tính x* j = x ,* j − x ,,* j, trong đó x ,* j và x ,,* j là hai thành phần tương ứng trong x*.

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 28

Ví dụ 1: Đƣa bài toán sau đây về dạng chính tắc: f(x) = 3x 1 – x 2 + 2x 3 - 5x 4 + 2x 5  min

Ta thấy, bài toán trên chƣa ở dạng chính tắc do:

- Ràng buộc 1 , 2 , 4 chưa phải là phương trình

Do đó để đƣa bài toán QHTT trên về dạng chính tắc, ta làm nhƣ sau:

 Vì dấu của ràng buộc (1) là ≥ nên tại ràng buộc này, ta trừ đi ẩn phụ x 6 ≥ 0:

 Vì dấu của ràng buộc (2) là ≤ nên tại ràng buộc này, ta cộng thêm ẩn phụ x 7 ≥ 0: x 2 + 3x 3 - x 4 + x 7 = - 2

 Vì dấu của ràng buộc (4) là ≤ nên tại ràng buộc này, ta cộng thêm ẩn phụ x 8 ≥ 0:

Hệ số trong hàm mục tiêu của các ẩn x 6 , x 7 , x 8 đều có hệ số bằng 0 Ngoài ra:

 Vì ẩn x 5 ≤ 0 nên ta thay bằng x 5 = – x , 5 với x , 5 ≥ 0

 Vì ẩn x 2 , x 4 là tùy ý nên ta thay bằng: x 2 = x , 2 x ,, 2 ; x 4 = x , 4 x ,, 4 (với x , 2 ,

,, x2 , x , 4 , x ,, 4  0) trong hàm mục tiêu và các ràng buộc bắt buộc

Khi đó, dạng chính tắc của bài toán trên là:

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 29 f(x) = 3x 1 – (x ’ 2 – x ” 2 ) + 2x 3 - 5(x ’ 4 – x ” 4 ) - 2x ’ 5  min

Ví dụ 2: Đƣa bài toán sau về dạng chính tắc: f(x) = - 2x 1 + x 2 + x 4  max x 1 + x 2 - x 3 ≤ 15 x 1 + x 2 + x 3 + x 4 = 27 2x 1 - x 2 - x 3 ≤ 18 x 1 ≥ 0 , x 2 ≤ 0 , x 3 tuỳ ý , x 4 ≤ 0

Bài toán ở dạng chính tắc là: g(x) = - f(x) = - (- 2x 1 - x’ 2 - x’ 4 )  min x 1 - x’ 2 - (x ’ 3 – x ” 3 ) + x 5 = 15 x 1 - x’ 2 + (x ’ 3 – x ” 3 ) - x’ 4 = 27 2x 1 + x’ 2 - (x ’ 3 – x ” 3 ) + x 6 x 1 , x ’ 2 , x’ 3 , x ’’ 3 , x’ 4 , x 5 , x 6 ≥ 0 trong đó: x 5 , x 6 là ẩn phụ

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 30

Ví dụ 3: Đƣa bài toán sau về dạng chính tắc: f(x) = x 1 + 2x 2 + 3x 3 + x 4  min x 1 - 2x 2 + 3x 3 ≤ 15 2x 1 + x 2 + 5x 3 = 20 x 1 + 2x 2 + x 3 + x 4 = 10 x 1 , x 3 ≥ 0 , x 2 ≤ 0 , x 4 tuỳ ý

Bài toán ở dạng chính tắc là: f(x) = x 1 - 2x’ 2 + 3x 3 + x ’ 4 – x ” 4  min x 1 + 2x’ 2 + 3x 3 + x 5 = 15 2x 1 - x’ 2 + 5x 3 = 20 x 1 - 2x’ 2 + x 3 + x ’ 4 – x ” 4 = 10 x 1 , x ’ 2 , x 3 , x ’ 4 , x’’4, x 5 ≥ 0; x 5 là ẩn phụ

1.2.2 Đưa dạng chính tắc về dạng chuẩn tắc (bài toán M)

Trước hết, nếu trong bài toán QHTT dạng chính tắc có một số hạng tự do bi nào đó âm, ta chỉ cần đổi dấu 2 vế để đƣợc b i  0

Vì vậy, từ đây ta có thể giả thiết bài toán chính tắc ta đang xét có b i  0 ( i = 1, m) Xét bài toán QHTT ở dạng chính tắc với b i  0 f(x) n j j j 1 c x min

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 31

Để biến bài toán gốc thành một bài toán có nghiệm khả thi ngay từ đầu, ta thêm vào mỗi phương trình một ẩn giả không âm x_{n+i} ≥ 0 với hệ số +1; trong hàm mục tiêu, các ẩn giả này được gán hệ số M (M là một hằng số vô cùng lớn, lớn hơn mọi giá trị cần so sánh) Nhờ đó bài toán mở rộng, hay còn gọi là bài toán M của bài toán ban đầu, có dạng tối ưu hóa Min f(x) + M ∑_{i=1}^{m} x_{n+i}, với các biến x gồm cả ẩn thật và ẩn giả, và các ẩn giả x_{n+i} ≥ 0 Cơ chế Big-M sẽ đẩy các ẩn giả về 0 khi bài toán gốc có nghiệm khả thi, đồng thời cho phép áp dụng các phương pháp tối ưu hóa chuẩn để kiểm tra tính khả thi và tìm nghiệm tối ưu của bài toán ban đầu.

Ta thấy bài toán mở rộng đã có dạng chuẩn với ẩn cơ bản thứ i là x n+i (i = 1, m) chính là các ẩn giả

1) Ta cần phân biệt ẩn phụ và ẩn giả với 3 ý sau:

- Ẩn phụ để đƣa bài toán tổng quát về dạng chính tắc, còn ẩn giả để đƣa dạng chính tắc về dạng chuẩn

- Trong hàm mục tiêu, ẩn giả có hệ số bằng M, còn ẩn phụ có hệ số bằng 0

Ẩn phụ là con số thực sự giúp ta biến bất phương trình về phương trình một cách hiệu quả, đồng thời tối ưu hóa quá trình giải bài toán Còn ẩn giả dù hai vế đã bằng nhau vẫn được thêm vào như một thao tác giả tạo nhằm mục đích tạo ra véc tơ cột đơn vị.

2) Nếu bài QHTT dạng chính tắc có b i  0 (i = 1 m) đã có sẵn một số véc tơ cột đơn vị trong ma trận hệ số A, ta chỉ cần thêm ẩn giả vào những phương trình cần thiết đủ để tạo ra bài toán mở rộng ở dạng chuẩn (cụ thể, nếu thiếu véc tơ cột đơn vị thứ k nào thì ta thêm ẩn giả vào phương trình thứ k)

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 32

Ví dụ 4 trình bày cách chuyển bài toán tối ưu tuyến tính từ dạng bất đẳng thức về dạng chuẩn bằng cách thêm ẩn phụ vào ràng buộc: bài toán tối ưu f(x) = -2x1 + x2 + x4 với mục tiêu tối thiểu, các ràng buộc ban đầu là x1 + x2 - x3 = 15; x1 + x2 + x3 + x4 = 27; 2x1 - x2 - x3 ≤ 18 và xj ≥ 0 (j = 1, 2, 3, 4) Do ràng buộc thứ ba có dấu ≤ nên ta thêm ẩn phụ x5 vào ràng buộc này để được dạng chuẩn, thành: f(x) = -2x1 + x2 + x4 → min; x1 + x2 - x3 = 15; x1 + x2 + x3 + x4 = 27; 2x1 - x2 - x3 + x5 = 18; xj ≥ 0 (j = 1, 2, , 5).

Trong bài toán tối ưu hóa tuyến tính dạng chuẩn, do thiếu ẩn cơ bản thứ nhất nên ta bổ sung ẩn giả x6 với hệ số +1 vào ràng buộc (1) và đồng thời đưa x6 vào hàm mục tiêu với hệ số M (M là số dương rất lớn) để tạo bài toán mở rộng Bài toán mở rộng được viết như sau: min f(x) = -2x1 + x2 + x4 + Mx6; các ràng buộc là x1 + x2 − x3 + x6 = 15; x1 + x2 + x3 + x4 = 27; 2x1 − x2 − x3 + x5 = 18; xj ≥ 0 (j = 1,2,3,4,5,6); x5 là ẩn phụ, x6 là ẩn giả.

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 33

Ví dụ 5: Chuyển bài toán QHTT sau về bài toán mở rộng: f(x) = 3x 1 + x 2 - 3x 3  max x 1 + 2x 2 - x 3 = 2

- 3x 2 + 2x 3 = 4 x j ≥ 0 (j = 1, 2, 3) Chuyển về dạng chuẩn (bài toán mở rộng): g(x) = - f(x) = - 3x 1 - x 2 + 3x 3 + Mx 4 + Mx 5  min x 1 + 2x 2 - x 3 = 2

Ví dụ 6: Chuyển bài toán QHTT sau về bài toán mở rộng: f(x) = x 1 - 2x 2 - 3x 3 + x 4  max x 1 - 2x 2 + 3x 3 = 15 2x 1 + x 2 + 5x 3 ≥ 20 x 1 + 2x 2 + x 3 + x 4 = 10 x j ≥ 0 (j = 1, 2, 3, 4) Chuyển về dạng chính tắc: g(x) = - f(x) = - x 1 + 2x 2 + 3x 3 - x 4  min x 1 - 2x 2 + 3x 3 = 15 2x 1 + x 2 + 5x 3 - x 5 = 20 x 1 + 2x 2 + x 3 + x 4 = 10 x j ≥ 0 (j = 1, 2, , 5)

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 34

Chuyển về dạng chuẩn (bài toán mở rộng): g(x) = - x 1 + 2x 2 + 3x 3 - x 4 + Mx 6 + Mx 7  min x 1 - 2x 2 + 3x 3 + x 6 = 15 2x 1 + x 2 + 5x 3 - x 5 + x 7 = 20 x 1 + 2x 2 + x 3 + x 4 = 10 x j ≥ 0 ; x 5 ẩn phụ; x 6 , x 7 ẩn giả (j = 1, 2, , 7)

Ví dụ 7: Chuyển bài toán QHTT sau về bài toán mở rộng: f(x) = 2x 1 + x 2 - x 3  min

2 x 1 - 4x 2 - x 3 = 46 x j ≥ 0 (j = 1, 2, 3) Chuyển về dạng chính tắc: f(x) = 2x 1 + x 2 - x 3  min

2 x 1 - 4x 2 - x 3 = 46 x j ≥ 0; x 4 , x 5 ẩn phụ (j = 1, 2, 3, 4, 5) Chuyển về dạng chuẩn (bài toán mở rộng): f(x) = 2x 1 + x 2 - x 3 + Mx 6 + Mx 7  min

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 35

PHƯƠNG PHÁP ĐƠN HÌNH

Nội dung chính của phương pháp đơn hình gồm các bước sau:

1) Đƣa bài toán QHTT dạng tổng quát về dạng chuẩn (bài toán mở rộng)

2) Tìm phương án cực biên ban đầu

3) Đánh giá phương án cực biên đó

- Nếu phương án tối ưu thì việc giải bài toán kết thúc

- Nếu phương án chưa tối ưu thì chuyển sang bước 4

4) Xây dựng phương án mới tốt hơn phương án đang có, sau đó quay lại bước 3 Thuật toán đơn hình đƣợc thể hiện bởi sơ đồ sau đây:

Chuẩn tắc hoá bài toán

Xây dựng PACB ban đầu

Tối ƣu ? Xây dựng PACB mới tốt hơn

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 36

1.3.1 Giải bài toán QHTT ở dạng chuẩn

Xét bài toán QHTT dạng chuẩn tắc sau: f(x) n j j j 1 c x min

Bài toán luôn có PACB ban đầu là:

(x 1 , , x m , x m+1 , , x n ) = (b 1 , , b m , 0 , , 0) với x i là ẩn cơ bản thứ i (i = 1, 2, , m)

Thuật toán đơn hình giải bài toán QHTT dạng chuẩn gồm 3 bước sau:

Bước 1: Lập bảng đơn hình ban đầu:

Hệ số Ẩn cơ bản

c r x r b r 0 0 1 0 a r(m+1) a rv a rn  r c m x m b m 0 0 0 1 a m(m+1) a mv a mn f(x) f 0  1  2  r  m  m+1  v  n trong đó: f 0 = 

1 i i ib c = Cột hệ số nhân với Cột phương án

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 37

1 i j ij ia c c = Cột hệ số nhân với véc tơ cột thứ j trừ đi hệ số c j của ẩn x j

( j gọi là ƣớc lƣợng thứ j) Bước 2: Kiểm tra tính tối ưu

 Nếu j  0 j thì phương án đang xét là phương án tối ưu giá trị hàm mục tiêu tương ứng là f(x) = f o

 Nếu  j* > 0 mà tất cả các hệ số a ij* trên cột j * đó nhỏ hơn bằng không, tức là: a ij*  0 (i = 1 m) thì bài toán đang xét không có phương án tối ưu

 Nếu cả hai trường hợp trên không xảy ra thì ta chuyển sang bước 3

Bước 3: Tìm PACB mới tốt hơn

Nếu  v = j maxj  thì ẩn x v là ẩn đƣa vào, cột thứ v đƣợc gọi là cột xoay

Ta tính  i iv i a b với các a iv > 0

Nếu  r = i mini  thì ẩn x r là ẩn đƣa ra, hàng thứ r đƣợc gọi là hàng xoay Phần tử a rv đƣợc gọi là phần tử xoay

3) Biến đổi bảng đơn hình: a) Trong cột ẩn cơ bản thay x r bằng x v , trong cột hệ số thay c r bằng c v , các ẩn khác và hệ số tương ứng để nguyên b) Chia hàng xoay (hàng thứ r) cho phần tử xoay a rv ta đƣợc hàng r mới gọi là hàng chuẩn c) Muốn có hàng i mới (i  r), ta lấy hàng chuẩn nhân với - a iv rồi cộng vào hàng i cũ

Để có hàng cuối mới trong quá trình tính toán, ta có hai cách: nhân hàng chuẩn với -Δv rồi cộng vào hàng cuối cũ, hoặc tính trực tiếp như ở bước 1 Hàng cuối được xác định là hàng chứa f0 và các ước lượng Δj.

Trong nội dung này, các mục b, c, d thực chất dùng các phép biến đổi sơ cấp về hàng của ma trận để biến đổi bảng đơn hình cũ thành bảng đơn hình mới Mục tiêu là để véc tơ cột thứ v trở thành véc tơ đơn vị thứ v, từ đó chuẩn hóa cấu trúc ma trận và bảo toàn các quan hệ tuyến tính giữa các hàng và các cột trong quá trình biến đổi.

Sau khi có bảng đơn hình mới, ta chuyển sang bước kiểm tra tính tối ưu của nghiệm hiện tại Quá trình này được lặp lại với mỗi bảng đơn hình cho đến khi tìm được lời giải tối ưu của bài toán, kết thúc quy trình tối ưu hóa.

Ví dụ 1: Giải bài toán QHTT: f(x) = 3x 1 - x 2 + 2x 3 + x 4  min

 x j  0 , (j = 1, 2, 3, 4) Bài toán trên ở dạng chuẩn, có ma trận hệ số là:

 Có ẩn cơ bản thứ nhất, thứ 2 và thứ 3 lần lƣợt là: x 3 , x 2 , x 4

 Phương án cơ bản ban đầu là: (x 1 , x 2 , x 3 , x 4 ) = (0 , 3 , 2 , 1)

Hệ số Ẩn cơ bản PA 3 -1 2 1

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 39

Ta thấy:  j  0 , j  Phương án đang xét là phương án tối ưu

Kết luận: PATƢ của bài toán là: (x 1 , x 2 , x 3 , x 4 ) = (0 , 3 , 2 , 1)

Giá trị hàm mục tiêu đạt đƣợc là: f(x) = 2

 Trong quá trình tính các ước lượng  j ở bảng đơn hình thì  j = 0 đối với các cột chứa ẩn cơ bản

Không nhất thiết phải tính f0 ngay từ đầu; sau khi tìm được nghiệm tối ưu x*, ta có thể tính f0 bằng cách thay x* vào hàm mục tiêu ban đầu, tức là f0 = f(x*) Nói cách khác, giá trị tối ưu của bài toán được xác định bằng giá trị của hàm mục tiêu tại nghiệm tối ưu, và quá trình tối ưu gồm hai bước: tìm nghiệm tối ưu rồi tính f0 bằng f(x*).

Ví dụ 2: Giải bài toán QHTT: f(x) = -2x 1 + 6x 2 + 4x 3 – 2x 4 + 3x 5  max

Chuyển bài toán trên về dạng chuẩn: g(x) = - f(x) = 2x 1 - 6x 2 - 4x 3 + 2x 4 - 3x 5  min

Ma trận hệ số là:

 Có ẩn cơ bản thứ nhất, thứ 2 và thứ 3 lần lƣợt là: x 1 , x 4 , x 5

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 40

 Phương án cơ bản ban đầu là: (x 1 , x 2 , x 3 , x 4 , x 5 ) = (52 , 0 , 0 , 60 , 36)

Hệ số Ẩn cơ bản PA

Do tồn tại  j > 0 nên PA đang xét chưa tối ưu

Cột có ước lượng (delta) lớn nhất là cột 3 ( 3 = 16)  biến đưa vào là x 3 Hàng có giá trị lamda nhỏ nhất là hàng 1 ( 1 = 13)  biến đưa ra là x 1

Lập bảng đơn hình mới

Hệ số Ẩn cơ bản PA

Do tồn tại  j > 0 nên PA đang xét chưa tối ưu

Cột có ước lượng (delta) lớn nhất là cột 2 ( 2 = 1)  biến đưa vào là x 2 Hàng có giá trị lamda nhỏ nhất là hàng 2 ( 2 = 34/3)  biến đưa ra là x 2

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 41

Lập bảng đơn hình mới

Hệ số Ẩn cơ bản PA

Ta thấy: j  0 , j  Phương án đang xét là phương án tối ưu

Kết luận: PATƢ của bài toán là: x * = (x 1 , x 2 , x 3 , x 4 , x 5 ) = (0 , 34/3 , 22/3 , 0 , 2) Giá trị hàm mục tiêu đạt đƣợc là: f(x * ) = - g(x * ) = 310/3

Ở lần lặp thứ hai của bảng đơn hình, ta nên tính hàng ước lượng trước (hàng cuối cùng) Nếu Δ_j ≤ 0 với mọi j, ta chỉ cần tính thêm cột phương án, không cần tính các ô còn lại và có thể đưa ra kết luận cho bài toán.

Ví dụ 3: Giải bài toán QHTT sau: f(x) = -3x 1 + x 2 - 2x 3 - x 4 + 3x 5  max

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 42

Dạng chuẩn của bài toán trên là: g(x) = 3x 1 - x 2 + 2x 3 + x 4 - 3x 5 → min

Có ma trận hệ số là

Có ẩn cơ bản thứ nhất, thứ 2, thứ 3 và thứ 4 lần lƣợt là: x 6 , x 2 , x 7 , x 3

Có PACB xuất phát là: x = (0, 3, 5, 0, 0, 1, 2)

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 43

Ví dụ 4: Giải bài toán QHTT sau: f(x) = 6x 1 + x 2 + x 3 + 3x 4 + x 5 - 7x 6  min

- x 1 + x 2 - x 4 + x 6 = 15 2x 1 - x 3 + 2x 6 = - 9 4x 1 + 2x 4 + x 5 - 3x 6 = 2 x j  0 , (j = 1, 2, , 6) Bài toán trên có vế phải ở ràng buộc thứ 2 bằng – 9 < 0 nên ta nhân 2 vế của ràng buộc thứ 2 với (-1), ta đƣợc bài toán dạng chuẩn sau:

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 44 f(x) = 6x 1 + x 2 + x 3 + 3x 4 + x 5 - 7x 6  min

Có ma trận hệ số là

Có PACB ban đầu là: x = (0, 15, 9, 0, 2, 0

Ta thấy: tồn tại ∆ 4 = 1 > 0 mà các hệ số trên cột chứa ∆ 4 đều < 0 nên bài toán ban đầu không có phương án tối ưu

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 45

Ví dụ 5: Giải bài toán QHTT sau: f(x) = 3x 1 + x 2 - 5x 3 + 2x 4  max x 1 - 2x 2 + 3x 4 = 4 3x 2 + x 4  2 x 2 + x 3 - 2x 4  5 2x 2 + x 4  3 x j  0 , (j = 1, 2, , 4) Dạng chuẩn của bài toán trên là: g(x) = - f(x) = - 3x 1 - x 2 + 5x 3 - 2x 4  min x 1 - 2x 2 + 3x 4 = 4 3x 2 + x 4 + x 5 = 2 x 2 + x 3 - 2x 4 - x 6 = 5 2x 2 + x 4 + x 7 = 3 x j  0 , (j = 1, 2, , 7)

Có ma trận hệ số là:

Có PACB xuất phát là: x = (4, 0, 5, 0, 2, 0, 3)

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 46

PATƢ của bài toán là: x* = (16/3,2/3,13/3,0,0,0,5/3)

Giá trị tối ƣu của bài toán là: f(x*) = -g(x*) = - 5

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 47

1.3.2 Giải bài toán QHTT ở dạng chính tắc (Phương pháp đánh thuế)

Xét bài toán QHTT ở dạng chính tắc: f(x) n j j j 1 c x min

(2) x j  0 , (j = 1, 2, , n) (3) Bài toán trên đƣợc gọi là bài toán ban đầu ( bài toán xuất phát )

Giả thiết rằng b i  0 , (i = 1, 2, , m) (nếu âm thì nhân 2 vế của ràng buộc i với -1)

Ta sẽ chuyển bài toán xuất phát về bài toán mở rộng (gọi tắt là bài toán M) f(x) n j j n 1 n 2 n m j 1 c x Mx  Mx  Mx  min

(2) x j  0 , (j = 1, 2, , (m+n)) (3) trong đó: M là số dương vô cùng lớn (lớn hơn bất cứ số cụ thể nào mà ta cần phải so sánh)

Các biến x n + i (i =1, 2, , m) là các biến giả

Đối với bài toán mở rộng có dạng chuẩn tắc, ta áp dụng thuật toán đơn hình để giải bài toán mở rộng Trong quá trình thực hiện các bước của đơn hình, ta tính các ước lượng Δ_j nhằm đánh giá mức đóng góp của từng biến và xác định biến nào sẽ được đưa vào hay rời khỏi cơ sở tối ưu Các giá trị Δ_j cho biết sự biến đổi của mục tiêu khi thay đổi cơ sở, từ đó hướng tới nghiệm tối ưu một cách hiệu quả và đảm bảo tính đúng đắn của giải pháp Quá trình tối ưu hóa diễn ra qua các vòng cập nhật cơ sở, với Δ_j đáp ứng điều kiện tối ưu theo quy tắc đã chọn để hội tụ về nghiệm tối ưu của bài toán mở rộng.

Trong bảng đơn hình tại Trường Đại học Sư phạm Kỹ thuật Nam Định, dòng Δ_j được chia thành hai dòng: dòng trên ghi hệ số a_j và dòng dưới ghi hệ số b_j Ví dụ Δ_3 = 2M – 9, ở cột 3 dòng trên ghi -9 và dòng dưới ghi 2 Để xét dấu Δ_j và so sánh chúng với nhau, ta áp dụng quy tắc được trình bày ở đây.

 Kết thúc thuật toán đơn hình giải bài toán M, ta đi đến một trong các khả năng sau:

1) Nếu bài toán mở rộng không có PATƯ thì bài toán xuất phát cũng không có PATƯ

2) Nếu bài toán mở rộng có PATƯ mà các ẩn giả đều bằng 0, thì bỏ ẩn giả đi, ta còn lại PATƯ của bài toán xuất phát

3) Nếu bài toán mở rộng có PATƯ mà trong đó, có ít nhất một ẩn giả mang giá trị dương, thì bài toán xuất phát không có PATƯ

Chú ý: Khi một ẩn giả bị loại khỏi hệ cơ bản, ẩn đó sẽ không được đưa trở lại nữa; vì vậy các cột ứng với ẩn giả đó có thể bỏ qua và không cần ghi các giá trị vào những cột chứa ẩn giả đó.

Trong trường hợp bài toán ban đầu đã có một tập véc tơ cột đơn vị, ta chỉ cần bổ sung đúng các biến giả cần thiết để đưa bài toán về dạng chuẩn tắc Việc thêm các biến giả phù hợp đảm bảo các ràng buộc và mục tiêu được biểu diễn theo chuẩn, giúp quá trình giải tối ưu hóa diễn ra thuận tiện và nhất quán Nhờ quá trình chuẩn hóa này, bài toán có thể được xử lý hiệu quả hơn với cấu trúc rõ ràng và dễ áp dụng các kỹ thuật tối ưu hóa chuẩn.

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 49

Ví dụ 6: Giải bài toán QHTT sau: f(x) = 2x 1 - x 2 + 3x 3 + x 4  min

Bài toán trên ở dạng chuẩn và hiện chỉ có một véc tơ cột đơn vị, đồng nghĩa với việc chỉ có một ẩn cơ bản Để đưa về bài toán mở rộng và có đầy đủ các ẩn giả, ta bổ sung hai ẩn giả x5 và x6 Khi đó bài toán tối ưu được ghi nhận dưới dạng f(x) = 2x1 − x2 + 3x3 + x4 + Mx5 + Mx6 → min Việc đưa hai ẩn giả này vào bài toán bằng cách dùng tham số M lớn theo phương pháp Big‑M cho phép biến bài toán ban đầu thành một bài toán tối ưu có đầy đủ ẩn giả, từ đó thuận tiện cho quá trình tìm nghiệm tối ưu và triệt tiêu các ẩn giả tại nghiệm.

Có ma trận hệ số là

Có PACB ban đầu là: x = (0; 0; 2; 0; 5; 3)

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 50

Bài toán mở rộng có PATƯ là : (33/14,1/7,0,3/14,0,0)

Vì các ẩn giả đều x 5 , x 6 đều bằng không nên chỉ việc bỏ đi ẩn giả còn lại là PATƯ của bài toán ban đầu

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 51

- Giá trị hàm mục tiêu đạt đƣợc là : F(x*) = 67/14

Ví dụ 7: Giải bài toán QHTT sau: f(x) = 3x 1 - 2x 2 + x 4  max

Dạng chuẩn của bài toán trên là: g(x) = - 3x 1 + 2x 2 - x 4 + Mx 7 + Mx 8  min

Có ma trận hệ số là

Có PACB ban đầu là: x = (0, 0, 2, 0, 0, 7, 3, 9)

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 52

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 53

 Bài toán mở rộng có phương án tối ưu là: x * = (0, 1, 0, 4/3, 0, 19/3, 0, 17/3)

Vì ẩn giả x 8 = 17/3 khác không nên bài toán ban đầu không có phương án tối ưu

1.3.3 Phương pháp đơn hình hai pha

Xét bài toán QHTT dạng chính tắc sau (gọi là bài toán P): f(x) n j j j 1 c x min

(2) x j  0 , (j = 1, 2, , n) (3) Dạng ma trận của bài toán trên là:

Phương pháp đơn hình hai pha cho bài toán tối ưu tuyến tính bắt đầu với pha 1 nhằm tìm một nghiệm cơ sở biên xuất phát cho hệ ràng buộc Ax = b và kiểm tra xem các ràng buộc có độc lập tuyến tính và tính tương thích hay không Nếu không tìm được nghiệm cơ sở biên, bài toán được kết luận là vô nghiệm Nếu tìm được, ta chuyển sang pha 2 và tiến hành giải bài toán gốc bằng nghiệm xuất phát đã tìm được làm điểm tựa tối ưu hóa Các bước cơ bản của phương pháp này là đánh giá sự khả thi của hệ Ax = b, tìm một nghiệm cơ sở biên xuất phát và sử dụng nghiệm ấy để thực hiện tối ưu hóa ở pha hai.

Pha thứ nhất: Thiết lập và giải bài toán phụ sau:

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 54 g(x,u) = u n+1 + u n+2 + + u n+m  min (1) với hệ ràng buộc:

Ta gọi các ẩn x 1 , x 2 , , x n là các ẩn chính; các ẩn còn lại là ẩn phụ

Bài toán phụ đã được đưa về dạng chuẩn; ta tiến hành giải bài toán phụ và xác định phương án tối ưu có dạng X* = (x*, u*) Từ X*, ta phân tích các trường hợp có thể xảy ra, nhằm đảm bảo tính khả thi của nghiệm và sự phù hợp với các ràng buộc của bài toán.

1) Nếu u* ≠ 0 thỡ bài toỏn P vụ nghiệm: D = ỉ

2) Nếu u * = 0 và các ẩn cơ bản đều là ẩn chính thì x * là PACB xuất phát của bài toán P, đến đây ta bắt đầu pha thứ 2 để giải bài toán ban đầu

3) Nếu u * = 0 và có ẩn cơ bản là ẩn phụ thì ta phải biến đổi bảng đơn hình để loại bỏ ẩn phụ đó ra khỏi hệ thống ẩn cơ bản, sau đó bắt đầu pha thứ 2 để giải bài toán với x * là PACB xuất phát

Ví dụ 8: Giải bài toàn dưới đây bằng phương pháp đơn hình hai pha:

Lập và giải bài toán phụ:

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 55

G(x) = x 5 + x 6 + x 7  min với u = (x 5 , x 6 , x 7 ) x l - 2x 2 - x 3 + x 5 x l - x 2 - x 3 + x 4 + x 6 = 20 2x l – x 3 + 2x 4 + x 7 = 52 x j ≥ 0 (j =1,7) PACB xuất phát là : x 1 = x 2 = x 3 = x 4 = 0, x 5 = 15, x 6 = 20, x 7 = 52

Ta lập được bảng đơn hình đưới đây:

 Cơ sở tối ưu là B * = (A 1 , A 2 , A 3 ) với phương án tối ưu là:

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 56

Ta thấy u * = 0 và các ẩn cơ bản chỉ chứa những ẩn của biến chính là (x 1 , x 2 , x 3 ) nên ta chuyển sang pha 2:

Giải bài toán chính với cơ sở xuất phát là B * = (A 1 , A 2 , A 3 ), ta lập đƣợc bảng đơn hình dưới đây:

- PATƢ của bài toán ban đầu là x * = (27, 5, 2, 0)

Ví dụ 9: Giải bài toán QHTT dưới đây bằng phương pháp đơn hình 2 pha

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 57

Ta có bảng đơn hình dưới đây:

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 58 x 6 0 0 0 0 0 0 1 0 -1 -1 x 7 0 0 0 0 0 0 0 1 -1 -2 x 1 2 1 1 0 0 0 0 0 1 0 x 3 3 0 0 1 1 1 0 0 0 1

BÀI TOÁN QUY HOẠCH TUYẾN TÍNH ĐỐI NGẪU

BÀI TOÁN QUY HOẠCH TUYẾN TÍNH ĐỐI NGẪU

2.1.1 Quy tắc lập bài toán đối ngẫu Để lập đƣợc bài toán đối ngẫu cho bài toán QHTT ban đầu (P), ta xét 2 quy tắc sau: a) Quy tắc 1: Bài toán gốc có hàm mục tiêu  min

Bài toán gốc (P) Bài toán đối ngẫu (D) f(x) n j j j 1 c x

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 77

Ví dụ 1: Lập bài toán đối ngẫu của bài toán sau: f(x) = 3x 1 - 2x 2 - 5x 3 + 4x 4 → min

* Trước hết lấy vế phải của ràng buộc bắt buộc làm hệ số của hàm mục tiêu: g(y) = 6y 1 - 7y 2 + 9y 3  max

* Chuyển vị ma trận hệ số trong các ràng buộc bắt buộc  ràng buộc bắt buộc của bài toán QHTT đối ngẫu:

3y 1 - 2y 2 + y 3 ≤ 3 (vì ẩn x 1 ≥ 0) 2y 1 + y 2 - 3y 3 = -2 (vì ẩn x 2 tùy ý) -5y 1 + y 2 + 4y 3 ≤ -5 (vì ẩn x 3 ≥ 0) -3y 1 + 2y 2 + y 3 ≥ 4 (vì ẩn x 4 ≤ 0)

* Xác định dấu của các ẩn:

Vì ràng buộc (1) có dấu “≤” nên ẩn y 1 ≤ 0

Vì ràng buộc (2) có dấu “=” nên ẩn y 2 tùy ý

Vì ràng buộc (3) có dấu “≥” nên ẩn y 3 ≥ 0

Kết luận: bài toán QHTT đối ngẫu của bài toán trên là: g(y) = 6y 1 - 7y 2 + 9y 3  max

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 78 b) Quy tắc 2: Bài toán gốc (P) có hàm mục tiêu  max

Bài toán gốc (P) Bài toán đối ngẫu (D) f(x) n j j j 1 c x

Ví dụ 2: Lập bài toán đối ngẫu của bài toán sau: f(x) = 3x 1 - 2x 2 - 5x 3 + 4x 4 → max

* Trước hết lấy vế phải của ràng buộc bắt buộc làm hệ số của hàm mục tiêu: g(y) = 6y 1 - 7y 2 + 9y 3  min

* Chuyển vị ma trận hệ số trong các ràng buộc bắt buộc  ràng buộc bắt buộc của bài toán QHTT đối ngẫu:

3y 1 - 2y 2 + y 3 ≥ 3 (vì ẩn x 1 ≥ 0) 2y 1 + y 2 - 3y 3 = -2 (vì ẩn x 2 tùy ý)

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 79

* Xác định dấu của các ẩn:

Vì ràng buộc (1) có dấu “≤” nên ẩn y 1 ≥ 0

Vì ràng buộc (2) có dấu “=” nên ẩn y 2 tùy ý

Vì ràng buộc (3) có dấu “≥” nên ẩn y 3 ≤ 0

Kết luận: bài toán QHTT đối ngẫu của bài toán trên là: g(y) = 6y 1 - 7y 2 + 9y 3  min

Chú ý: Bài toán đối ngẫu của bài toán đối ngẫu chính là bài toán gốc

2.1.2 Quan hệ giữa bài toán gốc (P) và bài toán đỗi ngẫu (D) a Các định lý đối ngẫu

 Định lý 1: Với bài toán P và D, chỉ xảy ra một trong 3 trường hợp sau:

1) Cả 2 đều không có phương án

2) Cả 2 đều có phương án, lúc đó cả 2 đều có PATƯ và giá trị hàm mục tiêu đối với PATƢ là nhƣ nhau

3) Một trong 2 bài toán có phương án, còn bài toán kia không có phương án Khi đó bài toán có phương án sẽ không có PATƯ và hàm mục tiêu không bị chặn

Hệ quả 1: Nếu một trong hai bài toán có PATƢ thì bài toán kia cũng có PATƢ

Hệ quả 2: Điều kiện cần và đủ để x* là PATƢ của bài toán (P) và y* là PATƢ của bài toán (D) là: f(x*) = g(y*)

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 80

 Định lý 2: Điều kiện cần và đủ để x* = (x , x , , x * 1 * 2 * n ) là PATƢ của bài toán (P) và y*= (y , y , , y * 1 * 2 * m ) là PATƢ của bài toán (D) là: n

Trong hệ phương trình được nêu, mọi phương trình có dạng A · B = 0 Điều này có nghĩa là nếu một thừa số A hoặc B khác 0 thì thừa số kia phải bằng 0, từ đó xác định được nghiệm của hệ một cách nhanh chóng Quy tắc tích bằng 0 được minh họa trong phần ví dụ (phần b) với các trường hợp A = 0 hoặc B = 0, giúp làm rõ cách áp dụng nguyên lý này để giải hệ phương trình và tối ưu hóa quá trình suy luận nghiệm.

Ví dụ 3: Cho bài toán gốc (P):

- x 1 + x 2 + 3x 3 = 3 2x 1 - x 2 + x 3 = 1 2x 2 + 3x 3 = 3 x j ≥ 0 (j = 1, 2, 3) a) Giải bài toán gốc (P) b) Tìm bài toán đối ngẫu (D) c) Tìm nghiệm của bài toán đối ngẫu

Giải a) Bài toán mở rộng của bài toán trên là:

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 81

Có ma trận hệ số là:

Có PACB ban đầu là: x = (0; 0; 0; 3; 1; 3)

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 82

Kết luận: PATƢ của bài toán (P) là (x 1 , x 2 , x 3 ) = (0 , 0 , 1)

Giá trị tối ƣu là f * = 3 b) Tìm bài toán đối ngẫu: g(y) = 3y 1 + y 2 + 3y 3 → max ơ

3y 1 + y 2 + 3y 3 ≤ 3 y j tùy ý (j = 1, 2, 3) c) Tìm nghiệm của bài toán đối ngẫu (D):

Theo định lý 2 ta có: x 1 ( - y 1 + 2y 2 - 2) = 0 x 2 ( y 1 - y 2 + 2y 3 + 1) = 0 x 3 ( 3y 1 + y 2 + 3y 3 - 3) = 0 y 1 ( - x 1 + x 2 + 3x 3 - 3) = 0 y 2 ( 2x 1 - x 2 + x 3 - 1) = 0 y 3 ( 2x 2 + 3x 3 - 3) = 0

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 83

3y 1 + y 2 + 3y 3 - 3 = 0 (*) Như vậy, trong trường hợp này bài toán đối ngẫu (D) có vô số nghiệm (y 1 , y 2 , y 3 ) thỏa mãn (*)

Ví dụ 4: Cho bài toán gốc (P) f(x) = 52x 1 + 60x 2 + 36x 3 → min x 1 ≥ -2

2x 1 + 4x 2 + 3x 3 ≥ 6 4x 1 + 2x 2 ≥ 4 x 2 ≥ -2 x 3 ≥ 3 x j tùy ý (j = 1, 2, 3) a) Tìm bài toán đối ngẫu (D) b) Giải bài toán đối ngẫu (D) c) Tìm nghiệm tối ƣu của bài toán gốc (P)

Giải a) Bài toán đối ngẫu (D) là: g(y) = -2y 1 + 6y 2 + 4y 3 - 2y 4 + 3y 5 → max y 1 + 2y 2 + 4y 3 = 52

4y 2 + 2y 3 + y 4 = 60 3y 2 + y 5 = 36 y i ≥ 0 (i = 1, 2, , 5) b) Giải bài toán đối ngẫu

Chuyển bài toán (D) về dạng chuẩn, ta đƣợc:

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 84 g’(y) = - g(y) = 2y1 - 6y 2 - 4y 3 + 2y 4 - 3y 5 → min y 1 + 2y 2 + 4y 3 = 52

Nghiệm tối ƣu của bài toán đối ngẫu (D) là y * = (0 , 34/3 , 22/3 , 0 , 2) Giá trị tối ƣu đạt đƣợc là g(y*) = - g’(y*) = 310/3

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 85 c) Tìm nghiệm của bài toán gốc (P)

Theo định lý 2, ta có: y 1 (x 1 + 2) = 0 y 2 (2x 1 + 4x 2 + 3x 3 - 6) = 0 y 3 (4x 1 + 2x 2 - 4) = 0 y 4 (x 2 + 2) = 0 y 5 (x 3 - 3) = 0 x 1 (y 1 + 2y 2 + 4y 3 - 52) = 0 x 2 (4y 2 + 2y 3 + y 4 - 60) = 0 x 3 (3y 2 + y 5 - 36) = 0 mà y = (0 , 34/3 , 22/3 , 0 , 2)

Vậy: PATƢ của bài toán gốc là x = (11/6 , -5/3 , 3)

Ví dụ 5: Cho bài toán gốc (P): f(x) = 2x 1 + 3x 2 - x 3 → max

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 86 a) Tìm bài toán đối ngẫu (D) b) Chứng minh rằng x * = (0 , 3 , 3) là nghiệm tối ƣu của bài toán (P)

Giải: a) Tìm bài toán đối ngẫu (D): g(y) = 5y 1 + 6y 2 + 3y 3  min

2y 1 - y 2 + 3y 3 ≥ 2 y 1 + 2y 3 ≥ 3 3y 1 + 2y 2 - y 3 ≥ -1 y 1 ≤ 0; y 2 tùy ý; y 3 ≥ 0 b) Chứng minh rằng x * = (0 , 3 , 3) là nghiệm tối ƣu của bài toán (P)

Theo định lý đối ngẫu:

Giả sử x = (0, 3, 3) là PATƢ của bài toán (P), thay x 1 = 0, x 2 = 3, x 3 = 3 vào hệ trên ta đƣợc:

Suy ra: x = (0, 3, 3) là PATƢ của bài toán (P) và y = (0 , 1/4 , 3/2) là PATƢ của bài toán (D)

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 87

THUẬT TOÁN ĐƠN HÌNH ĐỐI NGẪU

Ứng dụng quan trọng của các định lý đối ngẫu là nền tảng để thiết kế một thuật toán mới, được gọi là thuật toán đơn hình đối ngẫu, nhằm giải bài toán gốc và trong một số tình huống nhất định, thuật toán này thể hiện hiệu quả vượt trội so với thuật toán đơn hình đã nghiên cứu ở chương 1 Trước tiên, ta giới thiệu và làm rõ các khái niệm sau đây:

2.2.1 Cơ sở gốc và cơ sở đối ngẫu

Xét bài toán QHTT dạng tính tắc (P)

F(x) =  min { Ax = b, x 0 } = D Bài toán đối ngẫu tương ứng là : (D)

Giả sử B = {A_j : j ∈ J, |J| = m} là hệ gồm m véc tơ cột của ma trận A và độc lập tuyến tính Nếu x_B = B^{-1} b ≥ 0 thì B được gọi là cơ sở chấp nhận được của bài toán tối ưu tuyến tính gốc (P), và gọi tắt là cơ sở gốc.

Trong bài toán đối ngẫu (D), một cơ sở B được gọi là cơ sở chấp nhận được khi tồn tại y = (B−1)^T c_j thỏa mãn điều kiện A^T y ≤ c Điều này dẫn tới các tình huống có thể xảy ra với B: a) B không phải là cơ sở gốc cũng không phải là cơ sở đối ngẫu; b) B là cơ sở gốc nhưng không phải là cơ sở đối ngẫu; c) B là cơ sở đối ngẫu nhưng không phải là cơ sở gốc; d) B vừa là cơ sở gốc vừa là cơ sở đối ngẫu Định lý cho thấy nếu B vừa là cơ sở gốc vừa là cơ sở đối ngẫu thì B là cơ sở tối ưu.

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 88

2.2.2 Ý tưởng của thuật toán đơn hình đối ngẫu

Thuật toán đơn hình bắt đầu bằng việc tìm một cơ sở gốc B, thường chưa tối ưu, rồi chuyển sang cơ sở gốc B1; từ đó tiếp tục sang cơ sở gốc B2 cho đến khi đạt được cơ sở tối ưu B*, nếu có Khi đó B* vừa là cơ sở gốc vừa là cơ sở đối ngẫu của bài toán, phản ánh sự tối ưu của nghiệm primal và dual.

Thuật toán đơn hình đối ngẫu tiến hành theo hướng ngược lại: bắt đầu bằng việc tìm một cơ sở đối ngẫu B, có thể chưa tối ưu (chưa phải là cơ sở gốc), sau đó chuyển sang cơ sở đối ngẫu B1, rồi từ B1 tiếp tục sang B2 cho đến khi tìm được cơ sở tối ưu B* (nếu có) Nói ngắn gọn, quá trình này nhằm tìm một cơ sở vừa đối ngẫu vừa là gốc của hệ phương trình, từ đó đạt được nghiệm tối ưu cho bài toán.

Thuật toán đơn hình (simplex) khởi đầu từ một cơ sở gốc để đi tìm một cơ sở vừa là gốc vừa là đối ngẫu, và các cơ sở trung gian đều là cơ sở gốc Ngược lại, thuật toán đơn hình đối ngẫu khởi đầu từ một cơ sở đối ngẫu để đi tìm một cơ sở vừa là đối ngẫu vừa là gốc, và các cơ sở trung gian đều là cơ sở đối ngẫu.

2.2.3 Thuật toán đơn hình đối ngẫu khi biết cơ sở đối ngẫu

Giả sử ta tìm được B = {A_j : j ∈ J} là một cơ sở đối ngẫu, trong đó A_j là các véc tơ cột của ma trận A và |J| = m Ta tính các đại lượng B^{-1}, H = B^{-1} A, b_j = B^{-1} b và các số kiểm tra Δ_k (k thuộc tập chỉ định) Việc xác định cơ sở đối ngẫu cho ma trận A cho phép chuyển hệ A x = b sang dạng tương đương với ma trận B, từ đó dễ dàng ước lượng nghiệm bằng cách sử dụng H và các vectơ liên quan Các số kiểm tra Δ_k đóng vai trò xác minh tính nhất quán của nghiệm sau khi biến đổi hệ cơ sở, giúp đánh giá chất lượng và độ ổn định của quá trình giải hệ tuyến tính liên quan đến ma trận A và vector b.

Khi đó:  k ≤ 0 (k  J) và x j = B -1 b đƣợc gọi là giả phương án

Như vậy, nếu x là giả phương án thì  k ≤ 0 (k  J)), ngược lại x không phải là giả phương án (tức là tồn tại  k > 0 (k  J))

Bây giờ ta xét bài toán QHTT ở dạng chuẩn tắc khi biết giả phương án: f(x) n j j j 1 c x min

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 89

(2) x j  0 , j = 1 n (3) không nhất thiết là b i  0 mà dấu của nó là tùy ý

Bài toán luôn có PA ban đầu là: x = (x 1 , , x m , x m+1 , , x n ) = (b 1 , , b m , 0 , , 0) với x i là ẩn cơ bản thứ i (i = 1 m)

Thuật toán đơn hình đối ngẫu giải bài toán QHTT dạng chuẩn gồm 3 bước sau:

Bước 1: Lập bảng đơn hình ban đầu:

Giả sử x là giả phương án, ta lập bảng đơn hình đối ngẫu dạng sau:

Hệ số Ẩn cơ bản

1 i i ib c = Cột hệ số nhân với Cột phương án

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 90

1 i j ij ia c c = Cột hệ số nhân với véc tơ cột thứ j trừ đi hệ số c j của ẩn x j

( j gọi là ƣớc lƣợng thứ j) Bước 2: Kiểm tra tính tối ưu

 Nếu b i ≥ 0 j thì phương án đang xét là phương án tối ưu giá trị hàm mục tiêu tương ứng là f(x) = f o

 Nếu  bi* ≤ 0 mà tất cả các hệ số a i*j trên hàng i * đó lớn hơn bằng không, tức là: a i*j ≥ 0 (i = 1 m) thì bài toán đang xét không có phương án tối ưu

 Nếu cả hai trường hợp trên không xảy ra thì ta chuyển sang bước 3

Bước 3: Tìm giả PA mới tốt hơn

Nếu b r = i min bi thì ẩn x r là ẩn đƣa ra, hàng thứ r đƣợc gọi là hàng xoay hay hàng khóa

Nếu v = j minj  thì ẩn x v là ẩn đƣa vào, cột thứ v đƣợc gọi là cột xoay Phần tử a rv đƣợc gọi là phần tử xoay

6) Biến đổi bảng đơn hình: a) Trong cột ẩn cơ bản thay x r bằng x v , trong cột hệ số thay c r bằng c v , các ẩn khác và hệ số tương ứng để nguyên b) Chia hàng xoay (hàng thứ r) cho phần tử xoay a rv ta đƣợc hàng r mới gọi là hàng chuẩn c) Muốn có hàng i mới (i  r), ta lấy hàng chuẩn nhân với - a iv rồi cộng vào hàng i cũ

Để có hàng cuối mới trong quá trình cập nhật ma trận, ta có thể nhân hàng chuẩn với hệ số -Δv rồi cộng vào hàng cuối cũ hoặc tính trực tiếp như ở bước 1 Hàng cuối được hiểu là hàng chứa f0 và các ước lượng Δj, từ đó cập nhật các tham số của hệ thống một cách chính xác.

Trong thực tế, các mục b, c, d là quá trình dùng phép biến đổi sơ cấp về hàng của ma trận để biến đổi bảng đơn hình cũ thành bảng đơn hình mới, sao cho cột thứ v của ma trận được đưa về dạng véc tơ đơn vị thứ v (e_v) Việc chuẩn hóa như vậy giúp tối ưu hóa cấu trúc ma trận, thuận tiện cho các bước giải hệ phương trình và phân tích ma trận sau này.

Sau khi nhận được bảng đơn hình mới, ta chuyển sang bước hai là kiểm tra tính tối ưu của nghiệm Quá trình này được lặp lại cho đến khi tìm được lời giải cho bài toán, đảm bảo mọi điều kiện tối ưu được thỏa mãn và nghiệm cuối cùng phù hợp với hệ phương trình đã cho.

Chú ý: Nếu bài toán quy hoạch tuyến tính (QHTT) chưa ở dạng chuẩn tắc, ta thực hiện biến đổi sơ cấp để đưa nó về dạng chuẩn; lưu ý rằng vế phải không bắt buộc lớn hơn 0 mà có thể mang dấu tùy ý Sau đó bài toán được giải bằng phương pháp đơn hình đối ngẫu để tìm nghiệm tối ưu.

Ví dụ 1: Giải bài toán QHTT dưới đây bằng PP đơn hình đối ngẫu:

Giải: Đƣa bài toán trên về dạng chuẩn là: g(x) = - f(x) = - 2x 1 + x 2 - 2x 3 + 3x 4  min x 1 + x 3 - 3x 4 + x 5 = 3 -3x 1 + x 2 - 2x 3 - 2x 4 = - 7 2x 1 - x 3 + x 4 + x 6 = -5 x j ≥ 0 (j = 1, 2, , 6) Cho x 1 = x 3 = x 4 = 0, ta đƣợc x 5 = 3, x 2 = -7, x 6 = -5 và ta kiểm tra các ∆ j ≤ 0

 đây là giả phương án

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 92

Lập bảng đơn hình nhƣ sau:

Hệ số Ẩn cơ bản PA -2 1 -2 3 0 0 x 1 x 2 x 3 x 4 x 5 x 6

* Tìm ẩn âm nhỏ nhất x 2 làm ẩn đưa ra

* Tính các  j tại những vị trí mà a 2j < 0  tìm  j nhỏ nhất  ẩn x 3 là ẩn đưa vào Sau đó biến đổi bảng đơn hình, ta được kết quả sau: x 5 -1/2 -1/2 ẵ 0 -4 1 0 x 3 7/2 3/2 - ẵ 1 1 0 0 x 6 - 3/2 7/2 -1/2 0 2 0 1 g(x) -7 -1 0 0 -5 0 0

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 93

Ta thấy các ẩn cơ bản đều nhận giá trị dương  PATƯ

- Giá trị tối ƣu đạt đƣợc là: f(x * ) = - g(x * ) = 2

Chú ý 2: Từ bảng thứ 2 của bảng đơn hình đối ngẫu, ta nên tính cột giả phương án trước, nếu chúng đều nhận giá trị ≥ 0 thì ta không cần tính các ô còn lại nữa và kết thúc thuật toán  kết luận về bài toán

Ví dụ 2: Giải bài toán QHTT dưới đây bằng PP đơn hình đối ngẫu:

F (x) = 3x 1 - 2x 2 -4x 3 + 10x 4 - 6x 5 + 65x 6  min x 1 - x 4 +2x 5 -4x 6 = 8 x 2 + x 4 -2x 5 +6x 6 = 19 x 3 +2x 4 +3x 5 +x 6 = 21 x j 0; j= 1,6 với cơ sở đối ngẫu cho trước: B = (A 2 , A 3 , A 4 )

Ta thấy cơ sở đối ngẫu chƣa phải là cơ sở đơn trị, nên ta biến đổi để đƣa cơ sở đỗi ngẫu

B về cơ sở đơn trị nhƣ sau:

Ta có bảng đơn hình đối ngẫu dưới đây:

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 94

2.2.4 Thuật toán đơn hình đối ngẫu khi không biết cơ sở đối ngẫu

Xét bài toán QHTT ở dạng chuẩn tắc: f(x) n j j j 1 c x min

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 95 không nhất thiết là b i  0 mà dấu của nó là tùy ý

Bài toán luôn có PA ban đầu là: x = (x 1 , , x m , x m+1 , , x n ) = (b 1 , , b m , 0 , , 0) với x i là ẩn cơ bản thứ i (i = 1 m)

Giả sử x không phải là giả phương án, tức là cơ sở B = (A 1 ,A 2 ,A 3 , ,A m ) của nó không phải là cơ sở đối ngẫu

Xuất phát từ tình huống này, vấn đề đặt ra là làm thế nào để tìm đƣợc một cơ sở đối ngẫu, để có thể giải nó bằng thuật toán đơn hình đối ngẫu Ý tưởng của giải pháp ở đây giống như phương pháp đơn hình hai pha: người ta lập và giải một bài toán khác mà ở đây gọi là bài toán mở rộng, để tìm một cơ sở đối ngẫu Để thiết lập bài toán mở rộng người ta đưa thêm vào một biến phụ x 0 với hệ số của nó trong hàm mục tiêu là c 0 = 0 và 1 ràng buộc chặt : x 0 +x m  1 +…+x n =M trong đó

M là 1 số dương đủ lớn (như số M trong phương pháp đơn hình mở rộng)

Khi ấy bài toán mở rộng là: f(x) n j j j 1 c x min

Bài toán luôn có PA ban đầu là: x = (x 0, x 1 , , x m , x m+1 , , x n ) = (M, b 1 , , b m , 0 , , 0)

Sau đó ta lập bảng đơn hình đối ngẫu mở rộng, có dạng sau:

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 96

Hệ số Ẩn cơ bản

- Vì x chưa phải là giả phương án nên luôn tồn tại j > 0

Trong phương pháp đơn hình đổi ngẫu, giả phương án luôn có hai thành phần x_i = α_i + β_i M Để tính toán thuận tiện, ta chia cột giả phương án thành hai cột riêng biệt: một cột chứa α_i và một cột chứa β_i Để xét dấu x_i và so sánh các giá trị giữa các x_i với nhau, ta áp dụng quy tắc sau: x_i dương khi α_i + β_i M > 0, và từ đó xác định thứ tự ưu tiên giữa các x_i dựa trên giá trị của M và các tham số α_i, β_i.

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 97

Sau khi lập bảng đơn hình đầu tiên, để có bảng đơn hình đối ngẫu thứ 2, ta biến đổi nhƣ sau:

- Ẩn đƣa ra luôn là ẩn x 0  hàng chứa x 0 là hàng xoay

- Giả sử  q = max  k  ẩn đƣa vào là ẩn x q , cột chứa x q là cột xoay

- Phần tử giao giữa hàng xoay và cột xoay là phần tử xoay

Sau đó ta biến đổi bảng đơn hình tương tự như ta đã học phương pháp đơn hình

Ý NGHĨA CỦA BÀI TOÁN ĐỐI NGẪU

Việc giải một bài toán có thể được thay thế bằng cách xây dựng và giải bài toán đối ngẫu của nó Từ nghiệm tối ưu của bài toán đối ngẫu ta có thể suy ra nghiệm tối ưu của bài toán gốc, và nói chung từ kết quả của một bài toán ta có thể rút ra kết quả của bài toán kia Trong những trường hợp nhất định, phương pháp đối ngẫu giúp công việc trở nên đơn giản hơn và giảm khối lượng tính toán Ví dụ, với bài toán gốc ta có thể không biết cơ sở nào cả, nhưng với bài toán đối ngẫu ta lại có thể biết được một cơ sở, hoặc cơ sở primal hoặc cơ sở đối ngẫu.

Nhờ các định lý đối ngẫu, người ta thiết kế thêm được một thuật toán đơn hình đối ngẫu, và trong một số trường hợp nhất định việc tính toán theo thuật toán này ngắn gọn hơn Khi giải một bài toán mà ta chưa nắm được cơ sở gốc nhưng đã biết cơ sở đối ngẫu, thuật toán đơn hình đối ngẫu thể hiện hiệu quả vượt trội, giúp tối ưu hóa quá trình tính toán và giải quyết bài toán nhanh hơn so với các phương pháp truyền thống.

Thuật toán đơn hình đối ngẫu giúp ta hiểu sâu sắc hơn đặc điểm cấu trúc của các bài toán tối ưu hóa và mối quan hệ giữa các nghiệm của bài toán Nhờ đó ta có cái nhìn rõ ràng về tính xác định của nghiệm và cách các bước lặp dẫn đến nghiệm tối ưu ở các trường hợp khác nhau Từ sự hiểu biết này, lý thuyết trở nên có ý nghĩa thực tiễn, hỗ trợ áp dụng các khái niệm tối ưu hóa vào bài toán thực tế một cách hiệu quả.

Trong chương này, lý thuyết đối ngẫu được trình bày hoàn toàn từ góc độ toán học; các kết quả thu được, gồm các định lý đối ngẫu và các ứng dụng, đều được xem xét dưới khía cạnh toán học Nhờ đó, ý nghĩa toán học của lý thuyết đối ngẫu được làm rõ qua từng kết quả, cho thấy sự nhất quán và giá trị ứng dụng của lý thuyết này trong lĩnh vực liên quan.

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 105

Lý thuyết đối ngẫu bắt nguồn từ các vấn đề thực tiễn cần tối ưu hóa và cho thấy mối liên hệ giữa bài toán gốc (primal) và bài toán đối ngẫu (dual) trong các hệ thống thực tế Ứng dụng của nó nằm ở chỗ cung cấp khung phân tích và công cụ tối ưu hóa để ra quyết định hiệu quả, giúp đánh giá và cải thiện các khía cạnh như sản xuất, logistics và phân bổ nguồn lực Để trả lời các câu hỏi về nguồn gốc và ứng dụng của đối ngẫu, ta chọn một vấn đề thực tế được mô hình hóa bởi một bài toán QHTT, từ đó dễ dàng xác định bài toán đối ngẫu của nó và hiểu bài toán đối ngẫu này là mô hình toán học của vấn đề thực tế nào cùng với mối quan hệ giữa các vấn đề thực tế ấy a) Bài toán thực tế gốc: Bài toán lập kế hoạch sản xuất.

Có m loại nguyên liệu với trữ lượng b_i > 0 (i = 1,…, m) có thể dùng để sản xuất n loại sản phẩm khác nhau Ký hiệu a_{ij} (i = 1,…, m; j = 1,…, n) là số lượng nguyên liệu loại i cần thiết để sản xuất ra một đơn vị sản phẩm loại j và c_j là giá bán của sản phẩm loại j Hãy lập kế hoạch sản xuất có thu nhập tối đa Gọi x_j là số lượng sản phẩm loại j sẽ sản xuất Mô hình toán học tương ứng là tối đa hóa tổng c_j x_j (j = 1,…, n), với các ràng buộc sum_{j=1}^n a_{ij} x_j ≤ b_i cho mọi i = 1,…, m và x_j ≥ 0 cho mọi j.

Bài toán trên có thể viết ở dạng ma trận nhƣ sau:

Axb,x0 b Bài toán thực tế đối ngẫu: xác định hệ thống giá nhiên liệu

Từ bài toán gốc (P), ta có thể lập bài toán đối ngẫu sau đây:

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 106

Bây giờ ta hãy tìm bài toán thực tế dẫn đến bài toán (D)

Một nhà quản lý, ở góc độ nhà sản xuất, đã thiết lập và giải bài toán (P) Giả sử ông ta đã tìm được phương án tối ưu x*, thu nhập tối đa đạt được là F(x*) Do đó, ông có thể yên tâm giao kế hoạch sản xuất cho một đơn vị bất kỳ với khoản nộp là F(x*), nhằm đảm bảo tối đa hóa lợi nhuận và hiệu quả hoạt động của chuỗi cung ứng.

Trong vai trò đối tác quản lý, một góc nhìn kinh doanh khác đề xuất xây dựng một hệ thống giá bán nguyên liệu sao cho mức giá rẻ nhất vẫn đủ để nộp F(x*) Bài toán được đặt ra là xác định mức giá tối ưu cho nguyên liệu để dù ở mức giá thấp nhất vẫn đảm bảo thanh toán các khoản liên quan đến F(x*) đồng thời duy trì sức cạnh tranh và vòng quay vốn Phương pháp tiếp cận này đòi hỏi phân tích chi phí, biên lợi nhuận và độ co giãn của nhu cầu thị trường nhằm tối ưu hóa lợi ích và khả năng đáp ứng nghĩa vụ tài chính Mục tiêu cuối cùng là cân bằng giữa giá bán cạnh tranh và khả năng thanh toán các khoản nợ, đảm bảo quỹ cho F(x*) và khai thác cơ hội thị trường.

Ký hiệu y i (i=1,m) là giá bán một đơn vị nguyên liệu loại i, thì ta có mô hình toán học sau đây:

A T y c,y0 Đó chính là bài toán đối ngẫu của bài toán (P), trong đó G(y) = min chính là thu nhập khi bán các nguyên liệu với giá tối thiểu

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 107

1 là điều kiện bắt buộc: tiền bán những nguyên liệu để làm ra một sản phẩm loại j không thua kém giá bán một sản phẩm loại j

Trong bài toán tối ưu (P), nếu có nghiệm tối ưu x*, bài toán đối ngẫu (D) cũng có nghiệm tối ưu y* thỏa mãn G(y*) = F(x*) Hệ thống giá tối ưu y* = (y*1, y*2, , y*n) được gọi là hệ thống giá bóng (hay giá ẩn), và nó thường khác với hệ thống giá thực tế trên thị trường Hệ thống giá bóng gợi cho chúng ta những suy nghĩ thú vị về vai trò của chi phí biên, sự nhạy cảm của nghiệm tối ưu với tham số và cách định giá khi nguồn lực bị giới hạn, giúp phân tích độ ảnh hưởng của từng biến lên giá trị tối ưu và hỗ trợ quyết định trong quản trị nguồn lực và định giá chi phí biên.

Quy mô sản xuất (x) và giá nguyên liệu (y) là hai biến ngẫu nhiên có mối quan hệ ảnh hưởng lẫn nhau Khi giá sản phẩm biến động, quy mô sản xuất sẽ điều chỉnh tương ứng, và hệ thống giá nguyên liệu cũng chịu sự thay đổi ngược lại Do đó, ở bất kỳ nền kinh tế nào, quản lý tối ưu nguồn lực đòi hỏi liên kết chặt chẽ giữa sản xuất và thị trường Đây là nguyên lý cơ bản để đảm bảo hiệu quả và cân bằng trong quá trình sản xuất.

Ở quy mô sản xuất tối ưu, hệ thống giá bóng cho biết giá trị của từng nguyên liệu chiếm bao nhiêu phần trăm trong giá trị của một sản phẩm Thông tin này cho phép điều chỉnh tỷ lệ nguyên liệu sao cho tối ưu hóa chi phí và tăng hiệu quả sản xuất Nhờ đó, doanh nghiệp có cái nhìn rõ ràng về đóng góp của từng thành phần vào giá thành sản phẩm, từ đó tối ưu hóa lợi nhuận và nâng cao khả năng cạnh tranh trên thị trường.

Chúng ta có thể dùng hệ thống giá bóng để phân tích và đưa ra quyết định trong quản trị và kinh tế Nếu hệ thống giá bóng thấp hơn giá trị thực tế trên thị trường, người nhận kế hoạch hoặc thầu sẽ có lợi thế so với các bên còn lại.

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 108

TÌM BÀI TOÁN ĐỐI NGẪU CỦA CÁC BÀI TOÁN SAU

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 109

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 110

2.10 Cho bài toán QHTT sau:

4x 1 + x 2 - 2x 4 = 3 x j ≥ 0 (j = 1, 2, , 4) a) Giải bài toán (P) bằng phương pháp đơn hình b) Viết bài toán đỗi ngẫu và tìm nghiệm tối ƣu của bài toán đối ngẫu Đáp số: a) x* = (0, 17, 0, 7); F(x*) = 41 b) y* = (0, 0, 5, 2)

2.11 Cho bài toán QHTT sau:

2x 1 - x 2 + 3x 4 ≤ 3 -3x 1 + x 2 + 2x 4 = 5 x 1 + x 2 - 2x 4 ≥ 4 x 1 - 3x 2 + x 3 + x 4 = 6 x j ≥ 0, (j = 1, 2, , 4) a) Giải bài toán (P) bằng phương pháp đơn hình b) Viết bài toán đỗi ngẫu và tìm nghiệm tối ƣu của bài toán đối ngẫu Đáp số: a) x* = (27/16, 99/16, 335/16, 31/16); F(x*) = - 43/8 b) y* = (1/2, -7/8, -5/8, 0)

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 111

GIẢI CÁC BÀI TOÁN QHTT SAU BẰNG PHƯƠNG PHÁP ĐƠN HÌNH ĐỐI

- x 1 + x 2 - 4x 4 + 3x 6 = 5 4x 1 + x 4 + x 5 + 2x 6 = 7 x j ≥ 0 (j = 1, 2, , 6) Đáp số: Bài toán không có PATƯ

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 112

BÀI TOÁN VẬN TẢI

Ngày đăng: 21/02/2022, 12:55

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm