Skip to content

Commit 85bca13

Browse files
committed
feat(core): advanced initialization solver with init BLT, sBB preconditioner, MINLP heuristics, multi-strategy homotopy
1 parent e0852df commit 85bca13

5 files changed

Lines changed: 1489 additions & 2 deletions

File tree

packages/core/src/compiler/context.ts

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,29 @@ import { MODELSCRIPT_CAS_PACKAGE } from "./modelica/symbolic/cas-bindings.js";
1717
import { ModelicaStoredDefinitionSyntaxNode } from "./modelica/syntax.js";
1818
import { Scope } from "./scope.js";
1919

20+
/** Homotopy continuation strategy for initialization. */
21+
export type HomotopyMode = "none" | "residual" | "symbolic" | "fixed-point" | "parameter" | "auto";
22+
23+
/** Initialization preconditioner strategy. */
24+
export type PreconditionerMode = "none" | "branch-and-bound";
25+
26+
/** Solver configuration for initialization and nonlinear solving. */
27+
export interface InitSolverConfig {
28+
/** Preconditioner for initial guess (default: "none"). */
29+
preconditioner?: PreconditionerMode;
30+
/** Automatic homotopy continuation mode (default: "auto"). */
31+
homotopyMode?: HomotopyMode;
32+
/** Whether to use McCormick relaxations for tighter sBB bounds (default: false). */
33+
mccormickRelaxation?: boolean;
34+
/** Maximum number of λ continuation steps (default: 50). */
35+
maxHomotopySteps?: number;
36+
}
37+
2038
export interface ModelicaCompilerOptions {
2139
arrayMode?: "scalarize" | "preserve";
2240
fmiVersion?: "2.0" | "3.0";
41+
/** Initialization solver configuration. */
42+
solver?: InitSolverConfig;
2343
}
2444

2545
/**

0 commit comments

Comments
 (0)