/** * @file src/tableau/lu-simplex.ts * @description LU-based simplex algorithm * * Uses LU factorization of the basis matrix instead of explicit row operations. * This reduces pivot cost from O(n*m) to approximately O(n²) per pivot, * plus O(n) for LU updates. * * Key differences from standard tableau simplex: * - Stores original constraint matrix A, not B^{-1}A * - Computes reduced costs via BTRAN * - Computes pivot column via FTRAN * - Updates LU factors instead of row operations */ import type Tableau from "./tableau"; import { LUFactorization } from "./lu-factorization"; /** * Run LU-based simplex on the tableau. * This modifies the tableau in place and returns it. */ export declare function luSimplex(this: Tableau): Tableau; /** * LU-based pivot operation. * This is the key optimization - instead of O(n*m) row operations, * we update the LU factors in O(n) time. */ export declare function luPivot(this: Tableau, lu: LUFactorization, leavingRow: number, enteringColumn: number): void; /** * Check if LU simplex should be used based on problem size. * LU overhead is only worthwhile for larger problems. */ export declare function shouldUseLU(tableau: Tableau): boolean;