Gradient optimization problem with fmincon
조회 수: 3 (최근 30일)
이전 댓글 표시
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
답변 (1개)
Sulaymon Eshkabilov
2021년 5월 19일
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
참고 항목
카테고리
Help Center 및 File Exchange에서 Get Started with Optimization Toolbox에 대해 자세히 알아보기
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!