GUROBI实战案例(三)——交通运输(网络流模型)

问题介绍见:网络流问题:交通调度、仓储运输 (aliyun.com)

import gurobipy as gb
from gurobipy import *
# 参数

start= ["a"]
mid_point = ["b","c","d","e","f"]
end = ["g"]

arcs, capacity = gb.multidict({
    ("a","b"):50,
    ("a","c"):100,
    ("b","d"):40,
    ("b","e"):20,
    ("c","d"):60,
    ("c","f"):20,
    ("d","e"):50,
    ("d","f"):60,
    ("e","g"):70,
    ("f","g"):70
})

# model
model = gb.Model()

# decision var
flow = model.addVars(arcs, lb = 0, vtype = GRB.INTEGER, name = "flow")
# constraints
# mid_points constraints
model.addConstrs((flow.sum("*", mid) == flow.sum(mid, "*") for mid in mid_point), name = "mid_point constrains")
# capacity constraints
model.addConstrs((flow[arc] <= capacity[arc] for arc in arcs), name = "capacity constraints")
# model.addConsts((flow.select(arc) <= capacity.select(arc) for arc in arcs), name = "capacity constraints")

# objective
obj = flow.sum("*", "g")
model.setObjective(obj, GRB.MAXIMIZE) #默认是求最小值
model.optimize()
# print(flow)
print(model.objVal)  # 打印目标函数值
for v in model.getVars():
  # 打印最终解中的决策变量
    print(v.x)
相关推荐
Dante79835 分钟前
【数据结构】二叉搜索树、平衡搜索树、红黑树
数据结构·c++·算法
HelloGitHub36 分钟前
经过 10 亿级性能验证的隐私计算开源利器
python·开源·github
一号言安1 小时前
牛客python蓝桥杯11-32(自用)
开发语言·python
梦丶晓羽1 小时前
自然语言处理:主题模型
人工智能·python·自然语言处理·lda·主题模型
驼驼学编程1 小时前
决策树,Laplace 剪枝与感知机
算法·决策树·剪枝
坚强小葵1 小时前
实验8-2-1 找最小的字符串
c语言·算法
weixin_525936331 小时前
Python数据分析之机器学习基础
python·机器学习·数据分析
apcipot_rain1 小时前
【密码学——基础理论与应用】李子臣编著 第三章 分组密码 课后习题
python·算法·密码学
慕丹1 小时前
项目工坊 | Python驱动淘宝信息爬虫
爬虫·python·selenium
lucky1_1star2 小时前
FX-函数重载、重写(覆盖)、隐藏
java·c++·算法