Skip to content

Commit 03697e3

Browse files
Also ignore quadobjvar and qmatrixvar from dual solution
1 parent f1cdf95 commit 03697e3

File tree

1 file changed

+13
-4
lines changed

1 file changed

+13
-4
lines changed

linopy/solvers.py

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1362,14 +1362,23 @@ def get_solver_solution() -> Solution:
13621362
objective = m.getObjVal()
13631363

13641364
s = m.getSols()[0]
1365-
sol = pd.Series({v.name: s[v] for v in m.getVars()})
1366-
sol.drop(
1367-
["quadobjvar", "qmatrixvar"], errors="ignore", inplace=True, axis=0
1365+
sol = pd.Series(
1366+
{
1367+
v.name: s[v]
1368+
for v in m.getVars()
1369+
if v.name not in {"quadobjvar", "qmatrixvar"}
1370+
}
13681371
)
13691372

13701373
cons = m.getConss(False)
13711374
if len(cons) != 0:
1372-
dual = pd.Series({c.name: m.getDualSolVal(c) for c in cons})
1375+
dual = pd.Series(
1376+
{
1377+
c.name: m.getDualSolVal(c)
1378+
for c in cons
1379+
if c.name not in {"quadobjvar", "qmatrixvar"}
1380+
}
1381+
)
13731382
else:
13741383
logger.warning("Dual values not available (is this an MILP?)")
13751384
dual = pd.Series(dtype=float)

0 commit comments

Comments
 (0)