分式规划是凸优化中常见的问题,例如最大化能效等。这篇博客介绍了single-ratio 分式规划的二种常见方法。
1、Quadratic transform
2、 Dinkelbach's Transform
一个简单的优化问题
如何使用上述二种方法来计算呢?
%% 方法2:Quadratic Transform 求解max (x/(x^2+1)) s.t x >=0
iter_max = 20;
x = zeros(1,iter_max+1);
eta = zeros(1,iter_max+1);
opt_val = zeros(1,iter_max+1);
eta(1) = 0.1;
for iter=1:iter_max
% update x
x(iter) = (2*eta(iter))^(-2/3);
% update eta
eta(iter+1) = sqrt(x(iter))/(x(iter)^2+1);
opt_val(iter)