Skip to content

This feature is currently in Preview.

Use Ipopt

Choose Ipopt for continuous, nonlinear prescriptive problems. It is a gradient-based local solver, so it can converge to a locally optimal solution rather than a global optimum.

  • Supports continuous nonlinear programs (NLP).

Pass "ipopt" to Problem.solve() to use the Ipopt backend:

from relationalai.semantics import Float, Model
from relationalai.semantics.reasoners.prescriptive import Problem
m = Model("NonlinearExample")
# ... model definition ...
p = Problem(m, Float)
# ... problem definition ...
p.solve("ipopt", _server_side_import=False)
  • It is common for Ipopt to terminate with LOCALLY_SOLVED. Treat that as “converged to a local minimum” rather than “certified global optimum.”

Ipopt is bundled and does not require a license key or additional Snowflake setup.

DetailInfo
Version3.14.4
LicenseEclipse Public License (free and open source)