Function solve_binary_lp_problem

Source
pub fn solve_binary_lp_problem(
    lp: &LinearModel,
) -> Result<LpSolution<bool>, SolverError>
Expand description

Solves a binary linear programming problem.

Takes a linear model containing only boolean variables and returns an optimal solution or an error if the problem cannot be solved.

§Arguments

  • lp - The linear programming model to solve, must contain only boolean variables

§Returns

  • Ok(LpSolution<bool>) - The optimal solution if found
  • Err(SolverError) - Various error conditions that prevented finding a solution

§Example

use rooc::{VariableType, Comparison, OptimizationType, solve_binary_lp_problem, LinearModel};

let mut model = LinearModel::new();
model.add_variable("x1", VariableType::Boolean);
model.add_variable("x2", VariableType::Boolean);

// Add constraint: x1 + x2 <= 1
model.add_constraint(vec![1.0, 1.0], Comparison::LessOrEqual, 1.0);

// Set objective: maximize x1 + 2*x2
model.set_objective(vec![1.0, 2.0], OptimizationType::Max);

let solution = solve_binary_lp_problem(&model).unwrap();