multi- objective solution for specified range of output values for the two functions
Afficher commentaires plus anciens
Hello Alan Weiss sir,
I want to optimize two equations simultaneously having one independent variable (n), such that I want to maximize y(1) and minimize y(2), so I assigned a negative sign to y(1).
For this, I have defined the two functions in a function file: multi_fault.m like as follows:
function y = multi_fault(n)
a = -97.466; b = 1.3921; x0 = 1.7766; y0 = 93.7192;
a1 = -110228.0527; b1 = 213.913; x01 = 1.5279; y01 = 110230.5287;
y(1) = -(y0+a*exp(-0.5*((n-x0)/b)^2));
y(2) = (y01+a1*exp(-0.5*((n-x01)/b1)^2));
Now, I am using gamultiobj function to get optimized function values within variable range 1.5<n>6.
ObjectiveFunction = @multi_fault;
[n,fval] = gamultiobj(ObjectiveFunction,nvars,[],[],[],[],1.5,6);
It is giving correct result, such that it is giving a series of optimized combination values for y1 and y2 for different values of n.
My problem is that, I want to define the range of output values of the two functions also. Like
-95<y(1)<-80 and 5<y(2)<25.
After optimization, it should give only that n value satisfying these output function values.
Sir, I don't know how to set this output function limit. I have tried fgoalattain and other functions , but do not get the right result. In summary, I also want to define the particular values of the two functions to be optimized rather simply maimizing/ minimizing for the given range of input values.
Kindly help me to solve this. I need it urgently please.
Thanx in advance.....
Réponse acceptée
Plus de réponses (0)
Catégories
En savoir plus sur Multiobjective Optimization dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!