solve constraint optimization problem

1 次查看(过去 30 天)
I want to solve constraint optimization problem :
min||M||^2 , where the norm is the frobinus norm and M is 2×2 matrix =[1 x;x 1+2x]
i wrote like that but i got error
x = optimvar('x');
prob = optimproblem;
M=[1 x;x 1+2*x]
prob.Objective = norm(M,'fro')^2;
prob.Constraints.cons1 = x^2-2*x <=1
prob.Constraints.cons2 = x >=- 1/2;
sol = solve(prob,x)

采纳的回答

Torsten
Torsten 2023-2-28
x = optimvar('x');
prob = optimproblem;
M=[1 x;x 1+2*x];
prob.Objective = norm(M,'fro')^2;
prob.Constraints.cons1 = x^2-2*x <=1;
prob.Constraints.cons2 = x >=- 1/2;
x0.x = 1;
sol = solve(prob,x0)
Solving problem using fmincon. Local minimum found that satisfies the constraints. Optimization completed because the objective function is non-decreasing in feasible directions, to within the value of the optimality tolerance, and constraints are satisfied to within the value of the constraint tolerance.
sol = struct with fields:
x: -0.3333
  2 个评论
Hajar Alshaikh
Hajar Alshaikh 2023-2-28
编辑:Hajar Alshaikh 2023-2-28
I copied your code and got this message :
Unable to perform assignment because dot indexing is not supported for variables of this type.
Torsten
Torsten 2023-2-28
Then you use an older MATLAB version.
Take a look at your older documentation on how to supply initial values for the solution variables.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Problem-Based Optimization Setup 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by