Savanty

Savanty vs cvxpy

This is a scope comparison, not a rivalry. The two tools solve fundamentally different problems — and Savanty will actively send you to cvxpy when your problem is the kind cvxpy is for.

cvxpy is a Python library for continuous convex optimization: you define real-valued variables and a convex objective, and a convex solver finds the provably optimal point. It is the right tool for portfolio allocation, control, and constrained regression — problems where the answer is a vector of real numbers.

Savanty is for discrete constraint satisfaction: every variable takes one value from a finite set, and the answer is an assignment. Different mathematics, different solvers, different problems. Savanty's very first LLM call is a suitability check, and if your problem looks continuous it returns not_suitable=True with suggested_tool pointing at cvxpy or scipy.

Axis Savanty cvxpy
Problem class Discrete constraint satisfaction over finite domains. Continuous convex optimization (LP, QP, SOCP, SDP) over real-valued variables.
Variables Take one value from a finite, enumerable set. Real numbers, constrained by convex inequalities and equalities.
What you write An English description; the LLM emits the ASP. Python that builds Variable objects and a convex objective/constraints, by hand.
Solver Clingo (ASP) — sound & complete over finite domains. Convex solvers (ECOS, SCS, OSQP, …) — provably optimal for convex problems.
Objective Feasibility, or discrete optimization via ASP #minimize / #maximize. Minimize/maximize a convex (often smooth) function.
Typical problems Scheduling, assignment, seating, graph colouring, logic puzzles. Portfolio optimization, control, regression with constraints, resource pricing.
Who writes the model Anyone who can describe the problem in English. Someone comfortable formulating a convex program.

The short version

If your answer is a set of real numbers optimizing a smooth function, use cvxpy. If your answer is a discrete assignment satisfying a set of hard rules, use Savanty. If it is genuinely mixed, reach for a MILP/MINLP toolkit — both cvxpy and Savanty deliberately stay in their lanes.