<!-- llms-explorer concept facts · https://llms-explorer.com/tree/prescriptive-analytics-and-optimization/ · pack 2026-09-08 · ~6765 tokens -->

# Prescriptive Analytics and Optimization

> Prescriptive analytics is the fourth and highest rung of Gartner's analytics maturity ladder (descriptive → diagnostic → predictive → prescriptive). It answers "what should be done?" rather than "what

Parent: [Data Analysis](https://llms-explorer.com/tree/data-analysis/) · 21 facets · 88 facts · page: https://llms-explorer.com/tree/prescriptive-analytics-and-optimization/

## Overview

- Prescriptive analytics is the fourth and highest rung of Gartner's analytics maturity ladder (descriptive → diagnostic → predictive → prescriptive). It answers "what should be done?" rather than "what happened?" or "what will happen?" by recommending (or automating) a specific action. Gartner defines it as advanced analytics that examines data to answer "what should be done?" using techniques such as optimization, simulation, complex event processing, graph analysis, heuristics, recommendation engines, and machine learning (Gartner, Data & Analytics). — [source](https://llms-explorer.com/sources/mdb-context-hub/da-33-prescriptive-analytics/#overview)
- The mental model: predictive feeds prescriptive. A demand forecast (da-15) or a propensity model (da-7) produces parameters; prescriptive analytics wraps those parameters in a decision model - an objective to optimize, decision variables you control, and constraints you must respect - and returns the action that best trades off the objective against the constraints. This skill is the optimization + decision-science layer of the curriculum; da-6/da-7 supply the predictions it consumes. — [source](https://llms-explorer.com/sources/mdb-context-hub/da-33-prescriptive-analytics/#overview)
- A useful framing is the decision = objective + decision variables + constraints + uncertainty quadruple. Choosing a method is mostly about which of those four is hard: linear and continuous → LP; discrete choices → MILP/CP; nonlinear-but-convex → convex/QP; uncertainty dominates → stochastic/robust; many competing objectives → multi-objective; analytical model intractable → simulation. — [source](https://llms-explorer.com/sources/mdb-context-hub/da-33-prescriptive-analytics/#overview)

## 1. Predictive → prescriptive distinction

- Descriptive/diagnostic give hindsight; predictive/prescriptive give foresight, and human involvement decreases as you move toward prescriptive (which can drive automated action). Prescriptive consumes a prediction and adds a decision rule or optimization on top (EAG, 4 types of analytics; Qlik; Gartner glossary). — [source](https://llms-explorer.com/sources/mdb-context-hub/da-33-prescriptive-analytics/#1-predictive-prescriptive-distinction)

## 2. Linear programming (LP)

- Continuous variables, linear objective and constraints. Solved at a polytope vertex by simplex or interior-point. Canonical teaching cases: blending (min-cost mix meeting specs) and product-mix (max profit s.t. resource limits). LP is the substrate everything else extends (SciPy linprog; PuLP; Real Python LP). — [source](https://llms-explorer.com/sources/mdb-context-hub/da-33-prescriptive-analytics/#2-linear-programming-lp)

## 3. Mixed-integer programming (MILP / ILP)

- Some/all variables integer or binary (yes/no: open a facility, assign a job, select an item). NP-hard; solved by branch-and-bound / branch-and-cut with LP relaxations. Binary variables unlock assignment, knapsack, facility location, scheduling, routing. For pure integer problems OR-Tools recommends CP-SAT; for mixed continuous+integer it recommends SCIP or a commercial solver (OR-Tools MIP; Gurobi; SciPy milp). — [source](https://llms-explorer.com/sources/mdb-context-hub/da-33-prescriptive-analytics/#3-mixed-integer-programming-milp-ilp)

## 4. Convex optimization (QP / SOCP / SDP)

- Nonlinear but convex → any local optimum is global; solvers reliable and fast. Includes least-squares, quadratic programming (e.g., Markowitz portfolio), second-order cone, semidefinite programs. Disciplined Convex Programming (DCP) is the rule system CVXPY uses to verify convexity before solving - build expressions from functions with known curvature (CVXPY DCP; CVXPY intro; Boyd & Vandenberghe). — [source](https://llms-explorer.com/sources/mdb-context-hub/da-33-prescriptive-analytics/#4-convex-optimization-qp-socp-sdp)

## 5. Constraint programming (CP / CP-SAT)

- Declarative: state variables, domains, and combinatorial constraints (AllDifferent, no-overlap, cumulative); solver searches via propagation + SAT/backtracking. Excels at feasibility-heavy combinatorial problems - scheduling, rostering, timetabling. OR-Tools CP-SAT is the flagship and has repeatedly won the MiniZinc Challenge (OR-Tools CP; CP-SAT solver; OR-Tools, Wikipedia). — [source](https://llms-explorer.com/sources/mdb-context-hub/da-33-prescriptive-analytics/#5-constraint-programming-cp-cp-sat)

## 6. Optimization under uncertainty: stochastic & robust

- Stochastic programming with recourse: first-stage (here-and-now) and second-stage recourse (wait-and-see corrective) decisions; optimize expected cost over scenarios. Classic: newsvendor / two-stage capacity-then-adjust. — [source](https://llms-explorer.com/sources/mdb-context-hub/da-33-prescriptive-analytics/#6-optimization-under-uncertainty-stochastic-robust)
- Robust optimization: optimize the worst case over an uncertainty set (no distribution needed) - more conservative. — [source](https://llms-explorer.com/sources/mdb-context-hub/da-33-prescriptive-analytics/#6-optimization-under-uncertainty-stochastic-robust)
- Distributionally robust (DRO): hedge over a set of distributions; between stochastic and robust. — [source](https://llms-explorer.com/sources/mdb-context-hub/da-33-prescriptive-analytics/#6-optimization-under-uncertainty-stochastic-robust)
- Chance constraints: hold a constraint with probability ≥ 1−α (NEOS Guide; SIAM J. Optimization, DR Two-Stage SP; Birge & Louveaux). — [source](https://llms-explorer.com/sources/mdb-context-hub/da-33-prescriptive-analytics/#6-optimization-under-uncertainty-stochastic-robust)

## 7. Multi-objective optimization (Pareto)

- Competing objectives (cost vs. service, risk vs. return) yield a Pareto front of non-dominated tradeoffs. Scalarization: weighted-sum (simple, misses non-convex regions) and epsilon-constraint (optimize one, bound others - recovers non-convex fronts). Population methods like NSGA-II (non-dominated sorting + crowding distance) approximate the whole front in one run; pymoo implements both (pymoo; NSGA-II; Blank & Deb). — [source](https://llms-explorer.com/sources/mdb-context-hub/da-33-prescriptive-analytics/#7-multi-objective-optimization-pareto)

## 8. Decision analysis (trees, EVPI, utility)

- For discrete decisions under uncertainty with few alternatives: — [source](https://llms-explorer.com/sources/mdb-context-hub/da-33-prescriptive-analytics/#8-decision-analysis-trees-evpi-utility)
  - Decision trees alternate decision and chance nodes; fold back by expected monetary value (EMV). — [source](https://llms-explorer.com/sources/mdb-context-hub/da-33-prescriptive-analytics/#8-decision-analysis-trees-evpi-utility)
  - EVPI = (expected value with perfect information) − (best EMV without) - max you'd pay for perfect info; EVSI is the sample-info analogue (Bayesian update). — [source](https://llms-explorer.com/sources/mdb-context-hub/da-33-prescriptive-analytics/#8-decision-analysis-trees-evpi-utility)
  - Utility theory: replace dollars with a utility function to encode risk attitude (concave = risk-averse); maximize expected utility, not EMV (Wikipedia, EVPI; Analytica; TreeAge). — [source](https://llms-explorer.com/sources/mdb-context-hub/da-33-prescriptive-analytics/#8-decision-analysis-trees-evpi-utility)

## 9. Simulation for decisions

- When the system is too complex for a closed-form model: — [source](https://llms-explorer.com/sources/mdb-context-hub/da-33-prescriptive-analytics/#9-simulation-for-decisions)
  - Discrete-event simulation (DES): entities flowing through resources/queues over event-driven time (SimPy; Arena/AnyLogic commercially) - staffing, throughput, capacity. — [source](https://llms-explorer.com/sources/mdb-context-hub/da-33-prescriptive-analytics/#9-simulation-for-decisions)
  - Monte Carlo: propagate input distributions to an output distribution and risk metrics (P10/P50/P90). — [source](https://llms-explorer.com/sources/mdb-context-hub/da-33-prescriptive-analytics/#9-simulation-for-decisions)
  - Simulation-optimization: wrap a simulation as the objective for an optimizer when no analytic form exists. — [source](https://llms-explorer.com/sources/mdb-context-hub/da-33-prescriptive-analytics/#9-simulation-for-decisions)
  - Queueing theory (M/M/1, M/M/c, Little's Law L = λW) gives analytic baselines for waiting-line/staffing decisions (DES with SimPy, TDS; OR and simulation, ScienceDirect; SimLLM, arXiv 2026). — [source](https://llms-explorer.com/sources/mdb-context-hub/da-33-prescriptive-analytics/#9-simulation-for-decisions)

## 10. Decision intelligence (DI)

- Gartner's operationalizing umbrella: a discipline that explicitly models decisions as reusable assets, linking data → analytics → action and closing the loop with outcome feedback. Decision Intelligence Platforms (DIPs) compose data, analytics, decision modeling, and AI to support/augment/automate decisions. Per the 2024 Gartner Market Guide, ~33% of surveyed organizations had already deployed DI (Gartner DI glossary; Market Guide for DI Platforms; FICO). — [source](https://llms-explorer.com/sources/mdb-context-hub/da-33-prescriptive-analytics/#10-decision-intelligence-di)

## Tools / Frameworks

- Selection heuristic: convex/continuous nonlinear → CVXPY; combinatorial / scheduling / routing → OR-Tools CP-SAT; plain LP/MILP prototyping → PuLP; large or nonlinear/stochastic algebraic models → Pyomo; performance at scale → Gurobi; many objectives → pymoo; no analytic model → SimPy + an outer optimizer. — [source](https://llms-explorer.com/sources/mdb-context-hub/da-33-prescriptive-analytics/#tools-frameworks)

## Methodology

- Frame the decision, not the prediction. Name the objective (one unit), decision variables (what you control), constraints (what limits you), uncertainty (what you don't know). If you can't write these four, it isn't yet an optimization problem. — [source](https://llms-explorer.com/sources/mdb-context-hub/da-33-prescriptive-analytics/#methodology)
- Classify the problem → pick the method family (LP / MILP / convex / CP / stochastic / robust / multi-objective / simulation). — [source](https://llms-explorer.com/sources/mdb-context-hub/da-33-prescriptive-analytics/#methodology)
- Source parameters from predictive/statistical models (da-6/da-7/da-15); keep the parameter pipeline separate from the decision model. — [source](https://llms-explorer.com/sources/mdb-context-hub/da-33-prescriptive-analytics/#methodology)
- Build small, validate, scale. Prototype on a tiny instance; check feasibility and shadow prices before scaling to a production solver. — [source](https://llms-explorer.com/sources/mdb-context-hub/da-33-prescriptive-analytics/#methodology)
- Quantify the value of certainty before buying data: compute EVPI/EVSI; run sensitivity / shadow-price analysis on LP/MILP. — [source](https://llms-explorer.com/sources/mdb-context-hub/da-33-prescriptive-analytics/#methodology)
- Stress-test under uncertainty. Re-solve across scenarios (stochastic) or over an uncertainty set (robust); report the distribution of outcomes via Monte Carlo. — [source](https://llms-explorer.com/sources/mdb-context-hub/da-33-prescriptive-analytics/#methodology)
- Close the loop (DI). Deploy, capture realized outcomes, feed back to refit parameters and re-tune. — [source](https://llms-explorer.com/sources/mdb-context-hub/da-33-prescriptive-analytics/#methodology)

## Practical Patterns

- Blending / diet: LP, min cost s.t. composition specs → PuLP or SciPy. — [source](https://llms-explorer.com/sources/mdb-context-hub/da-33-prescriptive-analytics/#practical-patterns)
- Product mix / capacity: LP, max margin s.t. resource limits; read shadow prices for the bottleneck. — [source](https://llms-explorer.com/sources/mdb-context-hub/da-33-prescriptive-analytics/#practical-patterns)
- Assignment / matching: binary MILP (Hungarian for the pure case) → OR-Tools. — [source](https://llms-explorer.com/sources/mdb-context-hub/da-33-prescriptive-analytics/#practical-patterns)
- Knapsack / selection: binary MILP, max value s.t. budget → CP-SAT. — [source](https://llms-explorer.com/sources/mdb-context-hub/da-33-prescriptive-analytics/#practical-patterns)
- Scheduling / rostering: CP-SAT with NoOverlap / cumulative + interval vars. — [source](https://llms-explorer.com/sources/mdb-context-hub/da-33-prescriptive-analytics/#practical-patterns)
- Vehicle routing (VRP/CVRP/VRPTW): OR-Tools routing library with capacity/time-window dimensions. — [source](https://llms-explorer.com/sources/mdb-context-hub/da-33-prescriptive-analytics/#practical-patterns)
- Inventory / newsvendor: stochastic - balance overage vs. underage; critical-ratio quantile of demand is the optimal order. — [source](https://llms-explorer.com/sources/mdb-context-hub/da-33-prescriptive-analytics/#practical-patterns)
- Portfolio: convex QP (Markowitz) in CVXPY; multi-objective (return vs. risk) → efficient frontier. — [source](https://llms-explorer.com/sources/mdb-context-hub/da-33-prescriptive-analytics/#practical-patterns)
- Staffing / call center: queueing baseline (Erlang-C) → DES (SimPy) → simulation-optimization for shift design. — [source](https://llms-explorer.com/sources/mdb-context-hub/da-33-prescriptive-analytics/#practical-patterns)

## Anti-Patterns

- Optimizing a forecast instead of a decision. A prediction with no objective/constraints/action is still predictive analytics (→ da-15/da-7). — [source](https://llms-explorer.com/sources/mdb-context-hub/da-33-prescriptive-analytics/#anti-patterns)
- Forcing nonlinearity into LP or ignoring non-convexity. Linearize deliberately (piecewise, big-M) or move to convex/MINLP. — [source](https://llms-explorer.com/sources/mdb-context-hub/da-33-prescriptive-analytics/#anti-patterns)
- Big-M too large. Loose big-M wrecks MILP relaxations and numerics; pick the tightest valid bound. — [source](https://llms-explorer.com/sources/mdb-context-hub/da-33-prescriptive-analytics/#anti-patterns)
- Weighted-sum for non-convex Pareto fronts. Silently misses regions; use epsilon-constraint or NSGA-II. — [source](https://llms-explorer.com/sources/mdb-context-hub/da-33-prescriptive-analytics/#anti-patterns)
- Single-scenario "optimal" plans. Deterministic optimization on a point forecast is brittle; use stochastic/robust or Monte Carlo stress. — [source](https://llms-explorer.com/sources/mdb-context-hub/da-33-prescriptive-analytics/#anti-patterns)
- Trusting a local optimum as global on non-convex/MINLP without saying so. Report the optimality gap. — [source](https://llms-explorer.com/sources/mdb-context-hub/da-33-prescriptive-analytics/#anti-patterns)
- Decision tree with made-up probabilities and no EVPI. If the recommendation flips under plausible probabilities, you need more info. — [source](https://llms-explorer.com/sources/mdb-context-hub/da-33-prescriptive-analytics/#anti-patterns)
- Ignoring solver status. Optimal vs. feasible/time-limit vs. infeasible vs. unbounded are different answers - check the status code. — [source](https://llms-explorer.com/sources/mdb-context-hub/da-33-prescriptive-analytics/#anti-patterns)

## Troubleshooting

- Infeasible. Relax/soften constraints (slack with penalty); use IIS/conflict refiner (Gurobi, CP-SAT); usual culprit is over-tight equalities or unit mismatches. — [source](https://llms-explorer.com/sources/mdb-context-hub/da-33-prescriptive-analytics/#troubleshooting)
- Unbounded. Missing upper bound or sign error in objective; add realistic bounds. — [source](https://llms-explorer.com/sources/mdb-context-hub/da-33-prescriptive-analytics/#troubleshooting)
- MILP too slow. Tighten big-M, add cuts/symmetry-breaking, warm-start, set a MIP gap, or switch MILP → CP-SAT. — [source](https://llms-explorer.com/sources/mdb-context-hub/da-33-prescriptive-analytics/#troubleshooting)
- CVXPY "not DCP". Expression has unknown/wrong curvature; rewrite with DCP atoms (cp.quad_form, cp.norm, cp.log_sum_exp). — [source](https://llms-explorer.com/sources/mdb-context-hub/da-33-prescriptive-analytics/#troubleshooting)
- Numerical issues. Rescale variables/coefficients to similar magnitudes; avoid mixing 1e-6 and 1e9. — [source](https://llms-explorer.com/sources/mdb-context-hub/da-33-prescriptive-analytics/#troubleshooting)
- Simulation too noisy. More replications, common random numbers, report confidence intervals. — [source](https://llms-explorer.com/sources/mdb-context-hub/da-33-prescriptive-analytics/#troubleshooting)
- Stochastic model explodes. Reduce scenarios via scenario reduction / sample average approximation (SAA). — [source](https://llms-explorer.com/sources/mdb-context-hub/da-33-prescriptive-analytics/#troubleshooting)

## References

- Gartner - Data & Analytics + prescriptive definition, 2025. https://www.gartner.com/en/topics/data-and-analytics — [source](https://llms-explorer.com/sources/mdb-context-hub/da-33-prescriptive-analytics/#references)
- Gartner - Decision Intelligence glossary, 2024-2025. https://www.gartner.com/en/information-technology/glossary/decision-intelligence — [source](https://llms-explorer.com/sources/mdb-context-hub/da-33-prescriptive-analytics/#references)
- Gartner - Market Guide for Decision Intelligence Platforms, 2024. https://www.gartner.com/en/documents/5599159 — [source](https://llms-explorer.com/sources/mdb-context-hub/da-33-prescriptive-analytics/#references)
- Google OR-Tools - MIP, CP, CP-SAT, Routing, 2024. https://developers.google.com/optimization — [source](https://llms-explorer.com/sources/mdb-context-hub/da-33-prescriptive-analytics/#references)
- CVXPY - DCP tutorial + intro, 2024-2025. https://www.cvxpy.org/tutorial/dcp/index.html — [source](https://llms-explorer.com/sources/mdb-context-hub/da-33-prescriptive-analytics/#references)
- Boyd & Vandenberghe - Convex Optimization (Cambridge, 2004). https://web.stanford.edu/~boyd/cvxbook/ — [source](https://llms-explorer.com/sources/mdb-context-hub/da-33-prescriptive-analytics/#references)
- Pyomo - official documentation. https://www.pyomo.org/documentation — [source](https://llms-explorer.com/sources/mdb-context-hub/da-33-prescriptive-analytics/#references)
- PuLP - COIN-OR docs, 2024. https://coin-or.github.io/pulp/ — [source](https://llms-explorer.com/sources/mdb-context-hub/da-33-prescriptive-analytics/#references)
- SciPy - linprog / milp (HiGHS), v1.17, 2025. https://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.milp.html — [source](https://llms-explorer.com/sources/mdb-context-hub/da-33-prescriptive-analytics/#references)
- Gurobi - Mathematical Optimization resources, 2024-2025. https://www.gurobi.com/resources/ — [source](https://llms-explorer.com/sources/mdb-context-hub/da-33-prescriptive-analytics/#references)
- NEOS Guide - Stochastic Programming, 2024. https://neos-guide.org/guide/types/stochastic/ — [source](https://llms-explorer.com/sources/mdb-context-hub/da-33-prescriptive-analytics/#references)
- SIAM J. Optimization - Distributionally Robust Two-Stage SP. https://epubs.siam.org/doi/10.1137/20M1370227 — [source](https://llms-explorer.com/sources/mdb-context-hub/da-33-prescriptive-analytics/#references)
- Birge & Louveaux - Introduction to Stochastic Programming (Springer, 2nd ed., 2011). https://link.springer.com/book/10.1007/978-1-4614-0237-4 — [source](https://llms-explorer.com/sources/mdb-context-hub/da-33-prescriptive-analytics/#references)
- pymoo - NSGA-II docs; Blank & Deb, 2020. https://pymoo.org/ , https://arxiv.org/pdf/2002.04504 — [source](https://llms-explorer.com/sources/mdb-context-hub/da-33-prescriptive-analytics/#references)
- Wikipedia / Analytica / TreeAge - EVPI, EVSI, decision-tree analysis, 2024. https://en.wikipedia.org/wiki/Expected_value_of_perfect_information — [source](https://llms-explorer.com/sources/mdb-context-hub/da-33-prescriptive-analytics/#references)
- DES with SimPy (TDS) + OR/simulation (ScienceDirect) + SimLLM (arXiv 2026). https://towardsdatascience.com/object-oriented-discrete-event-simulation-with-simpy-53ad82f5f6e2/ — [source](https://llms-explorer.com/sources/mdb-context-hub/da-33-prescriptive-analytics/#references)
- Qlik / EAG - descriptive→prescriptive maturity, 2024. https://www.qlik.com/blog/embrace-the-future-moving-from-descriptive-to-prescriptive-analytics — [source](https://llms-explorer.com/sources/mdb-context-hub/da-33-prescriptive-analytics/#references)

## Where this helps

- Deciding whether a business problem is actually optimization (objective + decision variables + constraints) versus just needing a better forecast. — [source](https://llms-explorer.com/tree/prescriptive-analytics-and-optimization/) *(AI-suggested, synthesized from this pack's existing facts — not extracted from a source document.)*
- Choosing between LP, MILP, convex, CP, or simulation-based approaches for a specific decision (staffing, routing, portfolio, capacity) based on which of objective/variables/constraints/uncertainty is the hard part. — [source](https://llms-explorer.com/tree/prescriptive-analytics-and-optimization/) *(AI-suggested, synthesized from this pack's existing facts — not extracted from a source document.)*
- Building a robust or stochastic plan when a deterministic point-forecast optimization keeps producing brittle recommendations that fail on real-world scenario variation. — [source](https://llms-explorer.com/tree/prescriptive-analytics-and-optimization/) *(AI-suggested, synthesized from this pack's existing facts — not extracted from a source document.)*
- Diagnosing why a solver returns infeasible, unbounded, or suspiciously slow results, and picking the right troubleshooting lever for each. — [source](https://llms-explorer.com/tree/prescriptive-analytics-and-optimization/) *(AI-suggested, synthesized from this pack's existing facts — not extracted from a source document.)*

## Project ideas

- Build a small vehicle-routing prototype with OR-Tools' routing library that handles capacity and time-window constraints, then scale it from a toy instance to a production solver once shadow prices and feasibility check out. — [source](https://llms-explorer.com/tree/prescriptive-analytics-and-optimization/) *(AI-suggested, synthesized from this pack's existing facts — not extracted from a source document.)*
- Implement a Markowitz portfolio optimizer in CVXPY as convex QP, then extend it to a multi-objective (return vs. risk) efficient frontier using epsilon-constraint scalarization instead of weighted-sum. — [source](https://llms-explorer.com/tree/prescriptive-analytics-and-optimization/) *(AI-suggested, synthesized from this pack's existing facts — not extracted from a source document.)*
- Build a staffing/capacity model chaining an Erlang-C queueing baseline into a SimPy discrete-event simulation, then wrap the simulation as the objective for a simulation-optimization pass on shift design. — [source](https://llms-explorer.com/tree/prescriptive-analytics-and-optimization/) *(AI-suggested, synthesized from this pack's existing facts — not extracted from a source document.)*
- Prototype a stochastic two-stage newsvendor model that computes EVPI to quantify how much better information would be worth before committing to more expensive forecasting. — [source](https://llms-explorer.com/tree/prescriptive-analytics-and-optimization/) *(AI-suggested, synthesized from this pack's existing facts — not extracted from a source document.)*

## Common mistakes

- Optimizing a forecast instead of a decision — producing a prediction with no explicit objective, decision variables, or constraints is still predictive analytics, not prescriptive. — [source](https://llms-explorer.com/tree/prescriptive-analytics-and-optimization/) *(AI-suggested, synthesized from this pack's existing facts — not extracted from a source document.)*
- Forcing a genuinely nonlinear problem into an LP formulation, or ignoring non-convexity, instead of deliberately linearizing (piecewise, big-M) or moving to a convex/MINLP solver. — [source](https://llms-explorer.com/tree/prescriptive-analytics-and-optimization/) *(AI-suggested, synthesized from this pack's existing facts — not extracted from a source document.)*
- Reporting a single deterministic "optimal" plan built on a point forecast, when a stochastic, robust, or Monte Carlo stress-test would reveal how brittle that plan is to realistic demand variation. — [source](https://llms-explorer.com/tree/prescriptive-analytics-and-optimization/) *(AI-suggested, synthesized from this pack's existing facts — not extracted from a source document.)*
- Ignoring the solver status code — treating "feasible within a time limit" the same as "proven optimal," when they're materially different answers about how much to trust the recommendation. — [source](https://llms-explorer.com/tree/prescriptive-analytics-and-optimization/) *(AI-suggested, synthesized from this pack's existing facts — not extracted from a source document.)*

## Known issues

- MILP is NP-hard in general; a loose or oversized big-M constant can wreck the LP relaxation's numerics and blow up solve time even on modestly sized problems. — [source](https://llms-explorer.com/tree/prescriptive-analytics-and-optimization/) *(AI-suggested, synthesized from this pack's existing facts — not extracted from a source document.)*
- CVXPY's Disciplined Convex Programming (DCP) ruleset will reject a mathematically convex expression if it isn't composed from recognized DCP atoms, so a "not DCP" error doesn't always mean the problem is actually non-convex. — [source](https://llms-explorer.com/tree/prescriptive-analytics-and-optimization/) *(AI-suggested, synthesized from this pack's existing facts — not extracted from a source document.)*
- Non-convex or MINLP problems only guarantee a local optimum in general, so a result needs an explicit optimality-gap report rather than being trusted as globally optimal by default. — [source](https://llms-explorer.com/tree/prescriptive-analytics-and-optimization/) *(AI-suggested, synthesized from this pack's existing facts — not extracted from a source document.)*
- Stochastic programs can explode in scenario count as uncertainty dimensions grow, requiring scenario reduction or sample average approximation (SAA) to stay tractable — "just add more scenarios" doesn't scale for free. — [source](https://llms-explorer.com/tree/prescriptive-analytics-and-optimization/) *(AI-suggested, synthesized from this pack's existing facts — not extracted from a source document.)*

## Context files

- [Prescriptive Analytics and Optimization](https://llms-explorer.com/downloads/sources/mdb-context-hub/da-33-prescriptive-analytics.md)
