【问题标题】:What is the solution of the following optimization problem?以下优化问题的解决方案是什么?
【发布时间】:2020-04-13 20:30:49
【问题描述】:
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) 的最大值是多少?

【问题讨论】:

  • 这听起来像是请求家庭作业帮助。根据stackoverflow.com/help/on-topic 的指导方针,请为此问题提供“您在解决该问题时遇到的困难的描述”。

标签: matlab mathematical-optimization convex-optimization


【解决方案1】:

也许你可以试试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

【讨论】:

  • 如何数学证明?
  • 有什么方法可以概括解决方案 w.r.t. k 和 l ?
  • @new 如果您想要数学证明,也许您应该将您的帖子迁移到 stackexchange 或交叉验证。 Stackoverflow 主要有编码问题供大家讨论。
  • @new 你对kl 有什么限制吗?如果有,那么你可以在使用fmincon时考虑到它们
  • 唯一的约束是 k,l>0。我想要一个具有任何 k 和 l 值的解决方案。这可能吗?
猜你喜欢
  • 1970-01-01
  • 2022-11-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-10
  • 1970-01-01
相关资源
最近更新 更多