Skip to content

SCIP_PY reporting inexistent solution #876

@josalhor

Description

@josalhor

Details for the issue

What did you do?

... HARD PROBLEM THAT TAKES MANY SECONDS TO SOLVE

prob.solve(lp.SCIP_PY(**{
"msg": True,
'options': [
'limits/time', 4
]
}))
print('Status', prob.status)
print("Translated Status:", LpStatus[prob.status])

Reports:
Status 1
Translated Status: Optimal

Meanwhile internally:

status = scip_to_pulp_status[solutionStatus]
print(f'{solutionStatus=} {status=}')

Reports: solutionStatus='timelimit' status=0

num_solutions = lp.solverModel.getNSols()
print(f'=====> {num_solutions=}')

Reports: =====> num_solutions=0

What did you expect to see?

If number of solutions is 0 and the solver returns timelimit reached pulp should not report 'optimal' and allow access to model (that does not meet the constraints)

What did you see instead?

You can access a model that does not obey the constraints

Useful extra information

The info below often helps, please fill it out if you're able to. :)

What operating system are you using?

  • Windows: ( _version:11)

I'm using python version:

  • [ X] 3.12

I installed PuLP via:

  • pypi (python -m pip install pulp)

Did you also

  • I'm submitting a tentative PR that should fix this issue

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions