Borrar filtros
Borrar filtros

Gradient optimization problem with fmincon

3 visualizaciones (últimos 30 días)
Dai Nguyen
Dai Nguyen el 19 de Mayo de 2021
Editada: Torsten el 20 de Mayo de 2021
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 comentarios
Dai Nguyen
Dai Nguyen el 19 de Mayo de 2021
my initial design is 5000 for length and 500 for radius
Dai Nguyen
Dai Nguyen el 19 de Mayo de 2021
yeah you are right it doesn't depends. I think in this case imma minimize the volume

Iniciar sesión para comentar.

Respuestas (1)

Sulaymon Eshkabilov
Sulaymon Eshkabilov el 19 de Mayo de 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 comentarios
Dai Nguyen
Dai Nguyen el 19 de Mayo de 2021
Yeah I tried to put the constraints but my constraints is non linear
c(1)= L + R - 131.23; % height of tank
c(2) = 1224.303*RL(1)^2; % height of distance, fuel needed
c(3) = (RL(1)*RL(2))/(2*(RL(2)+RL(1)))- 0.25; % thickness of tank
Torsten
Torsten el 20 de Mayo de 2021
Editada: Torsten el 20 de Mayo de 2021
The first constraint is linear, the second is superfluous and the third can be put in function "nonlcon".
Read the documentation of fmincon for more details.

Iniciar sesión para comentar.

Categorías

Más información sobre Linear Least Squares en Help Center y File Exchange.

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by