【问题标题】:Boolean least squares布尔最小二乘
【发布时间】:2017-05-29 05:18:38
【问题描述】:

对于频谱估计算法,我需要找到最适合的向量线性组合来拟合目标频谱分布。到目前为止,这在 MATLAB 中使用 lsqlin 优化器的效果相对较好。 但是,对于最终应用程序,我想仅针对零和一来近似/解决此问题,这意味着 Ax=b 解决了布尔 x。

有没有办法为此目的对lsqlin 或其他优化器函数进行参数化?

【问题讨论】:

  • 一些带有稀疏求解器或 L0 正则化的高级数学可以工作,但这是相当高级的数学(我不知道如何使用)

标签: matlab mathematical-optimization least-squares


【解决方案1】:

如果问题只是:

Solve Ax=b for x in {0,1}

然后您可以使用 MIP 求解器(例如 Matlab intlinprog)。如果问题受到过度约束并且您需要最小二乘解决方案:

Min w'w
S.t. Ax - b = w
x in {0,1} (binary variable)
w free variable

那么你有一个 MIQP(混合整数二次规划)问题。对此有很好的求解器,例如 Cplex 和 Gurobi(可从 Matlab 调用)。 Matlab 还讨论了使用intlinprogapproximation scheme。另一个想法是用绝对值之和代替二次目标。这可以表述为线性 MIP 模型。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-08-14
    • 1970-01-01
    • 2012-07-13
    • 2014-03-15
    • 2014-04-28
    • 2012-02-10
    • 2010-12-05
    相关资源
    最近更新 更多