动态规划-一个比较麻烦的任务调度问题

问题描述

一个比较麻烦的任务调度问题
先上题:
    问题描述

  有若干个任务需要在一台机器上运行。它们之间没有依赖关系,因此 可以被按照任意顺序执行。
  该机器有两个 CPU 和一个 GPU。对于每个任务,你可以为它分配不 同的硬件资源:
  1. 在单个 CPU 上运行。
  2. 在两个 CPU 上同时运行。
  3. 在单个 CPU 和 GPU 上同时运行。
  4. 在两个 CPU 和 GPU 上同时运行。
  一个任务开始执行以后,将会独占它所用到的所有硬件资源,不得中 断,直到执行结束为止。第 i 个任务用单个 CPU,两个 CPU,单个 CPU 加 GPU,两个 CPU 加 GPU 运行所消耗的时间分别为 ai,bi,ci 和 di。
  现在需要你计算出至少需要花多少时间可以把所有给定的任务完成。
输入格式
  输入的第一行只有一个正整数 n(1 ≤ n ≤ 40), 是总共需要执行的任 务个数。
  接下来的 n 行每行有四个正整数 ai, bi, ci, di(ai, bi, ci, di 均不超过 10), 以空格隔开。
输出格式
  输出只有一个整数,即完成给定的所有任务所需的最少时间。
样例输入
3
4 4 2 2
7 4 7 4
3 3 3 3
样例输出
7
样例说明
  有很多种调度方案可以在 7 个时间单位里完成给定的三个任务,以下是其中的一种方案:
  同时运行第一个任务(单 CPU 加上 GPU)和第三个任务(单 CPU), 它们分别在时刻 2 和时刻 3 完成。在时刻 3 开始双 CPU 运行任务 2,在 时刻 7 完成。

我刚开始学算法,对动态规划还不熟练,感觉这道题要用动态规划来做,却一直都找不到最优子结构,求大神点拨!

解决方案

一个任务调度问题

解决方案二:

http://download.csdn.net/detail/always2015/8814745

解决方案三:

找不到最优子结构,那就不要用动态规划算法。关于任务调度算法,占用的资源多用的时间就少。既然需要你找出一个调度方案,用的时间最少,那就采取贪心算法,在当前做出最优选择。贪心算法选取调度方案原则:首先选择时间最少,其次选择占用资源最少。所以上述任务中,可供调度的方案有:a1/c1,a2/b2,a3。在执行任务的先后方便,若采用穷举法,那就是3!=6种方案,弃之。在选取任务时,建议画出三个时间轴辅助你思考。每选取一个任务要考虑到执行下一个任务时,中间空闲出来的时间。换句话说就是时间碎片最小化。所以答案很明显了。

时间: 2024-09-16 23:20:13

动态规划-一个比较麻烦的任务调度问题的相关文章

vs2013-VS2013安装遇到一个很麻烦(奇怪)的问题

问题描述 VS2013安装遇到一个很麻烦(奇怪)的问题 安装的时候一直在往C:WindowsInstaller目录中拷贝内容. 之后由于不明原因,C:WindowsInstaller文件夹的内容同时正在被删除. 结果就是安装失败,系统刚装,不装其他软件的时候安装也是这个情况,上次重做系统发现的,但是突然有一次C:WindowsInstaller里的内容没有被删除,终于成果过一次. 联想品牌机,附带的杀毒软件也卸载了 win8系统,没有任何安全软件?需要怎么解决? 解决方案 这个只能怪VS2013

java servlet 数据库-java servlet的一个作业题.麻烦各位帮忙解决

问题描述 java servlet的一个作业题.麻烦各位帮忙解决 ** 1.配置本地端口号为99992. 提供留言页面,包括,标题,留言类型,内容提交到serlvet中进行处理.如果必填项为空,跳转重新让用户输入.留言信息完整保存到数据库中,并跳转成功页面,提示用户留言成功.addNote.jsp 增加留言的JSPReceiveNotServlet.java 接收留言信息的servletNote.java 留言实体对象Dbconnection.java 连接数据库并保存留言Success.jsp

动态规划-一个老问题,最大子段和

