Effacer les filtres
Effacer les filtres

Nonlinear optimization with branching solution space

70 vues (au cours des 30 derniers jours)
Free le 15 Mai 2024 à 16:41
Modifié(e) : Free le 16 Mai 2024 à 10:54
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?

Réponse acceptée

John D'Errico
John D'Errico le 15 Mai 2024 à 17:00
Modifié(e) : John D'Errico le 15 Mai 2024 à 17:10
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.

Plus de réponses (0)


En savoir plus sur Problem-Based Optimization Setup dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by