首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >需要简单的图形解决问题的建议

需要简单的图形解决问题的建议
EN

Stack Overflow用户
提问于 2010-05-19 14:52:23
回答 2查看 809关注 0票数 3

我的一位同事向我提出了一个在线评委网站上的练习,这基本上是一个关于小城镇疏散计划的图解问题。

我不需要答案(我也不想要它),我只需要一个建议,关于哪种方法是解决它的最好方法,因为我对这类问题还是个新手。

问题包括有工人的城镇建筑和核弹掩体,以防发生核攻击。我必须构建一个算法,将每栋建筑的工人分配到一个或多个放射性物质避难所,但在某种程度上,一些避难所不会变得过于拥挤,而另一些避难所几乎是空的(否则我只会让工人去最近的一个)。

问题是:http://acm.timus.ru/problem.aspx?space=1&num=1237

如果它离线了,这里是谷歌缓存的版本:http://webcache.googleusercontent.com/search?q=cache:t2EPCzezs7AJ:acm.timus.ru/problem.aspx%3Fspace%3D1%26num%3D1237+vladimir+kotov+evacuation+problem&cd=1&hl=pt-PT&ct=clnk&gl=pt

到目前为止,我所做的是为每一栋建筑获得最近的避难所,并从该建筑中转移与避难所容量相等的工人数量。然后搬到下一栋楼去。但有时工人的数量大于避难所的容量,在这种情况下,在我迭代每一座建筑后,我会再次迭代,然后应用相同的算法,直到每一座建筑都有0名工人,问题是这几乎不是解决问题的最佳方法。

任何提示都是受欢迎的,请不要觉得我在询问答案,我只是想要一个正确方向的建议来解决它。

提前谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-05-19 16:42:57

这看起来与Transhipment Problem完全一样,可以(显然)使用线性规划来解决。(我说很明显,因为这看起来像是整数线性规划的一个实例)。

从该站点:

出现交通问题的标准场景是通过连接给定城市集的高速公路网络发送产品单元。每个城市要么被视为“源”,因为单位将从那里运出,要么被视为“汇”,因为那里需要单位。每个源具有给定的供应,每个宿具有给定的需求,并且连接源-汇对的每个高速公路具有给定的单位发货的运输成本。这可以以网络的形式可视化,如下面的图TP-1所示。

给定这样一个网络,感兴趣的问题是确定一个最优的运输方案,该方案在供需约束下最小化运输的总成本。

希望这能有所帮助。

票数 3
EN

Stack Overflow用户

发布于 2010-05-19 15:23:45

这看起来像是一个标准的Min-cost max flow问题。一个有大约200个顶点的二部图应该很容易在时间上运行。

要创建顶点约束(每个节点只能处理k个人),您只需创建第二个图G_1,其中为每个v_i添加一个额外的顶点-并使flow v_i To u_i是任何约束,在本例中为k+1,成本为0。所以基本上,如果在原始图G中有一条边(a,b),那么在G_1中,每条边都会有一条边(u_a,v_b)。实际上,您正在创建第二层顶点,它将每个顶点的流限制为k。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2866635

