java - 分类调度作业

标签 java algorithm scheduling

有 'n' 个不同类型的工作,例如小写字母、大写字母和数字。从一种类型的工作转换到另一种类型的工作比从同一组转换到工作(C)更耗时(S)。每项工作都有其截止日期和处理时间。

例如:

n = 3; (small letters, capital letters and numbers)
S = 5;
C = 1;

工作/截止日期/处理时间

a/5/2 1/15/3 b/20/4 R/25/1

a,1,b,R : 2+(5)+3+(5)+4+(5)+1 = 25 a,b,1,R : 2+(1)+4+(5)+4+(5)+1 = 21

除了元启发式算法之外,还有其他算法可以解决这个问题吗?

最佳答案

看起来这是 Job-shop problem这是 traveling salesman problem 的概括所以它是 NP-hard 并且没有最优算法。 尝试 Job shop scheduling文章作为您研究的起点

关于java - 分类调度作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20836092/

相关文章:

c# - 为什么 Java 用于低延迟,而 C# 却不是?

python - 资源受限主机的排列限制

c++ - 指向具有不同参数的成员函数的指针的容器

algorithm - 动态规划的加权区间问题

linux - SCHED_DEADLINE 的 sched_setaffinity()

java - 使用 Spring Security 检查额外参数

java - 为什么 Junit 测试用例(方法)应该公开?

java - 扫描仪不工作 - Prime Sieve。代码完成

algorithm - 值循环的最小排序

java - 从 PHP 访问 java 应用程序