Perhaps a FindMinimum issue...
- To: mathgroup at smc.vnet.net
- Subject: [mg112673] Perhaps a FindMinimum issue...
- From: mpolko lokta <mpolkolokta at gmail.com>
- Date: Sun, 26 Sep 2010 02:43:15 -0400 (EDT)
I have been trying to: min 1/2*Transpose[w].V.w, subject to the constraints Total[w] == 1 and Thread[w >= conformable vector of zeros] for a number of different V matrices using FindMinimum. One common feature of all the optimization problems I was trying to solve is that V was always singular. The dimensions of the V matrix ranged from 50 - 250 items. The problem I am facing is that FindMinimum returns consistently suboptimal results. A hint about that was that some of the lagrange multipliers corresponding to the non-negativity constraints I calculated using the proposed solution from FindMinimum and the first order conditions of the Lagrangean of the optimization problem were actually negative (they should have been positive or zero). Some of the negative multipliers could be chopped (using Chop[] with default options) to zero but others still persisted. To make sure that I was actually getting suboptimal results that were not due to rounding errors etc. I used a number of oher software that provided routines for solving constrained quadratic programming problems (both proprietary and open source) to solve a small subset of the original problems Mathematica was supposedly providing me with suboptimal results. Unfortunately, I verified that FindMinimum was actually producing suboptimal results! After that comparison I tried using Minimize on a small subset of the initial problems and I got results that were "closer" to the "right" results provided by the other QP solvers, although Minimize's solutions were still less than optimum. Another drawback of using Minimize was the time it needed to provide an answer. Does anybody know if the behavior of FindMinimum is due to the singularity of the V matrix and has anybody any suggestion on how to speed up the time it takes for Minimize to converge? Thanks!