Skip to main content

Module solve

Module solve 

Source
Expand description

conjure_oxide solve sub-command

Re-exportsΒ§

use std::time::Duration; πŸ”’
use std::fs::File; πŸ”’
use std::path::Path; πŸ”’
use std::path::PathBuf; πŸ”’
use std::sync::Arc; πŸ”’
use std::sync::RwLock; πŸ”’
use crate::exit; πŸ”’
use anyhow::anyhow; πŸ”’
use clap::ValueHint; πŸ”’
use conjure_cp::instantiate::instantiate_model; πŸ”’
use conjure_cp::instantiate::validate_instantiation_conditions; πŸ”’
use conjure_cp::context::Context; πŸ”’
use conjure_cp::defaults::DEFAULT_RULE_SETS; πŸ”’
use conjure_cp::rule_engine::resolve_rule_sets; πŸ”’
use conjure_cp::rule_engine::rewrite_model; πŸ”’
use conjure_cp::settings::Rewriter; πŸ”’
use conjure_cp::settings::set_channelling; πŸ”’
use conjure_cp::settings::set_comprehension_expander; πŸ”’
use conjure_cp::settings::set_current_parser; πŸ”’
use conjure_cp::settings::set_current_rewriter; πŸ”’
use conjure_cp::settings::set_current_solver_family; πŸ”’
use conjure_cp::settings::set_default_rule_trace_enabled; πŸ”’
use conjure_cp::settings::set_heuristic; πŸ”’
use conjure_cp::settings::set_heuristic_responses; πŸ”’
use conjure_cp::settings::set_heuristic_seed; πŸ”’
use conjure_cp::settings::set_minion_discrete_threshold; πŸ”’
use conjure_cp::settings::set_rule_attempt_trace_enabled; πŸ”’
use conjure_cp::settings::set_rule_trace_aggregates_enabled; πŸ”’
use conjure_cp::settings::set_rule_trace_enabled; πŸ”’
use conjure_cp::solver::Solver; πŸ”’
use conjure_cp::parse::conjure_json::model_from_json; πŸ”’
use conjure_cp::rule_engine::get_rules; πŸ”’
use conjure_cp::settings::SolverFamily; πŸ”’
use conjure_cp::parse::tree_sitter::parse_essence_file_native; πŸ”’
use conjure_cp_cli::find_conjure::conjure_executable; πŸ”’
use conjure_cp_cli::utils::conjure::get_solutions; πŸ”’
use conjure_cp_cli::utils::conjure::solutions_to_essence; πŸ”’
use conjure_cp_cli::utils::conjure::solutions_to_json; πŸ”’
use conjure_cp_cli::utils::simplified_json::domains_from_model; πŸ”’
use conjure_cp_cli::utils::simplified_json::param_model_from_assignments; πŸ”’
use conjure_cp_cli::utils::simplified_json::params_from_simplified_json_str; πŸ”’
use conjure_cp_cli::utils::simplified_json::solution_to_simplified_json; πŸ”’
use conjure_cp_cli::utils::simplified_json::solutions_to_simplified_json_string; πŸ”’
use crate::cli::GlobalArgs; πŸ”’
use crate::cli::LOGGING_HELP_HEADING; πŸ”’
use conjure_cp::solver::adaptors::*; πŸ”’

StructsΒ§

Args

EnumsΒ§

NumberOfSolutions
OutputFormat

FunctionsΒ§

coerce_bools_in_solutions πŸ”’
Turn solver 0/1 assignments back into booleans when the find domain is bool, so JSON/Essence output matches Conjure’s simplified JSON (true/false).
init_context πŸ”’
Returns a new Context and Solver for solving.
init_solver πŸ”’
parse πŸ”’
parse_number_of_solutions πŸ”’
parse_param πŸ”’
Parse an Essence or simplified-JSON parameter file.
parse_with_conjure πŸ”’
per_solution_output_path πŸ”’
rewrite πŸ”’
run_solve_command
run_solver πŸ”’
write_solutions πŸ”’