/** * @file src/tableau/mip-utils.ts * @description Mixed-integer programming utility functions * * Provides helper functions for MIP solving: * - Checking integrality of current solution * - Variable selection for branching (most fractional, etc.) * - Fractional volume computation * * Functions are designed to be bound to a Tableau instance via `this`. */ import type Tableau from "./tableau"; import type { VariableValue } from "./types"; /** * Count how many integer variables currently have integral values. */ export declare function countIntegerValues(this: Tableau): number; /** * Check if all integer variables have integral values. * Returns true if the current solution is integral. */ export declare function isIntegral(this: Tableau): boolean; /** * Compute a measure of how fractional the current solution is. * Used for evaluating the quality of cutting planes. */ export declare function computeFractionalVolume(this: Tableau, ignoreIntegerValues?: boolean): number; /** * Select the integer variable with the most fractional value. * Standard branching strategy - picks the variable closest to 0.5 fractionality. */ export declare function getMostFractionalVar(this: Tableau): VariableValue; /** * Select the fractional integer variable with the lowest cost coefficient. * Alternative branching strategy that considers objective function impact. */ export declare function getFractionalVarWithLowestCost(this: Tableau): VariableValue;