问题标签 [clp]

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.

0 投票
1 回答
51 浏览

prolog - CLP:“不是三个相同值”的有效模型

我需要在 Eclipse CLP 中对这个(简单)约束建模:

给定三个域变量,假设D1,D2D3我想确保这三个变量不会以相同的值结束。其中两个可以具有相等的价值。

版本 1

我的第一个想法是这样的:

D1 #\= D2 or D1 #\= D3

但我不喜欢模型中的析取。

版本 2

然后我把模型改成蕴涵的形式:

D1 #= D2 => D1 #\= D3

有没有更有效的方法来模拟这个约束?

我正在考虑alldifferent([D1,D2,D3],2)orneg nvalue([D1,D2,D3],1) 但我不确定对于这样一个简单的用法是否过于复杂。

0 投票
1 回答
207 浏览

clp - Mercury 约束求解

我知道一点 Prolog,并且经常使用 CLP(FD) 等。 这篇论文(显然写于 2006 年)表明 Mercury 现在也有约束求解。我在图书馆参考手册中发现了一些提及它。 但是,我找不到如何使用它。例如:

给出编译器错误

但在 Prolog 中,使用 clpfd,

工作正常,给 A = 2 。

(在 Mercury 代码中添加 #s 无济于事。)

您如何在 Mercury 中进行约束求解?

0 投票
1 回答
87 浏览

prolog - Eclipse CLP:最大约束/变量数

在 Eclipse CLP 中,我可以定义多少个约束或变量?

我目前正在重塑我的调度问题 - 我需要alldifferent用许多约束替换单个atmost约束。但由于我引入了这个更改,我的 ecl 脚本无法正常工作。“不工作”是指 Eclipse CLP - eclipse.exe 或 TkEclipse GUI 刚刚关闭。没有任何错误信息,评论或说再见。根本不值一提。

如果我尝试注释掉一些约束,脚本至少会被编译。

有人已经为这个问题烦恼了吗?

0 投票
0 回答
44 浏览

julia - 在 python 上添加线性约束

我正在尝试将 julia 代码转换为 python,并且我坚持理解在 julia 或 Gurobi 中使用 CLP 进行线性编程的函数,该函数是:

其中A是矩阵,lbm使用的模型的名称是下限。更具体地说,我想了解 m.linconstr[i] 的含义是什么

0 投票
1 回答
177 浏览

prolog - SICStus Prolog 中的验证属性

属性变量允许扩展统一。以下是关于界面的神秘细节。让我们直奔主题吧!

库(atts)中提供了使用属性变量的谓词。我想我得到了SICStus Prolog User's Manual page for library(atts)所说的内容,除了关于以下内容的一个细节verify_attributes(-Var, +Value, -Goals)

[...] verify_attributes/3 在 Var 实际绑定到 Value 之前被调用。如果失败,则认为统一失败。 它可能会不确定地成功,在这种情况下,统一可能会回溯以给出另一个答案。预计将在目标中返回在 Var 绑定到 Value 后要调用的目标列表。最后,在调用进球后,任何在 Var 上被阻止的进球都会被调用。

上面的句子(由我突出显示)让我很困惑——也很困惑:)

我一直认为统一是一个程序,可以:

  • 使用最通用的统一器(模变量重命名)成功

  • 或失败。

却无缘无故的成功?!

约束求解器的实现者何时使用过该“功能”?

我想不出一个用例……请帮忙!


编辑

实际上,我认为(我的)求解器代码中的不确定性是一个错误,而不是一个特性。因为任何不确定性都可以通过在 中返回一些析取来轻松模拟Goals

0 投票
1 回答
44 浏览

julia - 为什么我不能建立 Clp

我正面临构建Clp包的艰难时期,这需要永远。添加软件包后,我尝试构建它Pkg>Build Clp,我得到的唯一结果是: Building Clp → `~/.julia/packages/Clp/IBQzB/deps/build.log` 没有任何结果,我使用的是 Julia 1.3.0-rc3.0

0 投票
0 回答
48 浏览

julia - 如何使用 JuMP 0.19 更改下限

我有一个变量x,其下限被定义为lb=zeros(3),之后我想将 的每个元素更改为lb数组的相等元素,就像c=[1;2;1]我想要的那样,让lb[i]=c[i] for i=1:length(c)我以前在以前的版本中通过以下方式执行此操作:

当然在哪里m=Model(Clpsolver())

0 投票
1 回答
89 浏览

prolog - 如何在表格中显示 SWI-Prolog 程序的结果?(中电问题)

我正在尝试解决 SWI-Prolog 中的 CLP 问题。该任务与斑马问题非常相似。共有 25 个变量,其域在 1 到 5 之间。因此相关变量将获得相同的标签。(程序是用匈牙利语编写的。)

我希望输出不仅显示分配给变量的标签,还显示表中的相关变量。有没有办法做到这一点?

如果你这样运行程序,输出是:All = [1, 2, 3, 4, 5, 2, 4, 5, 1, 3, 1, 5, 2, 4, 3, 5, 1, 2 , 3, 4], X = 3

这意味着分配给变量“Szeged”的标签是 3,并且关联的变量是通过替换 All 列表中的变量获得的,这些变量在输出上也有标签 3。因此,例如,表格的第一行可能是:'galyas vince szeged kemia'

非常感谢你。

0 投票
1 回答
39 浏览

julia - 错误构建“Clp”无法在 Julia 中生成 deps.jl?

我正在尝试在 julia 的系统上安装和构建 Clp,但收到错误消息:

我认为这可能与可能需要自定义安装有关,但不确定..

朱莉娅会议信息:

我项目中的包版本:

问题发布在 github 上:github.com/JuliaOpt/Clp.jl/issues/90

0 投票
1 回答
49 浏览

prolog - Prolog:使用附加约束安排开始时间

在 uni 的作业中,我被要求为谓词 backup/5 表示的假设备份创建一个时间表

  • 第一个参数是具有值的服务器类型:db、web
  • 第二个参数是服务器名称
  • 第三个参数表示备份可以开始的时间
  • 第四个参数代表备份的持续时间
  • 第五个参数表示备份所需的带宽

约束:

  • 不能同时运行 2 个 db 或 web 备份实例(可以同时运行 1 个)。
  • 总带宽不能超过 25

需要做的是写一个谓词 schedule_backups(Db_Starts,Web_Starts,ToalTime)。可以使用 ic、ic_global、branch_and_bound、ic_edge_finder 的库。

备份示例:

问题是......我如何获得所有备份的带宽限制,同时必须为开始时间限制单独限制它们?我想通了并且有一段工作代码,但我认为这不是最好的方法。我会将其发布为解决方案。

如果有人有更好的建议,请随时发布。