LinearFractionalOptimization[f,cons, vars]

finds values of variables vars that minimize the linear fractional objective f subject to linear constraints cons.


finds a vector that minimizes the linear fractional function subject to the linear inequality constraints .


includes the linear equality constraints .


specifies what solution property "prop" should be returned.

Details and Options

  • Linear fractional optimization is also known as linear fractional programming (LFP).
  • Linear fractional optimization is a convex optimization problem that can be solved globally and efficiently.
  • Linear fractional optimization finds that solves the primal problem: »
  • minimize
    subject to constraints
  • The constraints cons can be specified by:
  • LessEqualscalar inequality
    GreaterEqualscalar inequality
    VectorLessEqualvector inequality
    VectorGreaterEqualvector inequality
    Equalscalar or vector equality
    Elementconvex domain or region element
  • With LinearFractionalOptimization[f,cons,vars], parameter equations of the form parval, where par is not in vars and val is numerical or an array with numerical values, may be included in the constraints to define parameters used in f or cons.
  • The primal minimization problem has a related maximization problem that is the Lagrangian dual problem. The dual maximum value is always less than or equal to the primal minimum value, so it provides a lower bound. The dual maximizer provides information about the primal problem, including sensitivity of the minimum value to changes in the constraints.
  • The Lagrangian dual problem for linear fractional optimization is given by:  »
  • maximize
    subject to constraints
  • For linear fractional optimization, strong duality always holds, meaning that if there is a solution to the primal minimization problem, then there is a solution to the dual maximization problem, and the dual maximum value is equal to the primal minimum value.
  • The possible solution properties "prop" include:
  • "PrimalMinimizer"a list of variable values that minimizes the objective function
    "PrimalMinimizerRules"values for the variables vars={v1,} that minimizes
    "PrimalMinimizerVector"the vector that minimizes
    "PrimalMinimumValue"the minimum value
    "DualMaximizer"the vectors that maximize
    "DualMaximumValue"the dual maximum value
    "DualityGap"the difference between the dual and primal optimal values (0 because of strong duality)
  • the constraint slack vector
  • "ConstraintSensitivity"
    sensitivity of to constraint perturbations
    "LinearFractionalObjectiveCoefficients"the coefficients in
    the linear inequality constraint matrix and vector
    the linear equality constraint matrix and vector
    {"prop1","prop2",} several solution properties
  • The dual maximum value is related to and through .
  • The following options may be given:
  • MaxIterationsAutomaticmaximum number of iterations to use
    MethodAutomaticthe method to use
    PerformanceGoal$PerformanceGoalaspects of performance to try to optimize
    ToleranceAutomaticthe tolerance to use for internal comparisons
    WorkingPrecisionAutomaticprecision to use in internal computations
  • The option Method->method may be used to specify the method to use. Available methods include:
  • Automaticchoose the method automatically
    "Simplex"simplex method
    "RevisedSimplex"revised simplex method
    "InteriorPoint"interior point method (machine precision only)
    "CLP"COIN library linear programming (machine precision only)
  • With WorkingPrecision->Automatic, the precision is taken automatically from the precision of the input arguments unless a method is specified that only works with machine precision, in which case machine precision is used.
  • If it is a priori known that the solution sought is where either the denominator is positive or negative, then including a constraint in a and b equivalent to positivity or negativity of the denominator will allow LinearFractionalOptimization to compute the solution more quickly.


open all close all

Basic Examples  (2)

Minimize subject to the constraints :

Click for copyable input

Show the minimizer on a plot of the function over the feasible region:

Click for copyable input

Minimize subject to :

Click for copyable input

Specify the input in matrix-vector form:

Click for copyable input

Solve using matrix-vector form:

Click for copyable input

Scope  (27)

Options  (8)

Applications  (11)

Properties & Relations  (5)

Possible Issues  (3)

Introduced in 2019