MATLAB: Optimization for two output parameters varying three input variables within given constraints

optimization multiple output input variables constraints

Hi,
i am new to optimization in matlab. I have the optimization toolbox and would like to know how i could solve the following problem:
i have a created a function, lets call it simply f, that calculates the following two outputs over the cooling channels of a rocket engine nozzle:
  1. the pressure drop (delta_p)
  2. and temperature rise (delta_T)
This function f requires as variable input the following three parameters:
  1. the number of cooling channels (n_chan)
  2. the fixed width of a cooling channel (w_chan)
  3. and a fixed aspect ratio (AR_chan) (which is the ratio of the height of a channel over the width, hence AR_chan=h_chan/w_chan).
so in short: function [delta_p,delta_T] = f(n_chan,w_chan,AR_chan)
Now i would like to find n_chan, w_chan and AR_chan such that delta_p is as low as possible while delta_T is as high as possible.
There are also the following six constraints to the optimization problem:
  1. w_chan_min = 0.51e-3
  2. h_chan_max = 5.1e-3
  3. h_chan_min = w_chan_min
  4. AR_chan_max = 8
  5. AR_chan_min = h_chan_min/w_chan_min = 1
  6. w_chan_max = h_chan_max/AR_chan_min = h_chan_max
is this possible and how would you suggest doing this?
thank you for looking at this problem! kind regards

Best Answer

You have two objectives: minimize delta_p while maximizing delta_T. In general, multiobjective optimization does not have a unique solution, only a set of Pareto optimal points. There is a bit of discussion in this section of the documentation. (Your problem might fit better into the discussion if you think about minimizing both delta_p and -delta_T.)
That said, you can sometimes formulate a problem so that fgoalattain gives you a reasonable solution. See this section of the documentation and this example.
Good luck,
Alan Weiss
MATLAB mathematical toolbox documentation