复制
相关文章
如何在本机搭建SVN服务器
http://www.visualsvn.com/server/download/
星哥玩云
2022/07/03
1.6K0
如何在Vuejs中实现页面空闲超时检测
您是否需要检查用户在Vue应用程序中的不活跃状态?如果用户在一段时间内处于非活动状态,则要自动注销该用户或显示一个计时器。通常,具有机密数据的系统(如银行)通常会实现这种功能。需求是监听3秒钟的不活动状态并显示带有10秒计时器的模态提示框。如果在10秒的会话中没有任何操作,请自动注销用户。
前端知否
2020/03/23
3.1K0
如何在Vuejs中实现页面空闲超时检测
DBnet检测加分类,提取身份证要素
向AI转型的程序员都关注了这个号👇👇👇 机器学习AI算法工程   公众号:datayx DBnet文本检测网络加入多分类,可以实现模型很小又能够区分类别的功能,然后可以根据检测框的标签快速提取目标字段,在端侧部署的话就能达到非常高的精度和效率。 1.标注数据 标注方法和标注目标检测的数据一样,一个框加一个标签 pip install labelImg ==1.8.6 安装完毕后,键入命令: labelImg 或者下载工具  labelImg.exe链接:https://pan.baidu.com/s/14
机器学习AI算法工程
2022/07/18
1.8K0
DBnet检测加分类,提取身份证要素
如何在 Kubernetes 环境中检测和阻止 DDoS 攻击
DDoS 即分布式拒绝服务攻击已经存在很久了,臭名昭著且难以处理(与任何其他攻击一样)。顾名思义,DDoS 攻击会导致应用程序或服务因资源超出其容量而对用户不可用,并导致应用程序崩溃或无响应。DDoS 是 DoS 的一种形式,其中攻击来自多个来源(机器人),通常分布在各个地理位置。想象一下,您的手机在很短的时间内收到数千个垃圾电话,而其中一个合法电话正在尝试与您联系。您如何确保您参加合法的通话?
用户5166556
2023/08/09
5370
如何在 Kubernetes 环境中检测和阻止 DDoS 攻击
如何在Nginx反向代理的CakePHP中检测SSL?
我使用nginx作为负载平衡器,后面是Apache应用服务器。由于SSL连接在负载平衡器处终止,因此$ b b $ b $ _ SERVER ['HTTPS'] $ b
习惯说一说
2019/08/01
1.1K0
如何在Nginx反向代理的CakePHP中检测SSL?
【DB笔试面试511】如何在Oracle中写操作系统文件,如写日志?
可以利用UTL_FILE包,但是,在此之前,要注意设置好UTL_FILE_DIR初始化参数。
AiDBA宝典
2019/09/30
30.2K0
【DB笔试面试511】如何在Oracle中写操作系统文件,如写日志?
神思第二代身份证验证系统怎么拍照_神思二代身份证验证器没反应
神思官网下载相应的驱动和演示Demo,下载之前需要根绝设备序号在官网进行用户注册登录
全栈程序员站长
2022/08/03
1.4K0
神思第二代身份证验证系统怎么拍照_神思二代身份证验证器没反应
git命令中带有特殊符号如@
使用带用户密码clone的方式: git clone https://username:password@remote 当username和password中含有特殊符号会导致出错, 因为为http的请求,所以需要将特殊符号encode成url格式的 java使用: String c = java.net.URLEncoder.encode(".","utf-8"); System.out.println(c); 源文档 <http://blog.csdn.net/qq1142003960/article/
千往
2018/01/24
2.1K0
如何在时间序列预测中检测随机游走和白噪声
无论多么强大,机器学习都无法预测一切。例如与时间序列预测有关的领域中,表现得就不是很好。
deephub
2021/07/23
1.9K0
如何在时间序列预测中检测随机游走和白噪声
ObjectARX中反应器的使用
ObjectARX中反应器的使用 反应器机制是观察者模式(设计模式)的一种实现,在该机制下,有事件通知者和事件接收者,负责接收事件的称为反应器 反应器列表:在反应器可以从通知者处接收消息之前,必须显式地将反应器添加到通知者的反应器列表中。 反应器部分类继承关系 种类:
用户3519280
2023/07/24
4150
如何在Windows和Linux服务器中检测混淆命令
在目前的无文件恶意软件或网络犯罪领域中,命令行混淆已经是很常见的了。为了绕过基于签名的安全检测机制,红队渗透测试以及APT攻击活动都会使用各种专用的混淆/模糊技术。同时,许多代码混淆工具(即执行语法转换工具)都已开源,这也使得网络攻击者们对给定命令进行混淆处理变得越来越容易了。
FB客服
2019/06/18
3K0
如何在Windows和Linux服务器中检测混淆命令
Linux Shell脚本中获取本机ip地址方法
倘若有多个网卡,可能会出现多个不同网段的IP,这个时候如果还是执行上述命令就会返回多个IP,如下:
小菠萝测试笔记
2020/06/09
27.4K0
Linux Shell脚本中获取本机ip地址方法
查看本机IP
有时候,在登录到云服务器之后,可能需要在终端查询该服务器的ip。 之前我都是用的 ip.cn ,但是感觉不行了。 现在提供一些其他的可选择项: $ curl ipinfo.io { "ip": "60.205.205.243", "city": "", "region": "", "country": "CN", "loc": "34.7725,113.7270", "org": "AS37963 Hangzhou Alibaba Advertising Co.,Ltd." } $
魔王卷子
2019/05/31
7.3K0
SVN安装---本机安装---SVN 安装到eclipse中(6)
在eclipse里面用SVN: 首先是插件: 放到eclipse的dropins下面: 然后重启eclipse就好了 再就是到 windows preference
wust小吴
2019/07/05
8200
SVN安装---本机安装---SVN 安装到eclipse中(6)
绑定事件中 如可控制函数的执行次数
var flag = true; function onlyOne() { if(flag) { "这里是要执行的代码"; } flag = false//该方法是控制函数仅执行一次 因为flag是全局变量 onlyOne()函数执行一次后flag就变成false了 函数就执行不了了
大当家
2018/06/28
2.4K0
首发!DevOps@BOC — 器用之道,如琢如磨
我来自中国银行软件中心的一个开发部门,中国银行软件中心从 2013年开始试点敏捷软件开发以及相关CI、CD等实践,而我们内部真正的提 DevOps 比这个要更晚些。
DevOps时代
2018/10/08
1K0
首发!DevOps@BOC — 器用之道,如琢如磨
项目本机部署过程中的若个问题
项目本机部署对老手来说纯粹是一个操作的过程,没有任何的技术难点,因此不会去关注,也不常去操作,有时候换一台计算机,或者在别人的计算机上开发一个新项目,部署的时候又会冒出不少小问题。关于jdk安装和项目导入这些这里都不赘述,现仅就若干问题作下备忘。一、关于git部署一个项目首先要从版本库中获取一个项目,以git为例,首先要在代码托管平台上开通一个新的账户,并拥有获取该项目的权限,然后打开git bash,配置用户信息,信息与平台一致。 git config --global user.name "nick"g
java达人
2018/02/01
8490
点击加载更多

相似问题

反应-本机元素检测

14

粘性页脚反应本机如flipkart

13

(反应本机)如何检测电池的水平反应本机?

13

检测FlatList onBeginningReached反应本机

12

反应-本机检测屏幕缺口

60
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档