问题标签 [constraint-programming]

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 投票
2 回答
3708 浏览

constraint-programming - 使用 Solver Foundation 进行约束规划的缺点

使用 Microsoft Solver Foundation for CLP 有哪些缺点?Solver 在 Express/Standard 版本中确实有一些支持,但可以想象,除了最基本的约束编程之外,还需要购买昂贵的 Gurobi / Knitro 附加组件来完成任何事情。

纯粹考虑它的 CLP 功能,Solver 与 ECLiPSe 相比如何?

0 投票
1 回答
284 浏览

constraints - 等式集和不等式约束可满足性问题

我对 CSP 比较陌生,我试图根据变量之间施加的 ==、>、< 和 != 约束从它们各自的域中找到所有变量的值。我查看了 Choco 和 Jacop,但我找不到更多关于解决这类问题的信息。你能指出我可以找到这个例子的实现的地方吗?我已经使用 Prolog 解决了这个问题,但我想使用 OOP 来完成它。

谢谢你。

0 投票
1 回答
365 浏览

constraints - 如何在 Mozart/Oz 中创建非数字约束?

我想实现一个变量域为非数字的 CSP(类似于 [lisa ann mary joanna] )。有没有办法在 Mozart/Oz 中实现这一点?

0 投票
4 回答
3866 浏览

erlang - Erlang 是一种约束逻辑编程语言吗?

由于 Erlang 是基于 Prolog 的,这是否意味着 Erlang 是一种约束逻辑语言?
Erlang 是否有 Prolog 的构建块:事实、规则和查询

0 投票
1 回答
936 浏览

constraint-programming - 调度问题的约束编程框架

我将开发一个用于项目规划的软件应用程序,并且我正在寻找一个支持区间算术和实数约束的约束编程库。

我必须实现的功能是项目的调度。

你能给我一个针对此类问题的约束编程框架吗?

提前致谢!

0 投票
1 回答
964 浏览

eclipse - eclipse IDE windows 7 os 导入choco包

我正在尝试安装名为 choco 的 java 约束求解器包:http: //choco.sourceforge.net/first.html

请告诉我该怎么做,我已经尝试了几次,但没有成功。

谢谢

0 投票
1 回答
305 浏览

algorithm - 在解决约束问题时需要帮助

我想使用约束来解决以下问题,但实际上我不知道从哪里开始,所以我决定在这里发布以寻求帮助。

请这不是作业,因为我自己已经解决了添加正方形和圆形的问题。但这一个我不知道如何以及从哪里开始。作为初学者,我正在学习这个约束的东西,根本不知道如何解决这个问题,需要帮助。我假设使用以下语法来定义变量和约束:

*变量*

1)

名称必须以大写 [AZ] 开头,并且只能使用 [A-Za-z0-9_]。示例:X 或 MyVar_1。

2)

域是 [from,...,to] 范围内所有整数的集合。确保从 ≤ 到。

3)

索引是指索引变量的(单个!)索引。例如,如果您为变量“X”输入从 1 到 8 的索引范围,则“X(1)”、“X(2)”、...、“X(8)”中的每一个都是普通变量具有相同的域。指定索引范围,使得从 ≤ 到。如果您将“索引”字段留空,则假定您的变量是非索引的。(注意:使用 from = to 是可能的,尽管它没有多大意义:您可以使用非索引变量。)不要使用相同的名称两次,也不要使用一个普通名称和一次索引变量!也不要重用变量名的一部分,例如如果你已经有 MyVar_1,也不要使用 Var。

约束

如果需要,您可以输入算术约束,并为已使用的索引指定范围。算术约束的形式为 Expr ∼ Expr,其中 Expr 是使用整数、声明的变量和一些算术的表达式,其中 ∼ 是关系运算符。

1)

使用索引变量时,必须给出索引

  • 在 MyVar(index) 格式中,即在变量名后面使用“(”和“)”,中间没有空格。
  • 请注意,索引必须是变量,因此不允许使用类似 MyVar(37) 的内容。改为写 MyVar(i),并输入 i=37 的范围。
  • 此外,索引必须出现在“范围”字段中。提示:如果您的约束必须在整个索引范围内保持不变,例如 i=1..10,那么只需输入一个简单满足的范围,例如 i>0。
  • 索引名称可以按原样出现在约束中,即不作为索引。
  • MyVar(index+x) 或 MyVar(index-x) 格式也是允许的,其中 x 是一个整数。不要在“+”或“-”之前或之后使用空格! 2)

算术使用运算符“+”、“-”、“*”、“/”、“mod”,其中“X / Y”是 X 和 Y 的商(向下舍入)。还允许使用“min(X,Y)”、“max(X,Y)”、“abs(X)”。

3) 可用的关系运算符有'='、'\='、'<'、'>'、'=<'、'>=',含义明显。

4) 使用圆括号消除歧义!示例:X(i) + Y(j) < 12 或 min(X(i),X(j)) \= Z 或 X(i) * i = 20。

也可以使用布尔表达式。允许的布尔连接词是 '<=>'、'=>'、'/\' 和 '\/',分别表示等价、蕴涵、合取和析取。

范围是一个表达式,其中包含约束中使用的每个索引。示例:i < j 或 i = j 或 (i = j /\ k \= l)。范围表达式不应包含“<=>”、“=>”或“\/”。注意:范围是一个逻辑表达式(隐式普遍量化),而不是像 i=1..10 之类的集合表达式!

以下示例使用上述语法:

谢谢你的帮助。

0 投票
1 回答
156 浏览

algorithm - 在解决约束问题时需要帮助(第 2 次)

我已经解决了以下约束处理任务。你能验证它是否正确吗?

在此处输入图像描述

这是我的解决方案,希望你们帮我检查哪里做错了:

我的约束
我以这样一种方式声明了约束,即每次当时间为偶数时,摄像机的视图交替改变,但当时间为偶数时,只有囚犯可以移动。

伙计们,我知道我做错了什么,所以请帮助我纠正它。

谢谢你的帮助。我昨天发布了一个类似的问题,所以如果你想知道变量和约束的语法,那么这是链接: 这篇文章中的变量和约束语法

谢谢你的帮助

0 投票
2 回答
332 浏览

java - 如何编写自定义约束来检查类中至少一个布尔字段是否为真

我有一个名为“Scheduler”的类,它有 7 个布尔字段。我想在休眠中编写一个约束来检查至少一个布尔字段是否为真。

这是“调度程序”类。

谁能帮我写下提到的约束。

谢谢!!!!!!!!!

0 投票
3 回答
1401 浏览

list - 具有约束逻辑编程的排序列表

我想知道是否有人可以帮助我解决这个问题:我必须使用带有约束逻辑编程的 Prolog 来订购一个列表,并且我必须以更有效的方式来完成它。

所以我定义的主要谓词是下一个:

前面每个辅助谓词的实现如下:

我已经证明了我制作的程序并且它有效!但是我不知道是否可以提高效率,如果可以,我该怎么做(我正在阅读这个旧线程here)。我应该添加或修改任何约束吗?

谢谢!