2.25 Một tàu chở hàng gồm 3 loại sau: Trọng lượng w(lb) ư n Giá thành v($) 100 360 Máy giặt 125 475 Tủ lạnh 250 1000 Đặt uk là số má được tải lên tàu cho 3 loại trên: k=1,2,3 u1=số tủ lạn được chở lên tàu, u2 là số máy giặt và u3 là số m Đặt xk là tải trọng ư n k là trọng lượng,vk là giá thành. o p ép đối với từng loại hàng. Yêu cầu hàm chi tiêu J là cự đại: ∑ Với điều kiện ràng buộc là tải trọng (W) tối đ tàu được phép chở là 730lb ∑ 1.Thành lập p ương t ìn t ạng thái 2.Tìm chiến lược tải hàng tối ưu n ằm đạt J max Bài làm: Đặt xk là tổng khối lượng của k-1 loại hàng hóa đã được tải lên tàu, uk là số máy được tải lên tàu cho ba loại hàng hóa (u1 là số tủ lạnh, u2 là số máy giặt, u3 là số máy rửa chén), wk (k = 1,2,3) lần lượt là trọng lượng của mỗi đơn vị hàng hóa trên. Từ đó ta thu được phương trình trạng thái: xk 1 xk uk wk (1) Từ phương trình trạng thái ta có trạng thái đầu tiên là x1, tại đó do chưa có hàng hóa chất lên tàu nên x1 = 0. Trạng thái cuối cùng là x4, với điều kiện ràng buộc tải trọng tối đa tàu được phép chở là 730 lb nên x4 730 . x1 0 x4 730 (2) xk N Đồng thời được ràng buộc cho luật điều khiển 730 730 730 x Max ( , , ) 7.3 k 100 125 250 Từ đó ta có xk {0, 1, 2, 3, 4, 5, 6, 7} Ta rời rạc hệ ra làm 5 mốc xk Ta có chỉ tiêu chất lượng: J {0, 225, 500, 625, 730} 3 k 1 wk uk đạt cực đại J k vk uk J k*1 Ta có hàm chỉ tiêu chất lượng theo Bellman : * J k max(vk uk ) (3) Với k = 3: Ta có: J 3 v3u3 360u3 Theo (2) ta có điều kiện ràng buộc: x4 x3 w3u3 730 . Với mỗi giá trị của x3 ta thu được tập hợp luật điều khiển u3 tương ứng x3 = 0 => u3 730 => u3 {0,1,2,3,4,5,6,7} 100 Với mỗi giá trị u3 ta tìm được giá trị chỉ tiêu chất lượng J3 tương ứng u3 = 0 => J3 = 0 u3 = 1 => J3 = 360 u3 = 2 => J3 = 720 u3 = 3 => J3 = 1080 u3 = 4 => J3 = 1440 u3 = 5 => J3 = 1800 u3 = 6 => J3 = 2160 u3 = 7 => J3 = 2520 Theo (3) giá trị J3 tối ưu là giá trị J3 max J 3* 2520 x3 = 225 => u3 730 225 => u3 {0,1,2,3,4,5} 100 u3 = 0 => J3 = 0 u3 = 1 => J3 = 360 u3 = 2 => J3 = 720 u3 = 3 => J3 = 1080 u3 = 4 => J3 = 1440 u3 = 5 => J3 = 1800 Theo (3) giá trị J3 tối ưu là giá trị J3 max J 3* 1800 x3 = 500 => u3 730 500 => u3 {0,1,2} 100 u3 = 0 => J3 = 0 u3 = 1 => J3 = 360 u3 = 2 => J3 = 720 Theo (3) giá trị J3 tối ưu là giá trị J3 max J 3* 720 x3 = 625 => u3 730 625 => u3 {0,1} 100 u3 = 0 => J3 = 0 u3 = 1 => J3 = 360 Theo (3) giá trị J3 tối ưu là giá trị J3 max J 3* 360 x3 = 730 => u3 {0} u3 = 0 => J3 = 0 J 3* 0 Với k = 2 Ta có x3 = x2 + w2u2 730, với mỗi giá trị của x3 ta thu được tập hợp luật điều khiển u2 tương ứng từ đó chọn luật điều khiển. Đồng thời ta có J 2 v2u2 J 3 * x2 = 0 => u2 730 5.84 => u2 {0,1,2,3,4,5} 125 u2 = 0 => x3 = 0 => { u2 = 1 => x3 = 0 + 125 = 125 { u2 = 2 => x3 = 0 + 125.2 = 250 500 Do x = 250 không có trong tập giá trị x mà ta đã rời rạc hóa, nên ta cần phải làm tròn. Từ đó ta tính được => { u2 = 3 => x3 = 0 + 125.3 = 375 500 => { u2 = 4 => x3 = 0 + 125.4 = 500 => { u2 = 5 => x3 = 0 + 125.5 = 625 => { Theo (3) giá trị J2 tối ưu là giá trị J2 max J 2* 2735 x2 = 225 => u2 730 4.04 => u2 {0,1,2,3,4} 125 u2 = 0 => x3 = 225 => { u2 = 1 => x3 = 255 + 125 = 350 u2 = 2 => x3 = 255 + 125.2 = 475 500 => { u2 = 3 => x3 = 255 + 125.3 = 600 630 => { u2 = 4 => x3 = 255 + 125.4 = 750 => { 500 => { Theo (3) giá trị J2 tối ưu là giá trị J2 max J 2* 2260 730 500 1.84 => u2 {0,1} 125 x2 = 500 => u2 u2 = 0 => x3 = 500 => { u2 = 1 => x3 = 500 + 125 = 625 => { Theo (3) giá trị J2 tối ưu là giá trị J2 max J 2* 835 x2 = 625 => u2 730 625 0.84 => u2 {0} 125 u2 = 0 => x3 = 625 => { J 2* 720 x2 = 730 => u2 730 730 0 => u2 {0} 125 u2 = 0 => x3 = 730 => { J 2* 0 Với k = 1 Ta có x2 = x1 + w1u1 tương ứng. 730, với mỗi giá trị của x2 ta thu được tập hợp luật điều khiển u1 Đồng thời ta có J1 v1u1 J 2 * x1 = 0 => u1 730 2.92 => u1 {0,1,2} 250 u1 = 0 => x2 = 0 => { u1 = 1 => x2 = 0 + 250 = 250 u1 = 2 => x2 = 0 + 250.2 = 500 => { 500 => { Theo (3) giá trị J1 tối ưu là giá trị J1 max J1* 2835 x1 = 225 => u1 730 225 2.02 => u1 {0,1,2} 250 u1 = 0 => x2 = 225 => { u1 = 1 => x2 = 225+250 = 475 u1 = 2 => x2 = 225 + 250.2 = 725 500 => { 730 => { Theo (3) giá trị J1 tối ưu là giá trị J1 max J1* 2260 x1 = 500 => u1 730 500 0.92 => u1 {0} 250 u1 = 0 => x2 = 500 => { J1* 835 x1 = 625 => u1 {0} u1 = 0 => x2 = 625 => { J1* 720 x1 = 730 => u1 {0} u1 = 0 => x2 = 730 => { J1* 0 Hình 1: Lưới kết quả của bài toán tối ưu Xét ràng buộc cho điều kiện ban đầu (k = 0) là chưa có hàng hóa được chất lên nên ta có: J1* 2835 x1 0 * u1 2 x2 x1 u1w1 0 2 250 500 J 2* 835 x2 500 * u2 1 x3 x2 u2 w2 500 1 125 625 J 3* 360 x3 625 * u3 1 Vậy để đạt J tối ưu, chiến lược tải là: u3 = 1, u2 = 1 và u1 = 2 hay số hàng tối đa tải lên tàu là 2 tủ lạnh, 1 máy giặt và 1 máy rửa chén. Chỉ tiêu chất lượng Jmax = 2835 Kiểm tra kết quả: Tổng khối lượng hàng hóa tải lên tàu = 2.250 + 1.125 + 1.100 = 725 < 730 => Thỏa mãn điều kiện bài toán Mô phỏng matlab: Tại k=3: Luật điều khiển J3. x3=0 ( J 3 2520) * x3=225 ( J 3 1800) x3=500 ( J 3 720) x3 = 625 ( J 3 360) * * * x3 = 730 ( J 3 0) * Tại k=2: Luật điều khiển J2. x2=0 ( J 2 2735) x2= 225 ( J 2 2260) * * x2=500 ( J 2 835) x2= 625 ( J 2 720) * * x2= 730 ( J 2 0) * Tại k=1. Luật điều khiển J1 x1=0 ( J1 2835) x1= 225 ( J1 2260) * * x1 = 500 ( J1 835) * x1 = 625 ( J1 0) x1 = 730 ( J1 0) * * Nhận xét: Mô phỏng matlab cho các giá trị hoàn toàn phù hợp với lý thuyết.