Fix solve_with_parameters

This commit is contained in:
Guillaume Pinot
2021-09-13 11:07:55 +02:00
committed by Guillaume P
parent 44d16c2465
commit eb3c60678c
4 changed files with 15 additions and 5 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
[package] [package]
name = "cp_sat" name = "cp_sat"
version = "0.2.0" version = "0.2.1"
edition = "2018" edition = "2018"
description = "Rust bindings to the Google CP-SAT constraint programming solver." description = "Rust bindings to the Google CP-SAT constraint programming solver."
documentation = "https://docs.rs/cp_sat" documentation = "https://docs.rs/cp_sat"
+1 -3
View File
@@ -303,14 +303,12 @@ impl CpModelBuilder {
/// ///
/// ``` /// ```
/// # use cp_sat::builder::CpModelBuilder; /// # use cp_sat::builder::CpModelBuilder;
/// # use cp_sat::proto::{CpSolverStatus, SatParameters}; /// # use cp_sat::proto::CpSolverStatus;
/// let mut model = CpModelBuilder::default(); /// let mut model = CpModelBuilder::default();
/// let x = model.new_int_var([(0, 100)]); /// let x = model.new_int_var([(0, 100)]);
/// let y = model.new_bool_var(); /// let y = model.new_bool_var();
/// model.add_hint(x, 42); /// model.add_hint(x, 42);
/// model.add_hint(y, 1); /// model.add_hint(y, 1);
/// model.add_ge([(1, x), (3, y.into())], 3);
/// model.maximize(y);
/// let response = model.solve(); /// let response = model.solve();
/// assert_eq!(response.status(), CpSolverStatus::Optimal); /// assert_eq!(response.status(), CpSolverStatus::Optimal);
/// ``` /// ```
+1 -1
View File
@@ -37,7 +37,7 @@ cp_sat_wrapper_solve(
assert(res); assert(res);
sat::SatParameters params; sat::SatParameters params;
res = model.ParseFromArray(params_buf, params_size); res = params.ParseFromArray(params_buf, params_size);
assert(res); assert(res);
sat::CpSolverResponse response = sat::SolveWithParameters(model, params); sat::CpSolverResponse response = sat::SolveWithParameters(model, params);
+12
View File
@@ -0,0 +1,12 @@
use cp_sat::builder::CpModelBuilder;
use cp_sat::proto::{CpSolverStatus, SatParameters};
#[test]
fn simple_sat_parameters() {
let mut model = CpModelBuilder::default();
let x = model.new_bool_var();
let params = SatParameters::default();
let response = model.solve_with_parameters(&params);
assert_eq!(response.status(), CpSolverStatus::Optimal);
let _x_value = x.solution_value(&response);
}