@@ -115,10 +115,16 @@ end
115115
116116function fill_variable_start! (moim, x0, param_vis)
117117 var_to_idx = Dict {MOI.VariableIndex,Int} ()
118- for (i, vi) in enumerate (MOI. get (moim, MOI. ListOfVariableIndices ()))
118+ i = 0
119+ for vi in MOI. get (moim, MOI. ListOfVariableIndices ())
119120 vi ∈ param_vis && continue
121+ i += 1
120122 var_to_idx[vi] = i
121- start = MOI. get (moim, MOI. VariablePrimalStart (), vi)
123+ start = if MOI. supports (moim, MOI. VariablePrimalStart (), typeof (vi))
124+ MOI. get (moim, MOI. VariablePrimalStart (), vi)
125+ else
126+ nothing
127+ end
122128 isnothing (start) && continue
123129 x0[i] = start
124130 end
@@ -307,8 +313,14 @@ function exafy_con(
307313 for (i, ci) in enumerate (cons)
308314 func = MOI. get (moim, MOI. ConstraintFunction (), ci)
309315 set = MOI. get (moim, MOI. ConstraintSet (), ci)
310- start = MOI. get (moim, MOI. ConstraintPrimalStart (), ci)
311316 con_to_idx[ci] = offset + i
317+ start = if MOI. supports (
318+ moim, MOI. ConstraintPrimalStart (), typeof (ci)
319+ )
320+ MOI. get (moim, MOI. ConstraintPrimalStart (), ci)
321+ else
322+ nothing
323+ end
312324 _exafy_con_update_start (ci, start, y0, con_to_idx)
313325 _exafy_con_update_vector (ci, set, lcon, ucon, con_to_idx)
314326 bin = _exafy_con (ci, func, bin, var_to_idx, con_to_idx)
0 commit comments