问题标签 [cp-optimizer]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
optimization - CP Optimizer 与其他约束规划求解器相比如何/
In 最近使用 CP Optimizer(CPLEX 约束规划求解器)处理了几个调度项目,并且能够使用它获得一些非常好的结果。但是,与 Cplex 相比,CP Optimizer 对我来说仍然是一个大黑匣子。通常可以用不同的方式来表述一个问题,微小的变化可以在性能上产生巨大的差异。在我看来,缺乏文档和示例,这使得使用它变得很困难。也没有所有约束编程求解器共享的标准化约束集,甚至没有导出格式可以让我解决 CP Optimizer 和替代求解器(Xpress Kalis 或 Gecode 等开源替代方案)提出的问题, 例如)。
虽然我知道商业 MIP 求解器比开源替代方案强大得多,但我还没有看到任何比较不同约束规划求解器的研究。
我想知道其他约束规划求解器与 CP Optimizer 相比如何。我对调度应用程序特别感兴趣,CP Optimizer 对此有一组特殊的变量(间隔和顺序)和许多有用的约束(优先级、无重叠等)。我不介意使用整数变量而不是区间变量并以更复杂的方式制定约束,但我想知道是否有任何开源约束编程求解器可以与商业求解器竞争。
c# - CPLEX 在 C# 中使用带有 CP 优化器的 if then 约束
如果有人能解决这个问题,请帮助我,我将不胜感激。如果有车辆可以将物料从机器 1 运送到机器 2 或从机器 4 运送到机器 3,这意味着该间隔(称为 V)有两个可选间隔(称为 V12 和 V43)可供选择。但是,如果前面的操作区间是在机器 1 上运行的,而后面的操作区间是在机器 2 上运行的,则只能选择 V12 作为替代区间。这意味着,我需要做一个约束,比如
cplex - 如何从 IBM ILOG CPLEX 导出每个可行的解决方案?
目前,我正在使用 IBM ILOG CPLEX 使用其 OPL 解决调度问题。我只能使用 sheetWrite 命令导出最优解,但我想导出每个可行解的结果,而不仅仅是最优解。知道我正在使用 CP 求解器并且我对可行解决方案的数量没有任何先验知识,您能否就如何做到这一点提出建议。
在此先感谢穆罕默德
java - 如何使用 Eclipse IDE 使 OPL 代码适应 Java API
我正在尝试使用 Eclipse IDE 中的 Java API 来调整 OPL 公式。原始 OPL 代码的提取如下:
我想复制上面的内容,但现在使用 Java API。我尝试了以下方法:(文件名是一个文件,其中包含一个实例的值,其中指定了作业数、机器数和每台机器中每个作业的处理时间):
但我不知道这是否正确以及如何在 Java 中复制之前在 OPL 中定义的区间和序列变量的定义。
任何帮助将不胜感激。
constraints - 约束规划中的全局约束是什么?
我看到 ORTools 和 CpOptimizer 都使用全局约束。我知道它可以大大加快搜索速度,但它实际上有什么作用?就像我使用下面的(1)或(2)有什么区别;
AllDifferent 约束的示例:
1)x1 != x2, x2 != x3, x1 != x3
和
2)AllDifferent(x1, x2, x3)
???
optimization - 如果 x 秒后上限没有变好,如何停止 CP Optimizer 中的搜索
我想知道如果上限(最小化问题)在“x”秒后没有变得更好,CP Optimizer 12.10 中是否存在停止搜索的方法。当试图解决一个困难的 NP-Hard 问题实例并且搜索停留在一个现有的解决方案中时,这将特别有用。
我知道存在一些参数来控制搜索cp.param.TimeLimit
(我正在使用它)或者cp.param.FailLimit
但这不是我的问题所需要的。
任何帮助将不胜感激。
cplex - 如何给 CP Optimizer 一个初始可行的解决方案
我需要解决一个硬调度问题。为此,我使用贪婪启发式获得了一个初始可行的解决方案。这种启发式方法为我提供了每台机器上每项工作的开始时间。
如何使用此初始解决方案初始化 CP Optimizer?(“热启动”)
提前致谢
cplex - 使用 CPLEX(CP Optimizer)进行意外的 cumulFunction 评估
我使用以下 CPLEX 代码得到目标值 h=3:
但我的期望是 h=4,因为 func 在 10 点(lot1 开始)为 1,在 20 点(lot2 开始)为 3。行为与我的预期不同的原因是什么?
java - Java lang NoSuchMethodError:用于 cplex 的 SwigDirector
对于我第一次尝试将 CP Optimizer 与 java 一起使用,当我运行我的程序时,我收到以下错误消息:
知道我将所需的库 ILOG.CP.jar 和 oplall.jar 包含在 IntelliJ IDEA 中我的项目的库设置中以及我的 windows 的环境变量 PATH 中。我正在使用 jdk 15.0.1
我的程序中使用 iloIntVar 的部分是: