解决复合线性优化问题

问题描述 投票:0回答:1

我想在 MATLAB 中解决以下复合优化问题:

min (Ax-a), min (Bx-b), min (Cx-c)

服从

Dx=d
x>=0
,其中
a,b,c,d
是向量,
A,B,C,D
是矩阵,所有这些都已给出。

首先我不知道上面的问题如何设置,我应该写吗

min(Ax-a)^2+(Bx-b)^2+(Cx-c)^2, s.t. Dx=d and x>=0

这是此类问题的最佳表述吗?第二个问题是,我应该使用quadprog还是MATLAB中还有其他更合适的例程?

matlab mathematical-optimization least-squares quadprog
1个回答
0
投票

确实:

$$ 种族{1}{2} {\left|旧符号{A} 旧符号{x} - 旧符号{a} 右|} + RAC{1}{2} {\左|旧符号{B} 旧符号{x} - 旧符号{b} 右|} = rac{1}{2} {\左| egin{bmatrix} oldsymbol{A} \ oldsymbol{B} nd{bmatrix} oldsymbol{x} - egin{bmatrix} oldsymbol{a} \ oldsymbol{b} nd{bmatrix} 右|} = rac{1}{2} {\左|旧符号{P} 旧符号{x} - 旧符号{q} 右|} $$

如果将此应用于所有组件,您将留下具有线性等式和非负约束的线性最小二乘法。大多数二次规划求解器能够解决哪些问题(请参阅 MATLAB 的

quadprog()
)。

© www.soinside.com 2019 - 2024. All rights reserved.