Prev: can't delete the whole column including NaN and nomovement data return column
Next: PTB 'DrawText' over several lines
From: James Allison on 2 Mar 2010 16:19 Each component of the optimization vector should be the same order of magnitude. One scaling approach is to map the original optimization variable space to one where the lower bound is 0 and the upper bound is 1 for each variable. In many cases a linear transformation works well. In some cases a nonlinear transformation is required so that the sensitivity with respect to optimization variables is fairly uniform over the optimization domain; the optimization algorithm gets stuck if it's not. In addition to scaling the variables, it's important that the objective and constraint functions are scaled appropriately as well. Typical values of all these functions should be about the same order of magnitude. In many cases a simple linear scaling is sufficient (divide or multiply by some number to adjust the magnitudes). An example of an optimization problem that needs scaling is from structural design. Suppose you want to minimize deflection of some structure, subject to stress constraints. Deflection might be on the order of 10^-3 meters, while stress may be on the order of 10^6 Pa. Deflection should be multiplied by 10^3, and stress should be multiplied by 10^-6. If the objective function is ill-conditioned you can also run into problems. An objective is ill-conditioned if the ratio of the largest eigenvalue to the smallest eigenvalue of the Hessian (the multivariate second derivative) is large. What this means is that if you move in some directions the objective changes quickly, but if you move in other directions it doesn't move very quickly. This makes an optimization problem numerically difficult. For a demonstration of this enter bandem at the MATLAB command prompt and try out the demo (note what happens with the 'Steepest' method). You can also get more information about problem condition and scaling from: http://www-personal.umich.edu/~jtalliso/Teaching/UnconstrainedGeometry.pdf -James Martin wrote: > James Allison <james.allison(a)mathworks.com> wrote in message > <hmjg1c$knn$1(a)fred.mathworks.com>... >> Yes, it is hard to provide much guidance without more information >> about your cost and constraint functions. In addition to Matt's >> suggestions, you may want to ensure that the optimization variables >> and objective and constraint functions are scaled appropriately. This >> may be a numerically ill-conditioned problem. Some problems require >> even nonlinear scaling to be solvable. You might also want to couple >> fmincon with a global search algorithm to get a good starting point >> (latin hypercube, genetic algorithm, etc.). >> >> -James >> > Thank you very much, both of you guys! > Yes U0 is probably fairly close to optmimal already but I have tried som > random vectors aswell and I still dont get any good results=( > > "Scaled correctly" - What does this mean, and how do I fix it? > Ill look in to global search algoritms aswell! > thank you! |