How to find the optimal solution between boundary values?

3 visualizaciones (últimos 30 días)
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)
Local minimum found that satisfies the constraints. Optimization completed because the objective function is non-decreasing in feasible directions, to within the value of the optimality tolerance, and constraints are satisfied to within the value of the constraint tolerance.
x = 1.5811
If plotting this,
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 comentarios
Bjorn Gustavsson
Bjorn Gustavsson el 1 de Jun. de 2022
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.

Iniciar sesión para comentar.

Respuesta aceptada

Matt J
Matt J el 1 de Jun. de 2022
The derivative of the curve is zero at x=sqrt(b/a). So, the condition is,
0<a,
0<b,
sqrt(b/a)<d

Más respuestas (1)

M Mirrashid
M Mirrashid el 5 de Jun. de 2022

Categorías

Más información sobre Solver Outputs and Iterative Display en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by