@@ -1503,6 +1503,39 @@ function test_run_failure()
15031503 return
15041504end
15051505
1506+ function test_highs_free_binary ()
1507+ model = MOI. Utilities. Model {Float64} ()
1508+ x, _ = MOI. add_constrained_variable (model, MOI. ZeroOne ())
1509+ solver = MiniZinc. Optimizer {Float64} (" highs" )
1510+ index_map, _ = MOI. optimize! (solver, model)
1511+ @test MOI. get (solver, MOI. TerminationStatus ()) == MOI. OPTIMAL
1512+ return
1513+ end
1514+
1515+ function test_highs_int_frac_lb ()
1516+ model = MOI. Utilities. Model {Float64} ()
1517+ x, _ = MOI. add_constrained_variable (model, MOI. Integer ())
1518+ MOI. add_constraint (model, x, MOI. GreaterThan (0.5 ))
1519+ MOI. set (model, MOI. ObjectiveSense (), MOI. MIN_SENSE)
1520+ MOI. set (model, MOI. ObjectiveFunction {typeof(x)} (), x)
1521+ solver = MiniZinc. Optimizer {Float64} (" highs" )
1522+ index_map, _ = MOI. optimize! (solver, model)
1523+ @test MOI. get (solver, MOI. VariablePrimal (), index_map[x]) ≈ 1.0
1524+ return
1525+ end
1526+
1527+ function test_highs_int_frac_ub ()
1528+ model = MOI. Utilities. Model {Float64} ()
1529+ x, _ = MOI. add_constrained_variable (model, MOI. Integer ())
1530+ MOI. add_constraint (model, x, MOI. LessThan (2.5 ))
1531+ MOI. set (model, MOI. ObjectiveSense (), MOI. MAX_SENSE)
1532+ MOI. set (model, MOI. ObjectiveFunction {typeof(x)} (), x)
1533+ solver = MiniZinc. Optimizer {Float64} (" highs" )
1534+ index_map, _ = MOI. optimize! (solver, model)
1535+ @test MOI. get (solver, MOI. VariablePrimal (), index_map[x]) ≈ 2.0
1536+ return
1537+ end
1538+
15061539end
15071540
15081541TestMiniZinc. runtests ()
0 commit comments