我是一名 Java/C/Python 开发人员,希望帮助一位管理定制产品商店的亲戚。我是 optaplanner 和一般约束编程的新手,所以我的问题是:
1.) 下面的调度问题是否可以在optaplanner(或其替代方案之一)中解决?
2.) 哪种算法最适合这个问题?它似乎与(优秀的)OptaPlanner 文档中给出的项目作业调度示例非常相似,但它具有在任何给定时间调度多个项目的额外限制。
简化的问题是:
- 在任何给定时间,都有 1 到n个项目。
- 每个项目都有自己的截止日期。
- 每个项目都有一系列有序的工作。
- 工作领域仅限于切割、打磨和涂漆。
- 任何给定的工作都可以在序列中出现 0 到多次(即并非所有项目都有“切割”工作,但可能有多个“绘画”工作)
- 每个项目共享全球资源,即员工A, B和C。
- 员工甲只能进行切割和打磨工作
- 员工B只能进行切割、打磨和油漆工作。
- 员工C只能进行打磨和油漆工作
- 解决方案只需要是可行的,而不是最优的