平面图的最小割转最短路(点非常多)



1170: 一网打尽

Time Limit: 10 Sec   Memory Limit: 128 MB
Submit: 57   Solved: 13
[ Submit][ Status][ Web Board]

Description

        一天关押危险犯人的监狱突然爆炸了,里面的犯人都逃了出来。这些犯人以前都是一个犯罪团伙的,他们都要逃到他们的老巢!这可万万不得了!
         警方立即动员起来,派出警察来拦截他们。
         如图:
整个地图是一个网格图形,坐标(x,y)表示第x行的第
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是使用Lingo求解最小费用最短路问题的代码: ```lingo model: sets: i /1*10/ j /1*10/ k /1*20/ parameters: c(i,j) / 1 2 3 2 4 1 3 4 2 5, 2 1 3 2 1 4 3 3 3 2, 2 3 1 4 2 5 1 2 4 3, 3 2 4 1 3 2 5 1 4 2, 4 1 2 3 1 4 2 3 2 3, 1 4 5 2 4 1 3 2 2 1, 3 3 1 5 2 3 1 4 3 2, 4 1 2 1 3 2 4 3 1 2, 2 2 4 4 2 1 3 2 2 3, 5 1 3 2 1 4 2 3 1 2 / f(i,j) / 10 30 20 40 60 10 20 10 30 50, 20 10 30 40 10 50 20 30 40 20, 30 20 10 50 40 60 10 30 20 40, 40 30 50 20 10 30 60 10 20 30, 50 10 20 30 20 10 40 30 30 20, 10 50 60 20 50 10 20 30 20 10, 20 40 30 10 30 20 50 20 40 30, 30 10 20 10 20 30 40 30 10 20, 10 20 50 40 30 10 20 30 20 20, 50 10 30 20 10 50 40 30 20 40 / start(i) /1/ end(i) /10/ variables: x(i,j) binary z equations: obj: z = sum((i,j), f(i,j)*x(i,j)) start_con: sum(j, x(start,j)) = 1 end_con: sum(i, x(i,end)) = 1 flow_con(i)$(not sameas(i,start) and not sameas(i,end)): sum(j, x(i,j)) - sum(j, x(j,i)) = 0 arc_con(i,j): x(i,j) + x(j,i) <= 1 subtour_con(k)$(card(k) gt 1): sum((i,j)$(ord(i) lt ord(j) and i in k and j in k), x(i,j)) <= card(k) - 1 model_name "MinCostShortestPath"; solve; display z, x; ``` 该模型中,`i`和`j`表示图的节,`k`表示子集,`c(i,j)`表示节i到节j的距离,`f(i,j)`表示节i到节j的费用,`start(i)`表示起,`end(i)`表示终,`x(i,j)`表示是否选择从节i到节j的路径,`z`表示最小费用。模型的约束分别为:起只有一条出边,终只有一条入边,流量守恒约束,路径是有向无环图,子集约束,目标函数为最小费用。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值