Skip to content

Update: improve performance simplexDual#1125

Merged
AlbertoCuadra merged 1 commit into
developfrom
update/improve_simplex_methods
May 30, 2026
Merged

Update: improve performance simplexDual#1125
AlbertoCuadra merged 1 commit into
developfrom
update/improve_simplex_methods

Conversation

@AlbertoCuadra

Copy link
Copy Markdown
Member

This change simplifies simplexDual by replacing the previous enlarged LP formulation with a shifted-variable formulation. Previously, the max-min problem was expressed by introducing explicit inequality constraints,

$$ x_j - t \ge 0, $$

which required constructing an additional inequality matrix using eye(n) and solving the expanded LP.

The new formulation writes

$$ x = z + t, $$

where $z \ge 0$ and $t \ge 0$ are handled directly by the simplex formulation. Substituting into the equality constraint gives

$$ A z + \left(\sum_j A_j\right)t = b, $$

with objective

$$ \max t, $$

implemented as

$$ \min -t. $$

This reduces the LP size, avoids constructing the explicit inequality matrix, and solves the problem directly using simplex.

The output contract remains unchanged:

$$ x_{\min} = t $$

and

$$ x = z + x_{\min}. $$

Additional cleanup includes normalizing b as a column vector and clamping the recovered x_min to zero to avoid small negative numerical artifacts.

@AlbertoCuadra AlbertoCuadra added the enhancement New feature or request label May 30, 2026
@github-project-automation github-project-automation Bot moved this to In progress in v2.0.0 May 30, 2026
@AlbertoCuadra AlbertoCuadra moved this to 2026 Q2 – Apr-Jun in Roadmap May 30, 2026
@AlbertoCuadra
AlbertoCuadra merged commit a75e1af into develop May 30, 2026
1 check passed
@github-project-automation github-project-automation Bot moved this from In progress to Done in v2.0.0 May 30, 2026
@AlbertoCuadra
AlbertoCuadra deleted the update/improve_simplex_methods branch May 31, 2026 07:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

Status: 2026 Q2 – Apr-Jun
Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant