@@ -1527,6 +1527,52 @@ function test_Env()
1527
1527
return
1528
1528
end
1529
1529
1530
+ function test_SOS1_no_conflict ()
1531
+ model = Gurobi. Optimizer (GRB_ENV)
1532
+ MOI. set (model, MOI. Silent (), true )
1533
+ x = MOI. add_variables (model, 2 )
1534
+ set = MOI. SOS1 ([1.0 , 2.0 ])
1535
+ c1 = MOI. add_constraint (model, MOI. VectorOfVariables (x), set)
1536
+ MOI. optimize! (model)
1537
+ MOI. compute_conflict! (model)
1538
+ @test MOI. get (model, MOI. ConstraintConflictStatus (), c1) ==
1539
+ MOI. NOT_IN_CONFLICT
1540
+ return
1541
+ end
1542
+
1543
+ function test_SOS1_in_conflict ()
1544
+ model = Gurobi. Optimizer (GRB_ENV)
1545
+ MOI. set (model, MOI. Silent (), true )
1546
+ x = MOI. add_variables (model, 2 )
1547
+ MOI. add_constraint .(model, x, MOI. GreaterThan (0.0 ))
1548
+ MOI. add_constraint .(model, x, MOI. LessThan (1.0 ))
1549
+ set = MOI. SOS1 ([1.0 , 2.0 ])
1550
+ c1 = MOI. add_constraint (model, MOI. VectorOfVariables (x), set)
1551
+ c2 = MOI. add_constraint (model, 1.0 * x[1 ] + 1.0 * x[2 ], MOI. EqualTo (2.0 ))
1552
+ MOI. optimize! (model)
1553
+ MOI. compute_conflict! (model)
1554
+ @test MOI. get (model, MOI. ConstraintConflictStatus (), c1) == MOI. IN_CONFLICT
1555
+ @test MOI. get (model, MOI. ConstraintConflictStatus (), c2) == MOI. IN_CONFLICT
1556
+ return
1557
+ end
1558
+
1559
+ function test_SOS2_not_in_conflict ()
1560
+ model = Gurobi. Optimizer (GRB_ENV)
1561
+ MOI. set (model, MOI. Silent (), true )
1562
+ x = MOI. add_variables (model, 3 )
1563
+ MOI. add_constraint .(model, x, MOI. GreaterThan (0.0 ))
1564
+ set = MOI. SOS2 ([1.0 , 2.0 , 3.0 ])
1565
+ c1 = MOI. add_constraint (model, MOI. VectorOfVariables (x), set)
1566
+ f = sum (1.0 * x[i] for i in 1 : 3 )
1567
+ c2 = MOI. add_constraint (model, f, MOI. EqualTo (- 1.0 ))
1568
+ MOI. optimize! (model)
1569
+ MOI. compute_conflict! (model)
1570
+ @test MOI. get (model, MOI. ConstraintConflictStatus (), c1) ==
1571
+ MOI. NOT_IN_CONFLICT
1572
+ @test MOI. get (model, MOI. ConstraintConflictStatus (), c2) == MOI. IN_CONFLICT
1573
+ return
1574
+ end
1575
+
1530
1576
end # TestMOIWrapper
1531
1577
1532
1578
TestMOIWrapper. runtests ()
0 commit comments