optimization for two output parameters varying three input variables within given constraints
4 次查看(过去 30 天)
显示 更早的评论
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:
- the pressure drop (delta_p)
- and temperature rise (delta_T)
This function f requires as variable input the following three parameters:
- the number of cooling channels (n_chan)
- the fixed width of a cooling channel (w_chan)
- 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:
- w_chan_min = 0.51e-3
- h_chan_max = 5.1e-3
- h_chan_min = w_chan_min
- AR_chan_max = 8
- AR_chan_min = h_chan_min/w_chan_min = 1
- 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
2 个评论
采纳的回答
Alan Weiss
2013-11-11
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
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!