필터 지우기
필터 지우기

how does fmincon interior-point algorithm deals wtih underdetermined system?

조회 수: 4 (최근 30일)
I am working on a tomography problem that may become underdetermined during iteration. To handle this, I may give NaN to fmincon to tell it to start from a new point.
The following text is from the documentation for the lsqnonlin function:
"For the trust-region-reflective algorithm, the nonlinear system of equations cannot be underdetermined; that is, the number of equations (the number of elements of F returned by fun) must be at least as many as the length of x." "In the underdetermined case, lsqnonlin uses the Levenberg-Marquardt algorithm."
I cannot find the documentation for the fmincon interior-point algorithm. Can you tell me how this algorithm deals with underdetermined systems?
Thank you for your help!

채택된 답변

Torsten
Torsten 2023년 5월 12일
편집: Torsten 2023년 5월 12일
All optimization problems are "underdetermined" in the sense of what you wrote above (i.e. less equality constraints than unknowns). Otherwise there would be no degree of freedom for optimization. So I cannot imagine this is true for any available algorithm for "fmincon". Maybe you read it in the description of "fsolve".
  댓글 수: 5
Torsten
Torsten 2023년 5월 13일
편집: Torsten 2023년 5월 13일
"3.6.3 Overdetermined Problems". This overdetermined prolbem is also solved by optimization, which contradicts "All optimization problems are 'underdetermined' ".
No. "lsqcurvefit", "lsqnonlin" or "fsolve" search for parameters such that a given function approximates some measurement data as close as possible. If the number of measurement data is greater than the number of parameters, the problem is called "overdetermined" since in general, we cannot find a parameter vector such that all the measurement data are reproduced without making errors. But seen from the optimization point of view, the problem is still underdetermined if the number of equality constraints on the parameters is smaller than the number of parameters. It is this kind of underdeterminedness that allows an optimization to make sense. If there were no degrees of freedom left in the choice of the parameters (e.g. if the number of equality constraints were equal or greater than the number of parameters), there would only be one or even no feasible parameter constellation as solution for the optimization.
As I said: you must differ between "underdeterminedness" in the sense that the number of measurement data is smaller than the number of parameters to be fitted and in the sense that the number of constraints on the parameters is smaller than the length of the parameter vector. The first influences the algorithm chosen (at least for "lsqcurvefit", "lsqnonlin" and "fsolve", not for "fmincon"), the second doesn't because it's typical for all optimizations.
You can see that there are 2430 rays with model parameters number 120. Obviously, 2430 > 120. This is an overdetermined problem solved by optimization. My original question is what fmincon does if there are few rays, such as only 100 or 50 rays? With 119 rays, I let the objective function returns NaN and fmincon starts from a new point; with 120 rays, keep running fmincon. Is this right? If not, what should I do?
I don't understand why the number of rays changes within one parameter fitting process. I interpreted them as some kind of measurements available for fitting the 120 parameters of your model. In principle, problems with less measurements than parameters can be formulated, but they don't make sense. Why ? Because the parameters you would get have no physical meaning and in general cannot be used for other applications. But for fmincon, it won't change the optimization algorithm. You'll get a parameter vector which leads to an optimal objective value of 0 with a solution manifold for your parameters of dimension (number of parameters - number of rays).
Frank
Frank 2023년 5월 13일
Thank you very much! I was confused.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Systems of Nonlinear Equations에 대해 자세히 알아보기

제품


릴리스

R2021a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by