# 导入PuLP库from pulp import # 定义船只和码头的数量I = 60J = 6T = 24# 定义每种船只需要停靠的时间time_m = 0 8 12 16 # 对应于散货船、集装箱船、液化气船time = for j in rangeJ if j 3 timeappendtime_m0 elif j 5 timeappendti
[t] for j in range(J)) == 1
2.限制每个码头每天停靠的船只数量
for j in range(J): for t in range(T): model += lpSum(x[i][j][t] for i in range(I)) <= capacity[j]
3.限制船只停靠时间不超过码头可用时间
for i in range(I): for j in range(J): for t in range(T - time[types[i]]): model += lpSum(x[i][j][t+l] for l in range(time[types[i]])) <= capacity[j]
解决线性规划问题
status = model.solve()
输出结果
print("Status:", LpStatus[status]) print("Objective Value:", value(model.objective))
for i in range(I): for j in range(J): for t in range(T): if value(x[i][j][t]) == 1: print("Ship %s is at berth %s on hour %s" % (i, j, t)
原文地址: https://www.cveoy.top/t/topic/fPaU 著作权归作者所有。请勿转载和采集!