Optimisation of three function in two variables
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
Alessandro Matteuzzi
el 1 de Oct. de 2024
Comentada: Steven Lord
el 1 de Oct. de 2024
Hi, i have three sperimantal eqation that describe: Temperature (T), Pressure (P) and refraction (R). Each function dependes from two variables x and y. So T=f(x,y), Pf(x,y) and R=f(x,y). I kwon the range of valure for x and y, so x1<x<x2 and y1<y<y2.
I want to maximise each of the functions, so i want to find the best couple of value for x and y that optimise the functions.
What is the best strategy?
0 comentarios
Respuesta aceptada
Star Strider
el 1 de Oct. de 2024
To begin with, you need to parameterise the functions so that ‘x’ and ‘y’ are two elements in the same vector.
Your functions then become:
% b(1) = x, b(2) = y
T = f(b(1),b(2)) ...;
P = f(b(1),b(2)) ...;
R = f(b(1),b(2)) ...;
and the bounds become:
lb = [x1, y1];
ub = [x2, y2];
You can then use these with the fmincon functiion, for example. Optimise in ‘b’ and if you want to get the maxima, negate them in tthe fmincon call.
.
0 comentarios
Más respuestas (1)
John D'Errico
el 1 de Oct. de 2024
There may be an issue here, if you think you can maximize them all simultaneously. The (x,y) coordinates that maximizes one function need not be (and almost certainly will not be) the same as that which maximizes the other responses.
Of course, if you are willing to find a different extremal point for each objective, then you just call a tool like fmincon three times, once for each objective.
Is there any recourse? I assume what you want to do is called multi-criteria optimization, or multi-objective optimization.
Here the common idea is to optimize a weighted sum of all three objectives. If, for example, the three objectives have completely different units or scaling, surely you want to weight them to counter that, possibly making them each roughly of the same importance in the result.
The tool in MATLAB to solve this general problem is fgoalattain.
help fgoalattain
1 comentario
Steven Lord
el 1 de Oct. de 2024
Ver también
Categorías
Más información sobre Get Started with Optimization Toolbox 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!