UNPKG

edeap

Version:

Euler Diagrams Drawn with Ellipses Area-Proportionally (Edeap)

49 lines (48 loc) 1.97 kB
import { EdeapAreas } from "./EdeapAreas.js"; import { OptimizerConfig, State } from "./types.js"; export declare const HILL_CLIMBING = 1; export declare const SIMULATED_ANNEALING = 2; export declare class Optimizer { strategy: number; state: State; changeSearchSpace: boolean; areas: EdeapAreas; move: number[]; currentFitness: number | undefined; temp: number; currentAnnealingIteration: number; currentTemperatureIteration: number; selectedMove: number | undefined; maxMeasures: Record<string, number[]>; HCEvalSolutions: number; SAEvalSolutions: number; completionAnimationStepN: number; scalingAnimationStep: number; translateXAnimationStep: number; translateYAnimationStep: number; progressAnimationStep: number; onStep?: (final: boolean) => void; constructor({ strategy, state, onStep, areas, }: OptimizerConfig & { state: State; areas: EdeapAreas; }); optimize(sync?: boolean): void | Promise<void>; nextStep(sync: boolean): void | Promise<void>; optimizeStep(sync: boolean): void | Promise<void>; printEllipseInfo(elp: number): void; selectBestCostMove(elp: number): number; costMinMove(): number; applyMove(elp: number, index: number): void; selectRandomMove(elp: number): number; computeFitness(): number; centerX(elp: number, centerShift: number): number; centerY(elp: number, centerShift: number): number; radiusA(elp: number, radiusLength: number): number; rotateEllipse(elp: number, r: number): number; RadiusAndRotateA(elp: number, radiusLength: number, angle: number): number; changeCenterX(elp: number, centerShift: number): void; changeCenterY(elp: number, centerShift: number): void; changeRadiusA(elp: number, radiusLength: number): void; changeRotation(elp: number, angle: number): void; changeRadiusAndRotationA(elp: number, radiusLength: number, angle: number): void; }