solve constraint optimization problem

1 visualización (últimos 30 días)
Hajar Alshaikh
Hajar Alshaikh el 28 de Feb. de 2023
Comentada: Torsten el 28 de Feb. de 2023
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)

Respuesta aceptada

Torsten
Torsten el 28 de Feb. de 2023
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 comentarios
Hajar Alshaikh
Hajar Alshaikh el 28 de Feb. de 2023
Editada: Hajar Alshaikh el 28 de Feb. de 2023
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 el 28 de Feb. de 2023
Then you use an older MATLAB version.
Take a look at your older documentation on how to supply initial values for the solution variables.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Problem-Based Optimization Setup en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by