数理最適化において、線形分数計画法(LFP )は線形計画法(LP)の一般化です。線形計画法の目的関数は線形関数ですが、線形分数計画法の目的関数は2つの線形関数の比です。線形計画法は、分母が定数関数1である線形分数計画法の特殊なケースとみなすことができます。
正式には、線形分数計画問題は、多面体上のアフィン関数の比を最大化(または最小化)する問題として定義される。
どこは決定すべき変数のベクトルを表します。そしては(既知の)係数のベクトルであり、は係数の(既知の)行列であり、は定数です。制約条件は実行可能領域を制限しなければなりません。つまり、分母が正となる領域です。[ 1 ] [ 2 ]あるいは、目的関数の分母は実行可能領域全体で厳密に負でなければなりません。
線形計画法と線形分数計画法はどちらも、線形方程式と線形不等式を用いて最適化問題を表現します。これらの式は、問題の各インスタンスに対して実行可能集合を定義します。分数線形計画法は、より豊富な目的関数セットを持ちます。非公式には、線形計画法は、最大利益や最小コストなど、最良の結果をもたらす方策を計算します。対照的に、線形分数計画法は、結果とコストの比率を最大化するために使用されます。この比率は、最高の効率を表します。たとえば、LP の文脈では、目的関数profit = income − cost を最大化し、最大利益 $100 (= $1100 の 収入− $1000 のコスト) を得ることができます。したがって、LP では、効率は $100/$1000 = 0.1 となります。LFP を使用すると、投資額が $50 だけで、利益は $10 に過ぎず、効率は $10/$50 = 0.2 となります。
実行可能領域が空でなく有界であると仮定すれば、任意の線形分数計画問題は、Charnes–Cooper変換を用いて線形計画問題に変換できる。[ 1 ]主なアイデアは、新しい非負変数を導入することである。プログラムに含まれる定数を再スケーリングするために使用されるプログラムへ(これにより、目的関数の分母が) は 1 に等しい。(変換を理解するために、より単純な特殊なケースを考察すると有益である。)
形式的には、チャーンズ・クーパー変換によって得られる線形計画法は、変換された変数を使用する。そして:
解決策元の線形分数計画は、等式を介して変換された線形計画の解に変換できます。
逆に、そして変換された線形計画の解は、次の方法で元の線形分数計画の解に変換できます。
制約に関連付けられた双対変数をそしてで表すそしてそれぞれ。すると、上記の LFP の双対は[ 3 ] [ 4 ]となります。
これは線形計画問題であり、チャーンズ・クーパー変換によって得られる同等の線形計画問題の双対問題と一致する。
線形分数問題の目的関数は、準凹関数かつ準凸関数(したがって準線形)であり、単調性、擬凸性を持ちます。擬凸性は、準凸性よりも強い性質です。線形分数目的関数は、擬凸関数かつ擬凹関数であるため、擬線形です。LFP は LP に変換できるため、シンプレックス法(George B. Dantzigによる)[ 5 ] [ 6 ] [ 7 ] [ 8 ] 、クロス法[ 9 ] 、内点法など、任意のLP解法を使用して解くことができます。