You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在ILOG CP Optimizer中建模区间累积容量约束?

解决ILOG CP Optimizer累积容量约束建模问题

核心思路

你需要构建持续时间内的累积负载函数,而非瞬间的阶跃变化,再对目标时间区间的负载最大值加约束,具体方向如下:

  • 构建任务的负载贡献函数:
    对于每个任务,用step(startOf(task), 0, 负载值)和step(endOf(task), 0, -负载值)组合,实现任务执行期间持续占用对应容量。比如任务A的贡献是:step(startOf(A), 0, 5) + step(endOf(A), 0, -5),任务B则是step(startOf(B), 0, 10) + step(endOf(B), 0, -10)。

  • 合并为总累积函数:
    将所有任务的贡献函数相加,得到总的累积负载函数totalLoad。

  • 约束目标区间的最大值:
    使用max(totalLoad, 0, 4) <= 50,或者更严谨的alwaysIn(totalLoad, 0, 4, -inf, 50),确保在0到4的时间区间内,总负载始终不超过50。

为什么StepAtStart/StepAtEnd不适用

你之前用的这两个函数是瞬间阶跃(仅在开始/结束时间点产生一次数值变化),但你的需求是任务执行的每一天都持续贡献容量占用,因此需要用上述的“开始加负载、结束减负载”的组合来模拟持续负载。

内容的提问来源于stack exchange,提问作者Ryan Goodfellow

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 07:20:41