首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >简单约束编程求解器

简单约束编程求解器
EN

Stack Overflow用户
提问于 2013-06-26 21:30:34
回答 3查看 7.8K关注 0票数 6

我正在尝试熟悉约束编程。

到目前为止,我看到的所有文档/视频都只包含基于CP库利用率(如Choko、Gecode、JaCoP等)的顶级概念和代码示例的描述。

我希望至少在没有任何库的情况下用Java实现一些简单的东西。

有没有什么资源可以让我找到实现主要CP思想的Java/C#/C++/Python中的工作代码?(至少是“多寄钱”的问题解决方案)。

(或者,如果有人能在这里解释一下,那就太好了)。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-06-27 01:23:21

这取决于你想要做什么。

1-如果您想要开始使用约束编程(CP)工具,您首先需要了解此方法中的建模。为此,您必须能够将给定问题定义为一组约束,然后将模型发布到求解器(该求解器已经知道如何处理这些约束)。

我个人发现G12_MiniZinc_Distribution (可以通过http://www.minizinc.org/获得)和它的最新教程是一个非常好的入门方式(最新的发行版包含许多型号)。如果你想看看CP模型是什么样子,还有一些在线模型(w.r.t minizinc语法):http://www.hakank.org/minizinc

2-如果你对CP有一个高级的理论理解,你可能会直接从可用的库中看到一些技术(例如传播器)的实现,因为从头开始开发CP Solver (IMO)是一个愚蠢的想法。以下是一些开放源码的求解器/库: G12、Choco、Mistral或-Tools。

票数 7
EN

Stack Overflow用户

发布于 2017-03-28 23:16:28

OptaPlanner (开源,java)文档中有对一些算法的深入解释,如Simulated AnnealingTabu Search

这是一张来自那里的图片:

票数 3
EN

Stack Overflow用户

发布于 2019-09-07 16:24:29

如果仍然有人,请查找下面这样的内容:

你可能想看看Minicp,在那里你可以找到幻灯片,它是一个用Java语言编写的求解器。

如果您想用高级但快速的编程语言从头开始编写自己的求解器,请查看我的博客系列:ConstraintSolver.jl blog posts

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17321436

复制
相关文章

相似问题

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