Questions tagged «scheduling»

2
销售时间段
给定个人想要购买的个时隙。人对于每个时隙都有值。每个人只能购买一个连续的时隙块,这可能是空的。nnnkkkiiih(i,j)≥0h(i,j)≥0h(i,j)\geq 0jjj 是否有多项式时间算法来计算卖方可以实现的最大值? 没有连续性约束,我们可以将每个时隙分配给最重视它的人。同样,如果我们固定了个人的时隙顺序,则可以使用动态编程来求解第一个个人购买第一个时间的最大值插槽。kkk0≤i≤k0≤i≤k0\le i \le k0≤j≤n0≤j≤n0\le j \le n

2
任务完成时间的变化如何影响制造跨度?
比方说,我们有大量的任务τ 1,τ 2,。。。,τ Ñ和的相同集合(在性能方面)处理器ρ 1,ρ 2,。。。,ρ 米其完全并行操作。对于感兴趣的场景,我们可以假定米≤ ñ。每个τ 我需要时间/周期的一定量来完成,一旦它被分配给一个处理器ρ Ĵτ1,τ2,...,τn\tau_1, \tau_2, ..., \tau_nρ1,ρ2,...,ρm\rho_1, \rho_2, ..., \rho_mm≤nm \leq nτi\tau_iρj\rho_j,并且一旦分配,就无法重新分配,直到完成(处理器总是最终完成分配的任务)。让我们假定每个τ 我需要的时间量/周期X 我,在事先不知道,从一些离散的随机分布截取。对于这个问题,我们甚至可以假设一个简单的分布:P (X 我 = 1 )= P (X 我 = 5 )= 1 / 2,并且所有X 我是两两独立的。因此μ 我 = 3和στi\tau_iXiX_iP(Xi=1)=P(Xi=5)=1/2P(X_i = 1) = P(X_i = 5) = 1/2XiX_iμi=3\mu_i = 3 2= 4σ2=4\sigma^2 …

6
在一个间隔中找到两个数字的最大异或:我们能做得比二次更好吗?
lllrrrmax(i⊕j)max(i⊕j)\max{(i\oplus j)}l≤i,j≤rl≤i,j≤rl\le i,\,j\le r 天真的算法只检查所有可能的对。例如在红宝石中,我们有: def max_xor(l, r) max = 0 (l..r).each do |i| (i..r).each do |j| if (i ^ j > max) max = i ^ j end end end max end 我感觉到,我们可以做得比二次。是否有针对此问题的更好算法?


2
调度问题的这种特殊情况是否可以在线性时间内解决?
爱丽丝(Alice)是一名学生,在接下来的几周里要完成很多作业。每一项家庭作业都需要她一天的时间。如果每个项目都错过了截止日期,那么每个项目都有一个截止日期,并且会对她的成绩产生负面影响(假设为实数,仅假设可比性,则获得加分)。 编写一个函数,该函数给出了(截止日期,成绩影响)列表,该时间表列出了在哪一天进行作业的时间表,以最大程度地减少对她的成绩造成的负面影响。 所有作业都必须最终完成,但是如果她错过了某个项目的截止日期,那么上交多晚都没关系。 在替代公式中: ACME公司希望向客户供水。他们都住在一条上坡路。ACME在这条街上分布着几口井。每口井可容纳一名顾客的水。客户出价要提供的金额不同。水只下坡。通过选择供应哪些客户来最大化收入。 我们可以使用存储桶排序对截止期限进行排序(或者假设我们已经按截止期限进行了排序)。 如果我们首先按降级影响进行排序,则可以使用贪婪算法轻松解决该问题。该解决方案不会比O(n log n)好。 受到中位数中位数和随机线性最小生成树算法的启发,我怀疑我们也可以在(随机化的)线性时间内解决我的简单调度/流程问题。 我在寻找: (潜在随机化)线性时间算法 或者替代地,认为不可能有线性时间 作为垫脚石: 我已经证明,仅知道在截止日期之前可以完成哪些项目,就足以在线性时间内重建完整的计划。(这种见解是我仅询问证书的第二种提法的基础。) 一个简单的(积分!)线性程序可以对这个问题进行建模。 使用该程序的对偶性,如果还为对偶程序提供了解决方案,则可以在线性时间内检查候选提议的解决方案是否最优。(两个解都可以用线性位数表示。) 理想情况下,我想在仅使用坡度影响之间比较而不在此处假设数字的模型中解决此问题。 对于这个问题,我有两种方法-一种基于使用截止日期和影响的挖掘,另一种类似于QuickSelect的方法,其基于选择随机枢轴元素并按影响对项目进行划分。两者都具有迫使O(n log n)或更坏的性能的最坏情况,但是我无法构造一个简单的特殊情况来降低两者的性能。

