Gradient optimization problem with fmincon
Show older comments
Hi I'm currently working on an optimzation problem where I need to optimization a design dimension to minimize the ROI with Sequential Quadratic Programing with fmincon. However, I don't really know how the fmincon work and how my constrain will need to implement into the code. I'm new to matlab
Thank you for your time,
Here is my equation and constrain that I want to put in Matlab


with r is the radius and l is the length of the tank
11 Comments
Dai Nguyen
on 19 May 2021
Torsten
on 19 May 2021
What are you trying to minimize ?
Your ROI is constant and equals -0.95.
Dai Nguyen
on 19 May 2021
Dai Nguyen
on 19 May 2021
Sulaymon Eshkabilov
on 19 May 2021
Here are your variables are r and l. What constraints (in a range of numbers) do you have for r (radius) and l (length)?
Torsten
on 19 May 2021
Your ROI doesn't depend on l and r.
It's constant and equals -0.95.
Dai Nguyen
on 19 May 2021
Dai Nguyen
on 19 May 2021
Dai Nguyen
on 19 May 2021
Dai Nguyen
on 19 May 2021
Dai Nguyen
on 19 May 2021
Answers (1)
Sulaymon Eshkabilov
on 19 May 2021
Here is a simple solution to your exercise. Adjust your constrains for r (radius) and l (length).
% NOTE: RL(1) is R and RL(2) is L.
ROI =@(RL) (.05*(509.7*pi(RL(1)^3+RL(1)^2*RL(2))+5.505e3*RL(1)^2)-509.7*pi*(RL(1)^3+RL(1)^2*RL(2))+5.505e3*RL(1)^2)/(509.7*pi*(RL(1)^3+RL(1)^2*RL(2))+5.505e3*RL(1)^3);
Rb = [0,0];
% NOTE: 0<=R<=5; 0<=L<=15; Thus, Rb= [0, 0]; and Lb = [5, 15];
Lb = [5, 15];
% No Other constraints are considered here
A = [];
b = [];
Aeq = [];
beq = [];
x0 = (Lb + Rb)/2;
RL = fmincon(ROI,x0,A,b,Aeq,beq,Lb,Rb);
R = RL(1);
L = RL(2);
fprintf('Found values: R = %f [ft] L = %f [ft] \n', [R, L])
Good luck.
9 Comments
Dai Nguyen
on 19 May 2021
Dai Nguyen
on 19 May 2021
Dai Nguyen
on 19 May 2021
Sulaymon Eshkabilov
on 19 May 2021
RL is the variable: RL = [r, l];
Sulaymon Eshkabilov
on 19 May 2021
Edited: Sulaymon Eshkabilov
on 19 May 2021
Now you have edited your problem statement significantly from the initially posted one. That means your function for minimization would be V(r, l) in the proposed code of mine.
And the constrains for r and l need to be inserted properly.
Dai Nguyen
on 19 May 2021
Sulaymon Eshkabilov
on 19 May 2021
That is an initial guess value. The search starts w.r.t x0 values. Good luck with your sims.
Dai Nguyen
on 19 May 2021
Categories
Find more on Surrogate Optimization in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
