|
- z = Symbol["x" <> ToString[#]] & /@ Range[5];
- NMinimize[{
- (z - {-2, 3, -7, 4, -10}) . (z - {-2, 3, -7, 4, -10}),
- {84, 59, 92, 31, -93} . z <= -89 &&
- {70, 87, 36, 52, 49} . z <= -182}, z]
复制代码
- z = Symbol["x" <> ToString[#]] & /@ Range[5];
- u = {-2, 3, -7, 4, -10};
- A = {{84, 59, 92, 31, -93}, {70, 87, 36, 52, 49}};
- b = {-89, -182};
- A . z \[VectorLessEqual] b
- Qmin = QuadraticOptimization[(z - u) . (z - u)(*目标函数*),
- A . z \[VectorLessEqual] b(*约束条件*),
- z (*变量*)]
- (z - u) . (z - u) /. Qmin
复制代码
- %% 【Matlab】%%
- alpha_1=[84; 59; 92; 31; -93];
- alpha_2=[70; 87; 36; 52; 49];
- u=[-2; 3; -7; 4; -10];
- b_1 = -89;
- b_2 = -182;
- % 定义优化问题相关量
- H = eye(m); % Hessian matrix
- f = -u; % linear term
- c = u'*u/2; % constant term
- % 约束条件
- A = [alpha_1'; alpha_2'];
- b = [b_1, b_2];
- % 求解优化问题
- [z, fval] = quadprog(H, f, A, b, [], [], [], [], []);
- % 返回值
- z
- Fval=2*(fval+c)
复制代码 |
|