Azzera filtri
Azzera filtri

the initial point is local minima for fmincon.

52 visualizzazioni (ultimi 30 giorni)
I am trying to solve a minimization problem using fmincon but the solver doesn't perform any optimization and gice this message. I have tried with all possible values of the initial condition, but the answer remain same. Please help me.
Iter F-count f(x) Feasibility Steplength step optimality \\
0 41 7.501427e-02 0.000e+00 0.000e+00
Initial point is a local minimum that satisfies the constraints.
Optimization completed because at the initial point, the objective function is non-decreasing in feasible directions to within the selected value of the optimality tolerance, and constraints are satisfied to within the selected value of the constraint tolerance.
  3 Commenti
Muhammad Zeeshan Babar
Muhammad Zeeshan Babar il 3 Ago 2017
Modificato: Muhammad Zeeshan Babar il 3 Ago 2017
The code is given below. where the cost function involves only the minimization of trace of P_est. The control horizon length is N = 30 and the simulations are performed for k=currentInstant=100 samples.
Please explain your above answer according to this code.
%%%%%%%Initial values for the control inputs %%%%%%%%%%%%%%%%%
a = +25;
b = -25;
u0 = a + (b-a)*rand(1, MPC.horizon);
%%%%%%%%%%%%%Bound on control inputs %%%%%%%%%%%%%%%%%
minu = -50*ones(1, MPC.horizon);
maxu = +50*ones(1, MPC.horizon);
%%%%%%%%%%%%fmincon function %%%%%%%%%%%%%%%%%
A = []; % linear inequalities A*x < B
B = [];
Aeq = []; % linear equalities Aeq*x = Beq
Beq = [];
nonlcon = []; % nonlinear inequalties or equalties
fun = @(u)costFunction(x, u, currentInstant, MPC,r_x1, para, P_est,alpha); %function handle
[uopt(:,i), Jopt(i), exitfl(i), outp{i}] = fmincon(fun, u0, A, B, Aeq, Beq, minu, maxu, nonlcon, options);
Torsten
Torsten il 4 Ago 2017
Without seeing "costFunction", nothing can be said.
Best wishes
Torsten.

Accedi per commentare.

Risposte (2)

Sidafa
Sidafa il 3 Ago 2017
It looks as though fmincon has converged from the output. The objective function, as pointed out from the previous answer, may be constant or is solved at the initial guess.

Julie Kraus
Julie Kraus il 3 Ago 2017
Fmincon only finds a local minimum, if your start point is at a local minimum in all feasible directions it has found a local minimum.
You may have better luck with the global search, it will choose a bunch of different start points, which can yield a better solution.

Community Treasure Hunt

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

Start Hunting!

Translated by