use selen::benchmarks::manufacturing_constraints::*;
fn main() {
println!("ð Manufacturing Constraints Demo");
println!("=================================");
println!("Testing realistic CNC tool clearance optimization...\n");
let result = benchmark_tool_clearance_constraints();
println!("=== {} ===", result.constraint_type);
println!("Problem Scale: {}", result.scale);
println!("Duration: {:.2} seconds ({} Ξs)",
result.duration.as_secs_f64(),
result.duration.as_micros());
println!("Success: {}", if result.success { "â
SOLVED" } else { "â FAILED" });
println!("Feasibility Score: {:.1}/10", result.feasibility_score);
let seconds = result.duration.as_secs_f64();
let performance_class = if seconds < 0.5 { "⥠Real-time capable" }
else if seconds < 5.0 { "ð CAM software ready" }
else if seconds < 30.0 { "ð Production planning ready" }
else { "â° Offline optimization only" };
println!("Performance: {}", performance_class);
if result.success {
println!("\nðŊ Manufacturing Analysis:");
if result.feasibility_score > 9.0 {
println!(" â
Excellent - Ready for production deployment");
println!(" ð° Cost savings: High precision, minimal rework");
println!(" ⥠Speed: Optimized tool paths reduce cycle time");
} else if result.feasibility_score > 8.0 {
println!(" â ïļ Good - Minor parameter tuning recommended");
println!(" ð§ Requires: Tool path validation and testing");
} else {
println!(" â Needs improvement - Constraint refinement required");
}
if seconds > 5.0 {
println!("\nâąïļ Performance Note:");
println!(" Solving took {:.1}s - this is a complex 3D tool clearance problem", seconds);
println!(" with 50 tool positions and hundreds of distance constraints.");
println!(" In production: Pre-compute solutions for common part geometries.");
}
} else {
println!("\nâ Problem Analysis:");
println!(" The constraints are too restrictive or conflicting.");
println!(" In manufacturing: Adjust tool parameters, workpiece size,");
println!(" or clearance requirements to find feasible solution.");
}
println!("\nð Benchmark completed!");
}