大家帮个忙。急。最大利润作业调度问题.谢谢了

cattle_z 2007-10-24 08:22:15
最大利润作业调度问题.假定只能在一台机器是处理n个作业a1,a2,...,an,每个作业有一个处理时间tj,利润pj和截止期dj.机器一次只能处理一个作业,作业aj必须不间断地运行tj个连续时间单位.如果作业aj在它的截止期dj之前完成,则得利润pj,但如果作业在截止期只后完成,则得利润为0.假设所有处理时间为1..n之间的整数.最大利润作业调度问题要求确定n个作业的一个子集,使得该子集中作业调度所获得的利润最大.试分析你所设计的算法的运行时间.

大家帮个忙,急啊 。能用动态规划法嘛?能的话,请把算法给我下,有程序更好,谢谢了 。
...全文
148 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
UltraBejing 2008-04-30
  • 打赏
  • 举报
回复
lz要干嘛?
从蓝田到元谋 2007-12-07
  • 打赏
  • 举报
回复
贪心法,楼主找一本算法的书
肯定有这个例子
waterx 2007-10-29
  • 打赏
  • 举报
回复
总利润R(a1,a2,...an)是
R(a2,a3,...an)或则
T(X(a1),R(a2,a3,...an))
最优解在R(a2,a3,...an)或T(X(a1),R(a2,a3,...an))中,不是加
waterx 2007-10-29
  • 打赏
  • 举报
回复
随便想了个,没有考虑很多:
设问题为求R(a1,a2,...an);利润T(X(a1,...aj),R(aj+1,...an))表示作业(a1,...aj)必须做的所有的组合,在截止期前得到的利润,如果a1,a2,...aj的时间和加上R中任何作业处理时间都要超过截止期,则停止递归,总利润是X(a1,...aj),X(a1,...aj)表示a1,...aj的总利润.
将问题分解成:
总利润R(a1,a2,...an) = R(a2,a3,...an)+T(X(a1),R(a2,a3,...an));
...
...
cattle_z 2007-10-25
  • 打赏
  • 举报
回复
大家帮个 忙,谢谢了。
觉得跟0-1背包问题有点像,但就是差了点什么,想了很久就是想不通,请高手给解下

5,530

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 模式及实现
社区管理员
  • 模式及实现社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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