任务分配问题

yucubby 2012-12-14 09:37:39
小弟在做paper时遇到一个算法问题,看上去像背包问题,但又不是,诚心求解思路。
假设有N块磁盘,每块已用容量Si,剩余可用容量为Ri,这里有M个任务,每个任务需要占用的磁盘空间为Pi,请问
1. 如果分配这些任务到N块磁盘中,使得每个任务都能分配成功?
2. 在1的基础上,如何保证最终磁盘负载均衡(意味每块磁盘的已用容量尽量相等)?

...全文
606 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
yucubby 2012-12-14
  • 打赏
  • 举报
回复
多谢回复。但是我这个问题跟2分图完美匹配不太一样也。任务和磁盘可以看成两类顶点,一个任务(点)可以跟多个磁盘(点)有边连接(只要磁盘剩余空间足够),多个任务(点)也可以连到一个磁盘上。最终分配结果要求所有的任务(点)都能匹配并且所有磁盘的负载均衡。如果是np问题,有什么近似最优解吗?
绿色夹克衫 2012-12-14
  • 打赏
  • 举报
回复
这个问题NP的,没有多项式时间的解法。
阿麦 2012-12-14
  • 打赏
  • 举报
回复
又一个二分匹配问题。 http://bbs.csdn.net/topics/390310540
01-课程计划02-Activiti工作流概念(使用程序演示工作流执行)03-Activiti介绍04-准备Activiti开发环境05-准备开发环境(配置文件)和核心API的介绍06-Activiti入门程序HelloWorld演示流程的执行07-流程定义的CRUD(上)08-流程定义的CRUD(下)09-流程实例,任务,执行对象控制流程的执行(上)10-流程实例,任务,执行对象控制流程的执行(下)11-流程变量(上)12-流程变量(下)13-流程历史数据查询14-第一天知识点回顾15-连线16-排他网关17-并行网关18-流程实例开始结束19-接收任务活动(receiveTask)20-个人任务分配(三种方式)21-组任务分配(三种方式)22-工作流提供的用户角色组(IdentityService)23-项目框架搭建(Struts)24-请假流程管理系统框架搭建(Spring+Struts)25-请假流程图26-知识点回顾27-系统登录(Session)28-自定义拦截器实现Session验证29-部署流程定义(zip文件部署)30-流程定义和部署对象查询31-查看流程图和删除流程定义32-请假单业务的查询列表和新增保存33-请假单业务的编辑保存和删除34-申请请假(启动流程实例)35-查找正在执行的个人任务列表36-使用类动态指定下一个任务的办理人37-办理任务(获取任务节点form key中的值)38-办理任务(使用任务ID,查询请假单)39-办理任务(使用任务ID,查询任务完成后的连线名称集合)40-完成任务41-查询办理任务时操作的历史批注信息(上)42-查询办理任务时操作的历史批注信息(下)43-在请假单中查询历史批注信息(使用请假单ID查询)44-查看当前流程图和课程总结

33,010

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