问题标签 [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.
constraint-programming - 如何将两个元素放在同一个序列中?
我想强制 CP Optimizer 中的灵活作业车间示例模型,如果将特定模式/元素放在一个序列中,则后继者也必须放在相同的序列中,这意味着在这种情况下,两者都必须在相同的情况下完成机器。我怎样才能创建这样一个条件?预先感谢您的帮助!!
cplex - 如何定义序列相关约束?
我想对一个约束进行建模,我想说如果一个模式mode1
被安排在另一个模式之前的序列上,mode2
那么并行工作机器上的一个模式mode3
(所以在另一个序列中)不能在mode1
另一个序列结束之前启动。所以或多或少我想为此编写一个 if (before...) 块。它是如何正常工作的?
cplex - 我们如何在 OPL 中以编程方式检索 CP Optimizer 的软件版本号?
我想在我的输出中包含求解时使用的 CP Optimizer 版本(例如 12.9)。我正在处理在多个软件版本下解决的问题,因此在查看解决方案时查看使用了哪个版本会很有帮助。我不能只检查关于菜单,因为我将结果写入外部文件并在很长一段时间后查看它们。
有没有办法以编程方式检索 OPL 中的版本号?
我在提供的 Oplide 中使用 OPL。我找到了 .NET 接口的 CP.Version 属性(https://www.ibm.com/support/knowledgecenter/en/SSSA5P_12.9.0/ilog.odms.cpo.help/refdotnetcpoptimizer/html/P_ILOG_CP_CP_Version.htm),但我无法在 OPL 代码中找到等价物。
cplex - 是否可以在不转换模型的情况下使用 CPLEX-Engine 解决 CP 公式化问题?
我已经制定了一个灵活的作业车间问题作为 CP 模型,就像 CPLEX Optimization Studio 中建议的那样。问题正在运行并创建正确的计划。所以我的问题是,是否也有可能使用 CPLEX 引擎解决这个问题,而不将其转换为 MIP。这样我就可以比较两个引擎的结果。所以一般来说,是否可以在 CP 公式模型上运行 CPLEX-Engine,或者我是否必须为此创建单独的 MIP?
cplex - How is the lower bound that is displayed created?
my Flexible Job Shop Problem (CP) shows me a result of Best objective :423 (gap is 49,88%) and Best bound: 212. So my question is how is this bound created? Because In my case the lowest value that can be theoretical achived is in the area of about 400. Thank you in advance
cplex - 是否有使用 CPLEX 而不是 CP 的灵活作业车间问题的示例?
我是 CPLEX 的初学者,我想问一下是否有任何可用的示例可以修改灵活的作业车间示例,使其可以使用 CPLEX 而不是 CP 来解决?
cplex - 在主流程控制循环中使用 opl.end() 时如何修复错误
main
我正在使用流控制块内的循环批量运行数以万计的测试。.dat
循环的每次运行都会使用指定的数据文件和模型文件(与仅包含流控制块.mod
的批处理运行程序文件分开)生成一个新的 OPL 模型。.mod
main
.end()
因为循环的每次运行都会创建一个新模型,所以当我不使用语句来关闭为每个测试创建的所有数据结构时,内存使用量会不断增加,直到最终导致 IDE 崩溃。虽然大多数数据结构都可以正常关闭,但我发现这opl.end();
会使测试仪崩溃。
如何关闭 OPL 模型而不使测试仪崩溃?
我已经oplrun
在 macOS 和 Windows 上尝试了 oplide 应用程序和命令行界面(尽管我最终需要在 Windows 上运行测试)。我正在使用 CPLEX Optimization Studio 12.9。
我使用以下方法创建对象:
当我完成后,我尝试使用以下方法关闭它们:
编辑以添加更多具体信息: 我正在使用我自己的模型运行 RCPSP 调度问题,该模型是内置示例的修改版本。
这是我正在使用的代码的精简版本。我创建了一个只包含这个批处理运行.mod
程序文件的运行配置,模型文件和它引用的数据文件存储在其他地方:
这是输出应该是什么(通过注释掉该opl.end()
行产生):
相反,它只记录以下输出:
然后弹出一个带有此错误消息的窗口:
Oplrun 进程没有响应,您必须重新启动运行配置。
java - 如何使用 CP Optimizer 为提货和送货操作建模容量限制?
我正在建模具有容量限制的调度问题。任务是安排一组必须由特定机器执行的操作。更具体地说,我有一组车辆和一组位置,车辆必须访问这些位置才能执行一些操作。每个位置最多可以处理一辆车,并且每辆车都有最大容量。有两种类型的操作:取货和送货操作。取货操作对应于正需求,而交付操作对应于负需求。任务是安排所有操作,同时尊重车辆的容量限制。
我想使用 CPLEX 的 CP 优化器,并且我正在使用 Java Eclipse 对其进行建模。
我尝试使用 cumul 函数表达式对此进行建模,因为我可以使用 StepAtStart 函数来指示操作开始时容量的增加。但是,该函数不模拟负值。
我已经尝试过这段代码,灵感来自 SchedRCPSP 示例。但我不能输入负值,也不能减去负需求的表达式。
这是正确的方法吗?有没有办法模拟车辆内货物的这种波动?我想建模一种方法来禁止违反容量限制的车辆的某些排列。
例如,如果我的车辆容量为 10 辆,初始装载量为 8 辆,以及两个操作 A 和 B(操作 A:在城市 1 提取 4 个单元。操作 B:在城市 2 交付 5 个单元)。我希望不允许排列(A->B),因为它违反了城市 1 车辆的容量限制。
optimization - CpoException:无法执行命令“cpoptimizer -angel”。请检查所需可执行文件的可用性
我在我的 Ubuntu 机器上安装了CPLEX Optimization Studiodocplex
,并且成功使用了模型模块。现在我必须使用CpoModel并且docplex.cp.model
出现错误:
CpoException:无法执行命令“cpoptimizer -angel”。请检查所需可执行文件的可用性。
我不知道是怎么回事。因为我有学生许可证,所以我无法从IBM获得支持。
cplex - CPLEX-OPL:新界限为 0,添加新约束时无结果
我尝试在 CPLEX 12.8.0 上运行 MILP (OPL)。将此约束添加到模型并运行后,引擎日志如图所示,没有其他结果。我该如何解决这个问题?谢谢你。
引擎日志
已编辑。
这是我的模型,预拌混凝土分配问题。它类似于作业车间调度问题。
和数据。