Phân tích Chuỗi Cung Ứng với Python
Aaren Stubberfield
Supply Chain Analytics Mgr.
PuLP là khung mô hình cho các bài toán Quy hoạch tuyến tính (LP) và Quy hoạch số nguyên (IP) viết bằng Python
Được COIN-OR Foundation (Computational Infrastructure for Operations Research) duy trì
PuLP kết nối với các bộ giải
CPLEXCOINGurobi| Bánh A | Bánh B | |
|---|---|---|
| Lò | 0,5 ngày | 1 ngày |
| Thợ bánh | 1 ngày | 2,5 ngày |
| Đóng gói | 1 ngày | 2 ngày |
.
| Bánh A | Bánh B | |
|---|---|---|
| Lợi nhuận | $20,00 | $40,00 |
LpProblem(name='NoName', sense=LpMinimize)
name = Tên bài toán dùng trong tệp .lp đầu ra, ví dụ "My LP Problem"sense = Tối đa hóa hoặc tối thiểu hóa hàm mục tiêuLpMinimize (mặc định)LpMaximizefrom pulp import *
# Initialize Class
model = LpProblem("Maximize Bakery Profits", LpMaximize)
LpVariable(name, lowBound=None, upBound=None, cat='Continuous', e=None)
name = Tên biến dùng trong tệp .lp đầu ralowBound = Cận dướiupBound = Cận trêncat = Kiểu biếne = Dùng cho mô hình hóa theo cột# Define Decision Variables
A = LpVariable('A', lowBound=0, cat='Integer')
B = LpVariable('B', lowBound=0, cat='Integer')
# Define Objective Function
model += 20 * A + 40 * B
# Define Constraints
model += 0.5 * A + 1 * B <= 30
model += 1 * A + 2.5 * B <= 60
model += 1 * A + 2 * B <= 22
# Solve Model
model.solve()
print("Produce {} Cake A".format(A.varValue))
print("Produce {} Cake B".format(B.varValue))
from pulp import *
# Initialize Class
model = LpProblem("Maximize Bakery Profits",
LpMaximize)
# Define Decision Variables
A = LpVariable('A', lowBound=0,
cat='Integer')
B = LpVariable('B', lowBound=0,
cat='Integer')
# Define Objective Function
model += 20 * A + 40 * B
# Define Constraints
model += 0.5 * A + 1 * B <= 30
model += 1 * A + 2.5 * B <= 60
model += 1 * A + 2 * B <= 22
# Solve Model
model.solve()
print("Produce {} Cake A".format(A.varValue))
print("Produce {} Cake B".format(B.varValue))
Ôn 5 bước quy trình mô hình PuLP
Hoàn tất ví dụ lập lịch tài nguyên
Phân tích Chuỗi Cung Ứng với Python