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)
相关推荐
实名上网宋凯宣8 小时前
Django
后端·python·django
如若1239 小时前
【论文复现】CoFailMed:从零复现医学图像分割的共享失败审计,含完整代码流程与科研绘图
人工智能·python
ZhengEnCi9 小时前
GPT-6 Astra 爆改 Qwen 权重真有那么神吗:权重空间编程 0.016% 参数的真相
算法·架构
罗西的思考10 小时前
【轻量化复刻大模型 / KIMI K3】KDA(Kimi Delta Attention):并行
人工智能·算法·机器学习
砚底藏山河10 小时前
python量化自定义周期 K 线合成
java·开发语言·数据库·python·金融
视觉小萌新10 小时前
AI Class 3 · Chapter 1:变量、字符串、list/dict、if/for(python学习-小白版-有经验可跳过)
python·学习·list
薛定谔的猫-菜鸟程序员11 小时前
软件架构设计师开发资料大全(从入门到精通)
后端·python·系统架构·flask·架构设计师
夜不会漫长12 小时前
C++:红黑树
数据结构·算法
AI备案指南-满满13 小时前
算法备案审核不通过,一般是什么原因?
java·人工智能·算法·大模型备案·算法备案·大模型登记
Ramble_Naylor13 小时前
Rust深度解读:Send 与 Sync 的本质与线程安全边界
python·算法·rust