フィルターのクリア

Solver based optimization passing extra parameters

2 ビュー (過去 30 日間)
Yagiz Dereboy
Yagiz Dereboy 2021 年 9 月 17 日
コメント済み: Matt J 2021 年 9 月 17 日
My solver function is giving an error: Unrecognized function or variable 'aa'.
c = sum(1./(1+exp(-x))*1./(1+exp(-y')).*(1.-aa),'all') - 0.1;
Error in fmincon (line 654)
[ctmp,ceqtmp] = feval(confcn{3},X,varargin{:});
Caused by:
Failure in initial nonlinear constraint function evaluation. FMINCON cannot continue.
Objective function is:
function f = objectiveFcn(optimInput)
x = optimInput(1:8124);
y = optimInput(8125:end);
f = -sum(1./(1+exp(-x))*1./(1+exp(-y')),'all');
end
function [c,ceq] = constraintFcn(optimInput)
x = optimInput(1:8124);
y = optimInput(8125:end);
c = sum(1./(1+exp(-x))*1./(1+exp(-y')).*(1.-aa),'all') - 0.1;
ceq = [];
end
I am using the solver based approach. Can you please tell me how can I pass the 'aa' variable inside the constraint function. I have seen the mathworks page but I couldn't implement it to my case. Can anyone please show me how can I do it for the solver based approach for my case.

回答 (1 件)

Matt J
Matt J 2021 年 9 月 17 日
編集済み: Matt J 2021 年 9 月 17 日
  4 件のコメント
Yagiz Dereboy
Yagiz Dereboy 2021 年 9 月 17 日
Sorry to bother you again but you see the solver GUI doesn't allow me to change fmincon function. Curser is a ghost as you can see. I can only change the constraintFcn but as you can see, @(x)constraintFcn(x,aa) writing is not working. I also tried to change it to nonlcon=@(x)constraintFcn(x,aa) to change the inside of the fmincon as you said but again this solver GUI is not letting me touch the fmincon.
Matt J
Matt J 2021 年 9 月 17 日
If you right-click on the task, you can convert it to editable code:

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeGet Started with Optimization Toolbox についてさらに検索

製品


リリース

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by