У меня есть вопрос в Matlab при выполнении оптимизации.Предположим, я хочу выполнить задачу оптимизации для вектора x
min_x f(x,c)
, такого, что sum(x)=1
.Для каждого фиксированного x
, c
является константой, например,
(x.*a+c).^(1./alpha)+(x.*b+c).^(1./alpha)=1
, где известны a,b,alpha
.
Алгоритм для каждого фиксированного x
такой, что sum(x)=1
, нам нужно найти c
из
(x.*a+c).^(1./alpha)+(x.*b+c).^(1./alpha)=1
и вычислить f(x,c)
, затем мы обновим новый x
.
Можно ли использовать fmincon в matlab для решения проблемы?Я хочу поставить
(x.*a+c).^(1./alpha)+(x.*b+c).^(1./alpha)=1
для нелинейного ограничения в fmincon , но мне интересно, допустимо ли оно, так как мы не знаем, как написать c
явно в терминах x
.