以下优化问题的解是什么?
What is the solution of the following optimization problem?
max g(x,y)= x*k+(1-x)*log(1+((x*y)*l)/(1-x))
s.t: 0<=x<=1,0<=y<=1,
where k,l>0.
保持一个约束不变,函数g(x)/g(y)是一个凹函数。还通过各种 k 和 l 的 Matlab 模拟对其进行了检查。 g(x,y)的模拟结果也给出了凹函数。当存在两个约束时,g(x,y) 的最大值是多少?
也许你可以像下面那样尝试fmincon
fn = @(v) -(v(1)*k+(1-v(1))*log(1+((v(1)*v(2))*l)/(1-v(1))));
Xopt = fmincon(fn,[0.5,0.5],[],[],[],[],[0;0]+eps,[1;1]-eps);
例子
k = 5;
l = 2;
fn = @(v) -(v(1)*k+(1-v(1))*log(1+((v(1)*v(2))*l)/(1-v(1))));
Xopt = fmincon(fn,[0.5,0.5],[],[],[],[],[0;0]+eps,[1;1]-eps);
这样
>> Xopt
Xopt =
0.99800
0.54714
max g(x,y)= x*k+(1-x)*log(1+((x*y)*l)/(1-x))
s.t: 0<=x<=1,0<=y<=1,
where k,l>0.
保持一个约束不变,函数g(x)/g(y)是一个凹函数。还通过各种 k 和 l 的 Matlab 模拟对其进行了检查。 g(x,y)的模拟结果也给出了凹函数。当存在两个约束时,g(x,y) 的最大值是多少?
也许你可以像下面那样尝试fmincon
fn = @(v) -(v(1)*k+(1-v(1))*log(1+((v(1)*v(2))*l)/(1-v(1))));
Xopt = fmincon(fn,[0.5,0.5],[],[],[],[],[0;0]+eps,[1;1]-eps);
例子
k = 5;
l = 2;
fn = @(v) -(v(1)*k+(1-v(1))*log(1+((v(1)*v(2))*l)/(1-v(1))));
Xopt = fmincon(fn,[0.5,0.5],[],[],[],[],[0;0]+eps,[1;1]-eps);
这样
>> Xopt
Xopt =
0.99800
0.54714