Ask Your Question

How can I find the maximum of a two variable function?

asked 2012-04-11 15:35:03 -0500

asdrubalivan gravatar image

Hello everyone, I'm trying to find the maximum of the following function:

func(x,y) = x*y - y^2

Is there any way I can find the maximum of that function (func) when 0 < x < 1 and 0 < y < 2 for example?

Thanks in advance :)

edit retag flag offensive close merge delete

1 answer

Sort by » oldest newest most voted

answered 2012-04-11 18:23:39 -0500

Shashank gravatar image

updated 2012-04-11 18:27:24 -0500

I just took a few minutes to modify the example from this page I apologize in advance if there is a mistake. Basically there isn't a function to maximize with constraint. So what we can do is minimize the negative of the function. The constraints are of the for '>0' for example c_1 tells the solver that x>0, c_2 tells that -x+1 > 0 => x<1 and so on

f = lambda p: - p[0]*p[1] + p[1]*p[1]
c_1 = lambda p: p[0]
c_2 = lambda p: - p[0] + 1
c_3 = lambda p: p[1]
c_4 = lambda p: -p[1] + 2
a = minimize_constrained(f,[c_1, c_2,c_3,c_4],[0.5,0.5])

The answer I get is (1.0,0.5001)

If I plot the negative of the function in the range you are interested, the minimum looks like it is around that.

image description

Let me know if this works.

edit flag offensive delete link more


Yes!! This works perfectly! Thanks a lot :)

asdrubalivan gravatar imageasdrubalivan ( 2012-04-19 11:06:05 -0500 )edit

Your Answer


Add Answer

Question Tools


Asked: 2012-04-11 15:35:03 -0500

Seen: 2,261 times

Last updated: Apr 11 '12