Files
cp_sat/examples/simple_sat_program.rs
2021-09-09 10:46:25 +02:00

20 lines
835 B
Rust

fn main() {
let mut model = cp_sat::builder::CpModelBuilder::default();
let x = model.new_int_var_with_name([(0, 2)], "x");
let y = model.new_int_var_with_name([(0, 2)], "y");
let z = model.new_int_var_with_name([(0, 2)], "z");
model.add_all_different([x, y, z]);
println!("{:#?}", model);
println!("model stats: {}", model.stats());
let response = model.solve();
println!("{:#?}", response);
println!(
"response stats: {}",
cp_sat::cp_solver_response_stats(&response, false)
);
assert_eq!(response.status(), cp_sat::proto::CpSolverStatus::Optimal);
assert!(x.solution_value(&response) != y.solution_value(&response));
assert!(x.solution_value(&response) != z.solution_value(&response));
assert!(y.solution_value(&response) != z.solution_value(&response));
}