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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions