Can I use gamultiobj optimization for a problem where the objective functions are not in terms of the decision variables?

1 visualización (últimos 30 días)
Can I use the gamultiobj optimization in matlab to solve this problem (simplified version of my problem)?
Objfuc1 = x1+x2; Objfuc2 = x1*x2;
subject to 0<=y1<=1 1<=y2<=3
where changing y1 and y2 changes x1 and x2.
[t,z] = ode45 ('RHS',time,x0) where RHS the odes integrated to get z x1 and x2 are evaluated from ode integration results: x1 = z(1).*z(2); x2 = z(1)./z(2);
Any suggestions or help will be greatly appreciated.

Respuesta aceptada

Alan Weiss
Alan Weiss el 5 de Oct. de 2016
Take a look at this example, which shows how to use an ODE solution as an objective function.
Alan Weiss
MATLAB mathematical toolbox documentation
  4 comentarios
K. Darkwah
K. Darkwah el 6 de Oct. de 2016
I will take a look and see if I can figure it out.
I will keep you posted.
Thanks Alan
K. Darkwah
K. Darkwah el 17 de Oct. de 2016
Alan,
I have been able to get the process to work. I had to define the variables I wanted to change (the decision variables) and give their ranges through the lb & ub eventhough the objective function values are not directly linked to the decision variable. Thanks for the help!

Iniciar sesión para comentar.

Más respuestas (1)

Alexandra Harkai
Alexandra Harkai el 5 de Oct. de 2016
If there is any way you can express the objective functions in terms of the design variables (ie. if there is an [x1,x2]=foo(y1,y2) function), then gamultiobj could work. (It is hard to tell, since we don't see how x1 and x2 change when y1 and y2 change.) (The is a typo in the 'subject to' line, both are expressed as constraints of y1, which in this case results in y1=1.)
  1 comentario
K. Darkwah
K. Darkwah el 5 de Oct. de 2016
Alexandra,
Thanks for the answer and correction.
To explain my problem further, x1 and x2 (for example glucose and ethanol concentrations, resp.)are evaluated from ODEs integration describing a fermentation process combined with product separation. When y1 and y2 (for example, time for starting separation and gas flow rate of separating gas, resp.) are changed, the values of x1 and x2 change since y1 and y2 drive the separation process. As it stands now, there is no direct way to relate [x1 x2] and [y1 y2].
If I understood your answer, I can only use gamultiobj if I find a way to relate [x1 x2] and [y1 y2].

Iniciar sesión para comentar.

Categorías

Más información sobre Mathematics en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by