How to find the optimal solution between boundary values?
조회 수: 2 (최근 30일)
이전 댓글 표시
If a problem a*x+b/x+c
subjected to 0<x<=d
Condition on a,b,c,d such that for optimal solution 0<x*<d?
For example,
x0=0;
f=@(x)(2*x+5/x+10);
x=fmincon(f,x0,[],[],[],[],0,10)
If plotting this,
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1018330/image.jpeg)
If I taking the range, 0 to 10 optimal point is 1.581,that is between the boundary
while in the range of 2 to 4,optimal point is 2,that is in the boundary
Also if the range 4 to 10,optimal point is 4,that is in the boundary
So,my problem is to find out at what condition on a,b,c,d such that solution between the boundary not on boundary.
N.B a,b,c,d values are changable.
댓글 수: 2
Bjorn Gustavsson
2022년 6월 1일
Start by familiarize yourself with the problem. By that I mean plot the curves (positive x only it seems?) for a range of a, b and c values just to see how the curve varies. That should take you a long way towards solving this problem.
채택된 답변
Matt J
2022년 6월 1일
The derivative of the curve is zero at x=sqrt(b/a). So, the condition is,
0<a,
0<b,
sqrt(b/a)<d
참고 항목
카테고리
Help Center 및 File Exchange에서 Nonlinear Optimization에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!