-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Reshaped the index page. Still a draft
- Loading branch information
Showing
8 changed files
with
106 additions
and
51 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
# Getting Started | ||
|
||
A soon to be starting guide to Constraint Programming in Julia. | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,51 @@ | ||
## JuliaConstraints | ||
|
||
JuliaConstraints is a collection of packages that help you solve constraint programming problems in Julia. Constraint programming involves modeling problems with constraints, such as "x > 5" or "x + y = 10", and finding solutions that satisfy all of the constraints. It is a part of the [JuMP ecosystem](https://jump.dev/) that focuses on constraint programming in Julia. | ||
|
||
The goal of packages in JuliaConstraints are two-fold: some of them provide a | ||
generic interface, others are solvers for CP models (either purely in Julia | ||
or wrapping). They make it easy to solve constraint-satisfaction problems | ||
(CSPs) and constraint-optimisation problems (COPs) in Julia using | ||
industry-standard solvers and mixed-integer solvers. | ||
|
||
* [CBLS.jl](https://github.com/JuliaConstraints/CBLS.jl) is a high-level | ||
interface for CBLS solvers | ||
* [ConstraintProgrammingExtensions.jl](https://github.com/JuliaConstraints/ConstraintProgrammingExtensions.jl/) | ||
is a common low-level interface for CP solvers. | ||
* JuliaConstraints hosts several pure-Julia solvers: | ||
* JuliaConstraints provides wrappers for existing CP solvers: | ||
* [Chuffed](https://github.com/JuliaConstraints/Chuffed.jl) | ||
* [CPLEX CP Optimizer](https://github.com/JuliaConstraints/CPLEXCP.jl) | ||
* [JaCoP](https://github.com/JuliaConstraints/JaCoP.jl) | ||
* JuliaConstraints makes available packages to help write new CP solvers: | ||
* [Constraints.jl](https://github.com/JuliaConstraints/Constraints.jl) | ||
supplies metadata about constraints | ||
* [ConstraintDomains.jl](https://github.com/JuliaConstraints/ConstraintDomains.jl) | ||
helps with storing the domain of variables | ||
* [LocalSearchSolvers.jl](https://github.com/JuliaConstraints/LocalSearchSolvers.jl) | ||
is a framework to build CBLS solvers | ||
* JuliaConstraints holds repositories of CP models: | ||
* [ConstraintModels.jl](https://github.com/JuliaConstraints/ConstraintModels.jl) | ||
|
||
Other packages for CP in Julia include: | ||
|
||
* [ConstraintSolver.jl](https://github.com/Wikunia/ConstraintSolver.jl/), | ||
another pure-Julia CP solvers | ||
* [SeaPerl.jl](https://github.com/corail-research/SeaPearl.jl), a research CP | ||
solver implemented with reinforcement learning, in pure Julia | ||
|
||
### Operational Research vs Constraint Programming | ||
|
||
Operational research (OR) is a problem-solving approach that uses mathematical models, statistical analysis, and optimization techniques to help organizations make better decisions. OR is concerned with understanding and optimizing complex systems, such as supply chains, transportation networks, and manufacturing processes, to improve efficiency and reduce costs. | ||
|
||
On the other hand, constraint programming (CP) is a programming paradigm that focuses on solving problems with constraints. Constraints are conditions that must be satisfied for a solution to be valid. CP is often used to solve combinatorial problems, such as scheduling, routing, and allocation, where the search space of possible solutions is very large. | ||
|
||
So, while both OR and CP are concerned with solving complex problems, they approach the problem-solving process from different angles. OR typically uses mathematical models and optimization techniques to analyze and optimize existing systems, while CP focuses on finding valid solutions that satisfy a set of constraints. | ||
|
||
### Constraint-Based Local Search | ||
|
||
Constraint-based local search (CBLS) is a type of constraint programming solver that uses a heuristic search algorithm to find solutions to problems. It starts with an initial solution and tries to improve it by making small changes that satisfy the constraints. CBLS is especially useful for large and complex problems where finding an exact solution may take too much time or be impossible. | ||
|
||
In contrast, other constraint programming solvers use a variety of algorithms and techniques to find exact solutions to problems. These solvers try to find a solution that satisfies all of the constraints in the problem. They can be useful for smaller problems where finding an exact solution is feasible, or for problems that have a clear mathematical structure. | ||
|
||
In summary, CBLS is a type of constraint programming solver that uses a heuristic search algorithm to find good solutions, while other constraint programming solvers use various techniques to find exact solutions to problems. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,51 +1,50 @@ | ||
## JuliaConstraints | ||
|
||
JuliaConstraints is a collection of packages that help you solve constraint programming problems in Julia. Constraint programming involves modeling problems with constraints, such as "x > 5" or "x + y = 10", and finding solutions that satisfy all of the constraints. It is a part of the [JuMP ecosystem](https://jump.dev/) that focuses on constraint programming in Julia. | ||
|
||
The goal of packages in JuliaConstraints are two-fold: some of them provide a | ||
generic interface, others are solvers for CP models (either purely in Julia | ||
or wrapping). They make it easy to solve constraint-satisfaction problems | ||
(CSPs) and constraint-optimisation problems (COPs) in Julia using | ||
industry-standard solvers and mixed-integer solvers. | ||
|
||
* [CBLS.jl](https://github.com/JuliaConstraints/CBLS.jl) is a high-level | ||
interface for CBLS solvers | ||
* [ConstraintProgrammingExtensions.jl](https://github.com/JuliaConstraints/ConstraintProgrammingExtensions.jl/) | ||
is a common low-level interface for CP solvers. | ||
* JuliaConstraints hosts several pure-Julia solvers: | ||
* JuliaConstraints provides wrappers for existing CP solvers: | ||
* [Chuffed](https://github.com/JuliaConstraints/Chuffed.jl) | ||
* [CPLEX CP Optimizer](https://github.com/JuliaConstraints/CPLEXCP.jl) | ||
* [JaCoP](https://github.com/JuliaConstraints/JaCoP.jl) | ||
* JuliaConstraints makes available packages to help write new CP solvers: | ||
* [Constraints.jl](https://github.com/JuliaConstraints/Constraints.jl) | ||
supplies metadata about constraints | ||
* [ConstraintDomains.jl](https://github.com/JuliaConstraints/ConstraintDomains.jl) | ||
helps with storing the domain of variables | ||
* [LocalSearchSolvers.jl](https://github.com/JuliaConstraints/LocalSearchSolvers.jl) | ||
is a framework to build CBLS solvers | ||
* JuliaConstraints holds repositories of CP models: | ||
* [ConstraintModels.jl](https://github.com/JuliaConstraints/ConstraintModels.jl) | ||
|
||
Other packages for CP in Julia include: | ||
|
||
* [ConstraintSolver.jl](https://github.com/Wikunia/ConstraintSolver.jl/), | ||
another pure-Julia CP solvers | ||
* [SeaPerl.jl](https://github.com/corail-research/SeaPearl.jl), a research CP | ||
solver implemented with reinforcement learning, in pure Julia | ||
|
||
### Operational Research vs Constraint Programming | ||
|
||
Operational research (OR) is a problem-solving approach that uses mathematical models, statistical analysis, and optimization techniques to help organizations make better decisions. OR is concerned with understanding and optimizing complex systems, such as supply chains, transportation networks, and manufacturing processes, to improve efficiency and reduce costs. | ||
|
||
On the other hand, constraint programming (CP) is a programming paradigm that focuses on solving problems with constraints. Constraints are conditions that must be satisfied for a solution to be valid. CP is often used to solve combinatorial problems, such as scheduling, routing, and allocation, where the search space of possible solutions is very large. | ||
|
||
So, while both OR and CP are concerned with solving complex problems, they approach the problem-solving process from different angles. OR typically uses mathematical models and optimization techniques to analyze and optimize existing systems, while CP focuses on finding valid solutions that satisfy a set of constraints. | ||
|
||
### Constraint-Based Local Search | ||
|
||
Constraint-based local search (CBLS) is a type of constraint programming solver that uses a heuristic search algorithm to find solutions to problems. It starts with an initial solution and tries to improve it by making small changes that satisfy the constraints. CBLS is especially useful for large and complex problems where finding an exact solution may take too much time or be impossible. | ||
|
||
In contrast, other constraint programming solvers use a variety of algorithms and techniques to find exact solutions to problems. These solvers try to find a solution that satisfies all of the constraints in the problem. They can be useful for smaller problems where finding an exact solution is feasible, or for problems that have a clear mathematical structure. | ||
|
||
In summary, CBLS is a type of constraint programming solver that uses a heuristic search algorithm to find good solutions, while other constraint programming solvers use various techniques to find exact solutions to problems. | ||
```@raw html | ||
--- | ||
# https://vitepress.dev/reference/default-theme-home-page | ||
layout: home | ||
hero: | ||
name: "Julia Constraints" | ||
text: "Model Smoothly Decide Wisely" | ||
tagline: A Toolkit for Constraint Programming | ||
image: | ||
src: /logo.png | ||
alt: JuliaConstraints | ||
actions: | ||
- theme: brand | ||
text: Getting Started | ||
link: /getting_started | ||
- theme: alt | ||
text: View on Github | ||
link: https://github.com/JuliaConstraints/JuliaConstraints.github.io | ||
- theme: alt | ||
text: API Examples | ||
link: /cbls | ||
features: | ||
- icon: <img width="64" height="64" src="JuMP-logo-dark.png" alt="JuMP.jl"/> | ||
title: JuMP.jl | ||
details: Model optimization problems via JuMP.jl! | ||
link: "https://jump.dev/" | ||
- icon: <img width="64" height="64" src="toqubo-logo.png" alt="ToQUBO.jl"/> | ||
title: ToQUBO.jl | ||
details: Convert and send optimization models to QUBO solvers! | ||
link: "https://github.com/psrenergy/ToQUBO.jl" | ||
- icon: <img width="64" height="64" src="pluto-logo.png" alt="Pluto.jl"/> | ||
title: Pluto.jl | ||
details: Simple, reactive programming environment via Julia notebooks | ||
link: "https://plutojl.org/" | ||
--- | ||
``` | ||
|
||
|
||
<p style="margin-bottom:2cm"></p> | ||
|
||
<div class="vp-doc" style="width:80%; margin:auto"> | ||
|
||
<h1> What is Julia Constraints? </h1> | ||
|
||
I really wonder! | ||
|
||
</div> |