A nonlinear solver
for Python.

OLES is a commercial Python solver for smooth, continuous nonlinear optimization. Define models with Python and NumPy-style expressions; OLES compiles them to C++, computes exact derivatives, and solves without Python callbacks. Reuse the compiled model by changing parameters in place.

Paid licenses from US$1,500 per year.

Terminal
python3 -m pip install ./oles-0.3.2-*.whl
quickstart.py
import oles as ol

model = ol.Model()
x = model.var("x", lb=0, ub=10, initial=1)
y = model.var("y", lb=-10, ub=10)

model.minimize((x - 2) ** 2 + ol.sin(y))
balance = model.add(x + y == 3, name="balance")

solution = model.solve("oles")
if not solution.success:
    raise RuntimeError(solution.termination.name)

print(solution.value(x), solution.value(y))
print(solution.dual(balance))

Modelling in practice

vector_model.py
import numpy as np
import oles as ol

model = ol.Model()
x = model.var("x", (24, 3), lb=0, ub=10)
demand = model.parameter("demand", 24, value=np.ones(24))

model.add(ol.sum(x, axis=1) >= demand)
model.minimize(ol.sum(x**2))

solution = model.solve("oles")
if not solution.success:
    raise RuntimeError(solution.termination.name)

print(solution.value(x))  # A (24, 3) NumPy array
repeated_solves.py
import oles as ol

model = ol.Model()
x = model.var("x", lb=0, ub=10)
target = model.parameter("target", value=2.0)
model.minimize((x - target) ** 2)

compiled = model.compile()
for value in [2.0, 4.0, 6.0]:
    compiled.set_value(target, value)
    solution = compiled.solve("oles")
    if not solution.success:
        raise RuntimeError(solution.termination.name)
    print(solution.value(x))

Annual licenses

Developer

For individual developers and local development.

$1,500

USD / year · billed annually

  • 1 active device
  • 1 simultaneous solve
  • Commercial use on that workstation
  • Updates & standard support
Request Developer

Server

Internal production services, scheduled jobs, and cloud workloads.

$4,000

USD / year · billed annually

  • Shared across up to 3 activated machines
  • 8 simultaneous solves in total
  • Internal services and scheduled jobs
  • Updates & standard support
Request Server

OEM / Enterprise

Embedding, redistribution, larger deployments or custom terms.

Custom

A quote for your deployment

  • Agreed deployment rights
  • Custom device & solve limits
  • Product & redistribution rights

Tell us a little about your project and how you'd like to use OLES. We'll get back to you.

Contact sales

Reference prices are in USD. Paddle may show and settle a supported local currency based on location; applicable taxes and the final total are shown before payment. One-time annual payment, with no automatic renewal. License terms · Refund policy

Need more than 16 simultaneous solves or 3 machines? Contact sales

Free 14-day evaluation

For evaluation, benchmarking, and proof of concept. Production use and redistribution are excluded.

Request 14-day trial

Free academic license

Free for eligible non-commercial research. A one-year license, renewable after review.

Request academic access

Common questions

What exactly is OLES?

OLES is a commercial Python solver and modelling interface for smooth, continuous nonlinear optimization, made by OptimAI Labs. It supports continuous variables and smooth expressions. It does not support integer variables or nonsmooth operators, and it does not guarantee a global optimum.

Can I buy or start a trial immediately?

Evaluation licenses are currently requested by email and issued after review. Developer licenses are currently arranged with our team; self-serve checkout is not connected. Contact us for Server licensing. Academic, OEM, and enterprise licenses are reviewed individually. No license is created by simply completing a form on this page.

Which Python versions and platforms are supported?

OLES is installed with pip from a platform-specific wheel that we supply. NumPy is the only runtime dependency; SciPy is optional for sparse CSR matrices. Tell us your operating system, CPU architecture, and Python version and we will confirm a matching wheel before a license is issued.

When do I need Server or OEM licensing?

Use Server for shared internal services, cloud workloads, and scheduled production jobs. Select 4, 8 or 16 simultaneous solves, shared across up to 3 activated machines. Eight solves cost US$4,000 per year; contact us for pricing for 4 or 16. More than 16 solves, more machines, embedding or redistribution require a conversation with our team. Developer covers local development and commercial analysis on one workstation.

What counts as a simultaneous solve?

One optimization job running at a time, regardless of the CPU threads it uses. Your selected capacity is shared across all activated machines and API keys. Eight simultaneous solves means eight in total, not eight per machine. There is no limit on sequential solves and no usage-based charge.

What’s included in support and updates?

Paid annual licenses include standard support and patch and minor releases during the active license term. The launch maintenance policy covers the current and immediately previous minor release. Support covers installation, activation, documented API behavior, reproducible defects, crashes, status handling, and reasonable solver-parameter guidance. Model building, reformulation, data engineering, and custom integration are separate services. There is no promised runtime or global optimum, and standard support is not 24/7.

Who qualifies for a free academic license?

Non-commercial researchers can request a renewable one-year license. Include your institution, academic email, intended research use, and expected duration. An institutional or research-profile link, or a document confirming your academic affiliation, can help us review your request; this is optional. Consulting, paid industrial projects, commercial R&D, and deployment inside a company are excluded.

What are the renewal, tax, and refund terms?

Developer and Server are one-time annual purchases, with manual renewal and no usage-based charges. Listed prices are in USD; applicable taxes and the final total are shown before payment. Paddle handles purchases made through its checkout as merchant of record. Review the license terms, refund policy, and privacy policy before purchasing. A free trial does not renew or become paid automatically.

Evaluate OLES on your model.

Request 14-day trial

Request access

Prepare an email to oles@optimai.cl. Nothing is submitted or stored by this page. You’ll review the message and send it from your email app.