fminsearchbnd, fminsearchcon
编者注: This file was selected as MATLAB Central Pick of the Week
Fminsearch does not admit bound constraints.
However simple transformation methods exist to
convert a bound constrained problem into an
unconstrained problem.
Fminsearchbnd is used exactly like fminsearch,
except that bounds are applied to the variables.
The bounds are applied internally, using a
transformation of the variables. (Quadratic for
single bounds, sin(x) for dual bounds.)
The bounds are inclusive inequalities, which admit
the boundary values themselves, but will not permit
ANY function evaluations outside the bounds.
Note that fminsearchbnd allows the user to exactly fix a variable at some given value, by setting both bounds to the exact same value.
Example usage:
rosen = @(x) (1-x(1)).^2 + 105*(x(2)-x(1).^2).^2;
% unconstrained fminsearch solution
fminsearch(rosen,[3 3])
ans =
1.0000 1.0000
% Lower bounds, no upper bounds
fminsearchbnd(rosen,[2.5 2.5],[2 2],[])
ans =
2.0000 4.0000
Lower bounds on both vars, upper bound on x(2)
fminsearchbnd(rosen,[2.5 2.5],[2 2],[inf 3])
ans =
2.0000 3.0000
I've now included fminsearchcon in the package, a tool that also allows nonlinear constraints.
引用格式
John D'Errico (2024). fminsearchbnd, fminsearchcon (https://www.mathworks.com/matlabcentral/fileexchange/8277-fminsearchbnd-fminsearchcon), MATLAB Central File Exchange. 检索时间: .
MATLAB 版本兼容性
平台兼容性
Windows macOS Linux类别
- Mathematics and Optimization > Optimization Toolbox > Nonlinear Optimization >
- Mathematics and Optimization > Optimization Toolbox > Quadratic Programming and Cone Programming >
- Mathematics and Optimization > Optimization Toolbox > Systems of Nonlinear Equations >
标签
致谢
启发作品: fitVirusCV19varW (Variable weight fitting of SIR Model), Ogive optimization toolbox, Fminspleas, fminsearchbnd new, Zfit, minimize, variogramfit, Total Least Squares Method, Accelerated Failure Time (AFT) models, Fit distributions to censored data, fminsearcharb, Matlab to Ansys ICEM/Fluent and Spline Drawing Toolbox
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!