MATLAB Optimization Problem

Status
Not open for further replies.

YRAMR

Newbie level 3 I want to get vector x that has minimum max absolute subject to H*x=S where H is a matrix and S is a vector with dimension less than x (which implies that there are infinite solutions for this equation but I want the solution which has minimum max absolute) I used MATLAB with this script

NR=2;
NT=3;
H=(randn(NR,NT)+1i*randn(NR,NT))/sqrt(2);
S=(2*randint(NR,1)-1+1i*(2*randint(NR,1)-1))/sqrt(2);
X0=H'*inv(H*H')*S;
X = fmincon(@(x) max(abs(x)),X0,[],[],H,S);

this appears in the command windows

"Local minimum possible. Constraints satisfied.

fmincon stopped because the predicted change in the objective function
is less than the default value of the function tolerance and constraints
are satisfied to within the default value of the constraint tolerance."

I want to find the global minimum
I used this script

opts = optimoptions(@fmincon,'Algorithm','interior-point');
problem = createOptimProblem('fmincon','objective',...
@(x) max(abs(x)),'x0',X0,'Aeq',H,'beq',S,'options',opts);
gs = GlobalSearch;
[x,f] = run(gs,problem)

but this appear in the command window

Error using globalsearchnlp (line 109)
All elements of X must be real.

Error in GlobalSearch/run (line 336)
[x,fval,exitflag,output] = ...

I want to find the global minimum any Help?

micpro

Member level 2 You may want to look into the concept of the Moore Penrose pseudo inverse, to solve a underdetermined minimum norm least square problem.

Status
Not open for further replies.