问题标签 [timeslots]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
573 浏览

vb.net - 表示可预订时隙的数据结构

人们对时隙数据结构有什么建议?

我有许多活动,我打算将它们显示在数据网格中,以天为列,以时间段为行。这向我建议了一个时隙数据结构,对于我想要使用的每个值(例如时隙 ID 和剩余时隙数),在五天(列)中具有 5 个属性。

所以...

  • 房产 Day1ID
  • 物业 Day1Slots
  • 属性 Day2ID
  • 物业 Day2Slots
  • 属性 Day3ID
  • 物业 Day4Slots
  • ETC

然后每个 TimeSlot 结构将是一个特定的时间......比如 9:00 和之后每个小时的另一个。然后我会有一个时间段结构列表,这些结构将自动绑定到数据网格。

我在这里开拓新领域,如您所见,我不太清楚该做什么/如何做?

欢迎所有建议,

谢谢

0 投票
3 回答
3422 浏览

python - Worker/Timeslot 置换/约束过滤算法

希望你能帮助我解决这些问题。这对工作没有帮助——它是为了一个由非常努力的志愿者组成的慈善机构,他们真的可以使用一个比他们目前拥有的更容易混淆/烦人的时间表系统。

如果有人知道一个好的第三方应用程序(当然)可以自动执行此操作,那几乎一样好。只是......请不要建议随机的时间表东西,比如预订教室的东西,因为我认为他们做不到。

提前感谢您的阅读;我知道这是一个大帖子。不过,我正在尽最大努力清楚地记录这一点,并表明我自己已经做出了努力。

问题

我需要一个工人/时隙调度算法,它为工人生成轮班,它符合以下标准:

输入数据

加工

从上面看,班次工人是要处理的两个主要输入变量

每个班次都有所需的最小和最大工人数量。满足轮班的最低要求对成功至关重要,但如果所有其他方法都失败了,手动填充空白的轮班比“错误”要好:) 主要的算法问题是不应该有不必要的空白,当足够的时候工人可用。

理想情况下,一个班次的最大工人数量将被填补,但这是相对于其他约束的最低优先级,所以如果有什么必须给予的话,应该是这个。

灵活的约束

这些有点灵活,如果找不到“完美”的解决方案,它们的界限可以稍微扩大一点。不过,这种灵活性应该是最后的手段,而不是被随意利用。理想情况下,灵活性可以通过“fudge_factor”变量或类似变量进行配置。

  • 两个班次之间有一个最短时间段。因此,例如,不应将工人安排在同一天进行两班倒。
  • 一个工人在给定的时间段(比如一个月)内可以做的最大轮班次数
  • 一个月内可以完成的某些班次的最大数量(例如,通宵班次)

很高兴拥有,但不是必需的

如果您能想出一个算法来完成上述操作并包含任何/所有这些,我会留下深刻的印象和感激。即使是单独执行这些位的附加脚本也会很棒。

  • 重叠的转变。例如,最好能够指定同时发生的“前台”班次和“后台”班次。这可以通过使用不同班次数据的程序的单独调用来完成,除了在给定时间段内安排人员进行多个班次的约束将被忽略。

  • 可在每个工人(而不是全球)基础上指定工人的最短重新安排时间。例如,如果乔感到工作过度或正在处理个人问题,或者是初学者,我们可能希望比其他工人少安排他。

  • 当没有可用的工人适合时,一些自动/随机/公平的选择员工以填补最少轮班人数的方式。

  • 处理突然取消的某种方式,只是填补空白而不重新安排其他班次。

输出测试

可能,该算法应该生成尽可能多的匹配解决方案,其中每个解决方案如下所示:

鉴于上述数据,这是针对单个解决方案的测试功能。我认为这是对的,但我也希望能得到一些同行评议。

尝试

我已经尝试使用遗传算法来实现这一点,但似乎无法将其调整得非常正确,因此虽然基本原理似乎适用于单班,但它甚至无法解决几个班次和几个简单的情况工人。

我最近的尝试是生成所有可能的排列作为解决方案,然后减少不符合约束的排列。这似乎工作得更快,并且让我走得更远,但我正在使用 python 2.6 的 itertools.product() 来帮助生成排列,但我不能完全正确。如果有很多错误,我不会感到惊讶,因为老实说,这个问题不太适合我的头脑:)

