Fractional programming

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

In mathematical optimization, fractional programming is a generalization of linear-fractional programming. The objective function in a fractional program is a ratio of two functions that are in general nonlinear. The ratio to be optimized often describes some kind of efficiency of a system.

Definition

[edit | edit source]

Let f,g,hj,j=1,…,m be real-valued functions defined on a set 𝐒0βŠ‚β„n. Let 𝐒={π’™βˆˆπ’0:hj(𝒙)≀0,j=1,…,m}. The nonlinear program

maximizeπ’™βˆˆπ’f(𝒙)g(𝒙),

where g(𝒙)>0 on 𝐒, is called a fractional program.

Concave fractional programs

[edit | edit source]

A fractional program in which f is nonnegative and concave, g is positive and convex, and S is a convex set is called a concave fractional program. If g is affine, f does not have to be restricted in sign. The linear fractional program is a special case of a concave fractional program where all functions f,g,hj,j=1,…,m are affine.

Properties

[edit | edit source]

The function q(𝒙)=f(𝒙)/g(𝒙) is semistrictly quasiconcave on S. If f and g are differentiable, then q is pseudoconcave. In a linear fractional program, the objective function is pseudolinear.

Transformation to a concave program

[edit | edit source]

By the transformation π’š=𝒙g(𝒙);t=1g(𝒙), any concave fractional program can be transformed to the equivalent parameter-free concave program[1]

maximizeπ’štβˆˆπ’0tf(π’št)subject totg(π’št)≀1,tβ‰₯0.

If g is affine, the first constraint is changed to tg(π’št)=1 and the assumption that g is positive may be dropped. Also, it simplifies to g(π’š)=1.

Duality

[edit | edit source]

The Lagrangian dual of the equivalent concave program is

minimize𝒖supπ’™βˆˆπ’0f(𝒙)βˆ’π’–T𝒉(𝒙)g(𝒙)subject touiβ‰₯0,i=1,,m.

Notes

[edit | edit source]
  1. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).

References

[edit | edit source]
  • Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  • Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).