有没有办法在 minizinc 中自定义 int_search ?

2024-01-09

我正在处理图形着色问题,想知道是否可以指定搜索策略。 我找到了搜索注释,比如int_search(q, first_fail, indomain_min),但例如,我希望算法选择具有最高节点度数的下一个节点,假设这会导致更快的失败,因为具有高度数的节点从许多变量(其邻居)的域中删除了颜色。那么我可以这样做吗?


(这里我假设通过degree您的意思是连接到特定变量的变量数量。)

不幸的是,MiniZinc 不支持用户定义的搜索策略。查看支持的搜索注释的完整列表:https://www.minizinc.org/doc-2.5.5/en/fzn-spec.html#annotations https://www.minizinc.org/doc-2.5.5/en/fzn-spec.html#annotations .

(MiniSearch, https://www.minizinc.org/minisearch/documentation.html https://www.minizinc.org/minisearch/documentation.html,是一个旧项目,旨在提供此功能,但它没有集成到当前版本的 MiniZinc 中。我希望 MiniZinc v3 也有这个功能。)

此外,MiniZinc 没有任何反射函数来获取变量的度数,否则可以使用它来进行搜索。

最接近的现有搜索策略可能是:

  • dom_w_deg:选择域大小除以加权度的最小值的变量,其中加权度是变量处于约束失败的次数

  • occurrence:选择附加约束数量最多的变量`

请注意,不确定所有 FlatZinc 求解器都支持这些搜索策略。

(occurence顺便说一下,如果first_fail传统 CP 求解器的工作效果不如预期。)

另一件事:有一些 FlatZinc 求解器 - 特别是 Chuffed、Google OR-tools CP-SAT,也许还有 PicatSAT - 使用 SAT / Lazy 子句技术,使用免费搜索标志通常会更快(-f),即忽略搜索注释,如果可能的话,至少尝试一下通常是好的。您可以在去年的 MiniZinc 挑战赛中看到 FlatZinc 求解器的表现:https://www.minizinc.org/challenge2020/results2020.html https://www.minizinc.org/challenge2020/results2020.html

如今,我倾向于使用几个 FlatZinc 求解器来测试更大的模型,尤其是上面提到的那个。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

有没有办法在 minizinc 中自定义 int_search ? 的相关文章

  • 我可以强制 Entity Framework Core 7 不将 ICollections 设置为只读吗? [复制]

    这个问题在这里已经有答案了 Entity Framework Core 7 引入了一项重大更改 尽管它是notEF Core 7 的重大更改中列出 使用脚手架定义模型类时 Scaffold DbContext EF Core 7 现在使IC
  • 有没有地方可以测试代码是否符合 ES5/安全?

    有时我想知道我正在编写的代码是否符合 ES5 安全 Example 由于箭头功能 这会失败 gt something I know Babel可以解决这个问题 但有时我想测试一些案例 有没有地方可以让我这样做 尝试ESlint https
  • 为什么 OnChange 在 Formik 中使用时不起作用?

    我正在尝试在 React 中使用 Formik 作为一个虚拟应用程序 如果我给出值作为道具 我将无法在任何一个输入框中输入任何内容 另一方面 如果我跳过 value 属性 那么我可以在框中键入内容 但提交时不会反映为值 这是代码 expor
  • Qt Mac 部署

    将 QT Framework 添加到我的 app 包中 我正在关注 Qt 站点上有关部署的文档 我创建了一个名为 HTTPClient app 的应用程序 我在 Contents 下创建了 Framework 文件夹 并复制了 crypto
  • 如何从 R 中的 posixct 格式日期时间中选择小时、分钟和秒

    我有一个像这样的数据框 dput tail x 10 structure list DATE structure c 1375725600 1375729200 1375732800 1375736400 1375740000 137574
  • OpenCV 匹配图像

    我正在尝试使用 OpenCV 来匹配如下图像 img2 http img849 imageshack us img849 8177 clearz jpg http img849 imageshack us img849 8177 clear
  • Umbraco 7 使用语言/字典

    我们的项目终于可以添加翻译了 我似乎无法弄清楚如何在 Umbraco 7 中实际使用语言 我在后端添加了一种语言和一些字典项目 但如何在代码中选择给定的语言 是否有任何帮助程序可以在 API 中获取翻译 就像 DictionaryHelpe
  • 使用WebView进行多页面登录网站并获取数据

    我正在为一个网站构建一个 Android 应用程序作为移动客户端 该网站没有 也不会 拥有自己的移动浏览器 UI 我选择的架构使用一个隐藏的 WebView 我使用登录页面对其进行初始化 loadURL 然后加载 JavaScript 以使
  • 如何使用 FCM 发送设备到设备通知,而不使用 XMPP 或任何其他脚本。

    有没有办法通过 FCM 将上游通知消息从一台 Android 设备发送到与 Firebase 数据库连接的另一台设备 我知道 XMPP 服务器可以接收上游消息并将通知发送到其他设备 要接收使用上游 API 发送的消息 我需要实现 XMPP

随机推荐

  • ajax 请求完成后浏览器继续“加载”

    您已经看到过这一点 在 ajax 密集的页面上 例如 meebo com 浏览器永远不会停止 旋转 它永远不会表明它已完成加载 造成这种情况的原因是什么 是否有任何方法可以一致地告诉浏览器 无论它是什么浏览器 加载已完成 编辑 抱歉 我应该
  • 标签移动到注册和子是什么意思?

    given a a label L1 db beat it 10 0 L2 what is the meaning of mov eax L2 sub eax L1 L2 寄存器 以及来自标签的子寄存器包含字符串 MOV EAX L2将标签
  • 有没有一个工具可以生成Spring应用程序上下文依赖关系图/图?

    有没有一个工具可以生成 Spring 应用程序上下文的图表 该工具还应该考虑注释驱动的配置 如 Autowired 该工具可以通过在运行时 转储 BeanDefinitions 来生成依赖关系图 IE 我不需要该工具来进行静态代码分析 Sp
  • 工会内的无名工会

    我正在阅读一些代码并发现类似以下内容 typedef union int int32 int boolean time t date char string union struct foo a struct foo b struct fo
  • 在 Android 中使用默认字体样式

    如何在 xml 中使用 Android 默认字体大小 I tried android textAppearance android style TextAppearance Large 但我得到 错误 错误 找不到资源 与给定名称匹配 位于
  • 在滚动和单击事件上上下移动 Div?

    我想制作一个类似于 chanel com 的网站 如果向下滚动 一个新的 div 会向上移动到页面顶部 不同的是 在我正在设计的网站上 它也应该在点击时具有相同的效果 在我的网站上 有两个按钮也应该在单击时上下移动同一 div 从而展开和折
  • 即使具有正确的权限,图形 API 错误 #200

    我正在设置一个机器人来自动在 Facebook 页面上发帖 但是当我运行脚本时 图形 API 抛出以下错误 图形返回错误 200 需要publish to groups权限并且应用程序安装在组中 或者以具有足够管理权限的管理员身份管理pag
  • Spring Boot 应用程序独立运行良好,在 docker 中出错

    我有一个基于 spring boot 的 java 应用程序 它可以从命令行正常运行 嵌入式 tomcat 独立 Problem 当我在 docker 中运行该应用程序时 它无法正确运行 控制台显示应用程序启动正常 没有错误 但是 浏览器显
  • 如何为每个应用程序使用一个 HttpClient?

    我正在寻找一种有效的方法来使用HttpClient对于我的 Android 应用程序 我在不同的活动中使用 HttpClient 并且我只想为应用程序使用一个客户端并将其在活动中传递 尽管我查看了一些答案 但我无法找到一种方法来仅使用一个客
  • 如何更改引导响应样式?

    我们计划以其他方式改变引导程序的响应性质 请查看当前的 html function panel title a on click function this closest panel siblings toggle panel title
  • Python的交互式提示符“>>>”输出到哪里?

    我遇到了一个有点不寻常的情况 我正在尝试编写交互式控制台的脚本 用于教学 测试目的 并且我尝试了以下操作 python gt dev null Python 2 7 3 v2 7 3 70274d53c1dd Apr 9 2012 20 5
  • Videojs,如何动态更新 m3u8 播放列表

    我想将新的传入块从后端添加到已经是 live m3u8 播放列表的播放器 这是现有的播放列表 已设置并正在播放 EXTM3U EXT X PLAYLIST TYPE VOD EXT X TARGETDURATION 6 EXT X VERS
  • 使用 .Net 开发 Robocode 类型的游戏,用于学校作业

    我目前正在学校的最后一年 正在攻读计算机研究国家高级文凭 基本上在最后一个学期 我们需要开发一个软件项目 该项目基本上包含whole system 现在 我想做的是类似的事情Robocode https robocode sourcefor
  • Highstock/Highcharts 上每条线都有不同的后缀

    有没有一种简单的方法可以在每行上使用不同的后缀值 现在我有 3 行 我正在尝试更改每行的后缀 但我只能使用格式化程序功能找到它 但是 如果我使用格式化程序功能 我需要编辑每个工具提示 使其与默认工具提示一样 而且我不知道默认格式 我的意思是
  • 进程启动和模拟

    我在 ASP NET 2 0 中的模拟上下文中启动进程时遇到问题 我正在我的网络服务代码中启动新流程 IIS 5 1 NET 2 0 WebMethod public string HelloWorld string path C KB G
  • 如何显示前 2 段?那么剩下的段落呢? - PHP

    我在一个字符串中有 4 段文本 每个段落都被包围 p p 我的第一个目标是输出前两段 我的第二个目标是将剩余段落输出到页面上的其他位置 有时我可能会处理包含超过 4 个段落的字符串 我已经在网上搜索了现有的任何内容 有很多关于仅显示第一段的
  • 更改现有张量流变量的设备放置

    如何更改 tf Variable 的设备放置 我尝试了两种方法 a tf Variable 1 name a a s device is not set with tf device gpu 0 a tf get variable a 1
  • com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:通信链路故障

    我正在努力让我的数据库与我的 Java 程序对话 有人可以给我一个使用 JDBC 的快速但肮脏的示例程序吗 我遇到了一个相当惊人的错误 Exception in thread main com mysql jdbc exceptions j
  • 如何从 ionic 2 中的导航获取当前页面

    我是 Ionic2 的新手 我正在尝试根据当前的菜单选择构建动态选项卡 我只是想知道如何使用导航控制器获取当前页面 export class TabsPage constructor navParams NavParams navCtrl
  • 有没有办法在 minizinc 中自定义 int_search ?

    我正在处理图形着色问题 想知道是否可以指定搜索策略 我找到了搜索注释 比如int search q first fail indomain min 但例如 我希望算法选择具有最高节点度数的下一个节点 假设这会导致更快的失败 因为具有高度数的