Borrar filtros
Borrar filtros

Why are the return results of the fcn2optimexpr function different between MATLAB2019b and MATLAB2023b?

2 visualizaciones (últimos 30 días)
My codes is for solving a optimization programming ,therefore, the uplevel objective function needs to the optimal value of the downlevel objective function. I adopt Problem-based optimization way to describe the problem,fcn2optimexpr function is used to construct the uplevel objective function . The key code part is as follows:
..................
x = optimvar('x',2,1,'Type','continuous','LowerBound',0,'UpperBound',1);
[f,exitflag] = fcn2optimexpr(@mubiaofunction,x)
prob = optimproblem('ObjectiveSense','min');
prob.Objective = f;
.................
function [f,exitflag]=mubiaofunction(x)
y = optimvar('y',2,1,'Type','continuous','LowerBound',0,'UpperBound',1);
end
It can be seen that I want to construct an optimization express f for function mubiaofunction(x), this function obtain solution results of the downlevel optimization problem about variables y, however when I run the code in MATLAB2023b, the output display is:
It can be seen the f only contains uplevel variables x
when I run the same code in MATLAB2019b, the output display is:
I can judge that the results of MATLAB2019b are correct, However, I need to call the ga function to solve this Problem-based optimization model. As far as I know, The solve function can only be called ga in matlab2023b version, so how should I solve this puzzle I raised?

Respuesta aceptada

Alan Weiss
Alan Weiss el 15 de Feb. de 2024
I think that you need to turn off static analysis:
[f,exitflag] = fcn2optimexpr(@mubiaofunction,x,Analysis="off")
Alan Weiss
MATLAB mathematical toolbox documentation
  1 comentario
Du Wei
Du Wei el 16 de Feb. de 2024
It's a great honor to get your help.I just tested it and confirmed that your suggestion can solve the problem. I would like to express my sincere thanks to you!
Best Wishes! Du Wei

Iniciar sesión para comentar.

Más respuestas (0)

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!

Translated by