How to optimize an objective function with repect to two variables using fmincon?

2 次查看(过去 30 天)
I want to maximize this objective function with respect to a and b using fmincon.
max(-90a-90b+540)
subjected to 3<=a ; b<=8

采纳的回答

Star Strider
Star Strider 2022-5-8
The general approach to maximising a function is to negate it so the minimum that the optimisation functions find is actually the function maximum.
f = @(a,b) (-90*a-90*b+540);
[ab,fv] = fmincon(@(ab) -f(ab(1),ab(2)), rand(2,1), [],[],[],[],[3 -Inf],[inf 8]);
Problem appears unbounded. fmincon stopped because the objective function value is less than the value of the objective function limit and constraints are satisfied to within the value of the constraint tolerance.
fprintf('\n\ta = %23.15E\n\tb = %23.15E\n\tfv = %23.15E\n\n',ab,fv)
a = 1.792516492505127E+12 b = -1.880962606528041E+18 fv = -1.692864732610394E+20
The problem appears to not be well-posed.
.

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Nonlinear Optimization 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by