问题描述 一个老问题,最大子段和 动态规划算法如下: MaxSbuSum(int n,int a[]) { int sum=0,b=0; for j=1 to n do { b+=a[j]; if(b<0) b=0; if(b>sum) sum=b: } return sum } 这样可以求出最大子段和,现在想同时求出最大子段和的区间,该怎么添加代码呢? 解决方案 最大子段和问题最大子段问题 分治算法最大子段和问题 解决方案二: 记录一下当前区间,如果多个最大的话,可以两遍扫描,保存每次的最大

jsp-JSP中编写JS代码过程中,调用了一个JSP表达式,发现一个问题,麻烦各位大神解答

问题描述 JSP中编写JS代码过程中,调用了一个JSP表达式,发现一个问题,麻烦各位大神解答 背景: 楼主使用Myelipse新建了一个Web项目,在编写一个JSP文件的时候遇到一个问题,首先是使用了img,并且写了一个事件,代码如下: <imgclass="poke" src="poke/back.jpg" title="hit" id="play_id_3" onClick="change_pic()&qu

苹果iCloud共享功能貌似是一个“麻烦”

苹果在手机上的造诣一直很高,尽管iOS 6和美洲狮都显著的强化了共享功能,不过在"共享"的概念上,苹果公司相对来说还是很狭隘的.如今,社会处在一个联系日益紧密的时代,人们也渐渐对于去分享文字.图像.文件等等也是非常愿意花更多的时间的,来进行人与人更好的沟通.这对苹果来说,有点小难,毕竟是封闭的系统. 之后苹果推出了icloud,我们特别关注了一下iCloud,让我们看到了一个对立的理念与做法.在线服务严格定义了可以共享什么以及如何进行共享,不过所有的这些必须在苹果的生态系统之内才能实现

ASP.NET技巧:使用 Anthem.NET 框架的一个调试经历

asp.net|技巧 简介:Anthem 是一个很好用的 Ajax 框架,支持 ASP.NET 1.1, 2.0. 由于该框架的所有控件都继承自 ASP.NET 自身的服务器控件,保留了几乎所有这些控件的属性和行为(除了把它们的 PostBack 改为 CallBack 的无刷新调用之外).所以学习曲线很平缓. 今天我在使用 Anthem 的时候碰到了一个比较麻烦的调试问题,记录于此. 在下面的代码中,我用了一个 Anthem.Repeater 控件.         <asp:XmlDataS

不用模板,只用ASP+FSO生成静态HTML页的一个方法

asp+|fso|静态|模板 FSO生成静态HTML文件的时候替换模板标签一直是一个很麻烦的问题,至少我是这么认为的,还要别外做一个模板,麻烦!,我今天看见有一个方法可以解决这个问题 如一个正常的index.asp页面,并且用ASP代码调出数据库中的内容,另建一个makehtml.asp的页面,加入一个textarea域,假设为name="body",将index.asp在textarea里调出来,如:<textarea name="body"><

快速构建一个简单的个人框架系列(3)--FastObject具体实现编码

前面说了那么多的不具体的想法和设计,今天我们就一个一个来实现它! 让我们一起来面对一个一个问题吧! 1.底层分别使用的是什么操作access数据库和sqlserver数据库的? 这个问题本是一个很麻烦的问题,我采用的是SqlHelper和AccessHelper,我也已经忘记了当初是从那 里下,在这里感谢原作者和汉化者. 2.你是如何把SqlDataReader和OleDbDataReader转换为T对象并自动赋值? 对于一个未知的实体类,想要向它的属性赋值,我用的是反射. DbDataRead

Domino 自定义表单遇到的一个关键问题

问题描述 这几天在处理自定义表单的几个问题.目前有一个比较麻烦的问题需要讨论一下.目前我我通过文档配置字段列表,根据字段生产表单html(read/edit).并且根据用户状态进行载入表单.表单通过公式或ajax方式载入,通过代理提供创建/更新文档.通过Request_Content获取域,并解析处理.目前问题是,如果Ajax提交表单内容会被urlencode发送,到服务器需要decode解码.使用@URLDecode解码具有2K长度限制.在网上找了很多的URLDecode都不能很好的解码.这个