Nonlinear optimization with branching solution space
12 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Free
el 15 de Mayo de 2024
Consider a nonlinear optimization problem with nonlinear constraints, in which the solution space branches, such that the relevant optimization parameters and their constraints depend upon the branch. In total the problem has many optimization parameters however not all parameters are possible together. The primary parameter is an integer 'x' = 0-10 (although it could be treated as continuous). The error function f(x) depends also upon other parameters as follows. If x < 10 the error function is f(x, c, d = 0) where 'c' is a vector of continuous parameters with constraints, elseif x = 10 the error function is f(x, c = 0, d) where 'd' is a different vector of continuous parameters with constraints.
It seems simplest to first solve for x assuming c = 0 and d = 0, then solve for 'c' and 'd' depending upon the branch, i.e., depending upon whether x < 10 or x = 10, but if 'c' or 'd' are nonzero, the data are affected and the solutions for x are incorrect.
Two questions please;
1) Is this problem even well-posed as stated?
2) Does optimization or global optimization have a tool that can solve this?
0 comentarios
Respuesta aceptada
John D'Errico
el 15 de Mayo de 2024
Editada: John D'Errico
el 15 de Mayo de 2024
Just solve 11 distinct problems, each of them continuous. Use a loop, setting x to each of the 11 possible values. Save each solution, then choosing the solution that makes you happy.
Is there a solver that can handle it with x as a variable? Maybe GA, as GA is pretty toleranct off all sorts of crap. But this is a pretty messy thing with x in there. Oncew you remove x as a variable however, solving the 11 distinct problems, then things become well-posed from what you have said. So make it easy, and remove x as a factor at all.
0 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre Problem-Based Optimization Setup en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!