@@ -1078,7 +1078,8 @@ function test_InterruptException()
10781078end
10791079
10801080function test_indicator_name ()
1081- MOI. empty! (OPTIMIZER)
1081+ model = Gurobi. Optimizer (GRB_ENV)
1082+ MOI. set (model, MOI. Silent (), true )
10821083 x = MOI. add_variables (model, 2 )
10831084 MOI. add_constraint (model, MOI. SingleVariable (x[1 ]), MOI. ZeroOne ())
10841085 f = MOI. VectorAffineFunction (
@@ -1095,7 +1096,8 @@ function test_indicator_name()
10951096end
10961097
10971098function test_indicator_on_one ()
1098- MOI. empty! (OPTIMIZER)
1099+ model = Gurobi. Optimizer (GRB_ENV)
1100+ MOI. set (model, MOI. Silent (), true )
10991101 x = MOI. add_variables (model, 2 )
11001102 MOI. add_constraint (model, MOI. SingleVariable (x[1 ]), MOI. ZeroOne ())
11011103 f = MOI. VectorAffineFunction (
@@ -1112,7 +1114,8 @@ function test_indicator_on_one()
11121114end
11131115
11141116function test_indicator_on_zero ()
1115- MOI. empty! (OPTIMIZER)
1117+ model = Gurobi. Optimizer (GRB_ENV)
1118+ MOI. set (model, MOI. Silent (), true )
11161119 x = MOI. add_variables (model, 2 )
11171120 MOI. add_constraint (model, MOI. SingleVariable (x[1 ]), MOI. ZeroOne ())
11181121 f = MOI. VectorAffineFunction (
@@ -1129,7 +1132,8 @@ function test_indicator_on_zero()
11291132end
11301133
11311134function test_indicator_nonconstant_x ()
1132- MOI. empty! (OPTIMIZER)
1135+ model = Gurobi. Optimizer (GRB_ENV)
1136+ MOI. set (model, MOI. Silent (), true )
11331137 x = MOI. add_variables (model, 2 )
11341138 MOI. add_constraint (model, MOI. SingleVariable (x[1 ]), MOI. ZeroOne ())
11351139 f = MOI. VectorAffineFunction (
@@ -1144,7 +1148,8 @@ function test_indicator_nonconstant_x()
11441148end
11451149
11461150function test_indicator_too_many_indicators ()
1147- MOI. empty! (OPTIMIZER)
1151+ model = Gurobi. Optimizer (GRB_ENV)
1152+ MOI. set (model, MOI. Silent (), true )
11481153 x = MOI. add_variables (model, 2 )
11491154 MOI. add_constraint (model, MOI. SingleVariable (x[1 ]), MOI. ZeroOne ())
11501155 f = MOI. VectorAffineFunction (
@@ -1159,7 +1164,8 @@ function test_indicator_too_many_indicators()
11591164end
11601165
11611166function test_indicator_nonconstant ()
1162- MOI. empty! (OPTIMIZER)
1167+ model = Gurobi. Optimizer (GRB_ENV)
1168+ MOI. set (model, MOI. Silent (), true )
11631169 x = MOI. add_variables (model, 2 )
11641170 MOI. add_constraint (model, MOI. SingleVariable (x[1 ]), MOI. ZeroOne ())
11651171 f = MOI. VectorAffineFunction (
@@ -1174,7 +1180,9 @@ function test_indicator_nonconstant()
11741180end
11751181
11761182function test_farkas_dual_min ()
1177- MOI. empty! (OPTIMIZER)
1183+ model = Gurobi. Optimizer (GRB_ENV)
1184+ MOI. set (model, MOI. Silent (), true )
1185+ MOI. set (model, MOI. RawParameter (" InfUnbdInfo" ), 1 )
11781186 x = MOI. add_variables (model, 2 )
11791187 MOI. set (model, MOI. ObjectiveSense (), MOI. MIN_SENSE)
11801188 MOI. set (
@@ -1196,15 +1204,17 @@ function test_farkas_dual_min()
11961204 clb_dual = MOI. get .(model, MOI. ConstraintDual (), clb)
11971205 c_dual = MOI. get (model, MOI. ConstraintDual (), c)
11981206 @show clb_dual, c_dual
1199- @test clb_dual[1 ] > 1e-6
1200- @test clb_dual[2 ] > 1e-6
1201- @test c_dual[1 ] < - 1e-6
1207+ @test clb_dual[1 ] > - 1e-6
1208+ @test clb_dual[2 ] > - 1e-6
1209+ @test c_dual[1 ] < 1e-6
12021210 @test clb_dual[1 ] ≈ - 2 * c_dual atol = 1e-6
12031211 @test clb_dual[2 ] ≈ - c_dual atol = 1e-6
12041212end
12051213
12061214function test_farkas_dual_min_ii ()
1207- MOI. empty! (OPTIMIZER)
1215+ model = Gurobi. Optimizer (GRB_ENV)
1216+ MOI. set (model, MOI. Silent (), true )
1217+ MOI. set (model, MOI. RawParameter (" InfUnbdInfo" ), 1 )
12081218 x = MOI. add_variables (model, 2 )
12091219 MOI. set (model, MOI. ObjectiveSense (), MOI. MIN_SENSE)
12101220 MOI. set (
@@ -1226,15 +1236,17 @@ function test_farkas_dual_min_ii()
12261236 clb_dual = MOI. get .(model, MOI. ConstraintDual (), clb)
12271237 c_dual = MOI. get (model, MOI. ConstraintDual (), c)
12281238 @show clb_dual, c_dual
1229- @test clb_dual[1 ] < - 1e-6
1230- @test clb_dual[2 ] < - 1e-6
1231- @test c_dual[1 ] < - 1e-6
1239+ @test clb_dual[1 ] < 1e-6
1240+ @test clb_dual[2 ] < 1e-6
1241+ @test c_dual[1 ] < 1e-6
12321242 @test clb_dual[1 ] ≈ 2 * c_dual atol = 1e-6
12331243 @test clb_dual[2 ] ≈ c_dual atol = 1e-6
12341244end
12351245
12361246function test_farkas_dual_max ()
1237- MOI. empty! (OPTIMIZER)
1247+ model = Gurobi. Optimizer (GRB_ENV)
1248+ MOI. set (model, MOI. Silent (), true )
1249+ MOI. set (model, MOI. RawParameter (" InfUnbdInfo" ), 1 )
12381250 x = MOI. add_variables (model, 2 )
12391251 MOI. set (model, MOI. ObjectiveSense (), MOI. MAX_SENSE)
12401252 MOI. set (
@@ -1256,15 +1268,15 @@ function test_farkas_dual_max()
12561268 clb_dual = MOI. get .(model, MOI. ConstraintDual (), clb)
12571269 c_dual = MOI. get (model, MOI. ConstraintDual (), c)
12581270 @show clb_dual, c_dual
1259- @test clb_dual[1 ] > 1e-6
1260- @test clb_dual[2 ] > 1e-6
1261- @test c_dual[1 ] < - 1e-6
1271+ @test clb_dual[1 ] > - 1e-6
1272+ @test clb_dual[2 ] > - 1e-6
1273+ @test c_dual[1 ] < 1e-6
12621274 @test clb_dual[1 ] ≈ - 2 * c_dual atol = 1e-6
12631275 @test clb_dual[2 ] ≈ - c_dual atol = 1e-6
12641276end
12651277
12661278function test_farkas_dual_max_ii ()
1267- model = Gurobi. Optimizer ()
1279+ model = Gurobi. Optimizer (GRB_ENV )
12681280 MOI. set (model, MOI. Silent (), true )
12691281 MOI. set (model, MOI. RawParameter (" InfUnbdInfo" ), 1 )
12701282 x = MOI. add_variables (model, 2 )
@@ -1288,44 +1300,13 @@ function test_farkas_dual_max_ii()
12881300 clb_dual = MOI. get .(model, MOI. ConstraintDual (), clb)
12891301 c_dual = MOI. get (model, MOI. ConstraintDual (), c)
12901302 @show clb_dual, c_dual
1291- @test clb_dual[1 ] < - 1e-6
1292- @test clb_dual[2 ] < - 1e-6
1293- @test c_dual[1 ] < - 1e-6
1294- @test clb_dual[1 ] ≈ 2 * c_dual atol = 1e-6
1295- @test clb_dual[2 ] ≈ c_dual atol = 1e-6
1303+ @test clb_dual[1 ] < 1e-6
1304+ @test clb_dual[2 ] < 1e-6
1305+ @test_broken c_dual[1 ] < 1e-6
1306+ @test_broken clb_dual[1 ] ≈ 2 * c_dual atol = 1e-6
1307+ @test_broken clb_dual[2 ] ≈ c_dual atol = 1e-6
12961308end
12971309
12981310end
12991311
13001312runtests (TestMOIWrapper)
1301-
1302-
1303- # env = Ref{Ptr{Cvoid}}()
1304- # ret = GRBloadenv(env, C_NULL)
1305- # GRBsetintparam(env[], "InfUnbdInfo", 1)
1306- # model = Ref{Ptr{Cvoid}}()
1307- # GRBloadmodel(
1308- # env[], # *env
1309- # model, # **modelp
1310- # C_NULL, # *Pname
1311- # Cint(2), # numvars
1312- # Cint(1), # numconstrs
1313- # Cint(-1), # objsense (minimization)
1314- # 0.0, # objcon
1315- # Cdouble[1.0, 0.0], # *obj
1316- # Cchar[GRB_LESS_EQUAL], # *sense
1317- # Cdouble[-1.0], # *rhs
1318- # Cint[0, 1], # *vbeg
1319- # Cint[1, 1], # vlen
1320- # Cint[0, 0], # *vind
1321- # Cdouble[-2.0, -1.0], # *vval
1322- # Cdouble[-GRB_INFINITY, -GRB_INFINITY], # *lb
1323- # Cdouble[0.0, 0.0], # *ub
1324- # C_NULL, # *vtype
1325- # C_NULL, # **varnames
1326- # C_NULL, # **constrnames
1327- # )
1328- # GRBoptimize(model[])
1329- # dual = Vector{Cdouble}(undef, 1)
1330- # GRBgetdblattrarray(model[], "FarkasDual", 0, 1, dual)
1331- # dual
0 commit comments