首页 > 解决方案 > 指导我写一个容量约束

问题描述

我正在尝试使用现有的资源约束项目调度问题可用的 OPL 示例添加更多约束。这里我附上 RCPSP 问题的示例文件。目前在这个示例问题中,我可以根据资源容量启动尽可能多的任务。我想对间隔变量中执行的最大任务数添加一个额外的约束,应该小于或等于 5。换句话说,我一次不能同时执行超过 5 个任务。

示例问题位于 OPL 中的示例/opl/sched_rcpsp

标签: cplexconstraint-programmingoplcp-optimizer

解决方案


你可以使用 cumul 函数。

在要阻止的主题之前,您可以写:

cumulFunction nbTasks = 
   sum(t in Tasks) pulse(itvs[t],1);

然后在要阻止的主题中添加:

nbTasks<=5;

推荐阅读