# [R] Multi-objective optimization

Paul Smith phhs80 at gmail.com
Thu Oct 18 00:52:32 CEST 2007

```On 10/17/07, Ravi Varadhan <rvaradhan at jhmi.edu> wrote:
> What if simultaneously maximizing f(x,y) and g(x,y) is an incompatible
> objective?
>
> Modifying Duncan's example slightly, What if:
>
> f(x,y) = -(x-y)^2 and
> g(x,y) = -(x-2)^2-(y-x-1)^2?
>
> Here:
> (1) => x = y
> (2) => y = x + 1
> (3) => x = y => no solution!
>
> In order for a solution to necessarily exist, one needs to define a scalar
> function that strikes a compromise between f and g.

But imagine that one is sure that there is no incompatibility, how can
R get the solution? For instance, can R get the solution for Duncan's
example?

Paul

>
> Ravi.
>
> ----------------------------------------------------------------------------
> -------
>
>
> 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
>
>
>
>
>
> ----------------------------------------------------------------------------
> --------
>
>
> -----Original Message-----
> From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org] On
> Behalf Of Alberto Monteiro
> Sent: Wednesday, October 17, 2007 2:30 PM
> To: Duncan Murdoch; Paul Smith
> Cc: r-help
> Subject: Re: [R] Multi-objective optimization
>
> Duncan Murdoch wrote:
> >
> >> 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.
> >
> I guess the problem was not well _defined_.
>
> I "interpreted" it as:
>
> maximize f(x,y) in order to x %means%
> (1) for every y, find x = f1(y) such that f(x,y) is max
>
> maximize g(x,y) in order to y %means%
> (2) for every x, find y = g1(x) such that g(x,y) is max
>
> simultaneously %means%
> (3) x = f1(y) and y = g1(x).
>
> So, for your example, we would have:
> (1) => x = y
> (2) => y = 1
> (3) => x = y = 1
>
> Alberto Monteiro
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help