Re: Mathematica's FindMinimum does not solve trivial optimization problems
- To: mathgroup at smc.vnet.net
- Subject: [mg128124] Re: Mathematica's FindMinimum does not solve trivial optimization problems
- From: Murray Eisenberg <murray at math.umass.edu>
- Date: Mon, 17 Sep 2012 00:23:28 -0400 (EDT)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- Delivered-to: l-mathgroup@wolfram.com
- Delivered-to: mathgroup-newout@smc.vnet.net
- Delivered-to: mathgroup-newsend@smc.vnet.net
- References: <20120916072414.767026847@smc.vnet.net>
It seems strange to me to treat example (a) as a two-variable optimization problem when the constraint says this is actually a one-variable optimization. Thus: FindMinimum[{(x - 1.0)^2 + (y - 2.0)^2 /. x -> 2.0}, {y, 1.0}] {1., {y -> 2.}} On Sep 16, 2012, at 3:24 AM, Vassilis <vassilios.s.vassiliadis at gmail.com> wrote: > I am trying to solve a simple optimization problem (nonlinear constrained) derived from the finite difference (backward differences, implicit Euler) discretization of a very simple Optimal Control problem. > > The derived problem is essentially linear with only bilinearities in the constraints. > > I have tried to use FindMinimum as I have been developing code in Mathematica for very general optimal control problems, and this was a test of the solver routine. > > To my surprise, and despite its being advertised in the document on "Constrained Optimization" as "industrial strength interior point method" it cannot solve something that other solvers like CONOPT (which I tested via GAMS) does in milliseconds. > > The observations are twofold: > > (a). I am using version 8.0.1.0 of Mathematica and I have found that if you have a variable equated to a constant in the constraints section in FindMinimum the solver gives you a ... division by zero. Here is a sample code for this: > > === Begin sample code (a) =============== = > > FindMinimum[{(x - 1.0)^2 + (y - 2.0)^2, > x == 2.0}, {{x, 1.0}, {y, 1.0}}] > > === Output ==================== > > FindMinimum[{(x - 1.0)^2 + (y - 2.0)^2, > x == 2.0}, {{x, 1.0}, {y, 1.0}}] > > Power::infy: Infinite expression 1/0. encountered. >> > > Power::infy: Infinite expression 1/0. encountered. >> > > Infinity::indet: Indeterminate expression ComplexInfinity+ComplexInfinity encountered. >> > > Power::infy: Infinite expression 1/0. encountered. >> > > General::stop: Further output of Power::infy will be suppressed during this calculation. >> > > Infinity::indet: Indeterminate expression 0. ComplexInfinity encountered. > > > > Infinity::indet: Indeterminate expression 0. ComplexInfinity encountered. > > > > General::stop: Further output of Infinity::indet will be suppressed during this calculation. >> > > LinearAlgebra`LAPACK`SYTRF::mindet: Input matrix contains an indeterminate entry. >> > > FindMinimum::conv: Interior point method fails to converge. >> > > === End Output ========= > =85. --- Murray Eisenberg murray at math.umass.edu Mathematics & Statistics Dept. Lederle Graduate Research Tower phone 413 549-1020 (H) University of Massachusetts 413 545-2859 (W) 710 North Pleasant Street fax 413 545-1801 Amherst, MA 01003-9305
- References:
- Mathematica's FindMinimum does not solve trivial optimization problems
- From: Vassilis <vassilios.s.vassiliadis@gmail.com>
- Mathematica's FindMinimum does not solve trivial optimization problems