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)
相关推荐
国雪5 分钟前
python-协程
python
乐观勇敢坚强的老彭7 分钟前
C++ 竞赛常用算法模板速查表
开发语言·c++·算法
高洁0112 分钟前
工信部教考中心证书
人工智能·深度学习·算法·机器学习·知识图谱
一木 之林15 分钟前
Python.六.(一)--1.标准库、常用工具与基础操作(进阶)
python·rpc·dubbo
我变成萤火虫30 分钟前
河南萌新联赛2026第(三)场:郑州轻工业大学
数据结构·c++·算法·贪心算法·stl·深度优先·哈希算法
Dr.kangder33 分钟前
嵌入式面试总结(十九)——内存泄露
单片机·算法·面试·职场和发展·架构·硬件架构
月光船幽幽34 分钟前
铁牌协议卡:节流与重构
python·重构
Herbert_hwt1 小时前
【C语言基础】常量、选择结构与运算符全解析
c语言·开发语言·算法
骇客野人1 小时前
Linux 服务器 Python 版 MCP 服务部署整体方案(适配 Claude/Cursor/自研Agent)
linux·服务器·python
AI视觉网奇1 小时前
动作识别 视频理解大模型
开发语言·python·音视频