目前我的代码在两个文件中:models.py 和 rota.py。models.py 看起来像:

和 rota.py 看起来像:

在结果之前截取调试输出,当前给出:

0 投票
6 回答
496 浏览

php - PHP while 循环时间

这是我第一次尝试使用面向对象编程。我试图从数据库中重复时间段,但我只得到一个结果。

时隙表包含:

在 PHP 类中:

在网页中显示循环时间:

结果:

0 投票
3 回答
3874 浏览

php - PHP时间段预订

关于这个问题..

PHP 预约时间段

我试过 'GROUP BY' id_timeslot 仍然没有工作,因为它只显示预订的时间段不可用

我尝试了该解决方案,但给了我一个错误并且不太明白如何使用“coelence”

加入mysql表

回显结果并检查它是否与今天的日期匹配或设置为可用

网页结果 替代文字

我希望结果看起来像:

请任何其他解决方案!

0 投票
2 回答
246 浏览

php - PHP Mysql 增量外键

我如何手动增加外键。我有 2 张桌子

餐桌时间

我有片刻的桌书

下拉菜单(花费的分钟数)

可以说,用户选择 10:00 和“30 分钟用于治疗”,我希望看起来像

php代码:

0 投票
3 回答
843 浏览

c++ - 如何在不需要实时的情况下制作时隙(只是模拟)

现在我正在对某些东西进行模拟,我需要为它定义时隙,因为我不能使用实时。例如,我想知道有多少人在第一个 5 分钟内进入银行,然后在第二个 5 分钟内进入银行等等,我只想模拟所以我不每次都等待 5 分钟才能获得结果。 .

谁能帮忙??

0 投票
1 回答
268 浏览

mysql - 将时隙映射到时间戳

我有一个 336 行的表。每排在整个星期的白天聚集 30 分钟。换句话说:24 x 2 x 7

时间戳:UNIX 格式

时间段:(还不知道)

我的目标是找到在表内命名时隙的最佳方法,以便我可以将任何时间戳映射到表内的行(时隙)。

我想到了将其命名dhhmm为示例 ​​10830 表示周日上午 8:30

但是现在我在使用 mysql 获取数据时遇到了问题。任何人都可以提出更好的命名约定吗?

0 投票
1 回答
336 浏览

mysql - 从开始时间和结束时间创建每小时时间段

希望你能帮助我解决我多年来一直坚持的事情。

我有两张桌子。一个具有包含字段成本、开始时间和结束时间的员工记录。其他表有实际时间的收入。我想生成一个按小时时段对收入和成本进行分组的报告。这样做的最佳方法是什么?

我正在使用mysql。

使用的代码:

表结构(最后一列是我在查询中添加的):http ://ge.tt/9yzYx39?c

0 投票
1 回答
224 浏览

mysql - 根据 MySQL 中的两个表确定空闲时隙

所以我有两张桌子。

表 1 名为“约会”,包含以下字段:ID(int)、TimeboxID(int)、Date(date)

表 2 名为“timebox”,包含以下字段:ID(int)、Weekday(int)、StartTime(varchar)

表 1 保留所有约会 ( Date+TimeboxID组合),而表 2 定义了一周中的每一天都有哪些时间段。

这是我的问题:如何在 1 个查询中找出哪些日期有可用的空闲时间段(以及有多少)?

附言。字段StartTime仅用于显示,这里没有意义。

0 投票
2 回答
3089 浏览

php - 如何根据服务时间禁用时间段?

我想要的只是根据我的营业时间计算时间段列表,并阻止禁用那些预约的时间段。

我已经用我的问题完成了这些事情,坚持最后一项任务,如下所述。

我根据我今天的营业时间生成了 15 分钟的时隙列表:

现在我已经预约了 3 个约会

约会 | 开始时间到结束时间


预约 1 : 10:00AM 到 11:00AM (根据我的服务时间 60 分钟)
预约 2 : 11:15AM 到 12:15PM
预约 3 : 1:00PM 到 2:00PM


现在禁用那些已经在约会中预订的时间段

现在要做的最后一个任务,如何删除那些不符合服务持续时间的时间段,例如: