标签: scheduling

工人调度算法

问题

这是我想要解决的问题的本质.在周末,我们有工人在托儿所照顾孩子.一个周末有16个不同的插槽可供填写.因此,对于为期4周的月份,有64个插槽可供填充.我们最多有30名托儿所工人(虽然我们需要更多.像孩子一样的人?).

编辑:每个时段都是离散的 - 它们不重叠.

目前有一个人每个月都会提出托儿所时间表.每个月根据每个人的喜好制定这个时间表是一项复杂而耗时的任务.在考虑了这个问题后,我心想,"必须有一个更好的方法!"

算法

我注意到问题基本上是一个二分图.在婚姻问题也是一个二分图,您可以通过使用像匹配算法解决埃德蒙兹的匹配算法.

但是这假设一个节点集中的每个节点仅匹配另一个节点集中的一个节点.就我而言,每个托儿所工作者只能工作一个时间段.由于我们严重缺乏人手,这是行不通的!一群人每个月必须工作两次才能填满所有时间段.

这似乎意味着这更像是经典的"医院/居民问题".它与婚姻问题的不同之处在于,"女性"可以接受来自不止一个"男人"的"建议"(例如,医院可以接纳多个居民).在我的情况下,托儿所工人可以占用多个时间段.

现在怎么办?

呼!

现在我已经完成了设置....有没有人知道任何解释或显示这种算法的好链接?有没有更好的方法来解决这个问题?我在想它吗?我做了一个谷歌搜索"医院居民算法",并找到了研究生的论文.尔加!我毕业于CS学位并参加了AI课程......但那是6年前的事了.救命!

Aaaaany建议表示赞赏!!

algorithm scheduling constraints graph matching

11
推荐指数
1
解决办法
4377
查看次数

tasklet和workqueue有什么区别

我是Linux设备驱动程序新手,想知道tasklet和之间的确切区别workqueue.此外,我也有以下疑虑:

  1. 在中断/进程上下文中运行时,哪个内核堆栈会执行中断,tasklet和workqueue?
  2. tasklet和workqueue的优先级是什么,我们可以修改它的优先级吗?
  3. 如果我实现自己的工作队列列表,我可以独立安排/优先排序吗?

c scheduling interrupt linux-device-driver linux-kernel

11
推荐指数
1
解决办法
9765
查看次数

气流中的Python脚本调度

嗨,大家好,

我需要使用airflow来安排我的python 文件(其中包含从sql和一些连接中提取数据).我已经成功地将气流安装到我的linux服务器中,我可以使用气流网络服务器.但即使在完成文档后,我也不清楚我需要在哪里编写脚本以进行调度以及该脚本如何在airflow webserver中可用,这样我才能看到状态

就配置而言,我知道dag文件夹在我的主目录中的位置以及示例dags所在的位置.

注意:请不要将此标记为重复与如何在Airflow中运行bash脚本文件,因为我需要运行位于不同位置的python文件.

请在Airflow网络服务器中找到以下配置:

在此输入图像描述

下面是AIRFLOW_HOME目录中dag文件夹的屏幕截图

在此输入图像描述

还可以在下面找到DAG创建屏幕截图和Missing DAG错误的屏幕截图

在此输入图像描述

在此输入图像描述

在我选择简单的 DAG之后,填充了丢失DAG的错误

在此输入图像描述

python scheduling reload apache-spark airflow

11
推荐指数
2
解决办法
2万
查看次数

todo.txt和任务管理

如果这经常被覆盖,请道歉,但我想知道其他人如何处理个人任务管理.

我读过(部分)GTD,开始兴奋,在整个地方安装了一吨插件,然后让它全部落在了路边.我用过todoist,outlook,谷歌日历,项目.我已经尝试在记事本,"笔记本",便利贴和电子表格等中编写列表.它们都没有.

为什么一个简单有效的todo应用程序很难找到?因为应用程序如此频繁使用,我发现使用该应用程序的任何小问题都会在使用几天后过度夸大.

到目前为止,我最喜欢的应用程序是todo.txt的变种,称为任务

你用什么?

scheduling task

10
推荐指数
1
解决办法
4789
查看次数

使用Ruby on Rails安排发送电子邮件任务的最佳方法是什么?

我想安排一项日常任务:每天早上7点,我都希望发送一封电子邮件(无需人工干预).

我正在研究RoR框架,我想知道最好的方法是什么?

我听说过BackgrounDRB,OpenWFEru调度程序或基于Cron的东西,但我是新手,不明白哪一个是为我的需要而制作的.

scheduling ruby-on-rails scheduled-tasks

10
推荐指数
2
解决办法
6550
查看次数

工作窃取始终是最合适的用户级线程调度算法吗?

我一直在研究我正在实现的线程池的不同调度算法.由于我正在解决的问题的性质,我可以假设并行运行的任务是独立的,不会产生任何新任务.任务可以是不同的大小.

我立即采用最流行的调度算法"偷工作",使用无锁的deques作为本地工作队列,我对这种方法比较满意.但是我想知道是否有任何常见的情况,工作窃取不是最好的方法.

对于这个特殊问题,我对每个单独任务的大小有一个很好的估计.工作窃取没有利用这些信息,我想知道是否有任何调度程序可以提供更好的负载平衡,而不是工作窃取这些信息(显然具有相同的效率).

NB.这个问题与之前的问题有关.

algorithm multithreading load-balancing scheduling work-stealing

10
推荐指数
1
解决办法
3690
查看次数

pthread_join是如何实现的?

我对线程有点新意,所以你必须原谅这个问题的天真.

如何pthread_join实现以及它如何影响线程调度?

我总是想象pthread_join用while循环实现,只是导致调用线程屈服,直到目标线程完成.像这样(非常近似的伪代码):


atomic bool done;

thread_run {

    do_stuff();
    done = true;

}

thread_join {

    while(!done) {
        thread_yield();
    //  basically, make the thread that calls "join" on
    //  our thread yield until our thread completes
    }
}

这是一个准确的描述,还是我过分简化过程?

干杯!

linux multithreading scheduling pthreads

10
推荐指数
2
解决办法
5518
查看次数

Java预定执行程序的准确性

我在使用Java预定执行程序时遇到了一个特殊问题,并且想知道我所经历的是否正常.

我需要安排以5秒的预定义速率执行的任务.预计这些任务将不时需要超过5秒的时间执行,但是当运行它们的时间低于5秒时,备份的任务列表应该快速连续运行以赶上.当运行的任务,重要的是要知道什么是原定的执行时间(考虑scheduledExecutionTime()java.util.TimerTask).最后,我需要跟踪预定时间和实际时间之间的差异,以确定时间表"漂移"的时间和数量.

到目前为止,我已经使用Java执行器实现了所有这些,下面的类说明了一般的想法:

public class ExecutorTest {
    public static final long PERIOD = 5000;

    public static void main(String[] args) {
        Executors.newSingleThreadScheduledExecutor().scheduleAtFixedRate(
                new Command(), 0, PERIOD, TimeUnit.MILLISECONDS);
    }

    private static final class Command implements Runnable {
        long timestamp = 0;

        public void run() {
            long now = System.currentTimeMillis();

            if (timestamp == 0) {
                timestamp = now;
            }

            // Drift is the difference between scheduled time and execution time
            long drift = now - timestamp;

            String format = …
Run Code Online (Sandbox Code Playgroud)

java scheduling executor

10
推荐指数
1
解决办法
2969
查看次数

是否可以在 UNIX 环境中运行 VBScript?

我有一个 Vbscript,用于将 Excel 工作表合并到一个工作簿中。我想知道我们是否可以在unix系统中执行vbscript(.vbs)文件。如果是,请帮我办理手续。提前致谢。

unix vbscript scripting scheduling execution

10
推荐指数
1
解决办法
4万
查看次数

sched_batch和sched_other调度有什么区别?

我正在研究Ubuntu项目.没有找到sched_batch和sched_other之间的明显区别.有人能告诉我区别吗?

linux operating-system scheduling

10
推荐指数
1
解决办法
3422
查看次数