繁体   English   中英

用于调度寿命的调度算法

[英]Scheduling Algorithm for Scheduling Life

我正在尝试编写一些代码来安排一组由用户输入的现实生活任务。 这些任务存储在sqlite数据库中。 目前,我要考虑的唯一参数是

The project to which a task belongs to --> p
The name of the task itself --> t
And the due date for this task --> d

projectdue date参数是可选的。 但是,假设用户将始终至少为每个任务输入task namedue date 。.我想知道是否可以使用例如Completely Fair Scheduler (CFS)的调度程序来调度任务集! 我意识到CFS是为调度任务而编写的,其粒度(纳秒级)要比为此目的建议的任务集要好得多。但是我意识到,如果我可以对其进行修改以使其能够工作,那么它可能是可行的,并且可能更有效。与我们对时间的感知在同一时间范围内完成的任务。

数据库中的典型条目将采用(p,t,d)格式。 'p'是可选的。 这里有一些例子..

(_, 'Call home', 29/2/2012)
(Work, 'Meet boss', 14/3/2012)
(Work, 'Ask for raise', 18/3/2012)
(_, 'Book tickets', 10/3/2012)
(Work, 'Quit', 14/4/2012)
(Personal, 'Get botox injections', 10/3/2012)
(Personal, 'Get breast implants', 10/10/2012)
(_, 'Dad bday', 7/10/2012)

这是要考虑的情况。 我想早上起来。 在上述任务集上运行此“尚待编码”算法..如上面给出的那些..我希望获得一天余下时间的计划,以最大化吞吐量。 在稍后的阶段,我想将参数传递给该算法,使我可以控制调度程序以根据当前情况返回一组任务。 就像我在工作一样,我希望能够将参数传递给算法,以要求它仅返回可以在工作中完成的任务。

我希望我能传达其要旨。 我知道仅凭due date不足以例如使用CFS安排任务。.但是,如果我需要考虑其他参数,请告知我。 对于采用哪种调度算法的任何建议都会有所帮助。

谢谢。

cfs用于调度cpu上的任务片。 您是人,不能像cpu那样执行多任务。 您最好完成一项任务。

通常用于解决人的调度任务的工具与约束规划有关 它们使您能够在各种约束下(例如一天只有几个小时,却无法做两个)来优化某些变量(在您的情况下,生产率,我认为这与优先级不同的任务有关)事物同时)。

事实证明,总的来说,这是一类难题,而且没有一个真正好的解决方案(尽管许多解决方案都是基于一种或多种形式的引导搜索)。 因此,您需要调整方法,尝试使用不同的算法,等等。因此,已经开发了各种程序包,它们提供了相当抽象的接口,可让您以正式的形式描述问题,然后尝试以各种方式解决问题。

说了这么多,对于任何一个特定的情况(例如您的情况),简单地编写一个直接的解决方案(而不是学习这些复杂的软件包之一)可能会更有效率。 但我看不到使用cfs作为任何合理解决方案的一部分。

不知道这是您要找的东西还是有用的-对不起。 如果我在您的位置,我想我会尝试使用choco,因为这是我有一定经验的一个约束软件包。 但是您不是我,我怀疑这对您来说是一个好解决方案-您可能最好只是根据此处的信息进行搜索,然后在对可能的情况有了更好的了解后再问另一个问题?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM