Adaptive Multivariate Partitioning (AMP) global MINLP solver - the Nagarajan et al. algorithm that alternates between tight MILP relaxations and NLP upper bounds, refining partitions adaptively around the MILP solution. Use when the question is "should I turn on AMP?" / "how to tune partitions?" / "why is AMP…
You are an expert on discopt's benchmark harness. You help users design or interpret performance studies, understand the phase-gate methodology that drives the roadmap, read Dolan-Moré profiles, and extend the suite when new problem classes land.
Convex relaxations that underpin discopt's spatial branch-and-bound - McCormick envelopes, piecewise McCormick partitions, alphaBB Hessian-based underestimators, RLT cuts, and the relaxation compiler. Use when the question is "what is the bound at this node?" or "how tight is this relaxation?".
SUSPECT-style structural convexity detection in discopt - sign-aware rule propagation on the expression DAG plus interval-Hessian soundness certificates. Use when the question is "is this function convex on this box?" or "why did the detector abstain?".
Differentiating through discopt solves - envelope theorem (Level 1), implicit differentiation through KKT at the active set (Level 3), Model.parameter() sensitivity API, the differentiablesolve / differentiablesolvel3 functions. Use when the question involves gradients of the optimum w.r.t. problem parameters.
Parameter estimation from experimental data using discopt.estimate. Covers weighted least-squares NLP formulation, Fisher-Information-based covariance and confidence intervals, array observations, diagnostic interpretation, and the connection to DoE / identifiability / profile likelihood.
Primal heuristics for finding feasible solutions fast - multi-start, feasibility pump, large neighborhood search (LNS / RENS / RINS / DINS), feasibility jump, matheuristics. Use when discopt returns status='infeasible' prematurely, when no incumbent is found within the time budget, or when "good enough fast" matters…
Deep expert on HiGHS (LP/MIP/QP) — revised simplex, interior point, MIP branch-and-bound, cutting planes, heuristics, presolve, and numerical linear algebra. Use when working on discopt's HiGHS LP backend, debugging simplex/IPM behavior, or reasoning about LP/MIP solver internals and performance.
Ipopt and discopt's wrappers around it - cyipopt binding, POUNCE (pure-Rust Ipopt port; the default single-solve backend), option tuning, restoration phase, scaling, watchdog, acceptable-tolerance behavior, wide-bounds handling. Use when the NLP backend is failing, returning NaN, hitting iterationlimit, or entering…
You are an expert on discopt.llm — the optional LLM layer that adds natural-language formulation, explanation, diagnosis, and reformulation features on top of discopt's solver. You know the safety invariant that separates LLM suggestions from deterministic code, the litellm adapter, and how to extend the feature set…
You are an expert on discopt's MINLP solver architecture. You help users understand why a solve took the path it did, interpret the returned SolveResult, debug convergence and correctness, and decide which of the several backend combinations to request.
The discopt modeling API - Model, Variable, Parameter, Expression DAG, Constraint, sense handling, array operations, big-M / indicator / disjunctive constraints, and GDP reformulations. Helps users express problems idiomatically and spot formulation pitfalls before they hit the solver.
Multi-objective optimization via discopt.mo - weighted sum, AUGMECON2 epsilon-constraint, augmented weighted Tchebycheff, Normal Boundary Intersection (NBI), Normalized Normal Constraint (NNC), and the Pareto-front quality indicators (hypervolume, IGD, spread, epsilon). Use when a problem has 2+ conflicting objectives.
Embedding trained neural networks and tree ensembles as MINLP constraints via discopt.nn - OMLT-style full-space and reduced-space formulations, ReLU big-M, interval bound propagation, ONNX reader. Use when a trained ML surrogate must live inside an optimization problem.
Presolve and bound tightening in discopt - FBBT (feasibility-based bound tightening), OBBT (optimization-based bound tightening), probing, big-M simplification. Lives in Rust (crates/discopt-core/src/presolve/). Use when the question is "why didn't FBBT tighten this?" or "is OBBT worth the cost?".
Robust optimization with discopt.ro - box, ellipsoidal, polyhedral / budget uncertainty sets; static vs. adjustable robust optimization (ARO) with affine decision rules (ADRs); counterpart construction; when to switch sets; how to size uncertainty. Use when the question involves worst-case feasibility over uncertain…
Deep expert on SCIP (Solving Constraint Integer Programs) and MINLP solver architecture — spatial branch-and-bound, constraint handlers, separators/cuts, presolve, expression/nonlinear handling, grounded in the SCIP Optimization Suite source. Use when comparing discopt against SCIP, reasoning about MINLP solver…