UNPKG

solver-core-compute

Version:

Shared solver library for floorplan optimization - compatible with Node.js and Deno

85 lines (84 loc) 3 kB
/** * Solver Core Library * Shared between Node.js and Deno runtimes * * This is the main entry point that exports all solvers and utilities. */ export * from './types/index.js'; export * from './io-contract.js'; export { evaluateConstraints, calculateCost } from './constraint-evaluator.js'; export { SimulatedAnnealingSolver, createSimulatedAnnealingSolver } from './algorithms/simulated-annealing.js'; export { LocalSearchSolver, createLocalSearchSolver } from './algorithms/local-search.js'; export { GeneticAlgorithmSolver, createGeneticAlgorithmSolver } from './algorithms/genetic-algorithm.js'; export declare class ComputeSolver { private saSolver; private lsSolver; private gaSolver; constructor(); /** * Solve with full optimization pipeline */ solve(params: { positions: import('./types/index.js').Position[]; constraints: import('./types/index.js').Constraint[]; timeLimit?: number; useParallel?: boolean; useMultiObjective?: boolean; }): Promise<{ positions: import("./types/index.js").Position[]; score: number; violations: number; executionTime: number; algorithm: string; metadata: { improvements: number; restarts: number; neighborhoodEvaluations: number; }; }>; /** * Solve with simulated annealing */ solveSimulatedAnnealing(positions: import('./types/index.js').Position[], constraints: import('./types/index.js').Constraint[], config?: Partial<import('./types/index.js').SAConfig>): Promise<{ positions: import("./types/index.js").Position[]; score: number; violations: number; algorithm: string; iteration: number; }>; /** * Solve with genetic algorithm */ solveGenetic(positions: import('./types/index.js').Position[], constraints: import('./types/index.js').Constraint[], config?: Partial<import('./types/index.js').GAConfig>): Promise<{ positions: import("./types/index.js").Position[]; score: number; violations: number; algorithm: string; generation: number; }>; /** * Solve with local search */ solveLocalSearch(positions: import('./types/index.js').Position[], constraints: import('./types/index.js').Constraint[], config?: Partial<import('./types/index.js').LSConfig>): Promise<{ positions: import("./types/index.js").Position[]; score: number; violations: number; algorithm: string; iterations: number; }>; /** * Get comprehensive performance stats */ getStats(): { algorithms: { simulatedAnnealing: string; geneticAlgorithm: string; localSearch: string; }; features: { multiObjective: boolean; parallelProcessing: boolean; }; }; } export declare function createComputeSolver(): ComputeSolver;