Dear All, Is there any package to do multi-objective optimization? For instance, consider the following problem: maximize f(x,y) in order to x and maximize g(x,y) in order to y, simultaneously, with x and y being the same both for f and g. Can R do it numerically? Thanks in advance, Paul
On 10/17/2007 1:54 PM, Paul Smith wrote:> Dear All, > > Is there any package to do multi-objective optimization? For instance, > consider the following problem: > > maximize f(x,y) in order to x > > and > > maximize g(x,y) in order to y, > > simultaneously, with x and y being the same both for f and g. Can R do > it numerically?I don't think the problem is well posed. For example, what's the solution if f(x,y) = -(x-y)^2 and g(x,y) = -(x-2)^2-(y-1)^2? The first is maximized at x=y, the second at x=2, y=1, so in order to choose a solution you need to specify what sort of tradeoff to use to combine the two objectives. Duncan Murdoch
Hi Paul, I know very little about multi-objective optimization. Further, I don't understand what "in order to" means. In multi-objective optim problems, don't you almost always end up reducing it to standard optimization by combining the multiple objectives into a single objective function? Then the real question is: what is the best way to derive a scalar function? How about maximizing something like: H(x,y; a,b) = (F(x,y))^a * (G(x,y))^b ? where 0 < a,b < 1. You pick a and b as per the relative importance of F to G. Ravi. ---------------------------------------------------------------------------- ------- Ravi Varadhan, Ph.D. Assistant Professor, The Center on Aging and Health Division of Geriatric Medicine and Gerontology Johns Hopkins University Ph: (410) 502-2619 Fax: (410) 614-9625 Email: rvaradhan at jhmi.edu Webpage: http://www.jhsph.edu/agingandhealth/People/Faculty/Varadhan.html ---------------------------------------------------------------------------- -------- -----Original Message----- From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org] On Behalf Of Paul Smith Sent: Wednesday, October 17, 2007 1:55 PM To: r-help Subject: [R] Multi-objective optimization Dear All, Is there any package to do multi-objective optimization? For instance, consider the following problem: maximize f(x,y) in order to x and maximize g(x,y) in order to y, simultaneously, with x and y being the same both for f and g. Can R do it numerically? Thanks in advance, Paul ______________________________________________ R-help at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.
On Wed, Oct 17, 2007 at 06:54:31PM +0100, Paul Smith wrote:> Dear All, > > Is there any package to do multi-objective optimization? For instance, > consider the following problem: > > maximize f(x,y) in order to x > > and > > maximize g(x,y) in order to y, > > simultaneously, with x and y being the same both for f and g. Can R do > it numerically?R can solve the following problem using optim, perhaps it helps you: find x,y such that sqrt(g(x,y)^2+f(x,y)^2) is maximized. Alternatively, you may want the following: maximize f(x,y) varying both x and y. Then, holding x constant at the previous value, maximize g(x,y) varying ONLY y. This can be done in two steps in R. first use optim on f(x,y), then when x is determined, create a new function (using "function") that projects g(x,y) onto the fixed x value ie: function(y) { g(best.x,y)} and use optim to optimize this new function varying only y. Hope this helps. -- Daniel Lakeland dlakelan at street-artists.org http://www.street-artists.org/~dlakelan