跳转到正文

求解器概览 ​

WaSHI 采用可插拔、解耦的求解器架构设计。你可以使用统一的代数建模 API 构建数学模型,然后根据问题类型和许可证需求选择最合适的求解引擎进行求解。


⚡ 求解器矩阵与对比 ​

求解器引擎许可证支持的问题类型适用场景WaSHI 中的状态
HiGHSMITLP, MIP, 凸QP工业级规模优化、运筹学、生产计划、金融组合优化内置默认(零配置)
Z3MITSMT, SAT, 逻辑, MIP命题逻辑、不可行冲突诊断(unsatCore)、规则引擎可选插件(@ohtaman/washi/solvers/z3)
GLPKGPL-3.0LP, MIP学术基准测试、既有 GLPK 模型兼容性验证可选插件(@ohtaman/washi/solvers/glpk)
MockMIT任意无需加载 WebAssembly 的 CI 超高速单元测试内置

选择求解器 ​

在创建 Model 时,或调用 solve() / check() 时按名称指定求解器:

typescript
// 1. 内置 HiGHS(默认)
const m1 = new Model({ solver: "highs" });

// 2. Z3 SMT 求解器
import "@ohtaman/washi/solvers/z3";
const m2 = new Model({ solver: "z3" });

// 3. GLPK 求解器
import "@ohtaman/washi/solvers/glpk";
const m3 = new Model({ solver: "glpk" });

求解器详细指南 ​

  • HiGHS 指南:Web Worker 多线程后台执行、MIP 容差设置、凸二次规划(QP)求解、进度回调与中断控制。
  • Z3 指南:SMT 逻辑断言、逻辑建模、m.check() 冲突约束集(Unsat Core)分析与跨源隔离要求。
  • GLPK 指南:GLPK 适配器用法、GPL-3.0 许可证注意事项、状态映射与浏览器使用方式。
  • 自定义求解器开发指南:将私有求解器、商业求解器或云端 REST 求解服务集成为 WaSHI 插件的分步开发教程。

Released under the MIT License.