# [R] Multi-objective optimization

Wed Oct 17 23:54:35 CEST 2007

```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.

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