I. Lý thuyết
1. Các giả định của linear programming
- Chi phí cố định không thay đổi theo quyết định
- Chi phí biến đổi không thay đổi hay còn gọi là hằng số
- Ước tính về nhu cầu và nguồn lực yêu cầu của sản phẩm phải chắc chắn
- Các sản phẩm đầu ra có số liệu cụ thể và có thể phân loại được
- Biết chắc chắn nguồn lực nào là khan hiếm
- Không có sự phụ thuộc nhau giữa các sản phẩm
2. Những hạn chế của linear programming
- Khó xác định được những nguồn lực nào là nguồn lực bị thiếu hụt hay là nguồn lực sẵn có
- Phương pháp linear programming không phù hợp để phân tích chi tiết ảnh hưởng của sự thay đổi trong các tham số khác nhau, ví dụ như thời gian
3. Câu hỏi lí thuyết
Which of the following statements about graphical linear programming with the objective of maximising profit is true? (1) If a resource constraint line does not pass through the optimum point on the graph, then the shadow price of that resource is zero (2) The shadow price is the maximum amount a company should pay for one more unit of a scarce resource (3) The slope or gradient of the objective function depends on the amount of resources available to the organisation A. 1 only B. 1 and 2 only C. 1, 2 and 3 only D. 2 and 3 only |
Phân tích đề bài:
(1) Nếu một đường nguồn lực giới hạn không đi qua điểm tối ưu trên biểu đồ thì shadow price =0
(2) Shadow price là số tiền tối đa mà doanh nghiệp phải trả để có thêm một đơn vị nguồn lực giới hạn
(3) Độ dốc của hàm mục tiêu trên biểu đồ phụ thuộc vào lượng tài nguyên có sẵn của doanh nghiệp
Giải:
- Đối với câu (1):
Shadow price là lợi nhuận gộp khi sản xuất thêm một đơn vị ở nguồn lực giới hạn trên chi phí hiện có của doanh nghiệp. Vì vậy, khi thêm một đơn vị nguồn lực giới hạn cũng không ảnh hưởng đến đường thẳng của nguồn lực giới hạn hay quyết định về giải pháp tối ưu lợi nhuận nên shadow price = 0 là hợp lí.
→ Câu (1) đúng - Đối với câu (2):
Shadow price là số tiền tối đa mà doanh nghiệp phải trả để có thêm một đơn vị nguồn lực giới hạn là sai. Câu đúng sẽ là: “Shadow price là số tiền tăng thêm tối đa để có thêm một đơn vị nguồn lực giới hạn dựa trên chi phí sẵn có của doanh nghiệp”
→ Câu (2) sai
- Đối với câu (3):
Độ dốc của hàm mục tiêu trên biểu đồ phụ thuộc vào lượng tài nguyên có sẵn của doanh nghiệp là sai. Câu đúng sẽ là: “Độ dốc của hàm mục tiêu trên biểu đồ phụ thuộc vào lợi nhuận gộp kiếm được của mỗi sản phẩm”
→ Câu (3) sai
→ Đáp án là A
II. Bài tập
Lưu ý: Cần phân biệt “limit factors” và “throughput accounting”. Limit factors là phương pháp phân tích yếu tố giới hạn để tối đa hóa lợi nhuận gộp (Contribution = Sales - Variable cost), còn throughput accounting là phân tích nguồn lực giới hạn (bottleneck resource) để tối đa hóa throughput (Throughput = Sales - Material cost). Khi làm bài, ta cần đọc xem đề bài đề cập đến limit factor hay throughput accounting để làm cho đúng.
Giả thiết:
Chi phí cố định là không thay đổi ở bất cứ tỷ lệ mix sản phẩm nào.
1. Dạng 1: Kế hoạch sản xuất tối ưu khi có một yếu tố giới hạn
Các bước làm bài:
Bước 1: Xác định yếu tố giới hạn
Bước 2: Tính Contribution per unit of limit factor
- Contribution per unit = Sales - Variable cost
- Contribution per unit of limit factor = Contribution per unit / units of limit factor
Bước 3: Xếp hạng sản phẩm
Bước 4: Xây dựng kế hoạch sản xuất tối ưu và lập ngân sách tương ứng
Example 1: Sausage makes two products, the Mash and the Sauce. Unit variable cost are as follow:
The sales price per unit is $14 per Mash and $11 per Sauce. During July the available direct labour is limited to 8,000 hours. Sales demand in July is expected to be as follows.
Required Determine the production budget that will maximise profit, assuming that fixed costs per month are $20,000 and that there is no opening inventory of finished goods or work in progress. |
Giải:
Bước 1: Xác định yếu tố giới hạn
- Đầu tiên là xác định nguồn lực cần thiết của nhân công
- Labour hours per unit of Mash = $6 / $3 = 2 hours
- Labour hours per unit of Sauce = $3 / $3 = 1 hour
=> Nguồn lực cần thiết nhân công (Labour) của Sauce = Labour hours per unit * Sales demand = 1 * 5,000 units = 5,000 hours
Vì vậy, tổng nguồn lực cần thiết của nhân công = 6,000 + 5,000 = 11,000 hours
- Nguồn lực có thể thực hiện được của nhân công = 8,000 hours (đề bài cho)
=> Nguồn lực có thể sử dụng của nhân công không đáp ứng đủ cho nhu cầu sản xuất. Do đó, nhân công (Labour) là nguồn lực giới hạn.
Bước 2: Tính Contribution per unit of limit factor
- Contribution per unit = Sales - Variable cost
- Contribution per unit of limit factor = Contribution per unit / Limit factor per unit
Mash ($) |
Sauce ($) |
|
Sales price |
14 |
11 |
Variable cost |
8 |
7 |
Contribution per unit |
6 |
4 |
Labour hours per unit |
2 hours |
1 hour |
Contribution per labour hour |
3 |
4 |
Bước 3: Xếp hạng sản phẩm
Product Mash |
Product Sauce |
2nd |
1st |
Sản phẩm Sauce mang lại lợi nhuận góp trên 1 nguồn lực giới hạn (Contribution per labour hour) cao hơn. Vì vậy, sản phẩm Sauce là sản phẩm được ưu tiên sản xuất để tối đa hóa lợi nhuận.
Bước 3: Xây dựng kế hoạch sản xuất tối ưu và lập ngân sách tương ứng
Product |
Units |
Labour hour per unit |
Hours available |
Contribution per unit |
Total |
Sauce |
5,000 |
1 |
5,000 |
4 |
20,000 |
Mash |
1,500 |
2 |
3,000 (bal) 8,000 |
6 |
9,000 29,000 |
Less: Fixed cost |
(20,000) |
||||
Profit |
9,000 |
Do nguồn lực có thể thực hiện được của nhân công là 8,000 giờ mà sản phẩm Sauce đem lại lợi nhuận cao (do xếp hạng sản phẩm Sauce xếp thứ nhất) đã sử dụng hết 5,000 giờ. Trong khi số giờ nhân công cần thiết của sản phẩm Mash là 6,000 giờ (3,000 units * 2 hours), vì vậy để tối đa hóa lợi nhuận thì ta giữa nguyên số giờ của Sauce và giảm số giờ của Mash còn 3,000 giờ.
2. Dạng 2: Kế hoạch sản xuất tối ưu khi có nhiều nhân tố giới hạn
Khi có nhiều nhân tố giới hạn ta không thể xếp hạng sản phẩm theo contribution per unit of limit factor để đưa ra quyết định sản xuất tối ưu vì mỗi nhân tố giới hạn sẽ đưa ra những xếp hạng sản phẩm khác nhau.
Vì vậy, ta sẽ sử dụng kĩ thuật Linear Programming để tối đa hóa lợi nhuận hay tối thiểu hóa chi phí bằng 2 phương pháp: Phương pháp đồ thị (Graphical method) và phương pháp sử dụng đồng thời các phương trình (Simultaneous equations).
2.1. Các bước thực hiện phương pháp Graphical method
2.2. Các bước thực hiện phương pháp Simultaneous equations
2.3. Bài tập ví dụ
Example 1: WX Co manufactures two products, A and B. Both products pass through two production departments, mixing and shaping. The organisation’s objective is to maximise contribution to fixed costs. Product A is sold for $1.50 whereas product B is priced at $2.00. There is unlimited demand for product A but demand for B is limited to 13,000 units per annum. The machine hours available in each department are restricted to 2,400 per annum. Other relevant data are as follows.
Determine the production budget that will maximise profit. |
Giải:
Theo đề bài ta có:
- Nhu cầu bán ra mỗi năm của sản phẩm B chỉ có 13,000 units, vì vậy sale demand of B là một nguồn lực giới hạn.
- Tiếp theo, số giờ máy (machine hours) cho mỗi phòng ban chỉ giới hạn tới 2,400 giờ mỗi năm, vì vậy machine hours cũng là một nguồn lực giới hạn.
=> Do đó, ta lập kế hoạch tối ưu hóa lợi nhuận dựa trên 2 nguồn lực giới hạn nên ta sẽ giải bài toán trên theo 2 phương pháp: Graphical method và Simultaneous equations
2.3.1. Giải theo phương pháp Graphical method
Bước 1: Xác định các vấn đề bao gồm:
Bước 1.1. Xác định các biến số (variables)
Các biến số ở đây tức là các vấn đề mà ta cần phải cân nhắc và quyết định hay nói rõ hơn là ta cần tính số lượng sản phẩm A và B cần sản xuất để tối đa hóa lợi nhuận.
Nên ta gọi:
x là số lượng sản phẩm A cần sản xuất
y là số lượng sản phẩm B cần sản xuất
Bước 1.2. Xây dựng các mối quan hệ “giới hạn” (constraints) theo biến số
Xây dựng các mối quan hệ giới hạn tức là xây dựng các phương trình, bất phương trình theo các biến số và các nguồn lực sản xuất.
- Do số giờ máy của mỗi phòng được giới hạn trong 2,400 giờ mỗi năm nên ta có các bất phương trình sau:
- Số giờ máy phòng Mixing yêu cầu để sản xuất sản phẩm A (0.06 hours) và sản phẩm B (0.08 hours): 0.06x + 0.08y ≤ 2,400
- Số giờ máy phòng Shaping yêu cầu để sản xuất sản phẩm A (0.04 hours) và sản phẩm B (0.12 hours): 0.04x + 0.12y ≤ 2,400
- Do nhu cầu bán ra của sản phẩm B tối đa là 13,000 units nên ta có bất phương trình sau:
y ≤ 13,000
Bước 1.3. Xây dựng hàm mục tiêu (objective function)
Nhắc lại công thức: Contribution = Sales price - Variable cost
- Contribution per unit of product A = $1.50 - $1.30 = $0.20
- Contribution per unit of product B = $2.00 - $1.70 = $0.30
Khi đó hàm mục tiêu chính là maximise contribution (vì mục tiêu của chúng ta là tối đa hóa lợi nhuận) gọi tắt là (C) : 0.2x + 0.3y
Bước 2: Vẽ các “constraints” lên đồ thị
Để vẽ bất phương trình: 0.06x + 0.08y ≤ 2,400,
Đầu tiên, ta vẽ đường thẳng 0.06x + 0.08y = 2,400
Sau đó ta xác định 2 điểm nối, để cho dễ dàng thì
- Chọn x = 0 thì y = 30,000 ta được 1 điểm nối
- Chọn y = 0 thì x = 40,000 ta được điểm nối tiếp theo
Khi có 2 điểm nối thì ta có thể vẽ đường thẳng trên đồ thị.
Làm tương tự như vậy với 2 bất phương trình còn lại, ta có được đồ thị như sau:
Bước 3: Xác định vùng khả thi “The Feasible Region”
Vùng khả thi tức là vùng mà thỏa mãn tất cả các giới hạn. Khi đó x và y sẽ nằm trong khu vực này.
Bước 4: Xác định phương án sản xuất tối ưu với “iso - contribution line”
Thực ra “iso - contribution line” là 1 phương trình đường thẳng về contribution mà công ty mong đợi hay còn gọi là giả thiết mà ta đặt ra.
Như bước 1 ta đã tìm ra hàm mục tiêu (C) : 0.2x + 0.3y, từ đó ta xây dựng nên “iso - contribution line” là 0.2x + 0.3y = 6,000 (giả sử 6,000 là lợi nhuận mà công ty mong muốn, ta chọn 6,000 là để có phương trình đẹp còn chọn số khác vẫn được).
Khi đó ta vẽ đường thẳng 0.2x + 0.3y = 6,000 hay y = 20,000 - ⅔*x. Tiếp theo, ta cứ vẽ những đường thẳng song song với đường thẳng 0.2x + 0.3y = 6,000 cho đến khi đường thẳng đó không còn nằm trong vùng khả thi nữa.
Sau đó, ta so sánh những đường thẳng song song mà ta đã vẽ để xác định xem đường thẳng nào đem lại lợi nhuận lớn nhất thì ở bài toán này đường thẳng 0.2x + 0.3y = 6,000 đem lại lợi nhuận lớn nhất.
2. Giải theo phương pháp Simultaneous equations
Bước 1: Xác định các vấn đề bao gồm:
Bước 1.1. Xác định các biến số (variables)
Các biến số ở đây tức là các vấn đề mà ta cần phải cân nhắc và quyết định hay nói rõ hơn là ta cần tính số lượng sản phẩm A và B cần sản xuất để tối đa hóa lợi nhuận.
Nên ta gọi:
x là số lượng sản phẩm A cần sản xuất
y là số lượng sản phẩm B cần sản xuất
Bước 1.2. Xây dựng các mối quan hệ “giới hạn” (constraints) theo biến số
Xây dựng các mối quan hệ giới hạn tức là xây dựng các phương trình, bất phương trình theo các biến số và các nguồn lực sản xuất.
- Do số giờ máy của mỗi phòng được giới hạn trong 2,400 giờ mỗi năm nên ta có các bất phương trình sau:
- Số giờ máy phòng Mixing yêu cầu để sản xuất sản phẩm A (0.06 hours) và sản phẩm B (0.08 hours): 0.06x + 0.08y ≤ 2,400
- Số giờ máy phòng Shaping yêu cầu để sản xuất sản phẩm A (0.04 hours) và sản phẩm B (0.12 hours): 0.04x + 0.12y ≤ 2,400
- Do nhu cầu bán ra của sản phẩm B tối đa là 13,000 units nên ta có bất phương trình sau:
y ≤ 13,000
Bước 1.3. Xây dựng hàm mục tiêu (objective function)
Nhắc lại công thức: Contribution = Sales price - Variable cost
- Contribution per unit of product A = $1.50 - $1.30 = $0.20
- Contribution per unit of product B = $2.00 - $1.70 = $0.30
Khi đó hàm mục tiêu chính là maximise contribution (vì mục tiêu của chúng ta là tối đa hóa lợi nhuận) gọi tắt là (C) : 0.2x + 0.3y
Bước 2: Vẽ các “constraints” lên đồ thị
Để vẽ bất phương trình: 0.06x + 0.08y ≤ 2,400
Đầu tiên, ta vẽ đường thẳng 0.06x + 0.08y = 2,400
Sau đó ta xác định 2 điểm nối, để cho dễ dàng thì
- Chọn x = 0 thì y = 30,000 ta được 1 điểm nối
- Chọn y = 0 thì x = 40,000 ta được điểm nối tiếp theo
Khi có 2 điểm nối thì ta có thể vẽ đường thẳng trên đồ thị.
Làm tương tự như vậy với 2 bất phương trình còn lại, ta có được đồ thị như sau:
- A là giao điểm của trục y và đường thẳng y = 13,000
- B là giao điểm của đường thẳng y = 13,000 và đường thẳng 0.04x + 0.12y = 2,400
- C là giao điểm của đường thẳng 0.04x + 0.12y = 2,400 và đường thẳng 0.06x + 0.08y = 2,400
- D là giao điểm của trục x và đường thẳng 0.06x + 0.08y = 2,400
- P là giao điểm của đường thẳng y = 13,000 và đường thẳng 0.06x + 0.08y = 2,400
Bước 3: Tính kết quả lợi nhuận tại một số điểm và chọn kết quả cao nhất để xác định kế hoạch sản xuất tối ưu
- Tại điểm A có tọa độ A (0;13,000) với giới hạn sản xuất B là 13,000 units (hợp lí) nhưng khi đó sản phẩm A không sản xuất được sản phẩm nào nên phương án này bị loại. Vì vậy, ta xét 3 điểm B, C, D (không xét P vì P nằm ngoài vùng khả thi)
- Tại điểm B
y = 13,000
0.04x + 0.12y = 2,400
Giải 2 phương trình trên ta được: x = 21,000 và y = 13,000
=> Total contribution = $0.2*21,000 + $0.3*13,000 = $8,100
- Tại điểm C
0.06x + 0.08y = 2,400
0.04x + 0.12y = 2,400
Giải 2 phương trình trên ta được: x = 24,000 và y = 12,000
=> Total contribution = $0.2*24,000 + $0.3*12,000 = $8,400
- Tại điểm D
Do D có tọa độ D(40,000;0) nên total contribution = 40,000*$0.2 = $8,000
So sánh các điểm B,C,D ta nhận thấy lợi nhuận ở điểm C là lớn nhất khi sản xuất 24,000 sản phẩm A và 12,000 sản phẩm B để đạt được lợi nhuận là $8,400.
3. Dạng 3: Quyết định mua ngoài hay tự sản xuất sản phẩm (Make or Buy)
Nguyên lí khi đưa ra quyết định: Tối thiểu chi phí biến đổi tăng thêm khi mua ngoài trên 1 đơn vị nguồn lực có thể tiết kiệm được
3.1. Các bước làm bài
Example 1: MM manufactures three components, S, A and T, using the same machines for each. The budget for the next year calls for the production and assembly of 4,000 of each component. The variable production cost per unit of the final product is as follows.
Only 24,000 hours of machine time will be available during the year, and a subcontractor has quoted the following unit prices for supplying components: S $29; A $40; T $34. Required Advise MM |
Giải:
Bước 1: Xác định nguồn lực giới hạn
Để sản xuất toàn bộ 4,000 sản phẩm S; 4,000 sản phẩm A và 4,000 sản phẩm T thì cần số giờ máy sản xuất: 4,000*(3 + 2 + 4) = 36,000 hours. Trong khi số giờ máy có thể sản xuất là 24,000 hours. Vì vậy, giờ máy (machine hours) là nhân tố giới hạn.
Bước 2: Xác định sản phẩm nên mua ngoài hay tự sản xuất
- Chi phí biến đổi để tự sản xuất một sản phẩm S, A và T lần lượt là $20, $36 và $24 (đề bài cho)
- Chi phí biến đổi để mua ngoài một sản phẩm S, A và T lần lượt là $29, $40 và $34 (đề bài cho)
- Chêch lệch giữa chi phí biến đổi tự sản xuất và mua ngoài là
Sản phẩm S = $29 - $20 = $9
Sản phẩm A = $40 - $36 = $4
Sản phẩm T = $34 - $24 = $10 - Số giờ máy tiết kiệm được khi mua ngoài mỗi sản phẩm S, A và T là 3 hours, 2 hours và 4 hours
- Chi phí phát sinh thêm trên mỗi giờ máy tiết kiệm được khi mua ngoài mỗi sản phẩm S, A và T là
Sản phẩm S = $9 / 3 = $3
Sản phẩm A = $4 / 2 = $2
Sản phẩm T = $10 / 4 = $2.5
S $ |
A $ |
T $ |
|
Variable cost of making |
20 |
36 |
24 |
Variable cost of buying |
29 |
40 |
34 |
Extra variable cost of buying |
9 |
4 |
10 |
Machine hours saved by buying |
3 hrs |
2 hrs |
4 hrs |
Extra variable cost of buying per hour saved |
3 |
2 |
2.5 |
Công ty sẽ phát sinh chi phí nhiều nhất trên 1 sản phẩm mua thêm nếu mua ngoài sản phẩm S. Vì vậy, công ty nên tự sản xuất sản phẩm S và mua ngoài sản phẩm A (phát sinh chi phí ít nhất trên 1 sản phẩm mua thêm) còn sản phẩm T thì vừa mua ngoài, vừa sản xuất để tối thiểu hóa chi phí.
Bước 3: Xây dựng kế hoạch sản xuất tối ưu
Để sản xuất toàn bộ 4,000 sản phẩm S, ta cần 4,000 * 3 = 12,000 machine hours
Khi đó, ta còn 24,000 - 12,000 = 12,000 machine hours để sản xuất sản phẩm T
- Số sản phẩm T tự sản xuất được = 12,000 / 4 = 3,000 sản phẩm
- Số sản phẩm T mua ngoài = 4,000 - 3,000 = 1,000 sản phẩm
Và toàn bộ 4,000 sản phẩm A sẽ được mua ngoài.
4. Dạng 4: Tính shadow price
Shadow price là lợi nhuận bổ sung khi có thêm một đơn vị nguồn lực giới hạn
Example 1: In a linear programming problem to determine the contribution-maximising production and sales volumes for two products, X and Y, the information is available.
The profit-maximising level of output and sales is 3,000 units of product X and 1,000 units of Product Y. Required What is the shadow price of a direct labour hour? |
Giải:
Gọi x: số lượng sản phẩm X cần sản xuất
y: số lượng sản phẩm Y cần sản xuất
- Phương trình số giờ nhân công để sản xuất sản phẩm X (2 hours) và sản phẩm Y (4 hours): 2x + 4y = 10,000
- Phương trình số nguyên vật liệu X cần để sản xuất sản phẩm X (4 kg) và sản phẩm Y (2 kg) là: 4x + 2y = 14,000
- Hàm lợi nhuận đạt được là: 12x + 18y
Để tính shadow price của nguồn lực giới hạn direct labour hour thì ta có phương trình mới như sau:
2x + 4y = 10,001
4x + 2y = 14,000
Do Shadow price là lợi nhuận bổ sung khi có thêm một đơn vị nguồn lực giới hạn nên số giờ nhân công tăng từ 10,000 lên 10,001.
Kết hợp 2 phương trình trên ta được: x = 1,000.333 và y = 2,999.8333
- Lợi nhuận khi tăng 1 đơn vị nguồn lực giới hạn = $12 * 1,000.333 + $18 * 2,999.8333 = $54,004
- Lợi nhuận lúc chưa tăng 1 đơn vị nguồn lực giới hạn = $12 * 3,000 + $18 * 1,000 = $54,000
Vì vậy, shadow price = $54,004 - $54,000 = $4
Author: Khanh Linh
Reviewed by: Duy Anh Nguyen