Ask Your Question

Revision history [back]

In SageMath, you have minimize :

  sage: vars = var('x y z')
  sage: f = 100*(y-x^2)^2+(1-x)^2+100*(z-y^2)^2+(1-y)^2
  sage: minimize(f, [.1,.3,.4]) # abs tol 1e-6
  (1.0, 1.0, 1.0)

and minimize_constrained :

  sage: y = var('y')
  sage: f = lambda p: -p[0]-p[1]+50
  sage: c_1 = lambda p: p[0]-45
  sage: c_2 = lambda p: p[1]-5
  sage: c_3 = lambda p: -50*p[0]-24*p[1]+2400
  sage: c_4 = lambda p: -30*p[0]-33*p[1]+2100
  sage: a = minimize_constrained(f,[c_1,c_2,c_3,c_4],[2,3])
  sage: a
  (45.0, 6.25...)

Examples were copy pasted from the documentation.