Matlab Optimization problem, minimize a function
2 views (last 30 days)
Show older comments
Hello, So I have a simple optimization problem that consists of finding a value for a variable that minimizes the difference between two other variables. For example, First input element; An Arbitrary value of X=10. Q=100; B=X*Q; C=50; The objective is to find the value of X that minimizes the difference between (X*Q) & C; f(X)=(X*Q)-C; Is there a function that will give this output or do I need to run a loop that keeps solving for X until it finds a value that minimizes the function f(X)? Thank you so much.
Answers (1)
Star Strider
on 23 Sep 2016
X = C/Q
3 Comments
Alan Weiss
on 23 Sep 2016
P = lsqnonneg(Q,C)
Alan Weiss
MATLAB mathematical toolbox documentation
Star Strider
on 23 Sep 2016
My pleasure.
I believe it definitely could be that simple:
P = 10; % Price = $10
Q = 10; % Quantity = 10
Budget = P*Q; % Total Budget
C = 450; % C = ???
fcn = @(Pstar) norm(Pstar*Q - C); % Objective Function
Pstar1 = fminsearch(fcn, 1) % Determine ‘P*’
Pstar2 = C/Q % Determine ‘P*’
Pstar1 =
45
Pstar2 =
45
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!