@qudtlib/core
Version:
Data model for QUDTLib
40 lines (39 loc) • 1.35 kB
TypeScript
export declare class AssignmentProblem {
static instance(weights: number[][]): NaiveAlgorithmInstance;
private static copy;
}
export declare abstract class Instance {
readonly weights: number[][];
readonly rows: number;
readonly cols: number;
constructor(weights: number[][]);
weightOfAssignment(assignment: number[]): number | undefined;
abstract solve(): Solution;
}
export declare class Solution {
readonly assignment: number[];
readonly weight: number | undefined;
readonly instance: Instance;
constructor(instance: Instance, assignment?: number[]);
isComplete(): boolean;
isEmpty(): boolean;
assignColumnInNextRow(col: number): Solution;
isBetterSolutionThan(other: Solution): boolean;
}
export declare class ValueWithIndex {
readonly value: number;
readonly index: number;
constructor(value: number, index: number);
}
export declare class NaiveAlgorithmInstance extends Instance {
private currentBestSolution?;
constructor(weights: number[][]);
isLowerThanBestWeight(weightToTest: number): boolean;
updateBestSolutionIfPossible(candidate: Solution): void;
solve(): Solution;
doSolve(row: number, solution: Solution): void;
private minPerRow;
private sum;
private rowSortedAscending;
}
//# sourceMappingURL=assignmentProblem.d.ts.map