Ich suche nach einer effizienteren Möglichkeit, extreme Matrixkoeffizienten in einem Gurobi-Modell zu identifizieren, nachdem (!) das Modell erstellt wurde. Mit „extrem“ meine ich besonders kleine oder große Koeffizienten, die die numerische Leistung des Modells negativ beeinflussen. Der folgende Code ist extrem langsam, da er alle Koeffizienten abfragt:
Code: Select all
    mdl.update()
for c in mdl.getConstrs():
c_name = c.ConstrName
for v in mdl.getVars():
v_name = v.VarName
coefficient = mdl.getCoeff(c, v)
if (coefficient != 0.0 and abs(coefficient) < 10e-4) or abs(coefficient) > 10e7:
# Do something
Ich stelle mir vor, dass Model.getA() helfen könnte, aber aus irgendeinem Grund löst der Aufruf dieser Funktion einen Fehler aus.