Skip to content

Commit 3391bbf

Browse files
committedApr 26, 2024·
Consider sequential/repeated solve
1 parent d588aef commit 3391bbf

File tree

1 file changed

+12
-4
lines changed

1 file changed

+12
-4
lines changed
 

‎lpmodeler/model.py

+12-4
Original file line numberDiff line numberDiff line change
@@ -280,10 +280,6 @@ def set_objective(self, objective: LPExpressionLike) -> None:
280280
self.objective = LPExpression.build(objective)
281281

282282
def solve(self) -> None:
283-
if self.has_impossible_constraints:
284-
self.status = LPStatus.INFEASIBLE
285-
return
286-
287283
var_dict: dict[int, LPVar] = {}
288284
for constraint in self.constraints:
289285
for term in constraint.lhs.terms:
@@ -292,6 +288,18 @@ def solve(self) -> None:
292288
for term in self.objective.terms:
293289
var_dict.setdefault(id(term.variable), term.variable)
294290

291+
# Reset status
292+
self.objective._value = None
293+
self.status = None
294+
for var in var_dict.values():
295+
var._value = None
296+
297+
# Obviously infeasible
298+
if self.has_impossible_constraints:
299+
self.status = LPStatus.INFEASIBLE
300+
return
301+
302+
# Obviously optimal
295303
if not var_dict:
296304
self.status = LPStatus.OPTIMAL
297305
self.objective._value = self.objective.const

0 commit comments

Comments
 (0)
Please sign in to comment.