solve constraint optimization problem

3 Ansichten (letzte 30 Tage)
Hajar Alshaikh
Hajar Alshaikh am 28 Feb. 2023
Kommentiert: Torsten am 28 Feb. 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)

Akzeptierte Antwort

Torsten
Torsten am 28 Feb. 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 Kommentare
Hajar Alshaikh
Hajar Alshaikh am 28 Feb. 2023
Bearbeitet: Hajar Alshaikh am 28 Feb. 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 am 28 Feb. 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.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by