Nonlinear optimization with branching solution space

1 回表示 (過去 30 日間)
Free
Free 2024 年 5 月 15 日
編集済み: Free 2024 年 5 月 16 日
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?

採用された回答

John D'Errico
John D'Errico 2024 年 5 月 15 日
編集済み: John D'Errico 2024 年 5 月 15 日
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 件)

カテゴリ

Help Center および File ExchangeProblem-Based Optimization Setup についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by