what do FiniteDifferenceStepSize,Diffminchange and Diffmaxchange do ?
9 views (last 30 days)
Show older comments
In my optimization problem my obj function is
function OBJ = Obj(X)
OBJ = X(:,11);
end
and my NonLinCon function is
function [C, CEQ] = NonLinCon(X, NCHV, PCHV, IN_SPEC)
DOF.M(1).L = X(:,1);
DOF.M(2).L = X(:,2);
DOF.M(3).L = X(:,3);
DOF.M(4).L = X(:,4);
DOF.M(5).L = X(:,5);
DOF.M(1).RHO = X(:,6);
DOF.M(2).RHO = X(:,7);
DOF.M(3).RHO = X(:,8);
DOF.M(4).RHO = X(:,9);
DOF.M(5).RHO = X(:,10);
DOF.IB = X(:,11)*1e-3;
[~, OUT_SPEC] = aaSynFoldedPmosOL(NCHV,PCHV,DOF);
C(:,1) = IN_SPEC.UGF ./ double(OUT_SPEC.UGF) - 1;
C(:,2) = IN_SPEC.PM ./ double(OUT_SPEC.PM) - 1;
C(:,3) = log10(IN_SPEC.AVDC) ./ log10(double(OUT_SPEC.AVDC)) - 1;
C(:,4) = IN_SPEC.FO ./ double(OUT_SPEC.FO) - 1;
C(:,5) = IN_SPEC.FP1 ./ double(OUT_SPEC.FP1) - 1;
C(:,6) = IN_SPEC.VO_SWING ./ double(OUT_SPEC.VO_SWING) - 1;
CEQ =[]
where in_spec are given by user
when i try to run fmincon on my problem with a feasible starting point it give me a local minimum without using any options but when i use FiniteDifferenceStepSize set to 1e-3 or Diffminchange set to 1e-3 or Diffmaxchange set to 1 it gives me the same point every run and that point's is better than my local point and even better than the point found when i use genetic algorithm in vectorized mode so my question are
1- what do FiniteDifferenceStepSize, Diffminchange and Diffmaxchange do ?
2-what are other vectorized global solvers that do not use random generations of starting points ?
0 Comments
Answers (0)
See Also
Categories
Find more on Surrogate Optimization in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!