Model / optimise · All operations

Optimise a plan

Linear programming, simulation, prescriptive optimisation.

Status

In arcform

Not built yet

arcform does not do this yet. Its place on the roadmap

Shape of the result
a table describing the input rather than holding its rows
Level
needs an arcform operator

Variants

Simulate outcomes

Sample inputs or model errors from distributions and summarise the outcomes.

Solve an optimisation problem

Find the inputs that maximise or minimise an objective under constraints.

What other tools call it

Meridian's classification; an independent blind rating agreed on 86.2% of 312 rows (exact class, version 2).

Alteryx Designer (4)
  • Optimizationread 2026-09-27

    Solve linear, mixed-integer and quadratic programming problems

  • Simulation Samplingread 2026-09-27

    Draw samples from a parametric distribution or from input data for simulation

  • Simulation Scoringread 2026-09-27

    Score a model while sampling from its error distribution, for simulation

  • Simulation Summaryread 2026-09-27

    Visualise and summarise simulated distributions and results

RapidMiner Studio (1)
  • Prescriptive Analyticsread 2026-09-27

    Search for the input values that make a model produce a desired output, under constraints

Background

Mathematical optimisation is the selection of a best element, with regard to some criteria, from some set of available alternatives.[1] Linear programming (LP) optimises a linear objective function subject to linear equality and linear inequality constraints.[2] Monte Carlo methods are a broad class of computational algorithms based on repeated random sampling for obtaining numerical results.[3]

When to use it

Industries that use linear programming models include transportation, energy, telecommunications and manufacturing.[2] Linear programming has proven useful in modelling problems in planning, routing, scheduling, assignment and design.[2] Linear programming is used to achieve the best outcome, such as maximum profit or lowest cost, in a mathematical model whose requirements and objective are linear.[2]

A linear program need not have an optimal solution: if its constraints are inconsistent, no feasible solution exists and the program is called infeasible.[2] A linear program can also attain no optimal value when the region its constraints allow is unbounded in the direction the objective improves, because it is always possible to do better than any finite value.[2]

When some or all variables must be integers, as in an integer program, solving without that requirement and rounding the answer may give a result that is not optimal or that violates a constraint.[4] Where a plan counts whole things, such as lorries, staff or shipments, say so in the model rather than rounding a continuous answer afterwards. (Meridian's view)

A local minimum is at least as good as any nearby element, while a global minimum is at least as good as every feasible element.[1] Unless the objective function is convex in a minimisation problem, there may be several local minima.[1] Many algorithms for nonconvex problems, including the majority of commercially available solvers, cannot distinguish locally optimal solutions from globally optimal ones.[1] With a nonlinear objective, treat a solver's answer as the best it found, not as proof that nothing better exists. (Meridian's view)

For Monte Carlo integration, quadrupling the number of sampled points halves the error, regardless of the number of dimensions.[3] Choose the number of simulation runs from how precise the summary needs to be, since precision is bought slowly. (Meridian's view) Alteryx Designer's Simulation Sampling tool takes a random seed for its sampling and a number of iterations, the number of samples to select.[5] Keep the seed with a simulation's results, so that the same draws can be made again and a change in the outcome can be traced to a change in the model. (Meridian's view)

The method

Linear programs can be expressed in standard form as finding a vector of variables that maximises a linear objective subject to linear inequality constraints and non-negativity of the variables.[2] In the late 1930s, Soviet mathematician Leonid Kantorovich and American economist Wassily Leontief independently delved into the practical applications of linear programming.[2] From 1946 to 1947 George B. Dantzig independently developed a general linear programming formulation for planning problems in the US Air Force.[2] In 1947 Dantzig also invented the simplex method, which for the first time efficiently tackled the linear programming problem in most cases.[2]

Leonid Khachiyan first showed in 1979 that the linear programming problem is solvable in polynomial time, and in 1984 Narendra Karmarkar introduced an interior-point method for solving linear programming problems.[2] The simplex algorithm finds an optimal solution by traversing the edges between vertices on a polyhedral set, whereas interior-point methods move through the interior of the feasible region.[2] The current opinion is that good implementations of simplex-based methods and interior-point methods are similar in efficiency for routine applications of linear programming.[2]

If only some of the variables are required to be integers, the problem is called a mixed integer linear programming (MILP) problem.[2] Cutting plane methods solve the LP relaxation of an integer program, the same problem without the integer requirement, and add linear constraints that drive the solution towards integers without excluding any integer feasible point.[4] Branch and bound algorithms can be terminated early and, as long as at least one integral solution has been found, return a feasible, although not necessarily optimal, solution.[4] In branch and bound, the solutions of the LP relaxations can be used to give a worst-case estimate of how far from optimality the returned solution is.[4]

HiGHS is open-source serial and parallel software for solving large-scale sparse linear programming, mixed-integer programming and quadratic programming models, freely available under the MIT licence.[6] HiGHS is based on a dual revised simplex solver developed by Qi Huangfu, an interior point solver developed by Lukas Schork, an active set solver for quadratic programs written by Michael Feldmeier and a branch-and-cut solver for mixed-integer programs written by Leona Gottwald.[6]

The secret work of John von Neumann and Stanisław Ulam needed a code name, and their colleague Nicholas Metropolis suggested Monte Carlo, after the Monte Carlo Casino in Monaco.[3] Von Neumann, Metropolis and others programmed the ENIAC computer to perform the first fully automated Monte Carlo calculations, of a fission weapon core, in the spring of 1948.[3] Pseudo-random number sampling algorithms transform uniformly distributed pseudo-random numbers into numbers distributed according to a given probability distribution.[3]

Alteryx Designer's Simulation Sampling tool samples data parametrically from a distribution, from input data, or as a combination best fitting to a distribution.[5] Alteryx Designer's Simulation Sampling tool offers Monte Carlo or simple sampling, and Latin hypercube or stratified sampling.[5] Alteryx Designer's Simulation Scoring tool samples from an approximation of a model's error distribution, so that it gives a range of possible values rather than only the mean predicted value.[7]

Compared with the alternatives

Prescriptive analytics is the third and final phase of business analytics, which also includes descriptive and predictive analytics.[8] Predictive analytics answers the question of what is likely to happen.[8] Prescriptive analytics goes beyond predicting future outcomes, also suggesting actions to benefit from the predictions and showing the implications of each decision option.[8] Rapidminer's Prescriptive Analytics operator reverses predictive modelling: starting with a model and a desired output, it prescribes an optimised input to achieve the desired outcome.[9] Rapidminer's Prescriptive Analytics operator uses an evolutionary optimisation method based on the model.[9]