Path: news.mathworks.com!not-for-mail From: James Allison <james.allison@mathworks.com> Newsgroups: comp.soft-sys.matlab Subject: Re: Optmizaing a vector of 1-D functions Date: Thu, 08 Apr 2010 14:47:47 -0400 Organization: The MathWorks, Inc. Lines: 35 Message-ID: <hpl8cj$qs0$1@fred.mathworks.com> References: <hpl336$p7k$1@fred.mathworks.com> <hpl46p$ffa$1@fred.mathworks.com> <hpl4ui$s0u$1@fred.mathworks.com> <hpl5t1$efe$1@fred.mathworks.com> <hpl73t$5u3$1@fred.mathworks.com> NNTP-Posting-Host: jallison-maci.dhcp.mathworks.com Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Trace: fred.mathworks.com 1270752467 27520 144.212.115.207 (8 Apr 2010 18:47:47 GMT) X-Complaints-To: news@mathworks.com NNTP-Posting-Date: Thu, 8 Apr 2010 18:47:47 +0000 (UTC) User-Agent: Thunderbird 2.0.0.21 (Macintosh/20090302) In-Reply-To: <hpl73t$5u3$1@fred.mathworks.com> Xref: news.mathworks.com comp.soft-sys.matlab:624776 This is a multiobjective optimization problem, which cannot be solved directly by any MATLAB optimization function except gamultiobj. You either need to aggregate the components of F into a single objective function (such as least squares, a weighted sum, etc.), or you need to use a multiobjective optimization technique. The functions you described are simple enough that you should be able to derive an analytical solution (assuming your aggregation function is not too complex) by differentiating and setting to zero (help roots) to find stationary points. You will probably have more than one zero. Check the sign of the second derivative to confirm whether you have a minimum or maximum. One simpler multiobjective optimization technique is to choose one function as the objective, and the other(s) as constraints(s). You then vary the limits of the constraint(s) parametrically and solve each version of the problem (with something like fmincon, or other constrained optimization functions if appropriate such as quad prog) to obtain a set of solutions known as the Pareto set or Pareto front: http://en.wikipedia.org/wiki/Pareto_efficiency You can then visualize and explore the tradeoffs present in the multiobjective optimization problem, and choose a solution that best meets your needs. -James Andrey Orlov wrote: > For example, F(x) = (f1(x), f2(x))', f1(x) = x^4 - x^3 + 4, f2(x) = > x^8-x^10+x^5+100, (a,b) = (-30,30). I want to avoid using iterations if > it's possible. > > For my real computation number of those functions fj(x) equals 400....