[FractionalProgramming]分数规划

一般形式

Minimizeλ=f(x)=a(x)b(x)
s.t.b(x)>0,xS

其中 Sa(x),b(x) 是连续的实值函数

解法

λ=f(x) 为该规划的最优解,有

λ=f(x)=a(x)b(x)
0=a(x)λb(x)
g(λ)=min { a(x)λb(x) }

函数 g 有如下性质

性质一

g(λ) 是严格递减函数,即对于 λ1<λ2,g(λ1)>g(λ2)
证明:设
g(λ1)=a(x1)λ1b(x1)
>a(x1)λ2b(x1)
a(x2)λ2b(x2)=g(λ2)

性质二(Dinkelbach定理)

λ 为原规划的最优解,当且仅当 g(λ)=0

那么解法就很显然了
首先我们确定一个答案区间,然后二分答案 λ 即可

以上分析是针对最小化目标函数的规划,实际上对于最大化目标函数一样适用

你可能感兴趣的:(网络流,线性规划,分数规划)