2
存在瓶颈问题的作业调度
给定个作业,每个作业需要次才能完成。nnnJ1,J2,...,JnJ1,J2,...,JnJ_1,J_2,...,J_nTi>0,Ti∈NTi>0,Ti∈NT_i > 0, T_i \in N 每个作业必须由一台机器M进行预处理和后处理,该机器一次只能处理1个作业,并且两个阶段都需要1个单位时间。在经过预处理之后,作业被发送到具有无限功率的机器(该机器可以并行处理无限数量的作业),并且它将在时间准备就绪,然后必须再次将其立即(立即)发送到机器M后期处理。JiJiJ_iTiTiT_i 相关的决策问题是: 输入:处理时间的作业,整数问题:我们可以处理在时间的所有作业使用上述的“瓶颈”模式?Ti>0,Ti∈NTi>0,Ti∈NT_i >0, T_i \in \mathbb{N}NNNK≥2NK≥2NK\geq 2N ≤K≤K\leq K 这个问题有名字吗? 它的复杂性是什么?(是还是 -complete?) PP\sf{P}NPNP\sf{NP} 3月29日更新: 正如M.Cafaro在他的回答中正确指出的那样,该问题类似于无 约束最小完成时间问题(UMFT)(请参阅《调度算法手册》的第17章 ),是 -hard(已证明) W. Kern和W. Nawijn撰写的“在单个机器上有时间滞后地安排多操作作业”,特温特大学,1993年。如我所见,存在一些差异,因为在我的模型中:NPNP\sf{NP} 前/后处理时间是恒定的(1个时间单位) 作业完成后,必须立即进行后处理(UMFT模型允许延迟) 我没有在网上找到Kern&Nawijn证明,所以我仍然不知道上述限制是否改变了问题的难度。 最后,您可以将整个过程想像成一个带大烤箱的烹饪机器人。机器人可以一次准备一种不同类型的食物(所有食物都需要相同的准备时间),将它们放入烤箱,一旦煮熟就必须将其从烤箱中取出并加入一些冷食... “ 烹饪机器人问题 ” :-)

2
对元素进行排序,以使某些元素不会介于其他元素之间
给定一个整数和一组不同的整数的三元组 找到一种算法,该算法可以找到集合的置换,使得 或正确确定不存在这种排列。非正式地,我们想对数字1到重新排序;每个三元组在表示必须之前出现在新的顺序,但不能之间出现nnnS⊆{(i,j,k)∣1≤i,j,k≤n,i≠j,j≠k,i≠k},S⊆{(i,j,k)∣1≤i,j,k≤n,i≠j,j≠k,i≠k},S \subseteq \{(i, j, k) \mid 1\le i,j,k \le n, i \neq j, j \neq k, i \neq k\},ππ\pi{1,2,…,n}{1,2,…,n}\{1, 2, \dots, n\}(i,j,k)∈S⟹(π(j)&lt;π(i)&lt;π(k)) ∨ (π(i)&lt;π(k)&lt;π(j))(i,j,k)∈S⟹(π(j)&lt;π(i)&lt;π(k)) ∨ (π(i)&lt;π(k)&lt;π(j))(i,j,k) \in S \implies (\pi(j)<\pi(i)<\pi(k)) ~\lor~ (\pi(i)<\pi(k)<\pi(j))nnn(i,j,k)(i,j,k)(i,j,k)SSSiiikkkjjjiii和。kkk 例子1 假设且。然后n=5n=5n=5S={(1,2,3),(2,3,4)}S={(1,2,3),(2,3,4)}S = \{(1,2,3), (2,3,4)\} π=(5,4,3,2,1)π=(5,4,3,2,1)\pi = (5, 4, 3, 2, 1)是不有效的置换,由于,但。(1,2,3)∈S(1,2,3)∈S(1, 2, 3)\in Sπ(1)&gt;π(3)π(1)&gt;π(3)\pi(1) > …

3
找出是谁来买羊角面包
一个团队决定每天早上有人应给每个人带羊角面包。每次都不应该是同一个人,因此应该有一个系统来确定下一个轮到谁。这个问题的目的是确定一种算法,以确定明天将把羊角面包带给谁。 约束,假设和目标: 谁来带羊角面包,将在前一天下午确定。 在任何一天,都会有人不在。该算法必须选择当天要出席的人。假设所有缺勤都是提前一天知道的,因此可以在前一个下午确定新月形面包的购买者。 总体而言,大多数人都在大多数时间都在场。 为了公平起见,每个人都应该购买羊角面包,其次数应与其他人一样多。(基本上,假设每个团队成员都有相同的钱用于羊角面包。) 为了减轻花名册的无聊感,最好具有一些随机性或至少感知到的随机性。这不是一个硬性约束:它更多是一种审美判断。但是,同一个人不应连续两次被选中。 带羊角面包的人应该事先知道。因此,如果人P在D日带上羊角面包,那么应该在人P所在的前一天确定这一事实。例如,如果总是在前一天确定了羊角面包的携带者,那么应该是前一天在场的人之一。 团队成员的数量足够少,以至于存储和计算资源实际上是无限的。例如,该算法可以依靠过去曾带谁羊角面包的完整历史记录。每天在快速PC上进行几分钟的计算就可以了。 这是一个现实问题的模型,因此,如果您认为这些假设可以更好地模拟场景,则可以自由地挑战或完善这些假设。 产地:找出谁去购买羊角由弗洛里安Margaine。我在这里的重新表述有稍微不同的要求。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.