/** * @file src/tableau/parallel-branch-and-cut.ts * @description Parallel branch-and-cut using worker threads (Node.js only) * * Distributes B&B nodes across multiple worker threads for faster MIP solving. * Falls back to sequential solving in browser environments. * * Heuristics for when to use parallel solving: * - Problem has >= 10 integer variables * - At least 4 branches in queue */ import type { Model as JsonModel } from "../types/solver"; /** Configuration for parallel B&B */ export interface ParallelConfig { numWorkers?: number; verbose?: boolean; maxNodes?: number; } /** * Check if parallel B&B is available */ export declare function isParallelAvailable(): boolean; /** * Solve MIP using parallel branch-and-cut */ export declare function solveParallel(model: JsonModel, config?: ParallelConfig): Promise<{ feasible: boolean; result: number; solution: Record; iterations: number; }>; /** * Heuristic to decide if parallel solving is worthwhile * * Note: Current implementation has high overhead from worker startup and message passing. * Parallel is only beneficial for very large problems with expensive LP relaxations. * For most problems, sequential solving is faster. */ export declare function shouldUseParallel(_model: JsonModel): boolean;