Skip to content

Remove removeSlacks - #3309

Merged
jajhall merged 5 commits into
latestfrom
remove-remove-slacks
Sep 21, 2026
Merged

jajhall merged 5 commits into
latestfrom
remove-remove-slacks

Conversation

@jajhall

@jajhall jajhall commented Sep 21, 2026

Copy link
Copy Markdown
Member

Description

Fuzzing identified an error in a dual value when the removeSlacks presolve reduction was used.

The removeSlacks presolve reduction cannot be used when the cost is nonzero, since dual postsolve cannot be computed (due to the objective substitution changing basic costs so the row duals can't be maintained in postsolve). When removeSlacks is restricted to zero cost column singletons, it's a duplicate of the zeroCostSingleton reduction.

Note that the removeSlacks presolve reduction was off by default - controlled by the presolve_remove_slacks option - because it didn't seem to be valuable for LPs. The presolve_remove_slacks option has been retained - albeit with "redundant option!" added to its description, since removing it would be a breaking change.

Checklist

  • I have read the contributing guidelines
  • This PR targets the latest branch
  • Tests are passing
  • Documentation was updated where relevant
  • This PR is not primarily AI-generated (per the AI contributions policy in CONTRIBUTING.md)

@jajhall
jajhall requested a review from Opt-Mucca September 21, 2026 13:20
@jajhall jajhall self-assigned this Sep 21, 2026

@Opt-Mucca Opt-Mucca left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good! I support removing dead code.

Julian Hall added 2 commits September 21, 2026 15:16
@jajhall

jajhall commented Sep 21, 2026

Copy link
Copy Markdown
Member Author

Spurious CI failures, since changes are removal of code

@jajhall
jajhall merged commit 955278a into latest Sep 21, 2026
524 of 554 checks passed
@jajhall
jajhall deleted the remove-remove-slacks branch September 21, 2026 17:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants