[R] Multi-objective optimization

Ravi Varadhan rvaradhan at jhmi.edu
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.

----------------------------------------------------------------------------
-------

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 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
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.



More information about the R-help mailing list