Send us your OR models.
We'll send you answers.

Mathematical Optimisation as a Service. Express your models in code, submit, get results. You do the math. We run the infrastructure.

F#
Python
Supported languages

Optimisation shouldn't require
a degree in solver configuration

Most teams spend more time learning a framework than solving their problem. The barrier isn't the math — it's the translation layer.

Forced Reformulation

Write the math, then rewrite it. Commercial solvers demand a separate modelling language whose syntax looks nothing like the equations on your whiteboard — and you maintain both copies forever.

Operational Drag

Heavy frameworks ride on heavier infrastructure — private servers to host, licence keys to renew. When a key lapses, your solver does too.

Split Toolchains

LP and nonlinear problems each have their own tooling. Different APIs, different workflows, doubled maintenance — and code that won't survive a problem-type change.

Three steps. No boilerplate.

Write your model in code. Reads like the math on your whiteboard.

01

Express your model

Write your objective as a plain function, or use the DSL to express LP and MIP models in standard or canonical form.

02

Submit for processing

Send your model and parameters to the Armada Solver client. We validate, compile, and execute it in a sandboxed environment, in parallel across solver channels.

03

Get your results

Fetch results asynchronously — optimal values, scores, and diagnostics, ready to plug into your application.

Four solver families, your choice of algorithm

Backed by Google OR-Tools and other production-grade solvers. Each family bundles multiple algorithms — pick the one that fits your problem.

LP / MIP

Linear and mixed-integer programming for resource allocation, scheduling, and combinatorial problems with discrete decisions.

Non-Linear Solvers

Optimise nonlinear cost functions, smooth or non-smooth. Black-box methods that need only your function — no gradients, no Jacobians, no derivatives.

Constraint Programming

Satisfy and optimise across complex discrete constraints — scheduling, rostering, routing, and assignment. Excels where pure LP/MIP struggles.

Graph Algorithms

Shortest path, network flow, and connectivity for routing, logistics, and infrastructure planning.

Python
# Minimise (a·x + b·y - c)² with a, b, c from uploaded data

@objective
def fit(v):
    data = load_data("datasets/nelder-params.json")
    a = float(data["a"])
    b = float(data["b"])
    c = float(data["c"])
    return (a * v[0] + b * v[1] - c) ** 2.0

response = await solve_neldermead(
    [0.0, 0.0], fit, ["datasets/nelder-params.json"], cruiser,
)
result = await fetch_neldermead_result(
    response.CorrelationID, cruiser,
)
  • Your code, your repo
  • Sandboxed and isolated
  • Parameters from runtime data

Any problem with a cost function

If you can express "minimise this" or "maximise that," Armada Solver can solve it.

Facility Placement

Optimise locations for hospitals, warehouses, cell towers, or EV chargers to maximise coverage and minimise cost.

Engineering Design

Minimise material costs while satisfying structural constraints. Pressure vessels, beam design, thermal systems.

Logistics & Routing

Optimise delivery routes, fleet allocation, and supply chain flows to reduce operational costs.

Financial Modelling

Portfolio optimisation, risk-return balancing, and parameter fitting for quantitative models.

Scientific Research

Curve fitting, model calibration, and parameter estimation across physics, chemistry, and biology.

ML Hyperparameters

Tune learning rates, regularisation, and architecture parameters.

Ready to optimise?