首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在clingo中最大化间隔

在clingo中最大化间隔
EN

Stack Overflow用户
提问于 2021-02-08 11:58:17
回答 2查看 93关注 0票数 0

我有以下生成搜索空间的clingo代码,后面是约束。

代码语言:javascript
复制
{in(I,1..4)}=1 :- I=1..n.
:- [constraint1]
:- [constraint2]

这段代码可以工作。但我需要clingo来找到存在稳定模型的n的最大值。做到这一点的最好方法是什么?

EN

回答 2

Stack Overflow用户

发布于 2021-09-28 17:47:15

性能更好的变体应该是:

代码语言:javascript
复制
value(I) :- in(I,_).
value(I-1) :- value(I), I > 0.
#maximize {1,I : value(I)}.
票数 1
EN

Stack Overflow用户

发布于 2021-02-14 18:22:16

您可以使用#min聚合来查找min n。

代码语言:javascript
复制
value(I) :- I = #min {I:in(I,X) }.

并使用#maximize指令找到聚合经验值更大的稳定模型。

代码语言:javascript
复制
#maximize {I: value(I)}.
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66095738

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档