python运输问题_用Python求解运输问题

41528d3028836879cd698677c3999917.gif用Python求解运输问题

from pulp import * import numpy as np from itertools import product Sale = 3 Production = 3 cost = np.array([[11,10,9],[7,2,4],[3,1,4]]) demand = np.array([5,12,9]) capacity = [8,14,17] prob = LpProblem(“Transportation“,LpMinimize) X = LpVariable.dicts(“Unit_Cost“, product(range(Sale), range(Production)), 0, None) prob += lpSum(cost[l, c] * X[l, c] for l in range(Sale) for c in range(Production)) for l in range(Sale): prob += lpSum(1*X[l, c] for c in range(Production)) == demand[l] for c in range(Production): prob += lpSum(1*X[l, c] for l in range(Sale)) <= capacity[c] prob.solve() solution = [] # Get optimal solution if LpStatus[prob.status] == “Optimal“: X = {(l, c): value(X[l, c]) for l in range(Sale) for c in range(Production)} else: print(“Optimization failed.“) min_cost = pulp.value(prob.objective) for i in range(3): solution.append([]) for j in range(3): solution[i].append(X[(i,j)])

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值