or-tools-wasm lets you run Google OR-Tools directly in the browser. OR-Tools is a mathematical optimization library: it helps choose the best plan when there are many possible choices, rules, and tradeoffs.
You can use it for problems like planning delivery routes, assigning people to tasks, packing items under limits, scheduling work, or making the best use of limited resources. This WebAssembly package makes those solvers available from JavaScript and TypeScript, so demos and browser-based planning tools can run without a separate solver backend.
Source code is available on GitHub, and the package is on npm.
Managed Cloud: Run solvers without hosting the compute yourself. Sign up for early access →
Use CP-SAT for discrete optimization problems with integer, Boolean, scheduling, and logical constraints.
Use routing for vehicle routing, traveling salesperson, pickups and deliveries, capacities, and route constraints.
Use MathOpt to route one model through selectable solver backends.
Use MPSolver to route one linear model through selectable LP and integer backends.
Use OR-Tools graph algorithms for max-flow, min-cost-flow, and linear sum assignment problems.
Use GLOP for continuous linear programs through the MPSolver API.
Use CLP for continuous linear programs through the MPSolver API.
Use GLPK for continuous and mixed-integer linear programs through MPSolver, or as a MathOpt backend.
Use SCIP for mixed-integer linear programs through MPSolver.
Use CBC for mixed-integer linear programs through MPSolver.
Use BOP for Boolean and integer programming models through MPSolver.
Use the dedicated Knapsack API for 0-1 and multi-dimensional knapsack problems.
Use the dedicated Set Cover API for weighted set covering models and OR-Tools covering heuristics.
Use the CP-SAT-backed RCPSP API for resource-constrained project scheduling.
Use GSCIP for SCIP-backed mixed-integer optimization through MathOpt.
Use the SAT integer backend for MPSolver mixed-integer linear models.