diff --git a/docs/make.jl b/docs/make.jl index 6aa62b0..707631c 100644 --- a/docs/make.jl +++ b/docs/make.jl @@ -14,6 +14,7 @@ using ConstraintModels # Learning using CompositionalNetworks using QUBOConstraints +# using ConstraintsTranslator using ConstraintLearning # Constraint-Based Local Search @@ -28,6 +29,7 @@ makedocs(; PerfChecker, ConstraintCommons, ConstraintDomains, Constraints, ConstraintModels, CompositionalNetworks, QUBOConstraints, ConstraintLearning, + # CompositionalNetworks, QUBOConstraints, ConstraintsTranslator, ConstraintLearning, LocalSearchSolvers, CBLS, MetaStrategist, ], @@ -45,81 +47,82 @@ makedocs(; "Home" => "index.md", "Constraint Programming" => [ "Part 1: Basics" => [ - "Introduction" => "cp/intro.md", - "CP 101" => "cp/cp101.md", - "Optimization(s)?" => "cp/opt.md", - "Getting Started" => "cp/getting_started.md", - "Ecosystem" => "cp/ecosystem.md", + "Introduction" => "cp/00_intro.md", + "CP 101" => "cp/10_cp101.md", + "Optimization(s)?" => "cp/20_opt.md", + "Getting Started" => "cp/30_getting_started.md", + "Ecosystem" => "cp/40_ecosystem.md", ], "Part 2: Advanced" => [ - "CP Techniques" => "cp/advanced.md", - "Applications" => "cp/applications.md", - "Models" => "cp/models.md", - "Tutorials&XP" => "cp/tuto_xp.md", - "Contributing" => "cp/contribution.md", + "CP Techniques" => "cp/50_advanced.md", + "Applications" => "cp/60_applications.md", + "Models" => "cp/70_models.md", + "Tutorials&XP" => "cp/80_tuto_xp.md", + "Contributing" => "cp/90_contribution.md", ], ], "Modeling Toolkit" => [ - "Introduction" => "constraints/intro.md", - "Variables and Domains" => "constraints/variables_and_domains.md", + "Introduction" => "constraints/00_intro.md", + "Variables and Domains" => "constraints/10_variables_and_domains.md", "Constraints" => [ - "Basics" => "constraints/constraints.md", - "Generic Constraints" => "constraints/generic_constraints.md", - "Language Constraints" => "constraints/language_constraints.md", - "Comparison Constraints" => "constraints/comparison_constraints.md", - "Counting and Summing Constraints" => "constraints/counting_summing_constraints.md", - "Connection Constraints" => "constraints/connection_constraints.md", - "Packing and Scheduling Constraints" => "constraints/packing_scheduling_constraints.md", - "Graph Constraints" => "constraints/graph_constraints.md", - "Elementary Constraints" => "constraints/elementary_constraints.md", + "Basics" => "constraints/20_constraints.md", + "Generic Constraints" => "constraints/21_generic_constraints.md", + "Language Constraints" => "constraints/22_language_constraints.md", + "Comparison Constraints" => "constraints/23_comparison_constraints.md", + "Counting and Summing Constraints" => "constraints/24_counting_summing_constraints.md", + "Connection Constraints" => "constraints/25_connection_constraints.md", + "Packing and Scheduling Constraints" => "constraints/26_packing_scheduling_constraints.md", + "Graph Constraints" => "constraints/27_graph_constraints.md", + "Elementary Constraints" => "constraints/28_elementary_constraints.md", ], - "Model Catalog" => "constraints/constraint_models.md", + "Model Catalog" => "constraints/40_constraint_models.md", "Internals" => [ - "ConstraintCommons.jl" => "constraints/constraint_commons.md", - "ConstraintDomains.jl" => "constraints/constraint_domains.md", - "Constraints.jl" => "constraints/constraints_jl.md", + "ConstraintCommons.jl" => "constraints/60_constraint_commons.md", + "ConstraintDomains.jl" => "constraints/61_constraint_domains.md", + "Constraints.jl" => "constraints/62_constraints_jl.md", ], ], "Learning" => [ - "Introduction" => "learning/intro.md", + "Introduction" => "learning/00_intro.md", "CompositionalNetworks.jl" => [ - "About ICNs" => "learning/compositional_networks.md", - "Layers" => "learning/layers.md", - "Transformations Layer" => "learning/transformation.md", - "Arithmetic Layer" => "learning/arithmetic.md", - "Aggregation Layer" => "learning/aggregation.md", - "Comparison Layer" => "learning/comparison.md", + "About ICNs" => "learning/10_compositional_networks.md", + "Layers" => "learning/11_layers.md", + "Transformations Layer" => "learning/12_transformation.md", + "Arithmetic Layer" => "learning/13_arithmetic.md", + "Aggregation Layer" => "learning/14_aggregation.md", + "Comparison Layer" => "learning/15_comparison.md", ], "QUBOConstraints.jl" => [ - "Model as QUBO" => "learning/qubo_constraints.md", - "Encoding" => "learning/qubo_encoding.md", - "Learning" => "learning/qubo_learning.md", + "Model as QUBO" => "learning/20_qubo_constraints.md", + "Encoding" => "learning/21_qubo_encoding.md", + "Learning" => "learning/22_qubo_learning.md", ], - "ConstraintLearning.jl" => "learning/constraint_learning.md", + "ConstraintsTranslator.jl" => "learning/30_constraints_translator.md", + "ConstraintLearning.jl" => "learning/90_constraint_learning.md", ], "Solvers" => [ - "Introduction" => "solvers/intro.md", + "Introduction" => "solvers/00_intro.md", "JuMPed" => [ - "CBLS.jl" => "solvers/cbls.md", + "CBLS.jl" => "solvers/10_cbls.md", ], "Others" => [ - "LocalSearchSolvers.jl" => "solvers/local_search_solvers.md", + "LocalSearchSolvers.jl" => "solvers/60_local_search_solvers.md", ], ], "Meta Strategist" => [ - "MetaStrategist.jl" => "meta/meta_strategist.md", + "MetaStrategist.jl" => "meta/00_meta_strategist.md", ], "Performance Checking" => [ - "PerfChecker.jl" => "perf/perf_checker.md", - "Tutorial" => "perf/tutorial.md", - "Interface" => "perf/perf_interface.md", - "BenchmarkToolsExt" => "perf/benchmark_ext.md", - "ChairmarksExt" => "perf/chairmarks_ext.md", - "API" => "perf/api.md" + "PerfChecker.jl" => "perf/00_perf_checker.md", + "Tutorial" => "perf/10_tutorial.md", + "Interface" => "perf/20_perf_interface.md", + "BenchmarkToolsExt" => "perf/30_benchmark_ext.md", + "ChairmarksExt" => "perf/40_chairmarks_ext.md", + "API" => "perf/90_api.md" ], "API" => [ - "Public" => "public_api.md", - "Full" => "full_api.md", + "Public" => "api/00_public.md", + "Full" => "api/10_full.md", ], ], warnonly=true, diff --git a/docs/src/public_api.md b/docs/src/api/00_public.md similarity index 100% rename from docs/src/public_api.md rename to docs/src/api/00_public.md diff --git a/docs/src/full_api.md b/docs/src/api/10_full.md similarity index 100% rename from docs/src/full_api.md rename to docs/src/api/10_full.md diff --git a/docs/src/constraints/intro.md b/docs/src/constraints/00_intro.md similarity index 100% rename from docs/src/constraints/intro.md rename to docs/src/constraints/00_intro.md diff --git a/docs/src/constraints/variables_and_domains.md b/docs/src/constraints/10_variables_and_domains.md similarity index 100% rename from docs/src/constraints/variables_and_domains.md rename to docs/src/constraints/10_variables_and_domains.md diff --git a/docs/src/constraints/constraints.md b/docs/src/constraints/20_constraints.md similarity index 100% rename from docs/src/constraints/constraints.md rename to docs/src/constraints/20_constraints.md diff --git a/docs/src/constraints/generic_constraints.md b/docs/src/constraints/21_generic_constraints.md similarity index 100% rename from docs/src/constraints/generic_constraints.md rename to docs/src/constraints/21_generic_constraints.md diff --git a/docs/src/constraints/language_constraints.md b/docs/src/constraints/22_language_constraints.md similarity index 100% rename from docs/src/constraints/language_constraints.md rename to docs/src/constraints/22_language_constraints.md diff --git a/docs/src/constraints/comparison_constraints.md b/docs/src/constraints/23_comparison_constraints.md similarity index 100% rename from docs/src/constraints/comparison_constraints.md rename to docs/src/constraints/23_comparison_constraints.md diff --git a/docs/src/constraints/counting_summing_constraints.md b/docs/src/constraints/24_counting_summing_constraints.md similarity index 100% rename from docs/src/constraints/counting_summing_constraints.md rename to docs/src/constraints/24_counting_summing_constraints.md diff --git a/docs/src/constraints/connection_constraints.md b/docs/src/constraints/25_connection_constraints.md similarity index 100% rename from docs/src/constraints/connection_constraints.md rename to docs/src/constraints/25_connection_constraints.md diff --git a/docs/src/constraints/packing_scheduling_constraints.md b/docs/src/constraints/26_packing_scheduling_constraints.md similarity index 100% rename from docs/src/constraints/packing_scheduling_constraints.md rename to docs/src/constraints/26_packing_scheduling_constraints.md diff --git a/docs/src/constraints/graph_constraints.md b/docs/src/constraints/27_graph_constraints.md similarity index 100% rename from docs/src/constraints/graph_constraints.md rename to docs/src/constraints/27_graph_constraints.md diff --git a/docs/src/constraints/elementary_constraints.md b/docs/src/constraints/28_elementary_constraints.md similarity index 100% rename from docs/src/constraints/elementary_constraints.md rename to docs/src/constraints/28_elementary_constraints.md diff --git a/docs/src/constraints/constraint_models.md b/docs/src/constraints/40_constraint_models.md similarity index 100% rename from docs/src/constraints/constraint_models.md rename to docs/src/constraints/40_constraint_models.md diff --git a/docs/src/constraints/constraint_commons.md b/docs/src/constraints/60_constraint_commons.md similarity index 100% rename from docs/src/constraints/constraint_commons.md rename to docs/src/constraints/60_constraint_commons.md diff --git a/docs/src/constraints/constraint_domains.md b/docs/src/constraints/61_constraint_domains.md similarity index 100% rename from docs/src/constraints/constraint_domains.md rename to docs/src/constraints/61_constraint_domains.md diff --git a/docs/src/constraints/constraints_jl.md b/docs/src/constraints/62_constraints_jl.md similarity index 100% rename from docs/src/constraints/constraints_jl.md rename to docs/src/constraints/62_constraints_jl.md diff --git a/docs/src/cp/intro.md b/docs/src/cp/00_intro.md similarity index 100% rename from docs/src/cp/intro.md rename to docs/src/cp/00_intro.md diff --git a/docs/src/cp/cp101.md b/docs/src/cp/10_cp101.md similarity index 100% rename from docs/src/cp/cp101.md rename to docs/src/cp/10_cp101.md diff --git a/docs/src/cp/opt.md b/docs/src/cp/20_opt.md similarity index 100% rename from docs/src/cp/opt.md rename to docs/src/cp/20_opt.md diff --git a/docs/src/cp/getting_started.md b/docs/src/cp/30_getting_started.md similarity index 100% rename from docs/src/cp/getting_started.md rename to docs/src/cp/30_getting_started.md diff --git a/docs/src/cp/ecosystem.md b/docs/src/cp/40_ecosystem.md similarity index 100% rename from docs/src/cp/ecosystem.md rename to docs/src/cp/40_ecosystem.md diff --git a/docs/src/cp/advanced.md b/docs/src/cp/50_advanced.md similarity index 100% rename from docs/src/cp/advanced.md rename to docs/src/cp/50_advanced.md diff --git a/docs/src/cp/applications.md b/docs/src/cp/60_applications.md similarity index 100% rename from docs/src/cp/applications.md rename to docs/src/cp/60_applications.md diff --git a/docs/src/cp/models.md b/docs/src/cp/70_models.md similarity index 100% rename from docs/src/cp/models.md rename to docs/src/cp/70_models.md diff --git a/docs/src/cp/tuto_xp.md b/docs/src/cp/80_tuto_xp.md similarity index 100% rename from docs/src/cp/tuto_xp.md rename to docs/src/cp/80_tuto_xp.md diff --git a/docs/src/cp/contribution.md b/docs/src/cp/90_contribution.md similarity index 100% rename from docs/src/cp/contribution.md rename to docs/src/cp/90_contribution.md diff --git a/docs/src/index-old.md b/docs/src/index-old.md deleted file mode 100644 index 405e8c6..0000000 --- a/docs/src/index-old.md +++ /dev/null @@ -1,51 +0,0 @@ -## 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. diff --git a/docs/src/learning/intro.md b/docs/src/learning/00_intro.md similarity index 100% rename from docs/src/learning/intro.md rename to docs/src/learning/00_intro.md diff --git a/docs/src/learning/compositional_networks.md b/docs/src/learning/10_compositional_networks.md similarity index 100% rename from docs/src/learning/compositional_networks.md rename to docs/src/learning/10_compositional_networks.md diff --git a/docs/src/learning/layers.md b/docs/src/learning/11_layers.md similarity index 100% rename from docs/src/learning/layers.md rename to docs/src/learning/11_layers.md diff --git a/docs/src/learning/transformation.md b/docs/src/learning/12_transformation.md similarity index 100% rename from docs/src/learning/transformation.md rename to docs/src/learning/12_transformation.md diff --git a/docs/src/learning/arithmetic.md b/docs/src/learning/13_arithmetic.md similarity index 100% rename from docs/src/learning/arithmetic.md rename to docs/src/learning/13_arithmetic.md diff --git a/docs/src/learning/aggregation.md b/docs/src/learning/14_aggregation.md similarity index 100% rename from docs/src/learning/aggregation.md rename to docs/src/learning/14_aggregation.md diff --git a/docs/src/learning/comparison.md b/docs/src/learning/15_comparison.md similarity index 100% rename from docs/src/learning/comparison.md rename to docs/src/learning/15_comparison.md diff --git a/docs/src/learning/qubo_constraints.md b/docs/src/learning/20_qubo_constraints.md similarity index 100% rename from docs/src/learning/qubo_constraints.md rename to docs/src/learning/20_qubo_constraints.md diff --git a/docs/src/learning/qubo_encoding.md b/docs/src/learning/21_qubo_encoding.md similarity index 100% rename from docs/src/learning/qubo_encoding.md rename to docs/src/learning/21_qubo_encoding.md diff --git a/docs/src/learning/qubo_learning.md b/docs/src/learning/22_qubo_learning.md similarity index 100% rename from docs/src/learning/qubo_learning.md rename to docs/src/learning/22_qubo_learning.md diff --git a/docs/src/learning/30_constraints_translator.md b/docs/src/learning/30_constraints_translator.md new file mode 100644 index 0000000..355186f --- /dev/null +++ b/docs/src/learning/30_constraints_translator.md @@ -0,0 +1,7 @@ +# ConstraintsTranslator.jl + +Documentation for `ConstraintsTranslator.jl`. + + \ No newline at end of file diff --git a/docs/src/learning/constraint_learning.md b/docs/src/learning/90_constraint_learning.md similarity index 100% rename from docs/src/learning/constraint_learning.md rename to docs/src/learning/90_constraint_learning.md diff --git a/docs/src/meta/meta_strategist.md b/docs/src/meta/00_meta_strategist.md similarity index 100% rename from docs/src/meta/meta_strategist.md rename to docs/src/meta/00_meta_strategist.md diff --git a/docs/src/perf/perf_checker.md b/docs/src/perf/00_perf_checker.md similarity index 100% rename from docs/src/perf/perf_checker.md rename to docs/src/perf/00_perf_checker.md diff --git a/docs/src/perf/tutorial.md b/docs/src/perf/10_tutorial.md similarity index 100% rename from docs/src/perf/tutorial.md rename to docs/src/perf/10_tutorial.md diff --git a/docs/src/perf/perf_interface.md b/docs/src/perf/20_perf_interface.md similarity index 100% rename from docs/src/perf/perf_interface.md rename to docs/src/perf/20_perf_interface.md diff --git a/docs/src/perf/benchmark_ext.md b/docs/src/perf/30_benchmark_ext.md similarity index 100% rename from docs/src/perf/benchmark_ext.md rename to docs/src/perf/30_benchmark_ext.md diff --git a/docs/src/perf/chairmarks_ext.md b/docs/src/perf/40_chairmarks_ext.md similarity index 100% rename from docs/src/perf/chairmarks_ext.md rename to docs/src/perf/40_chairmarks_ext.md diff --git a/docs/src/perf/api.md b/docs/src/perf/90_api.md similarity index 100% rename from docs/src/perf/api.md rename to docs/src/perf/90_api.md diff --git a/docs/src/solvers/intro.md b/docs/src/solvers/00_intro.md similarity index 100% rename from docs/src/solvers/intro.md rename to docs/src/solvers/00_intro.md diff --git a/docs/src/solvers/cbls.md b/docs/src/solvers/10_cbls.md similarity index 100% rename from docs/src/solvers/cbls.md rename to docs/src/solvers/10_cbls.md diff --git a/docs/src/solvers/local_search_solvers.md b/docs/src/solvers/60_local_search_solvers.md similarity index 100% rename from docs/src/solvers/local_search_solvers.md rename to docs/src/solvers/60_local_search_solvers.md