solver-core-compute
Version:
Shared solver library for floorplan optimization - compatible with Node.js and Deno
85 lines (84 loc) • 3 kB
TypeScript
/**
* 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;