Choco:可直接使用的约束满足问题求解程序,使用了约束规划技术

choco-solver

Choco是一个开源免费的约束规划Java开发库。用户声明一组约束条件对问题进行建模,Choco通过调整约束过滤算法解决问题。

功能概述

Choco Solver 4 是一个Java 8 开发库,包含以下功能:

  • 各种变量类型(integer、boolean、set 与 real等)
  • 各种约束(alldifferent、count、nvalues等)
  • 可配置搜索(自定义搜索、基于activity的搜索、大规模邻域搜索算法等)
  • 冲突分析(基于冲突的backjumping、动态backtracking、路径修复等)

Choco Solver还包含搜索进程交互设施、建模改进工厂、丰富的示例以及Ibex接口等。Choco Solver还提供了许多扩展,包括FlatZinc解析器用来分析minizinc实例以及图形模块,更好地分析TSP图形问题。Choco 4的完整功能列表可以在这里找到。choco-solver-4源代码托管在GitHub。

如何引用Choco?

使用Using Choco Solver

main package结构

在Choco Solver网站下载。下载的zip文件中包含以下内容:

  • choco-solver-4.0.0-with-dependencies.jar:包含所有依赖的jar文件,可以直接用来建模和解决CP问题
  • choco-solver-4.0.0.jar:包含所有依赖及配置的jar文件
  • choco-solver-4.0.0-sources.jar:core library源代码,可以加载到IDE中提供javadoc提示
  • choco-samples-4.0.0-sources.jar:choco-samples建模问题源代码,可以从这里开始入手使用Choco
  • apidocs-4.0.0.zip:Choco-4.0.0 Javadoc
  • logback.xml:logback配置文件,使用choco-solver库时可能需要

项目中使用Choco Solver

直接使用

在 classpath 中添加 choco-solver-4.0.0-with-dependencies.jar(终端或IDE)

Maven

Choco Solver可以从Maven中央仓库下载。在pom.xml中加入以下依赖项:

where X.Y.Z is replaced by 4.0.0. Note that the artifact does not include any dependencies or logback.xml. Please, refer to README.md for the list of required dependencies.

使用SBT

在项目中声明Choco依赖项,在build.sbt中增加以下内容:

示例

下面是使用 Choco Solver的一个简单示例:

开发资源

使用许可

Choco使用 IntelliJ IDEAJProfiler 开发,遵循BSD协议发布。

官方网站:http://www.choco-solver.org/
开源地址:https://github.com/chocoteam/choco-solver

打赏支持我整理更多优质资源,谢谢!

打赏编辑

打赏支持我整理更多优质资源,谢谢!

任选一种支付方式

1 收藏

资源整理者简介:唐尤华

做自己喜欢的,编程、喝茶、看世界 个人主页 · 贡献了108个资源 · 18 ·    


直接登录

推荐关注

按分类快速查找

关于资源导航
  • 伯乐在线资源导航收录优秀的工具资源。内容覆盖开发、设计、产品和管理等IT互联网行业相关的领域。目前已经收录 1439 项工具资源。
    推送伯乐头条热点内容微信号:jobbole 分享干货的技术类微信号:iProgrammer