Problem finding maximum of a nonlinear problem

I have the following problem.
Minimize subject to and
I am trying to use fmincon to find this point.
My attempt as solutuion is as follows:
close all
clear
clc
fun = @(x) x(1)+x(2)+x(3); %minimize
lb = [];
ub=[];
x0 = [1 1 1];
A = [];
b=[];
Aeq=[];
beq=[];
x = fmincon(fun,x0,A,b, Aeq, beq, lb, ub, @constraints)
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.
x = 1×3
-1.4142 0.2929 -0.7071
function [c,ceq] = constraints(x)
c=[0 0];
c(1) = (x(2)-1).^2+x(3).^2-1; % <=0
c(2) = x(1).^2+(x(2)-1).^2+x(3).^2-3;
ceq = [];
end
Unfortunately, this does not work, since I get as a result
x =
1.0e+52 *
-8.2469 -0.0000 -0.0000
I know that the solution should be but I cannot see what I am doing wrong. Can someone please help me?
Best regards.

3 个评论

I changed your code above appropriately.
@Torsten So, are you telling me that all the problem is that I had a typho on the statement of my problem? Anyway, thanks for the help.
Yes, x^3 produces negative values if x is negative. This makes your problem unbounded.

请先登录,再进行评论。

回答(0 个)

类别

产品

版本

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by